Geo v1.0.1 Geo.PostGIS.Extension

PostGIS extension for Postgrex. Supports Geometry and Geography data types

opts = [hostname: "localhost", username: "postgres", database: "geo_postgrex_test",
extensions: [{Geo.PostGIS.Extension, library: Geo}] ]

[hostname: "localhost", username: "postgres", database: "geo_postgrex_test",
 extensions: [{Geo.PostGIS.Extension, library: Geo}]]

{:ok, pid} = Postgrex.Connection.start_link(opts)
{:ok, #PID<0.115.0>}

geo = %Geo.Point{coordinates: {30, -90}, srid: 4326}
%Geo.Point{coordinates: {30, -90}, srid: 4326}

{:ok, _} = Postgrex.Connection.query(pid, "CREATE TABLE point_test (id int, geom geometry(Point, 4326))")
{:ok, %Postgrex.Result{columns: nil, command: :create_table, num_rows: 0, rows: nil}}

{:ok, _} = Postgrex.Connection.query(pid, "INSERT INTO point_test VALUES ($1, $2)", [42, geo])
{:ok, %Postgrex.Result{columns: nil, command: :insert, num_rows: 1, rows: nil}}

Postgrex.Connection.query(pid, "SELECT * FROM point_test")
{:ok, %Postgrex.Result{columns: ["id", "geom"], command: :select, num_rows: 1,
rows: [{42, %Geo.Point{coordinates: {30.0, -90.0}, srid: 4326}}]}}

Summary

Functions

Callback implementation for c:Postgrex.Extension.decode/4

Callback implementation for c:Postgrex.Extension.encode/4

Callback implementation for c:Postgrex.Extension.format/1

Callback implementation for c:Postgrex.Extension.init/2

Callback implementation for c:Postgrex.Extension.matching/1

Functions

decode(type_info, wkb, state, library)

Callback implementation for c:Postgrex.Extension.decode/4.

encode(type_info, geom, state, library)

Callback implementation for c:Postgrex.Extension.encode/4.

format()

Callback implementation for c:Postgrex.Extension.format/1.

init(parameters, opts)

Callback implementation for c:Postgrex.Extension.init/2.

matching()

Callback implementation for c:Postgrex.Extension.matching/1.