Servicio de perfil longitudinal
El servicio de perfil longitudinal calcula y devuelve alturas ortométricas a partir de un punto, línea o polígono en formato GeoJSON. Para el cálculo de las alturas se usa el MDT de 5 metros de píxel creado a partir del vuelo LiDAR de 0,5 puntos por metro cuadrado.
URL del servicio
https://descargas.icv.gva.es/00/geoprocesos/perfil/?Parámetros de entrada (GET o POST)
| Parámetro | Obligatorio | Descripción |
|---|---|---|
geojson | Sí | Geometría o contenedor GeoJSON. Sin crs se interpreta como EPSG:4326. |
espaciado | No | Separación entre muestras, en metros. El servicio aplica un mínimo de 5 m (valor por defecto). |
srs_salida | No | Código EPSG del CRS de salida; valor predeterminado EPSG:25830. Valores habituales permitidos: 4326, 4258, 25830 y 3857. |
Formato de respuesta JSON
La respuesta con éxito incluye estadísticas generales y una lista de los datos de cada muestra: coordenadas, distancia al origen y altura ortométrica. Un error controlado incluye response.success: false.
| Campo | Tipo | Unidad | Semántica y nulabilidad |
|---|---|---|---|
serviceName | string | — | Nombre del servicio; en esta respuesta es «Perfil». No nulo. |
response | objeto | — | Contenedor del resultado de la petición. No nulo. |
response.success | booleano | — | Indica si el procesamiento terminó correctamente. No nulo. |
response.numResults | entero | muestras | Número de muestras usadas para el cálculo de las alturas. No nulo en la respuesta correcta observada. |
response.srs_epsg | entero | código EPSG | Sistema de referencia de x e y. No nulo en la respuesta correcta observada. |
response.espaciado_puntos_m | número | m | Espaciado solicitado entre muestras; el último tramo puede ser menor. Si se superan los 5.000 puntos, el espaciado se adapta y será mayor que el introducido en el parámetro "espaciado". No nulo en respuesta correcta observada. |
response.dist_total_m | número | m | Distancia total del perfil. No nulo en la respuesta correcta observada. |
response.desnivel_acum_pos | número | m | Desnivel positivo acumulado entre muestras. No nulo en la respuesta correcta observada. |
response.desnivel_acum_neg | número | m | Desnivel negativo acumulado entre muestras, expresado como magnitud positiva. No nulo en la respuesta correcta observada. |
response.altura_max | número o nulo | m | Altura máxima de las muestras; puede ser nula si no hay alturas disponibles. |
response.altura_min | número o nulo | m | Altura mínima de las muestras; puede ser nula si no hay alturas disponibles. |
response.results | array | — | Lista ordenada de muestras del perfil. No nula en la respuesta correcta observada. |
response.results[].x | número | según EPSG | Coordenada X de la muestra en srs_epsg. No nula. |
response.results[].y | número | según EPSG | Coordenada Y de la muestra en srs_epsg. No nula. |
response.results[].dist_m | número | m | Distancia acumulada desde el inicio. No nula. |
response.results[].H_m | número o nulo | m | Altura ortométrica en metros de la muestra; puede ser nula cuando no existe dato de elevación. |
Ejemplo JSON
Entrada
El parámetro geojson admite tres estructuras GeoJSON:
Geometría directa — utilizada en esta respuesta
{
"type": "LineString",
"coordinates": [
[-38494.876609435196, 4814271.890306238],
[-37888.15769740562, 4815162.859417211]
],
"crs": {
"type": "name",
"properties": {
"name": "EPSG:3857"
}
}
}Feature
Incluye properties y geometry; las propiedades se ignoran para el cálculo.
{
"type": "Feature",
"properties": {
"name": "Ejemplo"
},
"geometry": {
"type": "Point",
"coordinates": [727750.347, 4391557.979]
},
"crs": {
"type": "name",
"properties": {
"name": "EPSG:25830"
}
}
}FeatureCollection
El servicio procesa únicamente la primera Feature de features.
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "LineString",
"coordinates": [
[-0.3501, 39.4698],
[-0.3492, 39.4705]
]
}
}
],
"crs": {
"type": "name",
"properties": {
"name": "EPSG:4326"
}
}
}srs_salida25830espaciado100
Respuesta
{
"serviceName": "Perfil",
"response": {
"success": true,
"numResults": 10,
"srs_epsg": 25830,
"espaciado_puntos_m": 100.0,
"dist_total_m": 829.07,
"desnivel_acum_pos": 204.03,
"desnivel_acum_neg": 57.11,
"altura_max": 364.26,
"altura_min": 185.22,
"results": [
{"x":727750.347,"y":4391557.979,"dist_m":0.0,"H_m":185.22},
{"x":727804.318,"y":4391642.164,"dist_m":100.0,"H_m":203.97},
{"x":727858.289,"y":4391726.349,"dist_m":200.0,"H_m":243.1},
{"x":727912.26,"y":4391810.534,"dist_m":300.0,"H_m":319.89},
{"x":727966.231,"y":4391894.719,"dist_m":400.0,"H_m":362.41},
{"x":728020.202,"y":4391978.904,"dist_m":500.0,"H_m":364.26},
{"x":728074.173,"y":4392063.089,"dist_m":600.0,"H_m":315.14},
{"x":728128.144,"y":4392147.275,"dist_m":700.0,"H_m":307.15},
{"x":728182.115,"y":4392231.46,"dist_m":800.0,"H_m":321.97},
{"x":728197.807,"y":4392255.936,"dist_m":829.07,"H_m":332.14}
]
}
}
Prueba del servicio
1. Dibuja un elemento en el mapa
Selecciona una herramienta de dibujo.
Perfil longitudinal
El perfil aparecerá después de una consulta correcta.
Usa el puntero o las teclas de flecha, Inicio y Fin para consultar las muestras.
2. Revisa o escribe el GeoJSON
Completa una geometría para preparar la petición.
3. Petición
- URL
- Payload POST
4. Respuesta JSON
{"estado":"La respuesta aparecerá aquí"}