Requêtes d'altitude
Les requêtes de l'API Elevation sont construites sous la forme d'une chaîne d'URL. L'API renvoie des données d'altitude pour des points géographiques sur Terre. Vous pouvez spécifier les données de localisation de deux manières:
- Sous la forme d'un ou de plusieurs
locations
. - Sous la forme d'une série de points connectés le long d'une
path
.
Ces deux approches utilisent des coordonnées de latitude/longitude pour identifier les lieux ou les sommets du tracé. Ce document décrit le format requis pour les URL de l'API Elevation et les paramètres disponibles.
L'API Elevation renvoie des données de la plus grande précision possible pour des requêtes à un seul point. Les requêtes par lot impliquant plusieurs points géographiques peuvent renvoyer des données moins précises, en particulier si les lieux sont dispersés, car les données sont lissées.
Une requête API Elevation se présente comme suit:
https://maps.googleapis.com/maps/api/elevation/outputFormat?parameters
où outputFormat
peut correspondre à l'une des valeurs suivantes:
json
(recommandé) : indique le résultat au format JSON Object Notation (JSON) ; ouxml
indique une sortie au format XML, encapsulée dans un nœud<ElevationResponse>
.
Remarque: Les URL doivent être correctement encodées pour être valides et limitées à 16 384 caractères pour tous les services Web. Tenez compte de cette limite lorsque vous créez vos URL. Notez que le nombre maximal de caractères des URL peut varier selon les navigateurs, les proxys et les serveurs.
HTTPS est requis pour les requêtes qui utilisent une clé API.
Paramètres de requête
Les requêtes adressées à l'API Elevation utilisent différents paramètres selon que la requête porte sur des emplacements discrets ou sur un tracé ordonné. Pour les points géographiques distincts, les requêtes d'altitude renvoient des données sur les points géographiques spécifiques transmis dans la requête. Pour les tracés, les requêtes d'altitude sont plutôt échantillonnées le long du tracé donné.
Comme c'est la norme pour toutes les URL, les paramètres sont séparés par une esperluette (&
). Vous trouverez ci-dessous la liste des paramètres et leurs valeurs possibles.
Toutes les demandes
key
(obligatoire) : clé API de votre application. Cette clé identifie votre application à des fins de gestion des quotas. Découvrez comment obtenir une clé.
Demandes de position
locations
(obligatoire) définit le ou les points géographiques sur Terre à partir desquels renvoyer les données d'altitude. Ce paramètre prend soit un seul point géographique sous la forme d'une paire {latitude,longitude} séparée par des virgules (par exemple, "40.714728,-73.998672"), soit plusieurs paires latitude/longitude transmises sous forme de tableau ou de polyligne encodée. Ce paramètre spécifique est limité à 512 points. Pour en savoir plus, consultez la section Spécifier des emplacements ci-dessous.
Requêtes de chemin échantillonné
path
(obligatoire) définit un tracé sur la Terre pour lequel renvoyer des données d'altitude. Ce paramètre définit un ensemble de deux paires {latitude,longitude} ordonnées ou plus définissant un tracé à la surface de la Terre. Ce paramètre doit être utilisé conjointement avec le paramètresamples
décrit ci-dessous. Ce paramètre spécifique est limité à 512 points. Pour en savoir plus, consultez la section Spécifier des chemins d'accès ci-dessous.samples
(obligatoire) spécifie le nombre d'échantillons de points le long d'un tracé pour lesquels renvoyer des données d'altitude. Le paramètresamples
divise la valeurpath
donnée en un ensemble ordonné de points équidistants le long du tracé.
Spécifier des emplacements
Les requêtes de position sont indiquées à l'aide du paramètre locations
, qui indique les requêtes d'altitude pour les lieux spécifiques transmis sous forme de valeurs de latitude/longitude.
Le paramètre locations
peut accepter les arguments suivants:
- Une seule coordonnée:
locations=40.714728,-73.998672
- Tableau de coordonnées séparées par une barre verticale ("
|
") :locations=40.714728,-73.998672|-34.397,150.644
- Un ensemble de coordonnées encodées à l'aide de l'algorithme de polyligne encodée:
locations=enc:gfo}EtohhU
Les chaînes de coordonnées de latitude et de longitude sont définies à l'aide de chiffres au sein d'une chaîne de texte séparée par des virgules. Par exemple, "40.714728,-73.998672" est une valeur locations
valide. Les valeurs de latitude et de longitude doivent correspondre à un point géographique valide sur la surface de la Terre. Les latitudes peuvent avoir n'importe quelle valeur comprise entre -90
et 90
, tandis que les valeurs de longitude peuvent avoir n'importe quelle valeur comprise entre -180
et 180
. Si vous spécifiez une valeur de latitude ou de longitude non valide, votre requête sera rejetée en tant que requête incorrecte.
Vous pouvez transmettre jusqu'à 512 coordonnées dans un tableau ou une polyligne encodée, tout en construisant une URL valide.
Notez que lorsque vous transmettez plusieurs coordonnées, la précision des données renvoyées peut être inférieure à celle obtenue lorsque vous demandez des données pour une seule coordonnée.
Si vous dépassez 512 points ou coordonnées dans les paramètres "locations" ou "path", vous obtenez une réponse INVALID_REQUEST
.
Spécifier des chemins d'accès
Les requêtes de tracé échantillonné sont indiquées à l'aide des paramètres path
et samples
, ce qui indique une requête de données d'altitude le long d'un tracé à des intervalles spécifiés. Comme pour les requêtes de position utilisant le paramètre locations
, le paramètre path
spécifie un ensemble de valeurs de latitude et de longitude. Toutefois, contrairement à une requête de position, path
spécifie un ensemble ordonné de sommets. Plutôt que de renvoyer des données d'altitude uniquement au niveau des sommets, les requêtes de tracé sont échantillonnées sur toute la longueur du tracé, en fonction du nombre de samples
spécifiés (points de terminaison inclus).
Le paramètre path
peut utiliser l'un des arguments suivants:
- Tableau de deux ou plusieurs chaînes de texte de coordonnées séparées par une virgule et séparées par une barre verticale ("
|
") :path=40.714728,-73.998672|-34.397,150.644
- Coordonnées encodées à l'aide de l'algorithme des polylignes encodées:
path=enc:gfo}EtohhUxD@bAxJmGF
Les chaînes de coordonnées de latitude et de longitude sont définies à l'aide de chiffres au sein d'une chaîne de texte séparée par des virgules. Par exemple, "40.714728,-73.998672|-34.397, 150.644" est une valeur path
valide. Les valeurs de latitude et de longitude doivent correspondre à un emplacement valide sur la surface de la Terre. Les latitudes peuvent avoir n'importe quelle valeur comprise entre -90
et 90
, tandis que les valeurs de longitude peuvent avoir n'importe quelle valeur comprise entre -180
et 180
. Si vous spécifiez une valeur de latitude ou de longitude non valide, votre requête sera rejetée en tant que requête incorrecte.
Vous pouvez transmettre jusqu'à 512 coordonnées dans un tableau ou une polyligne encodée, tout en construisant une URL valide. Notez que lorsque vous transmettez plusieurs coordonnées, la précision des données renvoyées peut être inférieure à celle obtenue lorsque vous demandez des données pour une seule coordonnée. Si vous spécifiez plus de 512 points ou coordonnées dans les paramètres "locations" ou "path", vous obtenez une réponse INVALID_REQUEST
.
Réponses d'altitude
Pour chaque requête valide, le service Elevation renvoie une réponse Elevation au format indiqué dans l'URL de la requête.
ElevationResponse
Field | Required | Type | Description |
---|---|---|---|
| required | Array<ElevationResult> | See ElevationResult for more information. |
| required | ElevationStatus | See ElevationStatus for more information. |
| optional | string |
When the service returns a status code other than |
ElevationStatus
Status codes returned by service.
OK
indicating the API request was successful.DATA_NOT_AVAILABLE
indicating that there's no available data for the input locations.INVALID_REQUEST
indicating the API request was malformed.OVER_DAILY_LIMIT
indicating any of the following:- The API key is missing or invalid.
- Billing has not been enabled on your account.
- A self-imposed usage cap has been exceeded.
- The provided method of payment is no longer valid (for example, a credit card has expired).
OVER_QUERY_LIMIT
indicating the requestor has exceeded quota.REQUEST_DENIED
indicating the API did not complete the request.UNKNOWN_ERROR
indicating an unknown error.
Lorsque le code d'état n'est pas OK
, il peut y avoir un champ error_message
supplémentaire dans l'objet de réponse Elevation. Ce champ contient des informations plus détaillées sur les raisons du code d'état donné.
La réponse contient un tableau results
avec les éléments suivants:
ElevationResult
Field | Required | Type | Description |
---|---|---|---|
| required | number | The elevation of the location in meters. |
| required | LatLngLiteral | A location element of the position for which elevation data is being computed. Note that for path requests, the set of location elements will contain the sampled points along the path. See LatLngLiteral for more information. |
| optional | number | The value indicating the maximum distance between data points from which the elevation was interpolated, in meters. This property will be missing if the resolution is not known. Note that elevation data becomes more coarse (larger resolution values) when multiple points are passed. To obtain the most accurate elevation value for a point, it should be queried independently. |
L'objet location
comporte les éléments suivants:
LatLngLiteral
An object describing a specific location with Latitude and Longitude in decimal degrees.
Field | Required | Type | Description |
---|---|---|---|
| required | number | Latitude in decimal degrees |
| required | number | Longitude in decimal degrees |
Exemples d'altitude positionnelle
L'exemple suivant demande l'altitude pour Denver, au Colorado, la "ville de plusieurs kilomètres" au format JSON:
URL
https://maps.googleapis.com/maps/api/elevation/json ?locations=39.7391536%2C-104.9847034 &key=YOUR_API_KEY
cURL
curl -L -X GET 'https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536%2C-104.9847034&key=YOUR_API_KEY'
JSON
{ "results": [ { "elevation": 1608.637939453125, "location": { "lat": 39.7391536, "lng": -104.9847034 }, "resolution": 4.771975994110107, }, ], "status": "OK", }
XML
<ElevationResponse> <status>OK</status> <result> <location> <lat>39.7391536</lat> <lng>-104.9847034</lng> </location> <elevation>1608.6379395</elevation> <resolution>4.7719760</resolution> </result> </ElevationResponse>
L'exemple suivant illustre plusieurs réponses (pour Denver au Colorado et pour la Vallée de la Mort, en Californie).
Cette requête illustre l'utilisation de l'indicateur JSON output
:
URL
https://maps.googleapis.com/maps/api/elevation/json ?locations=39.7391536%2C-104.9847034%7C36.455556%2C-116.866667 &key=YOUR_API_KEY
cURL
curl -L -X GET 'https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536%2C-104.9847034%7C36.455556%2C-116.866667&key=YOUR_API_KEY'
Cette requête illustre l'utilisation de l'indicateur XML output
:
https://maps.googleapis.com/maps/api/elevation/xml?locations=39.7391536,-104.9847034|36.455556,-116.866667&key=YOUR_API_KEY
Sélectionnez les onglets ci-dessous pour voir des exemples de réponses JSON et XML.
JSON
{ "results": [ { "elevation": 1608.637939453125, "location": { "lat": 39.7391536, "lng": -104.9847034 }, "resolution": 4.771975994110107, }, { "elevation": -52.79492568969727, "location": { "lat": 36.455556, "lng": -116.866667 }, "resolution": 19.08790397644043, }, ], "status": "OK", }
XML
<ElevationResponse> <status>OK</status> <result> <location> <lat>39.7391536</lat> <lng>-104.9847034</lng> </location> <elevation>1608.6379395</elevation> <resolution>4.7719760</resolution> </result> <result> <location> <lat>36.4555560</lat> <lng>-116.8666670</lng> </location> <elevation>-52.7949257</elevation> <resolution>19.0879040</resolution> </result> </ElevationResponse>
Les exemples suivants demandent des données d'altitude le long d'une ligne droite path
du mont Whitney, en Californie, à Badwater, en Californie, les points les plus hauts et les plus bas des États-Unis continentaux. Nous demandons trois samples
, qui incluent les deux points de terminaison et le point médian.
URL
https://maps.googleapis.com/maps/api/elevation/json ?path=36.578581%2C-118.291994%7C36.23998%2C-116.83171 &samples=3 &key=YOUR_API_KEY
cURL
curl -L -X GET 'https://maps.googleapis.com/maps/api/elevation/json?path=36.578581%2C-118.291994%7C36.23998%2C-116.83171&samples=3&key=YOUR_API_KEY'
JSON
{ "results": [ { "elevation": 4411.94189453125, "location": { "lat": 36.578581, "lng": -118.291994 }, "resolution": 19.08790397644043, }, { "elevation": 1372.8359375, "location": { "lat": 36.41150289067028, "lng": -117.5602607523847 }, "resolution": 9.543951988220215, }, { "elevation": -84.51690673828125, "location": { "lat": 36.23998, "lng": -116.83171 }, "resolution": 9.543951988220215, }, ], "status": "OK", }
XML
<ElevationResponse> <status>OK</status> <result> <location> <lat>36.5785810</lat> <lng>-118.2919940</lng> </location> <elevation>4411.9418945</elevation> <resolution>19.0879040</resolution> </result> <result> <location> <lat>36.4115029</lat> <lng>-117.5602608</lng> </location> <elevation>1372.8359375</elevation> <resolution>9.5439520</resolution> </result> <result> <location> <lat>36.2399800</lat> <lng>-116.8317100</lng> </location> <elevation>-84.5169067</elevation> <resolution>9.5439520</resolution> </result> </ElevationResponse>