Geo v1.5.0 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

Summary

Macros

Please note that ST_Distance_Sphere has been deprecated as of Postgis 2.2. Postgis 2.1 is no longer supported on PostgreSQL >= 9.5. This macro is still in place to support users of PostgreSQL <= 9.4.x

Casts the 2 geometries given to geographies in order to check for distance in meters

Macros

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_distance_sphere(geometryA, geometryB)

Please note that ST_Distance_Sphere has been deprecated as of Postgis 2.2. Postgis 2.1 is no longer supported on PostgreSQL >= 9.5. This macro is still in place to support users of PostgreSQL <= 9.4.x.

st_distancesphere(geometryA, geometryB)
st_dwithin(geometryA, geometryB, float)
st_dwithin_in_meters(geometryA, geometryB, float)

Casts the 2 geometries given to geographies in order to check for distance in meters

st_end_point(geometry)
st_envelope(geometry)
st_equals(geometryA, geometryB)
st_exterior_ring(geometry)
st_geom_coll_from_wkb(bytea, srid \\ -1)
st_geom_from_text(text, srid \\ -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 \\ -1)
st_line_from_wkb(bytea, srid \\ -1)
st_linestring_from_text(text, srid \\ -1)
st_linestring_from_wkb(bytea, srid \\ -1)
st_m(geometry)
st_m_geom_coll_from_text(text, srid \\ -1)
st_m_geom_from_wkb(bytea, srid \\ -1)
st_m_geometry_from_wkb(bytea, srid \\ -1)
st_m_line_from_text(text, srid \\ -1)
st_m_line_from_wkb(bytea, srid \\ -1)
st_m_point_from_text(text, srid \\ -1)
st_m_point_from_wkb(bytea, srid \\ -1)
st_m_poly_from_text(text, srid \\ -1)
st_m_poly_from_wkb(bytea, srid \\ -1)
st_make_box_2d(geometryA, geometryB)
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 \\ -1)
st_point_from_wkb(bytea, srid \\ -1)
st_point_n(geometry, int)
st_point_on_surface(geometry)
st_poly_from_wkb(bytea, srid \\ -1)
st_polygon_from_text(text, srid \\ -1)
st_polygon_from_wkb(bytea, srid \\ -1)
st_relate(geometryA, geometryB)
st_relate(geometryA, geometryB, intersectionPatternMatrix)
st_set_srid(geometry, srid)
st_shift_longitude(geometry)
st_srid(geometry)
st_start_point(geometry)
st_sym_difference(geometryA, geometryB)
st_touches(geometryA, geometryB)
st_transform(wkt, srid)
st_union(geometryList)
st_union(geometryA, geometryB)
st_within(geometryA, geometryB)
st_x(geometry)
st_y(geometry)
st_z(geometry)