Packages
geo
3.3.2
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.ex
defmodule Geo.WKB do
@moduledoc """
Converts to and from WKB and EWKB
{:ok, point} = Geo.WKB.decode("0101000000000000000000F03F000000000000F03F")
Geo.Point[coordinates: {1, 1}, srid: nil]
Geo.WKT.encode!(point)
"POINT(1 1)"
point = Geo.WKB.decode!("0101000020E61000009EFB613A637B4240CF2C0950D3735EC0")
Geo.Point[coordinates: {36.9639657, -121.8097725}, srid: 4326]
"""
alias Geo.WKB.{Encoder, Decoder}
@doc """
Takes a Geometry and returns a WKB string. The endian decides
what the byte order will be
"""
@spec encode!(Geo.geometry(), Geo.endian()) :: binary | no_return
defdelegate encode!(geom, endian \\ :xdr), to: Encoder
@doc """
Takes a Geometry and returns a WKB string. The endian decides
what the byte order will be
"""
@spec encode(binary, Geo.endian()) :: {:ok, binary} | {:error, Exception.t()}
defdelegate encode(geom, endian \\ :xdr), to: Encoder
@doc """
Takes a WKB string and returns a Geometry
"""
@spec decode(binary, [Geo.geometry()]) :: {:ok, Geo.geometry()} | {:error, Exception.t()}
defdelegate decode(wkb, geometries \\ []), to: Decoder
@doc """
Takes a WKB string and returns a Geometry
"""
@spec decode!(binary, [Geo.geometry()]) :: Geo.geometry() | no_return
defdelegate decode!(wkb, geometries \\ []), to: Decoder
end