GeoSQL.PostGIS
(GeoSQL v1.7.0)
View Source
Non-standard GIS functions found in PostGIS.
Summary
Geometry Accessors
A helper function to translate dimension flags as returned by e.g. zm_flag,
into developer-friendly atoms.
Linear Referencing
PostGIS extension to locate_along with an offset
PostGIS extension to locate_between with an offset
Topology Relationships
Transforms the numeric return value of line-crossing functions to an atom denoting the direction
Types
@type crossing_direction() ::
:none
| :left
| :multicross_left
| :multicross_left_same_end
| :right
| :multicross_right
| :multicross_right_same_end
@type dimensionality() :: :dim_2 | :dim_3z | :dim_3m | :dim_4
@type quantize_coordinate() :: :x | :y | :z | :m
@type quantize_precision() :: [{quantize_coordinate(), number()}]
Affine Transformations
@spec affine( GeoSQL.geometry_input(), a :: number(), b :: number(), d :: number(), e :: number(), x_offset :: number(), y_offset :: number() ) :: GeoSQL.fragment()
@spec scale(GeoSQL.geometry_input(), scale :: GeoSQL.geometry_input()) :: GeoSQL.fragment()
@spec scale( GeoSQL.geometry_input(), scale :: GeoSQL.geometry_input(), origin :: GeoSQL.geometry_input() ) :: GeoSQL.fragment()
@spec scale( GeoSQL.geometry_input(), scale_x :: GeoSQL.fragment() | number(), scale_y :: GeoSQL.fragment() | number(), scale_z :: GeoSQL.fragment() | number() ) :: GeoSQL.fragment()
@spec trans_scale( GeoSQL.geometry_input(), translate_x :: number(), translate_y :: number(), scale_x :: number(), scale_y :: number() ) :: GeoSQL.fragment()
Bounding Boxes
@spec expand( geometry :: GeoSQL.geometry_input(), dx :: GeoSQL.fragment() | number(), dy :: GeoSQL.fragment() | number() ) :: GeoSQL.fragment()
@spec expand( geometry :: GeoSQL.geometry_input(), dx :: GeoSQL.fragment() | number(), dy :: GeoSQL.fragment() | number(), dz :: GeoSQL.fragment() | number() ) :: GeoSQL.fragment()
@spec expand( geometry :: GeoSQL.geometry_input(), dx :: GeoSQL.fragment() | number(), dy :: GeoSQL.fragment() | number(), dz :: GeoSQL.fragment() | number(), dm :: GeoSQL.fragment() | number() ) :: GeoSQL.fragment()
Distance Relationships
Geometry Accessors
@spec bounding_diagonal( GeoSQL.geometry_input(), best_fit? :: boolean() ) :: GeoSQL.fragment()
@spec dimensionality(integer()) :: dimensionality()
A helper function to translate dimension flags as returned by e.g. zm_flag,
into developer-friendly atoms.
@spec dump(geometry :: GeoSQL.geometry_input()) :: GeoSQL.fragment()
@spec dump_points(geometry :: GeoSQL.geometry_input()) :: GeoSQL.fragment()
@spec dump_rings(geometry :: GeoSQL.geometry_input()) :: GeoSQL.fragment()
@spec dump_segments(geometry :: GeoSQL.geometry_input()) :: GeoSQL.fragment()
@spec has_arc(geometry :: GeoSQL.geometry_input()) :: GeoSQL.fragment()
@spec has_m(geometry :: GeoSQL.geometry_input()) :: GeoSQL.fragment()
@spec has_z(geometry :: GeoSQL.geometry_input()) :: GeoSQL.fragment()
@spec is_collection(geometry :: GeoSQL.geometry_input()) :: GeoSQL.fragment()
@spec mem_size(geometry :: GeoSQL.geometry_input()) :: GeoSQL.fragment()
@spec points(GeoSQL.Geometry.t()) :: GeoSQL.fragment()
Geometry Constructors
Geometry Editors
@spec collection_homogenize(collection :: GeoSQL.geometry_input()) :: GeoSQL.fragment()
@spec line_to_curve(geometry :: GeoSQL.geometry_input()) :: GeoSQL.fragment()
@spec normalize(geometry :: GeoSQL.geometry_input()) :: GeoSQL.fragment()
@spec quantize_coordinates(geometry :: GeoSQL.geometry_input(), quantize_precision()) :: GeoSQL.fragment()
@spec remove_irrelevant_points_for_view( geometry :: GeoSQL.geometry_input(), bbox_bounds :: GeoSQL.geometry_input(), cartesian? :: boolean() ) :: GeoSQL.fragment()
@spec remove_small_parts( geometry :: GeoSQL.geometry_input(), minSizeX :: number(), minSizeY :: number() ) :: GeoSQL.fragment()
@spec scroll(linestring :: GeoSQL.geometry_input(), point :: GeoSQL.geometry_input()) :: GeoSQL.fragment()
@spec wrap_x(geometry :: GeoSQL.geometry_input(), wrap :: number(), move :: number()) :: GeoSQL.fragment()
Geometry Processing
Geometry Validation
Linear Referencing
PostGIS extension to locate_along with an offset
PostGIS extension to locate_between with an offset
@spec locate_between_elevations( GeoSQL.geometry_input(), elevation_start :: number(), elevation_end :: number() ) :: GeoSQL.fragment()
Measurement
Overlays
Spatial Reference Systems
@spec inverse_transform_pipeline( GeoSQL.geometry_input(), pipeline :: String.t(), srid :: pos_integer() ) :: GeoSQL.fragment()
Topology Relationships
@spec contains_properly( GeoSQL.geometry_input(), GeoSQL.geometry_input(), use_indexes? :: :with_indexes | :without_indexes ) :: GeoSQL.fragment()
@spec crossing_direction(integer()) :: crossing_direction()
Transforms the numeric return value of line-crossing functions to an atom denoting the direction
@spec line_crossing_direction( linestringA :: Geometry.LineString.t() | GeoSQL.geometry_input(), linestringB :: Geometry.LineString.t() | GeoSQL.geometry_input() ) :: GeoSQL.fragment()