GPS Coordinate Converter and Distance Calculator avatar

GPS Coordinate Converter and Distance Calculator

Pricing

from $0.01 / 1,000 results

Go to Apify Store
GPS Coordinate Converter and Distance Calculator

GPS Coordinate Converter and Distance Calculator

Convert GPS coordinates between decimal degrees, DMS, DDM, UTM, MGRS, Maidenhead and geohash, in bulk. Also measures geodesic distance, bearing and midpoint between two points, projects a destination point, and builds bounding boxes. Runs fully offline on WGS84, no API key needed.

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

Mangudäi

Mangudäi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Convert a point between every common coordinate notation and run geodesic calculations on it. Decimal degrees, degrees minutes seconds, degrees decimal minutes, UTM, MGRS, Maidenhead grid locator and geohash, all in one row. Then measure the distance and bearing between two points, project a destination point, or build a bounding box around a location.

Everything is computed offline from WGS84 constants. No API key, no rate limit, no third-party service that can go down.

What it does

Give it a list of calculations. Each one produces one row.

convert takes a single point and returns it in every supported format, plus the UTM zone and band, hemispheres, and ready-made Google Maps and OpenStreetMap links.

distance takes two points and returns the geodesic distance on the WGS84 ellipsoid in metres, kilometres, miles, nautical miles and feet, plus the great-circle distance, the initial and final bearing, a 16-point compass direction, and the midpoint.

destination takes a point, a bearing and a distance, and returns where you end up.

bbox takes a point and a radius and returns the bounding box, formatted both as minLon,minLat,maxLon,maxLat for map APIs and as latitude-first for everything else.

Input formats it understands

You can write a point as free-form text and the actor works out the notation:

NotationExample
Decimal degrees40.748440, -73.985664
Decimal with hemispheres40.7484 N, 73.9857 W
Degrees minutes seconds48°51'30.1"N 2°17'40.1"E
Colon separated DMS51:28:40N 0:00:05W
UTM18T 585631 4511327
MGRS31UDQ4825011951
Maidenhead locatorJN58td
Geohashu4pruydqqvj

You can also skip the text and pass latitude and longitude as numbers.

Input

{
"calculations": [
{ "label": "Empire State Building", "type": "convert", "point": "40.748440, -73.985664" },
{ "label": "Decode a geohash", "type": "convert", "point": "u4pruydqqvj" },
{ "label": "New York to London", "type": "distance", "point": "40.7128, -74.0060", "point2": "51.5074, -0.1278" },
{ "label": "100 km east of Greenwich", "type": "destination", "point": "51.4778, -0.0015", "bearing": 90, "distanceKm": 100 },
{ "label": "10 km around Times Square", "type": "bbox", "point": "40.7580, -73.9855", "radiusKm": 10 }
],
"geohashPrecision": 9,
"mgrsPrecision": 5
}

geohashPrecision accepts 1 to 12 characters, where 9 resolves to about 5 metres. mgrsPrecision accepts 1 to 5 digits per axis, where 5 resolves to 1 metre.

Output

One row per calculation. A convert row looks like this:

{
"label": "Empire State Building",
"type": "convert",
"inputPoint": "40.748440, -73.985664",
"inputFormat": "degrees",
"latitude": 40.74844,
"longitude": -73.985664,
"latitudeDMS": "40°44'54.38\"N",
"longitudeDMS": "073°59'08.39\"W",
"latitudeDDM": "40°44.9064'N",
"longitudeDDM": "073°59.1398'W",
"utm": "18T 585631 4511327",
"utmZone": 18,
"utmBand": "T",
"utmEasting": 585631.397,
"utmNorthing": 4511326.923,
"mgrs": "18TWL8563111326",
"geohash": "dr5ru6j2c",
"maidenhead": "FN30ar19",
"hemisphereNS": "North",
"hemisphereEW": "West",
"googleMapsUrl": "https://www.google.com/maps?q=40.74844,-73.985664"
}

A distance row adds distanceMeters, distanceKm, distanceMiles, distanceNauticalMiles, distanceFeet, greatCircleKm, initialBearing, finalBearing, compassDirection, midpointLatitude and midpointLongitude.

A destination row adds bearing, resultLatitude, resultLongitude, resultDMS and resultGeohash. A bbox row adds radiusKm, minLatitude, maxLatitude, minLongitude, maxLongitude, bbox and bboxLatLon.

Accuracy

Projections and distances use the WGS84 ellipsoid. The UTM transform is the standard Snyder series, checked against PROJ at sub-millimetre agreement on points from Svalbard to the Ross Ice Shelf. Distances use Vincenty's inverse formula, which agrees with PROJ's geodesic solver to the last printed digit. MGRS round-trips within the 1 metre grid square it names.

UTM and MGRS are defined between 80° south and 84° north. Outside that range those two columns come back empty and a note field explains why, while every other format still works.

A calculation that cannot be parsed returns an error on its own row instead of stopping the run, so one bad line never costs you the rest of the batch.

Common uses

Migrate survey data between DMS and decimal degrees. Feed a bounding box to an OpenStreetMap or Overpass query. Turn field notes written in MGRS into something a mapping tool will accept. Build geohash keys for spatial indexing. Work out how far apart two sites are without opening a mapping service. Convert a ham radio grid square to coordinates.

Pricing

Pay per event. You pay per result row, so a run costs what it produces and nothing more.