protocol
crs_projections_protocol
Coordinate reference systems and coordinate transformation predicates protocol.
logtalk_load(crs_projections(loader))staticPublic predicates
valid_crs/1
True when the argument is a supported coordinate reference system. Supported values are wgs84, wgs84_3d, web_mercator, world_mercator, ecef, enu(OriginCoordinate), lambert_azimuthal_equal_area(OriginCoordinate), and utm(Zone,Hemisphere) terms.
staticvalid_crs(CRS)valid_crs(@term) - zero_or_onecrs_name/2
Maps a supported coordinate reference system to a human-readable name.
staticcrs_name(CRS,Name)crs_name(+term,-atom) - zero_or_onecrs_kind/2
Classifies a supported coordinate reference system as geographic, projected, geocentric, or local_tangent_plane.
staticcrs_kind(CRS,Kind)crs_kind(+term,-atom) - zero_or_onecrs_units/2
Returns the coordinate axis units used by a supported coordinate reference system. Supported values are degrees, meters, and [degrees,degrees,meters].
staticcrs_units(CRS,Units)crs_units(+term,-term) - zero_or_onecrs_dimensions/2
Returns the coordinate dimensionality for a supported coordinate reference system.
staticcrs_dimensions(CRS,Dimensions)crs_dimensions(+term,-positive_integer) - zero_or_onecrs_epsg/2
Maps a supported coordinate reference system to the corresponding EPSG code.
staticcrs_epsg(CRS,EPSG)crs_epsg(+term,-positive_integer) - zero_or_oneepsg_crs/2
Maps a supported EPSG code to the corresponding coordinate reference system term.
staticepsg_crs(EPSG,CRS)epsg_crs(+positive_integer,-term) - zero_or_onevalid_coordinate/2
True when the coordinate is valid for the given coordinate reference system. wgs84 coordinates are represented as geographic(Latitude,Longitude) in degrees, wgs84_3d coordinates as geographic(Latitude,Longitude,EllipsoidalHeight) in degrees and meters, web_mercator, world_mercator, and lambert_azimuthal_equal_area(OriginCoordinate) coordinates as projected(X,Y) pairs in meters, ecef coordinates as ecef(X,Y,Z) triples in meters, enu(OriginCoordinate) coordinates as enu(East,North,Up) triples in meters, and utm(Zone,Hemisphere) coordinates as grid(Easting,Northing) pairs in meters.
staticvalid_coordinate(CRS,Coordinate)valid_coordinate(+term,@compound) - zero_or_onelocal_tangent_plane/3
Projects a WGS84 geographic coordinate to local enu(East,North,Up) coordinates in meters using an origin coordinate. For height-preserving 3D geodetic workflows, use transform/4 with wgs84_3d.
staticlocal_tangent_plane(Origin,Coordinate,LocalCoordinate)local_tangent_plane(+compound,+compound,-compound) - zero_or_onelocal_tangent_plane_inverse/3
Converts local enu(East,North,Up) coordinates in meters back to a WGS84 geographic coordinate using an origin coordinate. For height-preserving 3D geodetic workflows, use transform/4 with wgs84_3d.
staticlocal_tangent_plane_inverse(Origin,LocalCoordinate,Coordinate)local_tangent_plane_inverse(+compound,+compound,-compound) - zero_or_onelambert_azimuthal_equal_area/3
Projects a WGS84 geographic coordinate to a Lambert azimuthal equal-area plane centered on an origin coordinate, returning projected(X,Y) coordinates in meters.
staticlambert_azimuthal_equal_area(Origin,Coordinate,ProjectedCoordinate)lambert_azimuthal_equal_area(+compound,+compound,-compound) - zero_or_onelambert_azimuthal_equal_area_inverse/3
Converts Lambert azimuthal equal-area projected(X,Y) coordinates back to a WGS84 geographic coordinate using an origin coordinate.
staticlambert_azimuthal_equal_area_inverse(Origin,ProjectedCoordinate,Coordinate)lambert_azimuthal_equal_area_inverse(+compound,+compound,-compound) - zero_or_oneutm_zone/2
Infers the UTM longitudinal zone for a WGS84 geographic(Latitude,Longitude) coordinate. Uses the standard Norway and Svalbard special-zone rules and only succeeds for coordinates within the UTM latitude coverage.
staticutm_zone(Coordinate,Zone)utm_zone(+compound,-integer) - zero_or_oneutm_crs/2
Infers the native UTM coordinate reference system term utm(Zone,Hemisphere) for a WGS84 geographic(Latitude,Longitude) coordinate.
staticutm_crs(Coordinate,CRS)utm_crs(+compound,-compound) - zero_or_onetransform/4
Transforms a coordinate between supported coordinate reference systems. Transformations between projected systems are computed by converting through wgs84.
statictransform(SourceCRS,TargetCRS,Coordinate,TransformedCoordinate)transform(+term,+term,+compound,-compound) - zero_or_oneProtected predicates
(none)
Private predicates
(none)
Operators
(none)
See also