Recherche d'altitude

L'altitude en mètres au-dessus du niveau moyen de la mer, pour un ou plusieurs points.

GEThttps://api.mygeocode.com/v1/elevation

Paramètres

ParamètreTypeDescription
lat, lonobligatoire*nombreUn point unique.
locationsobligatoire*chaîne*Alternative à lat et lon : jusqu'à 100 points sous la forme lat,lon|lat,lon|.... Chaque point compte comme une requête.
keyfacultatifchaîneClé d'API, si elle n'est pas envoyée dans un en-tête.

L'endpoint accepte aussi POST avec un corps JSON {"locations": [[lat, lon], ...]} pour les longues listes qui ne tiendraient pas dans une URL.

Exemple

$ 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"])
Réponse
{
  "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 }
  ]
}

Champs de la réponse

ChampTypeDescription
resultstableauUne entrée par point, dans l'ordre d'envoi.
results[].elevation_mnombre ou nullMètres au-dessus du niveau moyen de la mer, avec une décimale. Négatif sous le niveau de la mer, y compris pour le fond marin en pleine mer (le jeu de données inclut la bathymétrie). null uniquement là où le jeu de données n'a pas de valeur.
results[].resolution_mnombrePas de la grille du jeu de données en mètres : 463.8 (15 secondes d'arc).

Remarques

La même recherche aux formats d'autres fournisseurs

Si vous avez déjà du code écrit pour l'un de ces fournisseurs, gardez-le : l'hôte compatible accepte le même chemin et les mêmes paramètres et répond dans le format de réponse de ce fournisseur, avec cet endpoint derrière. Voir le fonctionnement des hôtes compatibles.

FournisseurHôteChemin
Google Maps Platformgapi.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 Servicesbing.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 ou POST)
MapQuestmapquest.mygeocode.com/elevation/v1/profile?latLngCollection=lat,lng,lat,lng&shapeFormat=raw&unit=m
Open-Elevationopenelevation.mygeocode.com/api/v1/lookup?locations=lat,lon|lat,lon
/api/v1/lookup (POST, JSON body)

Erreurs

400 invalid_request lorsque ni un point ni locations n'est fourni, lorsqu'une coordonnée est hors limites ou mal formée, lorsqu'il y a plus de 100 points, ou lorsque samples, rows ou cols produiraient plus de 100 points. 503 backend_unavailable lorsque le service d'altitude ne répond pas ; rien n'est compté.