Höhenabfrage
Meter über dem mittleren Meeresspiegel für einen oder viele Punkte.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
lat, lonerforderlich* | Zahl | Ein einzelner Punkt. |
locationserforderlich* | String | *Alternative zu lat und lon: bis zu 100 Punkte als lat,lon|lat,lon|.... Jeder Punkt zählt als eine Anfrage. |
keyoptional | String | API-Schlüssel, falls nicht als Header gesendet. |
Der Endpunkt akzeptiert außerdem POST mit einem JSON-Body {"locations": [[lat, lon], ...]} für lange Listen, die nicht in eine URL passen würden.
Beispiel
$ curl -H "X-API-Key: YOUR_KEY" "https://api.mygeocode.com/v1/elevation?locations=36.2381,-116.8175|31.5590,35.4732"const points = [[36.2381, -116.8175], [31.5590, 35.4732]];
const url = new URL("https://api.mygeocode.com/v1/elevation");
url.searchParams.set("locations", points.map((p) => p.join(",")).join("|"));
const { results } = await (await fetch(url, { headers: { "X-API-Key": "YOUR_KEY" } })).json();
results.forEach((r) => console.log(r.elevation_m));import requests
points = [(36.2381, -116.8175), (31.5590, 35.4732)]
locations = "|".join(f"{lat},{lon}" for lat, lon in points)
r = requests.get("https://api.mygeocode.com/v1/elevation", params={"locations": locations}, headers={"X-API-Key": "YOUR_KEY"}, timeout=10)
for item in r.json()["results"]:
print(item["elevation_m"]){
"status": "ok",
"results": [
{ "lat": 36.2381, "lon": -116.8175, "elevation_m": -82.0, "resolution_m": 463.8 },
{ "lat": 31.559, "lon": 35.4732, "elevation_m": -416.0, "resolution_m": 463.8 }
]
}Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
results | Array | Ein Eintrag pro Punkt, in der Reihenfolge der Eingabe. |
results[].elevation_m | Zahl oder null | Meter über dem mittleren Meeresspiegel, eine Nachkommastelle. Negativ unter dem Meeresspiegel, einschließlich des Meeresbodens auf offener See (der Datensatz enthält Bathymetrie). null nur dort, wo der Datensatz keinen Wert hat. |
results[].resolution_m | Zahl | Rasterabstand des Datensatzes in Metern: 463.8 (15 Bogensekunden). |
Hinweise
- Die Werte stammen aus der nächstgelegenen Zelle eines Rasters mit 15 Bogensekunden (etwa 460 m), weltweit, Land und Meeresboden. Erwarten Sie die Höhe des umgebenden Geländes statt einer punktgenauen Höhe: gut geeignet für Profile, Einzugsgebiete, Funkstrecken und Plausibilitätsprüfungen, zu grob für ein einzelnes Gebäude oder einen schmalen Grat. Die vertikale Genauigkeit liegt in sanftem Gelände typischerweise bei wenigen Metern und in steilen Gebirgen bei einigen zehn Metern.
- Über Binnengewässern (Seen, Stauseen) ist der Wert die Höhe der Wasseroberfläche.
- Die Höhe ändert sich nicht. Speichern Sie Ergebnisse so lange zwischen, wie Sie möchten.
- Die Anfrageformate von Google Elevation, Bing Elevations und Open-Elevation sind auf den Drop-in-Hosts verfügbar.
Dieselbe Abfrage in den Formaten anderer Anbieter
Wenn Sie bereits Code für einen dieser Anbieter geschrieben haben, behalten Sie ihn: Der Drop-in-Host akzeptiert denselben Pfad und dieselben Parameter und antwortet in der Antwortstruktur dieses Anbieters, mit diesem Endpunkt dahinter. Siehe So funktionieren die Drop-in-Hosts.
| Anbieter | Host | Pfad |
|---|---|---|
| Google Maps Platform | gapi.mygeocode.com | /maps/api/elevation/json?locations=lat,lng|lat,lng/maps/api/elevation/json?locations=enc:POLYLINE/maps/api/elevation/json?path=lat,lng|lat,lng&samples=N |
| Bing Maps REST Services | bing.mygeocode.com | /REST/v1/Elevation/List?points=lat,lon,lat,lon/REST/v1/Elevation/Polyline?points=lat,lon,lat,lon&samples=N/REST/v1/Elevation/Bounds?bounds=S,W,N,E&rows=R&cols=C (GET oder POST) |
| MapQuest | mapquest.mygeocode.com | /elevation/v1/profile?latLngCollection=lat,lng,lat,lng&shapeFormat=raw&unit=m |
| Open-Elevation | openelevation.mygeocode.com | /api/v1/lookup?locations=lat,lon|lat,lon/api/v1/lookup (POST, JSON body) |
Fehler
400 invalid_request, wenn weder ein Punkt noch locations angegeben ist, wenn eine Koordinate außerhalb des gültigen Bereichs liegt oder fehlerhaft ist, wenn es mehr als 100 Punkte sind oder wenn samples, rows oder cols mehr als 100 ergeben würden. 503 backend_unavailable, wenn der Höhendienst nicht antwortet; es wird nichts gezählt.