Recherche d'altitude
L'altitude en mètres au-dessus du niveau moyen de la mer, pour un ou plusieurs points.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
lat, lonobligatoire* | nombre | Un 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. |
keyfacultatif | chaîne | Clé 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"]){
"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
| Champ | Type | Description |
|---|---|---|
results | tableau | Une entrée par point, dans l'ordre d'envoi. |
results[].elevation_m | nombre ou null | Mè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_m | nombre | Pas de la grille du jeu de données en mètres : 463.8 (15 secondes d'arc). |
Remarques
- Les valeurs proviennent de la cellule la plus proche d'une grille de 15 secondes d'arc (environ 460 m), mondiale, terres et fonds marins. Attendez-vous à la hauteur du terrain environnant plutôt qu'à une cote ponctuelle : suffisant pour les profils, les bassins versants, les liaisons radio et les contrôles de cohérence, trop grossier pour un bâtiment isolé ou une crête étroite. La précision verticale est généralement de quelques mètres sur un relief doux et de plusieurs dizaines de mètres en montagne escarpée.
- Sur les plans d'eau intérieurs (lacs, réservoirs), la valeur est l'altitude de la surface.
- L'altitude ne change pas. Mettez les résultats en cache aussi longtemps que vous le souhaitez.
- Les formats de requête Google Elevation, Bing Elevations et Open-Elevation sont disponibles sur les hôtes compatibles.
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.
| Fournisseur | Hôte | Chemin |
|---|---|---|
| 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 ou 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) |
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é.