object

geospatial

Geospatial predicates over geographic coordinates represented as (Latitude,Longitude).

Availability:
logtalk_load(geospatial(loader))
Author: Paulo Moura
Version: 0:2:0
Date: 2026-02-25
Compilation flags:
static, context_switching_calls
Implements:
Uses:
Remarks:
  • Distance unit: Kilometers.

  • Coordinate ranges: Latitude values must be in the [-90.0,90.0] range and longitude values in the [-180.0,180.0] range.

Public predicates

distance/4

Computes the distance in kilometers between two coordinates using a selected metric. Supported metrics are haversine, vincenty, and rhumb.

Compilation flags:
static
Template:
distance(Coordinate1,Coordinate2,Metric,Distance)
Mode and number of proofs:
distance(+compound,+compound,+atom,-float) - zero_or_one

distance/5

Computes the distance between two coordinates using a selected metric and output unit. Supported metrics are haversine, vincenty, and rhumb. Valid Unit argument values are kilometers, meters, miles, and nautical_miles.

Compilation flags:
static
Template:
distance(Coordinate1,Coordinate2,Metric,Unit,Distance)
Mode and number of proofs:
distance(+compound,+compound,+atom,+atom,-float) - zero_or_one

Protected predicates

(no local declarations; see entity ancestors if any)

Private predicates

(no local declarations; see entity ancestors if any)

Operators

(none)