Catalog/geo-geodesic-area

Geospatial

Geodesic polygon area API

Computes the area enclosed by a polygon on the WGS-84 ellipsoid via the line-integral (spherical-excess) method, returning m², km², hectares, acres and winding orientation — accurate where the planar shoelace fails on large or high-latitude polygons. Answers 'What is the true area of this geofence/parcel?', 'How many hectares does this polygon cover?'.

Price$0.06per request
MethodPOST
Route/v1/geo/geodesic-area
StatusLive
MIME typeapplication/json
Rate limit120/minute
Cache0s public
geogispolygonareageodesicshoelacehectaresacresgeofenceellipsoidal
API URLhttps://x402.hexl.dev/v1/geo/geodesic-area
Integration docs
Example request
{
  "polygon": [
    {
      "latitude": 0,
      "longitude": 0
    },
    {
      "latitude": 0,
      "longitude": 1
    },
    {
      "latitude": 1,
      "longitude": 1
    },
    {
      "latitude": 1,
      "longitude": 0
    }
  ]
}
Example response
{
  "vertices": 4,
  "areaM2": 12391399902.071,
  "areaKm2": 12391.399902,
  "areaHectares": 1239139.99,
  "areaAcres": 3061981.6,
  "orientation": "clockwise",
  "interpretation": "Geodesic area 12391.399902 km² (1239139.99 ha). Computed with the ellipsoidal line-integral, accurate where the planar shoelace fails on large polygons."
}
Input schema
{
  "type": "object",
  "required": [
    "polygon"
  ],
  "properties": {
    "polygon": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "latitude": {
            "type": "number"
          },
          "longitude": {
            "type": "number"
          }
        }
      },
      "examples": [
        [
          {
            "latitude": 0,
            "longitude": 0
          },
          {
            "latitude": 0,
            "longitude": 1
          },
          {
            "latitude": 1,
            "longitude": 1
          },
          {
            "latitude": 1,
            "longitude": 0
          }
        ]
      ]
    }
  }
}
Output schema
{
  "type": "object",
  "additionalProperties": true
}