{"x402Version":2,"name":"Geospatial Coordinates, Projections & Geodesy","description":"Geospatial math in one place. Coordinate-format conversion (decimal ↔ DMS, UTM, MGRS); Web Mercator (EPSG:3857) forward/inverse projection with slippy-map tile and quadkey helpers; and geodesy — haversine distance, geohash encode/decode, point-in-polygon and timezone-from-coordinates. Deterministic.","version":"0.1.0","openapi":"https://geospatial.openverbs.com/openapi.json","resources":[{"url":"https://geospatial.openverbs.com/v1/to-dms","method":"POST","description":"Convert a decimal-degree latitude/longitude to degrees-minutes-seconds, with hemisphere letters and a formatted string for each axis.","tags":["decimal to dms","convert coordinates to dms","degrees minutes seconds","latitude longitude formatter","coordinate format conversion","dms coordinate api"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://geospatial.openverbs.com/v1/parse","method":"POST","description":"Parse a coordinate string into decimal lat/lon. Accepts a plain decimal pair ('40.4462, -79.9822') or DMS with hemisphere letters ('40°26'46\"N 79°58'56\"W'). Anything unrecognized is a clean 400.","tags":["parse coordinate string","coordinate parser api","dms to decimal degrees","latitude longitude lookup","convert coordinate text","read gps coordinates"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://geospatial.openverbs.com/v1/utm","method":"POST","description":"Convert decimal lat/lon to a UTM coordinate (zone, latitude band, hemisphere, easting, northing) on WGS84, including the Norway/Svalbard zone exceptions. Defined for latitudes -80..84.","tags":["lat lon to utm","utm conversion api","convert coordinates to utm","wgs84 utm zone","utm easting northing","utm coordinate lookup"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://geospatial.openverbs.com/v1/from-utm","method":"POST","description":"Convert a UTM coordinate (zone, hemisphere, easting, northing) back to decimal lat/lon on WGS84.","tags":["utm to lat lon","convert utm to decimal","utm reverse conversion","easting northing to coordinates","utm zone lookup","wgs84 from utm"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://geospatial.openverbs.com/v1/mgrs","method":"POST","description":"Convert decimal lat/lon to a Military Grid Reference System (MGRS) string on WGS84. Precision is the number of digits per axis (1–5; 5 = 1-metre resolution, default 5).","tags":["lat lon to mgrs","mgrs conversion api","convert coordinates to mgrs","military grid reference","mgrs grid lookup","wgs84 mgrs encoder"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://geospatial.openverbs.com/v1/from-mgrs","method":"POST","description":"Convert an MGRS grid reference back to decimal lat/lon on WGS84 (the coordinate of the grid cell's south-west corner at the given precision). Whitespace is ignored; a malformed reference is a clean 400.","tags":["mgrs to lat lon","parse mgrs reference","mgrs reverse conversion","military grid to coordinates","decode mgrs coordinate","mgrs coordinate lookup"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://geospatial.openverbs.com/v1/forward","method":"POST","description":"Project WGS84 longitude/latitude (degrees) to Web Mercator (EPSG:3857) easting/northing in metres. Latitude is clamped to ±85.0511° (the projection's valid extent).","tags":["wgs84 to web mercator","epsg 3857 projection","project lat lon to meters","longitude latitude to mercator","web mercator forward","gis projection api"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://geospatial.openverbs.com/v1/inverse","method":"POST","description":"Un-project Web Mercator (EPSG:3857) easting/northing in metres back to WGS84 longitude/latitude in degrees.","tags":["web mercator to wgs84","epsg 3857 inverse","mercator meters to lat lon","unproject web mercator","convert x y to coordinates","reverse projection api"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://geospatial.openverbs.com/v1/tile","method":"POST","description":"Map a WGS84 coordinate at a given zoom (0..30) to its slippy-map (XYZ / Google / OSM) tile x,y and its Bing quadkey.","tags":["coordinate to map tile","slippy map tile","xyz tile lookup","lat lon to tile x y","quadkey from coordinate","osm tile calculator"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://geospatial.openverbs.com/v1/tile-bounds","method":"POST","description":"Compute the geographic bounding box (west/south/east/north in degrees) of a slippy-map tile z/x/y, plus its Bing quadkey.","tags":["tile geographic bounds","map tile bounding box","xyz tile bounds","slippy tile bbox","quadkey tile bounds","tile to lat lon extent"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://geospatial.openverbs.com/v1/resolution","method":"POST","description":"Report the ground resolution (metres per pixel, for 256-px tiles) and the OGC map scale denominator at a zoom level, optionally adjusted for latitude (default equator).","tags":["map ground resolution","meters per pixel","tile zoom scale","web mercator scale","resolution by zoom level","map scale denominator"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://geospatial.openverbs.com/v1/distance","method":"POST","description":"Distance and initial bearing between two coordinates.","tags":["haversine distance","distance between coordinates","great circle distance","bearing between points","geodesic distance api","lat lon distance calculator"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://geospatial.openverbs.com/v1/geohash","method":"POST","description":"Encode a coordinate to a geohash and return its bounding box and 8 neighbors.","tags":["geohash encode","coordinate to geohash","geohash neighbors","geohash bounding box","spatial hash api","geohash lookup"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://geospatial.openverbs.com/v1/timezone","method":"POST","description":"Resolve the timezone for a latitude/longitude.","tags":["timezone from coordinates","lat lon timezone lookup","iana timezone api","coordinate timezone resolver","find timezone by location","offline timezone lookup"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://geospatial.openverbs.com/v1/point-in-polygon","method":"POST","description":"Test whether a coordinate falls inside a polygon.","tags":["point in polygon","coordinate inside polygon","polygon containment test","geofence check api","spatial point lookup","gis containment query"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]}]}