Catalog/geo-intermediate-point

Geospatial

Point along great-circle path API

Interpolates a coordinate at a given fraction (0..1) along the great-circle arc between two points using spherical interpolation, plus the distance from start. Answers 'What coordinate is 50% of the way along this route?', 'How do I place waypoints evenly along a great circle?'.

Price$0.04per request
MethodPOST
Route/v1/geo/intermediate-point
StatusLive
MIME typeapplication/json
Rate limit120/minute
Cache0s public
geogisintermediate-pointinterpolationgreat-circlewaypointslerpnavigationfraction
API URLhttps://x402.hexl.dev/v1/geo/intermediate-point
Integration docs
Example request
{
  "from": {
    "latitude": 51.5074,
    "longitude": -0.1278
  },
  "to": {
    "latitude": 48.8566,
    "longitude": 2.3522
  },
  "fraction": 0.5
}
Example response
{
  "from": {
    "latitude": 51.5074,
    "longitude": -0.1278
  },
  "to": {
    "latitude": 48.8566,
    "longitude": 2.3522
  },
  "fraction": 0.5,
  "point": {
    "latitude": 50.188595,
    "longitude": 1.146618
  },
  "distanceFromStartKm": 171.778267,
  "interpretation": "Point at 50% along the great circle: 50.188595, 1.146618."
}
Input schema
{
  "type": "object",
  "required": [
    "from",
    "to",
    "fraction"
  ],
  "properties": {
    "from": {
      "type": "object",
      "properties": {
        "latitude": {
          "type": "number"
        },
        "longitude": {
          "type": "number"
        }
      },
      "examples": [
        {
          "latitude": 51.5074,
          "longitude": -0.1278
        }
      ]
    },
    "to": {
      "type": "object",
      "properties": {
        "latitude": {
          "type": "number"
        },
        "longitude": {
          "type": "number"
        }
      },
      "examples": [
        {
          "latitude": 48.8566,
          "longitude": 2.3522
        }
      ]
    },
    "fraction": {
      "type": "number",
      "examples": [
        0.5
      ]
    }
  }
}
Output schema
{
  "type": "object",
  "additionalProperties": true
}