View Source ArangoXEcto.GeoData (ArangoX Ecto v2.0.0)

Methods for interacting with ArangoDB GeoJSON and geo related functions

The methods within this module are really just helpers to generate Geo structs.

Summary

Functions

Generates a Geo linestring

Generates a Geo multi linestring

Generates a Geo multi point

Generates a Geo multi polygon

Generates a Geo point

Generates a Geo polygon

Sanitizes coordinates to ensure they are valid

Types

coordinate()

@type coordinate() :: number()

Functions

is_coordinate(coordinate)

(macro)

is_latitude(coordinate)

(macro)

is_longitude(coordinate)

(macro)

linestring(coords)

@spec linestring([{coordinate(), coordinate()}]) :: Geo.LineString.t()

Generates a Geo linestring

multi_linestring(coords)

@spec multi_linestring([[{coordinate(), coordinate()}]]) :: Geo.MultiLineString.t()

Generates a Geo multi linestring

multi_point(coords)

@spec multi_point([{coordinate(), coordinate()}]) :: Geo.MultiPoint.t()

Generates a Geo multi point

multi_polygon(coords)

@spec multi_polygon([[[{coordinate(), coordinate()}]]]) :: Geo.MultiPolygon.t()

Generates a Geo multi polygon

point(lat, lon)

@spec point(coordinate(), coordinate()) :: Geo.Point.t()

Generates a Geo point

polygon(coords)

@spec polygon([[{coordinate(), coordinate()}]]) :: Geo.Polygon.t()

Generates a Geo polygon

sanitize(coords)

@spec sanitize(list() | {coordinate(), coordinate()}) ::
  list() | {coordinate(), coordinate()}

Sanitizes coordinates to ensure they are valid

This function is not automatically applied to Geo constructors and must be applied before hand