Les routes¶
Actuellement, les routes sont structurées dans 3 sections :
Elevation : permet de récupérer des élévations.
Resources : permet de récupérer la liste des ressources disponibles. Une ressource permettant la récupération d’une élévation.
Other : permet de récupérer diverses informations au sujet de l’API :
Elevation¶

Route 1 - GET - /1.0/calcul/alti/rest/elevation.{format}¶
Cette route permet de récupérer une ou plusieurs altitudes à partir de coordonnées géographiques d’une requête.
Voici la liste des paramètres obligatoires et optionnels, ainsi que leurs contraintes respectives.
Note : si une coordonnée fournie est située dans une zone non couverte, l’altitude retournée aura la valeur -99999.
Note : les altitudes retournées sont arrondies à 2 chiffres après la virgule.
Paramètre |
Description |
Type / format |
Requis |
Valeurs possibles |
Valeur par défaut |
Contraintes |
---|---|---|---|---|---|---|
format |
format de sortie du service |
texte |
oui |
json xml |
xml |
|
lon |
liste des longitudes |
liste de décimaux (texte) |
oui |
de -180 à +180 |
- Autant de lon que de lat. |
|
lat |
liste des latitudes |
liste de décimaux (texte) |
oui |
de -90 à +90 |
- Autant de lat que de lon. |
|
resource |
nom de la ressource à utiliser pour récupérer l’élévation |
texte |
oui |
en fonction des ressources disponibles |
||
delimiter |
caractère utilisé pour séparer les longitudes et les latitudes |
texte |
non |
‘|’, ‘;’ ou ‘,’ |
“| ’ |
|
indent |
- false : réponse non indentée |
booléen (texte) |
non |
false true |
false |
|
measures |
- false : une élévation par coordonnée, pas de propriété |
booléen (texte) |
non |
false true |
false |
|
zonly |
- false : réponse étendue |
booléen (texte) |
non |
false true |
false |
Exemples d’appels et de résultats :
https://geoplateforme-alti-api.dev.gpf-tech.ign.fr/1.0/calcul/alti/rest/elevation.json?lon=1.48|1.49&lat=43.54|43.55&resource=rgealti&delimiter=|&indent=false&measures=false&zonly=false
https://geoplateforme-alti-api.dev.gpf-tech.ign.fr/1.0/calcul/alti/rest/elevation.xml?lon=1.48|1.49&lat=43.54|43.55&resource=rgealti&delimiter=|&indent=false&measures=false&zonly=false
{"elevations": [{"lon": 1.48, "lat": 43.54, "z": 168.75, "acc": 2.5}, {"lon": 1.49, "lat": 43.55, "z": 141.27, "acc": 2.5}]}
<elevations><elevation><lon>1.48</lon><lat>43.54</lat><z>168.75</z><acc>2.5</acc></elevation><elevation><lon>1.49</lon><lat>43.55</lat><z>141.27</z><acc>2.5</acc></elevation></elevations>
https://geoplateforme-alti-api.dev.gpf-tech.ign.fr/1.0/calcul/alti/rest/elevation.json?lon=1.48|1.49&lat=43.54|43.55&resource=rgealti&delimiter=|&indent=true&measures=false&zonly=true
https://geoplateforme-alti-api.dev.gpf-tech.ign.fr/1.0/calcul/alti/rest/elevation.xml?lon=1.48|1.49&lat=43.54|43.55&resource=rgealti&delimiter=|&indent=true&measures=false&zonly=true-
{
"elevations": [
168.75,
141.27
]
}
<elevations>
<z>168.75</z>
<z>141.27</z>
</elevations>
https://geoplateforme-alti-api.dev.gpf-tech.ign.fr/1.0/calcul/alti/rest/elevation.json?lon=1.48;1.49&lat=43.54;43.55&resource=rgealti&delimiter=;&indent=true&measures=true&zonly=false
https://geoplateforme-alti-api.dev.gpf-tech.ign.fr/1.0/calcul/alti/rest/elevation.xml?lon=1.48;1.49&lat=43.54;43.55&resource=rgealti&delimiter=;&indent=true&measures=true&zonly=false
{
"elevations": [
{
"lon": 1.48,
"lat": 43.54,
"z": 168.75,
"acc": 2.5,
"measures": [
{
"z": 168.75,
"source_name": "RGE Alti FXX",
"source_measure": "STEREO",
"acc": 2.5,
"title": "MNT1"
},
{
"z": 167.12318420410156,
"source_name": "RGE Alti CALVADOS",
"source_measure": "STEREO",
"acc": 7,
"title": "MNT2"
}
]
},
{
"lon": 1.49,
"lat": 43.55,
"z": 141.27,
"acc": 4.5,
"measures": [
{
"z": 141.27,
"source_name": "RGE Alti FXX",
"source_measure": "LIDAR",
"acc": 2.5,
"title": "MNT1"
}
]
}
]
}
<elevations>
<elevation>
<lon>1.48</lon>
<lat>43.54</lat>
<z>168.75</z>
<acc>2.5</acc>
<measures>
<measure>
<z>168.75</z>
<source_name>RGE Alti FXX</source_name>
<source_measure>STEREO</source_measure>
<acc>2.5</acc>
<title>MNT1</title>
</measure>
<measure>
<z>167.12318420410156</z>
<source_name>RGE Alti CALVADOS</source_name>
<source_measure>STEREO</source_measure>
<acc>7</acc>
<title>MNT2</title>
</measure>
</measures>
</elevation>
<elevation>
<lon>1.49</lon>
<lat>43.55</lat>
<z>141.27</z>
<acc>4.5</acc>
<measures>
<measure>
<z>141.27</z>
<source_name>RGE Alti FXX</source_name>
<source_measure>LIDAR</source_measure>
<acc>2.5</acc>
<title>MNT1</title>
</measure>
</measures>
</elevation>
</elevations>
Route 2 - POST - /1.0/calcul/alti/rest/elevation.{format}¶
Cette route est similaire à la route 1 à l’exception qu’il s’agit un appel API de type POST et non GET. Ainsi, il vous faudra passer un body à votre requête sous la forme d’un objet JSON.
Exemple d’appel :
curl -X 'POST' \
'https://geoplateforme-alti-api.dev.gpf-tech.ign.fr/1.0/calcul/alti/rest/elevation.json' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"lon": "1.48",
"lat": "43.54",
"resource": "string",
"delimiter": "|",
"indent": "false",
"measures": "false",
"zonly": "false"
}'
Les résultats sont identiques à la route 1.
Route 3 - GET - /1.0/calcul/alti/rest/elevationLine.{format}¶
Cette route permet de calculer un profil altimétrique à partir d’un ensemble de coordonnées et d’un paramètre d’échantillonnage.
Voici la liste des paramètres obligatoires et optionnels, ainsi que leurs contraintes respectives.
Note : si une coordonnée fournie est située dans une zone non couverte, l’altitude retournée aura la valeur -99999.
Note : les altitudes retournées sont arrondies à 2 chiffres après la virgule.
Paramètre |
Description |
Type / format |
Requis |
Valeurs possibles |
Valeur par défaut |
Contraintes |
---|---|---|---|---|---|---|
format |
format de sortie du service |
texte |
oui |
json xml |
xml |
|
lon |
liste des longitudes |
liste de décimaux (texte) |
oui |
de -180 à +180 |
- Autant de lon que de lat. |
|
lat |
liste des latitudes |
liste de décimaux (texte) |
oui |
de -90 à +90 |
- Autant de lat que de lon. |
|
resource |
nom de la ressource à utiliser pour récupérer l’élévation |
texte |
oui |
en fonction des ressources disponibles |
||
delimiter |
caractère utilisé pour séparer les longitudes et les latitudes |
texte |
non |
‘|’, ‘;’ ou ‘,’ |
“| ’ |
|
indent |
- false : réponse non indentée |
booléen (texte) |
non |
false true |
false |
|
measures |
- false : une élévation par coordonnée, pas de propriété |
booléen (texte) |
non |
false true |
false |
|
profile_mode |
mode de calcul du profil altimétrique. Pour l’instant, 2 modes ont été créés : - simple: calcul classique |
texte |
non |
simple accurate |
false |
|
sampling |
nombre de points constituant l’échantillonnage |
entier |
non |
de 2 à 5000 |
le nombre de couples (lon,lat) |
ne doit pas dépasser 5000 |
Exemples d’appels et de résultats :
https://geoplateforme-alti-api.dev.gpf-tech.ign.fr/1.0/calcul/alti/rest/elevationLine.json?lon=1.48|1.49&lat=43.54|43.55&resource=rgealti&delimiter=|&indent=true&measures=false&profile_mode=simple&sampling=4
https://geoplateforme-alti-api.dev.gpf-tech.ign.fr/1.0/calcul/alti/rest/elevationLine.xml?lon=1.48|1.49&lat=43.54|43.55&resource=rgealti&delimiter=|&indent=true&measures=false&profile_mode=simple&sampling=4
{
"elevations": [
{
"lon": 1.48,
"lat": 43.54,
"z": 168.75,
"acc": 2.5
},
{
"lon": 1.4833333333333334,
"lat": 43.54333333333333,
"z": 149.50,
"acc": 2.5
},
{
"lon": 1.4866666666666666,
"lat": 43.54666666666667,
"z": 146.70,
"acc": 2.5
},
{
"lon": 1.49,
"lat": 43.55,
"z": 141.27,
"acc": 2.5
}
],
"height_differences": {
"positive": 0,
"negative": 27.478958129882812
}
}
<elevations>
<elevation>
<lon>1.48</lon>
<lat>43.54</lat>
<z>168.75</z>
<acc>2.5</acc>
</elevation>
<elevation>
<lon>1.4833333333333334</lon>
<lat>43.54333333333333</lat>
<z>149.50</z>
<acc>2.5</acc>
</elevation>
<elevation>
<lon>1.4866666666666666</lon>
<lat>43.54666666666667</lat>
<z>146.70</z>
<acc>2.5</acc>
</elevation>
<elevation>
<lon>1.49</lon>
<lat>43.55</lat>
<z>141.27</z>
<acc>2.5</acc>
</elevation>
<height_differences>
<positive>0</positive>
<negative>27.478958129882812</negative>
</height_differences>
</elevations>
https://geoplateforme-alti-api.dev.gpf-tech.ign.fr/1.0/calcul/alti/rest/elevation.json?lon=1.48|1.49&lat=43.54|43.55&resource=rgealti&delimiter=|&indent=true&measures=false&zonly=true
https://geoplateforme-alti-api.dev.gpf-tech.ign.fr/1.0/calcul/alti/rest/elevation.xml?lon=1.48|1.49&lat=43.54|43.55&resource=rgealti&delimiter=|&indent=true&measures=false&zonly=true-
{
"elevations": [
{
"lon": 1.48,
"lat": 43.54,
"z": 168.75,
"acc": 2.5,
"measures": [
{
"z": 168.75,
"source_name": "RGE Alti FXX",
"source_measure": "LIDAR",
"acc": 2.5,
"title": "MNT1"
},
{
"z": 168.14691772460938,
"source_name": "RGE Alti CALVADOS",
"source_measure": "STEREO",
"acc": 2.5,
"title": "MNT2"
}
]
},
{
"lon": 1.4833333333333334,
"lat": 43.54333333333333,
"z": 149.50,
"acc": 2.5,
"measures": [
{
"z": 149.50,
"source_name": "RGE Alti FXX",
"source_measure": "LIDAR",
"acc": 2.5,
"title": "MNT1"
}
]
},
{
"lon": 1.4866666666666666,
"lat": 43.54666666666667,
"z": 146.70,
"acc": 2.5,
"measures": [
{
"z": 146.70,
"source_name": "RGE Alti CALVADOS",
"source_measure": "STEREO",
"acc": 2.5,
"title": "MNT1"
}
]
},
{
"lon": 1.49,
"lat": 43.55,
"z": 141.27,
"acc": 2.5,
"measures": [
{
"z": 141.27,
"source_name": "RGE Alti FXX",
"source_measure": "LIDAR",
"acc": 2.5,
"title": "MNT1"
}
]
}
],
"height_differences": {
"positive": 0,
"negative": 27.478958129882812
}
}
<elevations>
<elevation>
<lon>1.48</lon>
<lat>43.54</lat>
<z>168.75</z>
<acc>2.5</acc>
<measures>
<measure>
<z>168.75</z>
<source_name>RGE Alti FXX</source_name>
<source_measure>LIDAR</source_measure>
<acc>2.5</acc>
<title>MNT1</title>
</measure>
<measure>
<z>168.14691772460938</z>
<source_name>RGE Alti CALVADOS</source_name>
<source_measure>STEREO</source_measure>
<acc>2.5</acc>
<title>MNT2</title>
</measure>
</measures>
</elevation>
<elevation>
<lon>1.4833333333333334</lon>
<lat>43.54333333333333</lat>
<z>149.50</z>
<acc>2.5</acc>
<measures>
<measure>
<z>149.50</z>
<source_name>RGE Alti FXX</source_name>
<source_measure>LIDAR</source_measure>
<acc>2.5</acc>
<title>MNT1</title>
</measure>
</measures>
</elevation>
<elevation>
<lon>1.4866666666666666</lon>
<lat>43.54666666666667</lat>
<z>146.70</z>
<acc>2.5</acc>
<measures>
<measure>
<z>146.70</z>
<source_name>RGE Alti CALVADOS</source_name>
<source_measure>STEREO</source_measure>
<acc>2.5</acc>
<title>MNT1</title>
</measure>
</measures>
</elevation>
<elevation>
<lon>1.49</lon>
<lat>43.55</lat>
<z>141.27</z>
<acc>2.5</acc>
<measures>
<measure>
<z>141.27</z>
<source_name>RGE Alti FXX</source_name>
<source_measure>LIDAR</source_measure>
<acc>2.5</acc>
<title>MNT1</title>
</measure>
</measures>
</elevation>
<height_differences>
<positive>0</positive>
<negative>27.478958129882812</negative>
</height_differences>
</elevations>
Route 4 - POST - /1.0/calcul/alti/rest/elevationLine.{format}¶
Cette route est similaire à la route 3 à l’exception qu’il s’agit un appel API de type POST et non GET. Ainsi, il vous faudra passer un body à votre requête sous la forme d’un objet JSON.
Exemple d’appel :
curl -X 'POST' \
'https://geoplateforme-alti-api.dev.gpf-tech.ign.fr/1.0/calcul/alti/rest/elevationLine.json' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"lon": "1.48|1.49",
"lat": "43.54|43.55",
"resource": "rgealti",
"delimiter": "|",
"indent": "false",
"profile_mode": "simple",
"measures": "false",
"sampling": 5
}'
Les résultats sont identiques à la route 3.
Resources¶

Route 1 - GET - /1.0/resources/¶
Cette route permet d’obtenir la liste des ressources disponibles.
Afin de pouvoir utiliser les routes qui permettent de récupérer une élévation, il est impératif de passer au paramètre resource
la propriété layer_name
d’une ressource.
Paramètres optionnels :
keywords : permet de filtrer les ressources en fonctions de leurs tags
Exemples d’appel :
https://geoplateforme-alti-api.dev.gpf-tech.ign.fr/1.0/resources/
https://geoplateforme-alti-api.dev.gpf-tech.ign.fr/1.0/resources/?keywords=MNT
https://geoplateforme-alti-api.dev.gpf-tech.ign.fr/1.0/resources/?keywords=MNT&keywords=ALTI
Résultats¶
{
"content": "0 resource for the specified keywords",
"resources": {}
}
{
"content": "2 resources for the specified keywords",
"resources": [
{
"_id": "bdalti",
"title": "string",
"bbox": {
"east": 0,
"north": 0,
"west": 0,
"south": 0
}
},
{
"_id": "rgealti",
"title": "string",
"bbox": {
"east": 0,
"north": 0,
"west": 0,
"south": 0
}
}
]
}
Route 2 - GET - /1.0/resources/{id_resource}/¶
Cette route permet d’obtenir des détails sur une ressource.
Le id_resource
correspond à l’attribut _id
Exemples d’appel :
https://geoplateforme-alti-api.dev.gpf-tech.ign.fr/1.0/resources/bdalti/
Résultats¶
{
"error": {
"code": "BAD_PARAMETER",
"description": "'bdaltii' is not an accepted resource. This resource does not exist"
}
}
{
"title": "string",
"abstract": "string",
"keywords": [
"string"
],
"bbox": {
"east": 0,
"north": 0,
"west": 0,
"south": 0
},
"additionalProp1": {},
"_id": "bdalti",
"pyramids": {
"string": {
"stored_data": {
"ancestors": [
"string"
],
"extent": {
"geometry": {},
"type": "string"
},
"name": "string",
"size": 0,
"srs": "string",
"status": "string",
"type": "string",
"type_infos": {
"channels_format": "string",
"channels_number": 0,
"compression": "string",
"levels": [
"string"
],
"nodata_value": "string",
"tms": "string",
"additionalProp1": {}
},
"additionalProp1": {},
"_id": "string"
},
"title": "string",
"bbox": {
"east": 0,
"north": 0,
"west": 0,
"south": 0
},
"source": {
"value": "string",
"additionalProp1": {}
},
"accuracy": {
"stored_data": {
"ancestors": [
"string"
],
"extent": {
"geometry": {},
"type": "string"
},
"name": "string",
"size": 0,
"srs": "string",
"status": "string",
"type": "string",
"type_infos": {
"channels_format": "string",
"channels_number": 0,
"compression": "string",
"levels": [
"string"
],
"nodata_value": "string",
"tms": "string",
"additionalProp1": {}
},
"additionalProp1": {},
"_id": "string"
},
"mapping": {
"field_1": "string",
"field_2": "string",
"field_3": "string",
"field_4": "string",
"field_5": "string",
"field_6": "string",
"field_7": "string",
"field_8": "string",
"field_9": "string",
"field_10": "string",
"field_11": "string",
"field_12": "string",
"field_13": "string",
"field_14": "string",
"field_15": "string",
"field_16": "string",
"field_17": "string",
"field_18": "string",
"field_19": "string",
"field_20": "string",
"field_21": "string",
"field_22": "string",
"field_23": "string",
"field_24": "string",
"field_25": "string",
"additionalProp1": {}
},
"additionalProp1": {}
},
"additionalProp1": {}
}
}
}
Other¶

Route 1 - GET - /¶
Cette route permet d’obtenir la version de l’API.
Exemple d’appel :
Résultat¶
{
"message": "Altimetry API version 1.0"
}
Gestion des erreurs¶
En cas d’erreur du service (code HTTP différent de 200), la réponse est au format XML ou JSON. Par exemple :
{
"error": {
"code": "BAD_PARAMETER",
"description": "The parameter [lat] is missing."
}
}
{
"error": {
"code": "BAD_PARAMETER",
"description": "'_' is not an accepted delimiter. Supported values: '|',';',','"
}
}
{
"error": {
"code": "BAD_PARAMETER",
"description": "The values (181.48) cannot be parsed as a valid longitude (double value such as -180 < lon < 180)."
}
}
<error>
<code>BAD_PARAMETER</code>
<description>The parameter [lat] is missing.</description>
</error>
<error>
<code>BAD_PARAMETER</code>
<description>'_' is not an accepted delimiter. Supported values: '|',';',','</description>
</error>