20 dic 2024

30 aniversario de OGC


El pasado 2 de diciembre, OGC celebró su 30º aniversario en Washington D.C con un evento especial llamado OGC@30, en el que líderes y expertos en el ámbito geoespacial ofrecieron valiosa información sobre la aplicación de tecnologías de vanguardia a los problemas actuales.

Las conferencias principales estuvieron a cargo de: Vint Cerf, considerado uno de los padres de Internet, actualmente «Chief Internet Evangelist de Google»; y de Peter Bergen, periodista y actual analista de seguridad nacional en CNN.

Se presentaron dos paneles de discusión titulados: «Interoperabilidad geoespacial y tecnología para la prestación eficiente de resultados del sector público» y «Una nueva era de interoperabilidad: transformando el mundo con datos geoespaciales». En ambos, a través de ejemplos del mundo real y perspectivas prácticas, los panelistas discutieron el potencial transformador de estas herramientas para romper los silos, compartir información crítica e impulsar cambios impactantes.

Además, durante el acto se entregaron premios especiales, incluido el Premio a la Trayectoria que recayó en una figura clave en la historia de la organización, David Schelly, al que se le reconoció especialmente su contribución a los datos espaciales y la interoperabilidad de sistemas. En reconocimiento a su profundo impacto en la comunidad geoespacial y más allá, OGC anunció que el premio a la trayectoria ha cambiado de nombre y ahora se llamará premio David Schell.


También se otorgaron otros galardones para miembros y organizaciones que han contribuido al avance de los estándares y las tecnologías geoespaciales, como el Premio a la Excelencia otorgado a la Autoridad General de Topografía e Información Geoespacial (GEOSA) y el premio al Impacto Global a Patrick Cozzi. Varios miembros del personal y de la junta directiva, tanto antiguos como actuales, también fueron distinguidos con premios al servicio. Consultar todos los premiados.

OGC es una comunidad que lleva desde 1994 dedicada a utilizar el poder de la geografía y la tecnología para resolver los problemas que enfrentan las personas y el planeta, impulsando la colaboración y la interoperabilidad en el uso de datos geoespaciales, buscando soluciones a desafíos globales mediante estándares abiertos y proyectos de investigación conjuntos.

Publicado por la editora.

17 dic 2024

Presentación del Proyecto DIS4SME y el Curso de Interoperabilidad para CEOs

 


En un mundo donde la digitalización es clave para la competitividad empresarial, el proyecto DIS4SME (Data Interoperability Skills for SMEs) se posiciona como un aliado estratégico para las pequeñas y medianas empresas (pymes) que desean transformar sus procesos y adaptarse a los retos del mercado actual. Este proyecto, impulsado por la Agencia Ejecutiva Digital y de Sanidad Europea (HaDEA), busca dotar a las PYME de las competencias necesarias para orientar sus estrategias y planes de transformación digital en torno a la interoperabilidad de los datos, como facilitadora de todas las áreas de capacidad clave abordadas por el Programa Europa Digital.

¿Qué es DIS4SME? DIS4SME impartirá distintos tipos de cursos que respondan a las necesidades reales de las PYME en materia de interoperabilidad de datos, especialmente en lo relativo a la interoperabilidad de datos de localización, para cubrir las tendencias tecnológicas y políticas más avanzadas.

El proyecto diseñará e impartirá cursos de formación de corta duración para la mejora y el reciclaje de la mano de obra, con especial atención a los propietarios, directivos y empleados de las PYME.

A través de estos cursos, DIS4SME pretende no solo incrementar la eficiencia operativa de las pymes, sino también abrirles nuevas oportunidades de negocio en mercados digitales.

Curso de Interoperabilidad para CEOs: Clave para el Liderazgo Digital el pilar del proyecto DIS4SME es la formación. Por ello, el próximo 24 de enero se impartirá un curso exclusivo de interoperabilidad dirigido a CEOs y líderes empresariales. Este curso tiene como objetivo proporcionar a los participantes las competencias necesarias para tomar decisiones informadas sobre cómo integrar y gestionar sistemas digitales de manera efectiva.

¿Por qué asistir a este curso? En un entorno empresarial cada vez más conectado, la interoperabilidad es un factor decisivo para:
  • Optimizar procesos internos: Reducir costos y mejorar la eficiencia al integrar sistemas y plataformas.
  • Facilitar la colaboración: Garantizar que su empresa pueda trabajar sin problemas con socios y proveedores.
  • Cumplir con normativas internacionales: Adoptar estándares que posicionen a su empresa como un jugador global.
  • Prepararse para el futuro: Construir una base sólida para la adopción de tecnologías emergentes, como la inteligencia artificial y el Internet de las cosas (IoT).
Detalles del curso
  • Fecha: 24 de enero de 2025
  • Duración: 5 horas (de 10:00 a 13:00)
  • Modalidad: En línea
  • Idioma: Inglés
  • Contenido:
    • Introduction to data interoperability (45 min.)
    • Data policies and initiatives (30 min)
    • European Interoperability Framework (15 min.)
    • Data spaces (15 min.)
    • INSPIRE (15 min.)
    • Location frameworks (15 min.)
    • Data interoperability standards (15 min.)
    • Location data interoperability challenges & trends (30 min.)
    • Exercise (120 min.)
¿Cómo inscribirse? Las inscripciones ya están abiertas. Los interesados pueden registrarse a través del siguiente enlace: https://www.dis4sme.eu/courses/introduction-to-location-data-interoperability/scheduled-managers/

Convierta la interoperabilidad en su ventaja competitiva. No deje pasar esta oportunidad de liderar el cambio en su organización. Con el respaldo del proyecto DIS4SME y el conocimiento adquirido en este curso, estará un paso más cerca de alcanzar sus objetivos empresariales en el mercado digital.

¡Le esperamos el 24 de enero!

Publicado por Mayte Toscano

16 dic 2024

Eurostat lanza una plataforma enfocada al censo agrícola

Eurostat ha lanzado una nueva plataforma de datos geoespaciales, que incluye los correspondientes al censo agrícola 2020, como parte de su colección de estadísticas experimentales. En ella, los usuarios pueden encontrar mapas detallados sobre explotaciones agrícolas, densidad de ganado, envejecimiento de agricultores y brechas de género.

Los datos publicados bajo las nuevas estadísticas experimentales combinan información geográfica y estadísticas oficiales. Este enfoque innovador utiliza cuadrículas de hasta 1 km² de superficie para mostrar datos detallados, asegurando la confidencialidad de las explotaciones individuales, marcando el primer intento a escala europea de publicar datos geoespaciales agrícolas.

Eurostat ofrece un mapa interactivo, desarrollado con el Sistema de Información Geográfica de la Comisión Europea, para explorar los datos geoespaciales del censo agrícola 2020. Las funciones incluyen zoom dinámico, selección de capas personalizadas y descarga de archivos para análisis avanzados.


Esta herramienta permite a los países de la UE evaluar políticas agrícolas e implementar una planificación de recursos más precisa. Se trata de una herramienta crucial para cumplir con los objetivos de sostenibilidad establecidos por el Pacto Verde Europeo , especialmente en lo relacionado con la reducción de emisiones en la agricultura y la transición hacia prácticas más ecológicas.

En el futuro, Eurostat tiene previsto incorporar datos del censo agrícola 2023 y nuevas capas de información, incluidos indicadores sobre el impacto del cambio climático, como son la disponibilidad de agua o los eventos climáticos extremos, para seguir mejorando el análisis agrícola.

Publicado por la editora.

13 dic 2024

Nuevo geoportal para facilitar la reconstrucción de zonas afectadas por la DANA


Arnaiz, una firma especializada en urbanismo y desarrollo inmobiliario, ha lanzado un geoportal, dedicado a la gestión y análisis de información sobre la DANA que afectó a la Comunidad Valenciana. Con él, se pretende contribuir a los esfuerzos de restauración de la región, así como a facilitar la gestión de riesgos mediante una única plataforma que centraliza información de diversas fuentes clave.

Este geoportal integra más de 70 mapas de organismos como la Generalitat Valenciana, la Confederación Hidrográfica del Júcar, el Instituto Geográfico Nacional, el programa Copernicus de la Unión Europea y la NASA, entre otros. Su objetivo es facilitar la restauración de las áreas afectadas y mejorar la gestión de riesgos.

La plataforma, desarrollada bajo la tecnología UrbiGIS, ofrece múltiples ventajas:
  • Acceso simplificado a información clave: Unifica datos geográficos de diversas fuentes, reduciendo la complejidad en su consulta.
  • Diagnóstico predictivo: Permite evaluar el impacto potencial de futuras catástrofes naturales para una mejor planificación.
  • Descarga de datos esenciales sobre catástrofes y riesgos: Brinda acceso a información útil para responder a emergencias y para la planificación en riesgos.
Este geoportal no solo apoya los esfuerzos de recuperación tras el catastrófico evento que ha sido la DANA, sino que también contribuye a una preparación más efectiva ante futuras situaciones similares, promoviendo la resiliencia regional y mejorando la toma de decisiones.

Publicado por la editora.

12 dic 2024

Servicio OGC API de procesos (OGC API Processes): Proceso elevationProfile.



El proceso de OGC API ElevationProfile consiste en generar el perfil de elevaciones entre dos o más puntos. Para ello, se interpolan puntos intermedios en cada tramo, ajustando el número total de subtramos al valor entero más cercano al parámetro de distancia especificado. En casos donde se incluyen más de dos puntos, la longitud de los subtramos se calcula individualmente para cada tramo.

Este cálculo se realiza utilizando el Modelo Digital del Terreno (MDT05) del Plan Nacional de Ortofotografía Aérea, proporcionado por el Instituto Geográfico Nacional. Para representar el perfil de elevaciones de manera más precisa, se recomienda incluir las coordenadas de los puntos en el perfil y calcular las distancias de los subtramos, lo que permite obtener información más detallada.

En la página de API processes ElevationProfile se pueden consultar los parámetros de entrada y de salida.

Datos de entrada:
  • «geom»: Parámetro obligatorio corresponde con la geometría de puntos o lista de puntos que van a ser procesados. Tipo de dato String
  • «formato»: parámetro obligatorio que indica el formato en que se proporciona la geometría del parámetro «geom». Los formatos soportados son GeoJSON (feature collection) y WKT (GeometryCollection, Multipoint o Point). Tipo de dato: string.
  • «crs» parámetro es opcional, que viene proporcionado por el sistema de referencia de los parámetros «geom», por defecto se utilizará el Sistema de referencia (EPSG: 4326). Tipo de dato: integer.
  • «distancia»distancia de referencia para el espaciado entre puntos intermedios, utilizados para la obtención del perfil, entre los puntos proporcionados en el parámetro geom. Las unidades son metros. La distancia por defecto es 20m y la mínima es 5m. Los puntos intermedios se crean según el parámetro distancia, creando un número entero de tramos iguales para los que se calcula el desnivel. Por la forma de cálculo, la distancia entre los puntos intermedios puede variar respecto a la introducida. Para representar correctamente el resultado se recomienda obtener los datos con coordenadas. Tipo de dato: integer.
  • «withCoord»es un valor booleano (true/false), en el caso que empleemos el valor true, obtenemos las coordenadas geográficas junto a sus altitudes, y en el caso de valores false, obtenemos solo el valor de la altitud o altitudes de los puntos asociados. Por defecto se utiliza el valor false. Tipo de dato: boolean.
  • «withDistances»es un parámetro booleano para obtener las longitudes de los subtramos calculados a partir de los puntos intermedios. Es un parámetro opcional. Si no se proporciona se considera false. Tipo de dato: boolean.
Datos de salida:
  • «id»: Identificador del proceso.
  • «crs»identificador del sistema de referencia de las coordenadas calculadas.
  • «values» que es el resultado en forma de lista con las elevaciones para los puntos procesados, tanto dados como intermedios, en el mismo orden dado.
  • «distancias_sub»corresponde con una lista (array) de las distancias de los subtramos, en el mismo orden dado. Las distancias se calculan sobre el elipsoide por lo que puede haber ligeras diferencias respecto a las proyectadas.
Ejecución del proceso:

Para la ejecución del proceso se utiliza una función POST. Se accede a la dirección: https://api-processes.idee.es/processes/elevationProfile/execution y es obligatorio ejecutar la petición en JSON.

Una opción para verificar los API de procesos es utilizar Swagger UI que ofrece la misma interfaz de procesos. Desde aquí podemos acceder al proceso elevationProfile de una manera sencilla, de modo que podemos verificar el procedimiento para la obtención del perfil de elevaciones entre dos o más puntos. 

Proceso API de OGC del cálculo del perfil de elevaciones (elevationProfile)

Otra forma más experta de explotar lo servicios es a través del comando cURL o de una biblioteca de Python llamada requests, como se detalla en los siguientes ejemplos.

La geometría de las entidades espaciales (en formato WKT o GeoJSON) viene definida por el parámetro geom según se vaya a calcular el perfil, ya sea de forma simple por un punto de inicio y un punto final o por una serie de puntos de una ruta. A continuación, vemos diferentes casos partiendo de las coordenadas geográficas de dos o varios puntos en diferentes sistema de referencia WGS84 (EPSG:4326) y EPSG:25830. 

GEOMETRÍA

FORMATO WKT

FORMATO GEOJSON

EPSG: 4326

EPSG: 25830

EPSG: 4326

DOS PUNTOS

X

 

X

VARIOS PUNTOS

X

X

X

CÁLCULO DEL PERFIL DE ELEVACIÓN PARA DOS PUNTOS

  • Cálculo de un perfil de elevaciones para dos puntos y distancia en formato WKT en el Sistema de Referencia de Coordenadas EPSG 4326

Vamos a calcular el perfil de elevaciones para unas coordenadas geográficas dadas en longitud y latitud, en el Sistema de referencia WGS84 (EPSG:4326) desde un punto de inicio situado en Cotos (-3.960924, 40.823162) a un punto de final de la Cima de Peñalara (-3.956023, 40.850026) (Figura 2).

Representación de los puntos de inicio y final de una ruta en el visualizador IBERPIX.

Para introducir las altitudes de los puntos de la ruta en el formato WKT, se puede utilizar geometría MULTIPOINT (conjunto de puntos). Sin embargo, no se pueden utilizar otros tipos de geometría como colección de geometrías, GeometryCollection, LINESTRING o POLYGON.

El código JSON empleado para obtención del perfil de elevaciones en formato WKT y Sistema de Referencia WGS84 (EPSG 4326) es el siguiente:

 {
 "inputs": {
    "crs": 4326,

    "distance": 500,
    "formato": "wkt",
    "geom": "MULTIPOINT(-3.960924 40.823162, -3.956023 40.850026)",
    "withCoord": true,
    "withDistances": false,
   }
 }

El cURL que se ejecuta:

curl -X POST "https://api-processes.idee.es/processes/elevationProfile/execution" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"inputs\":{\"crs\":4326,\"distance\":500,\"formato\":\"wkt\",\"geom\":\"MULTIPOINT(-3.960924 40.823162, -3.956023 40.850026)\",\"withCoord\":true,\"withDistances\":false}}"

El resultado obtenido nos muestra las altitudes de los puntos:

 {
 "id": "ElevationProfile"
    "crs": 4326,

    "values": [,
     [
        -3.960924,
        40.823162,
        1821.1390380859375
     ],
     [
        
-3.9601071666666665,
        
40.82763933333334,
        
1949.5150146484375
     ],
     [
        
-3.959290333333333,
        
40.83211666666667,
        
2064.240966796875
     ],
     [
        
-3.9584735,
        
40.836594000000005,
        
2065.27197265625
     ],

     [
        
-3.957656666666667,
        
40.84107133333333,
        
2038.9560546875
     ],

     [
        
-3.9568398333333334,
        
40.845548666666666,
        
2273.09912109375
     ],
     [
        
-3.956023,
        
40.850026,
        
2426.860107421875
     ],
   ]
 }

Ejemplo de petición desde script Python

En el siguiente ejemplo se muestra cómo realizar la misma petición HTTP POST al servicio publicado en una OGC API processes desde un script de Python. Para ello, se utiliza la librería requests, cuya importación se realiza en la primera línea. Posteriormente se definen las variables «url» (texto con la URL a la que se va a realizar la petición) y «myObj» (json con los parámetros de entrada de la función a ejecutar). Por último, se realiza la petición y se guarda en el parámetro «result».

Dentro de la variable tenemos distintos métodos, entre los que destacan: 
  • «request» para obtener los datos de la petición 
  • «.json()» para obtener el resultado de la operación ejecutada en formato json
  • «.status_code» para obtener el estado de la petición HTTP.

 import requests

 # URL del proceso en el processes
 url = 'https://api-processes.idee.es/processes/elevationProfile/execution'
 
 myObj = {
             "inputs": {
             "crs": 4326,
             "distance": 500,
             "formato": "wkt,
             "formato": "geojson",
             "geom": "MULTIPOINT(-3.960924 40.823162, -3.956023 40.850026)",
              "withCoord": True,
              "withDistances": false
 
          }
 }

 result = requests.post(url, json = myObj)

 print('resultado de la petición: ',result.request)
 print('resultado del proceso: ',result.json())
 print('estado de la petición: ',result.status_code)

En los siguientes ejemplos sólo se muestra la petición cURL, por simplificar. Para crear el script de Python, solo habría que modificar el objeto myObj con el JSON indicado en cada caso.

·       Cálculo de un perfil de elevaciones a partir de dos puntos en formato GeoJSON en el Sistema de Referencia de Coordenadas WGS84 (EPSG 4326).

Para el cálculo de un perfil de elevaciones de dos puntos de la ruta en formato GeoJSON y en el Sistema de Referencia de Coordenadas (EPSG: 4326), utilizaremos el siguiente código JSON:

 {
 "inputs": {
    "crs": 4326,

    "distance": 500,
    "formato": "geojson",
    "geom": 
"{\"type\": \"FeatureCollection\",\"features\": [{\"geometry\": {\"coordinates\": [-3.960924,40.823162],\"type\": \"Point\"},\"type\": \"Feature\"},{\"geometry\": {\"coordinates\": [-3.956023,40.850026],\"type\": \"Point\"},\"type\": \"Feature\"}]}",
    "withCoord": true,
    "withDistances": true,
   }
 }

El cURL que se ejecuta:

curl -X POST "https://api-processes.idee.es/processes/elevationProfile/execution" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"inputs\":{\"crs\":4326,\"distance\":500,\"formato\":\"geojson\",\"geom\":\"{\\\"type\\\": \\\"FeatureCollection\\\",\\\"features\\\": [{\\\"geometry\\\": {\\\"coordinates\\\": [-3.960924,40.823162],\\\"type\\\": \\\"Point\\\"},\\\"type\\\": \\\"Feature\\\"},{\\\"geometry\\\": {\\\"coordinates\\\": [-3.956023,40.850026],\\\"type\\\":\\\"Point\\\"},\\\"type\\\": \\\"Feature\\\"}]}\",\"withCoord\":true,\"withDistances\":true}}"

El resultado obtenido nos muestra las altitudes de los puntos indicados de la ruta. Al utilizar el valor True en el parámetro «withoutCoord», se muestra en el resultado las coordenadas (longitud, latitud) y el valor de la altitud para ese punto. Asimismo, al indicar en el parámetro de entrada «distancias_sub» igual a True obtenemos la distancia de los subtramos:

 {
 "id": "ElevationProfile"
    "crs": 4326,

    "values": [,
     [
        -3.960924,
        40.823162,
        1821.1390380859375
     ],
     [
        
-3.9601071666666665,
        
40.82763933333334,
        
1949.5150146484375
     ],
     [
        
-3.959290333333333,
        
40.83211666666667,
        
2064.240966796875
     ],
     [
        
-3.9584735,
        
40.836594000000005,
        
2065.27197265625
     ],

     [
        
-3.957656666666667,
        
40.84107133333333,
        
2038.9560546875
     ],

     [
        
-3.9568398333333334,
        
40.845548666666666,
        
2273.09912109375
     ],
     [
        
-3.956023,
        
40.850026,
        
2426.860107421875
     ],
   ]
   "distancias_sub": [
    502,
    502,
    502,
    502,
    502,
    502,
   ]
 }

CÁLCULO DEL PERFIL DE ELEVACIÓN PARA VARIOS PUNTOS

Este proceso API de elevationProfile es también capaz de realizar el cálculo de perfiles de elevaciones para varios puntos de un recorrido. En los siguientes ejemplos se calculará el perfil de elevaciones para varios tramos. Para ello, siguiendo con el ejemplo, se añadirán varios puntos entre el punto de inicio y punto final en la ruta de senderismo desde Peñalara al Puerto de Cotos. De esta manera, se obtendrá un recorrido más realista y un análisis más detallado de la zona, como podemos ver la representación de los puntos en el visualizador IBERPIX.

Representación de los puntos de la ruta de Peñalara en el visualizador IBERPIX.

Los datos de entrada se dan en formato WKT en los Sistemas de Referencia de Coordenadas geográficas y proyectadas (EPSG: 4326 y EPSG:25830), y también, en formato GeoJSON en el Sistema de Referencia de Coordenadas geográficas (EPSG: 4326).

FORMATO WKT

  • Cálculo de un perfil de elevaciones de varios puntos en formato WKT en el Sistema de Referencia de Coordenadas EPSG 4326.

Para el cálculo de un perfil de elevaciones de los puntos de la ruta en formato WKT y en el Sistema de Referencia geográficas (EPSG:4326), utilizaremos el siguiente código JSON:

 {
 "inputs": {
    "crs": 4326,

    
"distance": 500, 
    
"formato": "wkt", 
    
"geom": "MULTIPOINT(-3.960924 40.823162,-3.962104 40.824435,-3.95394 40.83086,-3.94661 40.84799,-3.94665 40.86077,-3.956023 40.850026)",
    
"withCoord": true
    "withDistances": true
    }
}

El cURL que se ejecuta:

curl -X POST "https://api-processes.idee.es/processes/elevationProfile/execution" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"inputs\":{\"crs\":4326,\"distance\":500,\"formato\":\"wkt\",\"geom\":\"MULTIPOINT(-3.960924 40.823162,-3.962104 40.824435,-3.95394 40.83086,-3.94661 40.84799,-3.94665 40.86077,-3.956023 40.850026)\",\"withCoord\":true,\"withDistances\":true}}"


El resultado obtenido corresponde a las altitudes de los puntos indicados de la ruta:

 {
 "id": "ElevationProfile"
    "crs": 4326,

    "values": [,
     [
        -3.960924,
        40.823162,
        1821.1390380859375
     ],
     [
        
-3.962104,
        
40.824435,
        
1848.135986328125
     ],
     [
        
-3.9580219999999997,
        
40.8276475,
        
1959.6820068359375
     ],
     [
        
-3.95394,
        
40.83086,
        
1929.6490478515625
     ],

     [
        
-3.9521075,
        
40.8351425,
        
1960.8199462890625
     ],
     [
        
-3.950275,
        
40.839425000000006,
        
1950.9449462890625
     ],
     [
        
-3.9484425,
        
40.8437075,
        
2048.321044921875
     ],
     [
        
-3.94661,
        
40.84799,
        
2058.2919921875
     ],
     [
        
-3.9466233333333336,
        
40.852250000000005,
        
2126.090087890625
     ],
     [
        
-3.9466366666666666,
        
40.85651,
        
2152.4599609375
     ],
     [
        
-3.94665,
        
40.86077,
        
2171.02587890625
     ],

     [
        
-3.9497743333333335,
        
40.857188666666666 ,
        
2200.6220703125
     ],

     [
        
-3.9528986666666666,
        
40.853607333333336,
        
2330.822998046875
     ],
     [
        
-3.956023,
        
40.850026,
        
2426.860107421875
     ],
   ]
   "distancias_sub": [
    179.9,
    495.8,
    495.8,
    500.1,
    
500.1,
    
500.1,
    
500.1,
    473.1,
    
473.1,
    
473.1,
    477,
    
477,
    
477,
   ]
 }

  • Cálculo de un perfil de elevaciones de varios puntos en formato WKT en el Sistema de Referencia de Coordenadas EPSG 25830.
Para el cálculo de un perfil de elevaciones de los puntos de la ruta en formato WKT y en el Sistema de Referencia de Proyección UTM ETRS89 Huso 30 N (EPSG:25830), utilizaremos el siguiente código JSON:

 {
 "inputs": {
    "crs": 25830,

    
"distance": 500, 
    
"formato": "wkt", 
    
"geom": "MULTIPOINT (418968.652 4519570.898,418870.696 4519713.303,419566.899 4520419.007,420205.495 4522313.881,420217.458 4523732.611,419414.489 4522548.480)",
    
"withCoord": true
    "withDistances": true
    }
}

El cURL que se ejecuta:

curl -X POST "https://api-processes.idee.es/processes/elevationProfile/execution" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"inputs\":{\"crs\":25830,\"distance\":500,\"formato\":\"wkt\",\"geom\":\"MULTIPOINT(418968.652 4519570.898,418870.696 4519713.303,419566.899 4520419.007,420205.495 4522313.881,420217.458 4523732.611,419414.489 4522548.480)\",\"withCoord\":true,\"withDistances\":true}}"


El resultado obtenido corresponde a las altitudes de los puntos indicados de la ruta y las distancias de los subtramos:

 {
 "id": "ElevationProfile"
    "crs": 25830,

    "values": [,
     [
        
418968.652,
        
4519570.897999999,
        
1821.1390380859375
     ],
     [
        
418870.696,
        
4519713.303000001,
        
1848.135986328125
     ],
     [
        
419218.81401861215,
        
4520066.146946875,
        
1959.6820068359375
     ],
     [
        
419566.899,
        
4520419.006999999,
        
1929.6490478515625
     ],
     [
        
419726.5771805296,
        
4520892.720246325,
        
1960.8199462890625
     ],
     [
        
419886.23590908386,
        
4521366.436994881,
        
1950.9449462890625
     ],
     [
        
420045.8751830962,
        
4521840.157245996,
        
2048.321044921875
     ],
     [
        
420205.49500000005,
        
4522313.881000001,
        
2058.2919921875
     ],
     [
        
420209.4820795562,
        
4522786.7906584535,
        
2126.090087890625
     ],
     [
        
420213.46974622586,
        
4523259.700658451,
        
2152.4599609375
     ],
     [
        
420217.458,
        
4523732.611 ,
        
2152.4599609375
     ],

     [
        
419949.8297594411,
        
4523337.891134621 ,
        
2200.6220703125
     ],

     [
        
419682.17342513846,
        
4522943.180801501,
        
2330.822998046875
     ],
     [
        
419414.489,
        
4522548.4799999995,
        
2426.860107421875
     ],
   ]
   "distancias_sub": [
    179.9,
    495.8,
    495.8,
    500.1,
    
500.1,
    
500.1,
    
500.1,
    473.1,
    
473.1,
    
473.1,
    477,
    
477,
    
477,
   ]
 }

FORMATO GEOJSON
  • Cálculo de un perfil de elevaciones de varios puntos en formato GeoJSON en el Sistema de Referencia de Coordenadas EPSG 4326.
En el caso que quisiéramos obtener las altitudes de una colección o listado de puntos, en el formato GeoJSON en el Sistema de Coordenadas de Referencia WGS84 (EPSG 4326) que viene dado en longitud y latitud, el código JSON de entrada de este proceso es:

 {
 "inputs": {
    "crs": 4326,

    
"distance": 500, 
    
"formato": "geojson", 
    
"geom": "{\"type\": \"FeatureCollection\",\"features\": [{\"geometry\": {\"coordinates\": [-3.960924,40.823162],\"type\": \"Point\"},\"type\": \"Feature\"},{\"geometry\": {\"coordinates\": [-3.962104, 40.824435],\"type\": \"Point\"},\"type\": \"Feature\"},{\"geometry\": {\"coordinates\": [-3.95394, 40.83086],\"type\": \"Point\"},\"type\": \"Feature\"},{\"geometry\": {\"coordinates\": [-3.94661, 40.84799],\"type\": \"Point\"},\"type\": \"Feature\"},{\"geometry\": {\"coordinates\": [-3.94665, 40.86077],\"type\": \"Point\"},\"type\": \"Feature\"},{\"geometry\": {\"coordinates\": [-3.956023, 40.850026],\"type\": \"Point\"},\"type\": \"Feature\"}]}",
    
"withCoord": true
    "withDistances": true
    }
}

El cURL que se ejecuta:

curl -X POST "https://api-processes.idee.es/processes/elevationProfile/execution" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"inputs\":{\"crs\":4326,\"distance\":500,\"formato\":\"geojson\",\"geom\":\"{\\\"type\\\": \\\"FeatureCollection\\\",\\\"features\\\": [{\\\"geometry\\\": {\\\"coordinates\\\": [-3.960924,40.823162],\\\"type\\\": \\\"Point\\\"},\\\"type\\\": \\\"Feature\\\"},{\\\"geometry\\\": {\\\"coordinates\\\": [-3.962104, 40.824435],\\\"type\\\": \\\"Point\\\"},\\\"type\\\": \\\"Feature\\\"},{\\\"geometry\\\": {\\\"coordinates\\\": [-3.95394, 40.83086],\\\"type\\\": \\\"Point\\\"},\\\"type\\\": \\\"Feature\\\"},{\\\"geometry\\\": {\\\"coordinates\\\": [-3.94661, 40.84799],\\\"type\\\": \\\"Point\\\"},\\\"type\\\": \\\"Feature\\\"},{\\\"geometry\\\": {\\\"coordinates\\\": [-3.94665, 40.86077],\\\"type\\\": \\\"Point\\\"},\\\"type\\\": \\\"Feature\\\"},{\\\"geometry\\\": {\\\"coordinates\\\": [-3.956023, 40.850026],\\\"type\\\": \\\"Point\\\"},\\\"type\\\": \\\"Feature\\\"}]}\",\"withCoord\":true,\"withDistances\":true}}"


El resultado obtenido corresponde a las altitudes de los puntos indicados de la ruta:

 {
 "id": "ElevationProfile"
    "crs": 4326,

    "values": [,
     [
        -3.960924,
        40.823162,
        1821.1390380859375
     ],
     [
        
-3.962104,
        
40.824435,
        
1848.135986328125
     ],
     [
        
-3.9580219999999997,
        
40.8276475,
        
1959.6820068359375
     ],
     [
        
-3.95394,
        
40.83086,
        
1929.6490478515625
     ],

     [
        
-3.9521075,
        
40.8351425,
        
1960.8199462890625
     ],
     [
        
-3.950275,
        
40.839425000000006,
        
1950.9449462890625
     ],
     [
        
-3.9484425,
        
40.8437075,
        
2048.321044921875
     ],
     [
        
-3.94661,
        
40.84799,
        
2058.2919921875
     ],
     [
        
-3.9466233333333336,
        
40.852250000000005,
        
2126.090087890625
     ],
     [
        
-3.9466366666666666,
        
40.85651,
        
2152.4599609375
     ],
     [
        
-3.94665,
        
40.86077,
        
2171.02587890625
     ],

     [
        
-3.9497743333333335,
        
40.857188666666666 ,
        
2200.6220703125
     ],

     [
        
-3.9528986666666666,
        
40.853607333333336,
        
2330.822998046875
     ],
     [
        
-3.956023,
        
40.850026,
        
2426.860107421875
     ],
   ]
   "distancias_sub": [
    179.9,
    495.8,
    495.8,
    500.1,
    
500.1,
    
500.1,
    
500.1,
    473.1,
    
473.1,
    
473.1,
    477,
    
477,
    
477,
   ]
 }

Si representamos el perfil de elevaciones de la ruta con los resultados obtenidos de los puntos intermedios y distancias de los subtramos, obtendríamos el siguiente gráfico en una hoja de cálculo Excel:

Representación gráfica del perfil de elevaciones de la ruta de senderismo calculada con API Processes elevationProfile

Este artículo forma parte de una serie,  para saber más sobre OGC API Processes y otros procesos del Servicio OGC API procesos del CNIG consulta el 
artículo índice.

Publicado por María José García Rodríguez.