Distance API

Description

Calculate the distance between two points using their latitude and longitude. For more information about the coordinate system and its restrictions, see this Wikipedia Article.

This endpoint implements Vincenty's formula.

Endpoint

> GET https://api.jsonrepo.com/v1/compute/calculator/distance

Headers

Field Description
api_key Required Your API Key

Parameters

Field Type Description
lat_from Float Required Point 1 latitude ex. 27.9881
lon_from Float Required Point 1 longitude ex. 86.9250
lat_to Float Required Point 2 latitude ex. 40.7484
lon_to Float Required Point 2 longitude ex. -73.9857

Response

A successful request will result in a populated payload field with the expected output.

A failed request will result in an error output as detailed in Error Rules. If the endpoint validation fails due to missing, badly formatted or invalid parameters, the endpoint will return HTTP code 400 along with a message detailing the error.

See the examples section for more information.

Request

  • Curl
// Measure the distance between two points

curl -G \
https://api.jsonrepo.com/v1/compute/calculator/distance \
-H "api_key: {YOUR_API_KEY_HERE}" \
--data-urlencode "lat_from=27.9881" \
--data-urlencode "lon_from=86.9250" \
--data-urlencode "lat_to=40.7484" \
--data-urlencode "lon_to=-73.9857"

Success Response

{
    "http_code": 200,
    "http_message": "Ok",
    "message": "Successful execution",
    "payload": {
        "distance": {
            "input": {
                "point1": {
                    "lat": "27.9881",
                    "lon": "86.9250"
                },
                "point2": {
                    "lat": "40.7484",
                    "lon": "-73.9857"
                }
            },
            "meters": "12122283.76",
            "kilometers": "12122.28",
            "miles": "7532.42"
        }
    }
}

Error Response

// Bad `lon_to` parameter was provided

{
    "http_code": 400,
    "http_message": "Bad Request",
    "message": "Malformed request: `lon_to` parameter does not contain a valid longitude number.",
    "payload": []
}