Packages
geo
0.15.0
4.1.0
4.0.1
4.0.0
3.6.0
3.5.1
3.5.0
3.4.3
3.4.2
3.4.1
3.4.0
3.3.8
3.3.7
3.3.5
3.3.4
3.3.3
3.3.2
3.3.1
3.3.0
3.2.0
3.1.0
3.0.0
2.1.0
2.0.0
1.5.0
1.4.1
1.4.0
1.3.1
1.3.0
1.2.1
1.2.0
1.1.2
1.1.1
1.1.0
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.18.0
0.17.0
0.16.1
0.16.0
0.15.2
0.15.1
0.15.0
0.14.0
0.13.0
0.12.0
0.11.2
0.11.1
0.11.0
0.10.1
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.0
0.7.2
0.7.1
0.6.1
0.5.1
Encodes and decodes WKB, WKT, and GeoJSON formats.
Current section
Files
Jump to
Current section
Files
lib/geo/wkb/writer.ex
defmodule Geo.WKB.Writer do
@moduledoc false
defstruct wkb: nil, endian: :xdr
def start(endian) do
endian_hex = if endian == :ndr, do: "01", else: "00"
%Geo.WKB.Writer{ wkb: endian_hex, endian: endian }
end
def write(writer, value) do
if(writer.endian == :ndr)do
value = Geo.Utils.reverse_byte_order(value)
end
%{ writer | wkb: writer.wkb <> value }
end
def write_no_endian(writer, value) do
%{ writer | wkb: writer.wkb <> value }
end
def get_wkb(writer) do
writer.wkb
end
def get_endian(writer) do
writer.endian
end
end