Geo.PostGIS

Postgis functions that can used in ecto queries PostGIS Function Documentation

Currently only the OpenGIS functions are implemented

ex.

defmodule Example do
  import Ecto.Query
  import Geo.PostGIS

  def example_query(geom) do
    from location in Location, limit: 5, select: st_distance(location.geom, ^geom)  
  end

end
Source

Summary

st_area(geometry)
st_as_binary(geometry)
st_as_text(geometry)
st_bd_m_poly_from_text(wkt, srid)
st_bd_poly_from_text(wkt, srid)
st_boundary(geometry)
st_buffer(geometry, double)
st_buffer(geometry, double, integer)
st_centroid(geometry)
st_contains(geometryA, geometryB)
st_convex_hull(geometry)
st_covered_by(geometryA, geometryB)
st_covers(geometryA, geometryB)
st_crosses(geometryA, geometryB)
st_difference(geometryA, geometryB)
st_dimension(geometry)
st_disjoint(geometryA, geometryB)
st_distance(geometryA, geometryB)
st_dwithin(geometryA, geometryB, float)
st_end_point(geometry)
st_envelope(geometry)
st_equals(geometryA, geometryB)
st_exterior_ring(geometry)
st_geom_coll_from_wkb(bytea, srid \\ :erlang.-(1))
st_geom_from_text(text, srid \\ :erlang.-(1))
st_geometry_n(geometry, int)
st_geometry_type(geometry)
st_interior_ring_n(geometry, int)
st_intersection(geometryA, geometryB)
st_intersects(geometryA, geometryB)
st_is_closed(geometry)
st_is_ring(geometry)
st_is_simple(geometry)
st_length(geometry)
st_line_from_text(text, srid \\ :erlang.-(1))
st_line_from_wkb(bytea, srid \\ :erlang.-(1))
st_linestring_from_text(text, srid \\ :erlang.-(1))
st_linestring_from_wkb(bytea, srid \\ :erlang.-(1))
st_m(geometry)
st_m_geom_coll_from_text(text, srid \\ :erlang.-(1))
st_m_geom_from_wkb(bytea, srid \\ :erlang.-(1))
st_m_geometry_from_wkb(bytea, srid \\ :erlang.-(1))
st_m_line_from_text(text, srid \\ :erlang.-(1))
st_m_line_from_wkb(bytea, srid \\ :erlang.-(1))
st_m_point_from_text(text, srid \\ :erlang.-(1))
st_m_point_from_wkb(bytea, srid \\ :erlang.-(1))
st_m_poly_from_text(text, srid \\ :erlang.-(1))
st_m_poly_from_wkb(bytea, srid \\ :erlang.-(1))
st_mem_union(geometryList)
st_num_geometries(geometry)
st_num_interior_ring(geometry)
st_num_interior_rings(geometry)
st_num_points(geometry)
st_overlaps(geometryA, geometryB)
st_point_from_text(text, srid \\ :erlang.-(1))
st_point_from_wkb(bytea, srid \\ :erlang.-(1))
st_point_n(geometry, int)
st_point_on_surface(geometry)
st_poly_from_wkb(bytea, srid \\ :erlang.-(1))
st_polygon_from_text(text, srid \\ :erlang.-(1))
st_polygon_from_wkb(bytea, srid \\ :erlang.-(1))
st_relate(geometryA, geometryB)
st_relate(geometryA, geometryB, intersectionPatternMatrix)
st_shift_longitude(geometry)
st_srid(geometry)
st_start_point(geometry)
st_sym_difference(geometryA, geometryB)
st_touches(geometryA, geometryB)
st_union(geometryList)
st_union(geometryA, geometryB)
st_within(geometryA, geometryB)
st_x(geometry)
st_y(geometry)
st_z(geometry)

Macros

st_area(geometry)
Source
st_as_binary(geometry)
Source
st_as_text(geometry)
Source
st_bd_m_poly_from_text(wkt, srid)
Source
st_bd_poly_from_text(wkt, srid)
Source
st_boundary(geometry)
Source
st_buffer(geometry, double)
Source
st_buffer(geometry, double, integer)
Source
st_centroid(geometry)
Source
st_contains(geometryA, geometryB)
Source
st_convex_hull(geometry)
Source
st_covered_by(geometryA, geometryB)
Source
st_covers(geometryA, geometryB)
Source
st_crosses(geometryA, geometryB)
Source
st_difference(geometryA, geometryB)
Source
st_dimension(geometry)
Source
st_disjoint(geometryA, geometryB)
Source
st_distance(geometryA, geometryB)
Source
st_dwithin(geometryA, geometryB, float)
Source
st_end_point(geometry)
Source
st_envelope(geometry)
Source
st_equals(geometryA, geometryB)
Source
st_exterior_ring(geometry)
Source
st_geom_coll_from_wkb(bytea, srid \\ :erlang.-(1))
Source
st_geom_from_text(text, srid \\ :erlang.-(1))
Source
st_geometry_n(geometry, int)
Source
st_geometry_type(geometry)
Source
st_interior_ring_n(geometry, int)
Source
st_intersection(geometryA, geometryB)
Source
st_intersects(geometryA, geometryB)
Source
st_is_closed(geometry)
Source
st_is_ring(geometry)
Source
st_is_simple(geometry)
Source
st_length(geometry)
Source
st_line_from_text(text, srid \\ :erlang.-(1))
Source
st_line_from_wkb(bytea, srid \\ :erlang.-(1))
Source
st_linestring_from_text(text, srid \\ :erlang.-(1))
Source
st_linestring_from_wkb(bytea, srid \\ :erlang.-(1))
Source
st_m(geometry)
Source
st_m_geom_coll_from_text(text, srid \\ :erlang.-(1))
Source
st_m_geom_from_wkb(bytea, srid \\ :erlang.-(1))
Source
st_m_geometry_from_wkb(bytea, srid \\ :erlang.-(1))
Source
st_m_line_from_text(text, srid \\ :erlang.-(1))
Source
st_m_line_from_wkb(bytea, srid \\ :erlang.-(1))
Source
st_m_point_from_text(text, srid \\ :erlang.-(1))
Source
st_m_point_from_wkb(bytea, srid \\ :erlang.-(1))
Source
st_m_poly_from_text(text, srid \\ :erlang.-(1))
Source
st_m_poly_from_wkb(bytea, srid \\ :erlang.-(1))
Source
st_mem_union(geometryList)
Source
st_num_geometries(geometry)
Source
st_num_interior_ring(geometry)
Source
st_num_interior_rings(geometry)
Source
st_num_points(geometry)
Source
st_overlaps(geometryA, geometryB)
Source
st_point_from_text(text, srid \\ :erlang.-(1))
Source
st_point_from_wkb(bytea, srid \\ :erlang.-(1))
Source
st_point_n(geometry, int)
Source
st_point_on_surface(geometry)
Source
st_poly_from_wkb(bytea, srid \\ :erlang.-(1))
Source
st_polygon_from_text(text, srid \\ :erlang.-(1))
Source
st_polygon_from_wkb(bytea, srid \\ :erlang.-(1))
Source
st_relate(geometryA, geometryB)
Source
st_relate(geometryA, geometryB, intersectionPatternMatrix)
Source
st_shift_longitude(geometry)
Source
st_srid(geometry)
Source
st_start_point(geometry)
Source
st_sym_difference(geometryA, geometryB)
Source
st_touches(geometryA, geometryB)
Source
st_union(geometryList)
Source
st_union(geometryA, geometryB)
Source
st_within(geometryA, geometryB)
Source
st_x(geometry)
Source
st_y(geometry)
Source
st_z(geometry)
Source