31 ene 2024

Servicio OGC API de procesos: Proceso getElevation – Altitud de puntos


El Proceso
getElevation (Altitud de puntos) nos permite obtener la elevación de uno o varios puntos a partir del Modelo Digital del Terreno (MDT05) del Plan Nacional de Ortofotografía Aérea. En página de API processes getElevation se pueden consultar los parámetros de entrada y de salida:

Parámetros de entrada:
  • «geom»:  corresponde con la geometría de puntos o lista de puntos. Actualmente no admite multigeometrías ni polígonos GeoJSON. Tipo de dato: string.
  • «formato» parámetro obligatorio que indica el formato en que se proporciona la geometría del parámetro «geom» puede ser en formato GeoJSON (feature collection) o en formato 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.
  • «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.
  • «outformat» parámetro opcional que indica el formato de salida. El valor por defecto  es «array» que consiste en los valores de las altitudes del los puntos en forma de lista. Tipo de dato: string.
Parámetros de salida:
  • «id» que se identifica con el proceso «GetElevation»
  • «values» que es el resultado en forma de lista con las elevaciones para cada punto en el mismo orden dado que los datos de entrada. En el caso que el parámetro de entrada «withCoord» sea valor true, se obtienen las coordenadas geográficas junto con la altitud del punto o de la lista de puntos.
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/getElevation/execution y es obligatorio ejecutar la petición en JSON.

En la galería de ejemplos de API CNIG se puede consultar un ejemplo completo para este proceso para la obtención de la altitud de un punto sobre el MDT desde una página web. En este caso se usa como datos de entrada las coordenadas de un punto haciendo clic sobre el mapa en el Sistema de referencia EPSG:3857 para construir un JSON de entrada. El resultado es la altitud del punto que viene dado por el parámetro «values [0]».



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 getElevation de una manera sencilla, de modo que podemos verificar el procedimiento para la obtención de la elevación de uno o varios puntos a partir del MDT05. 


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.

En este proceso se puede utilizar como datos de entrada dos formatos: GeoJSON o WKT (Well Known Text), en nuestro caso utilizaremos dos sistemas de referencia de coordenadas distintos, WGS84 (EPSG:4326) y ETRS89 Huso 30 N (EPSG:25830).

A continuación, veremos varios ejemplos de cómo utilizar diferentes combinaciones de datos de entrada según las siguientes opciones de esta tabla:

Formato

EPSG

Punto

Lista de puntos

GeoJSON

4326

x

x

25830

-

x

WKT

4326

x

x

25830

-

x


FORMATO GEOJSON

Cálculo de la altitud de un punto en formato GeoJSON y Sistema de referencia EPSG 4326:

Si quisiéramos conocer la altitud de un punto para unas coordenadas dadas en longitud y latitud en el Sistema de referencia WGS84 (EPSG:4326), por ejemplo, situándonos en la Cima de Peñalara con coordenadas geográficas (-3.956023, 40.850026).


El código JSON de entrada empleado sería: 

{
 "inputs": {
    "crs": 4326,
    "formato": "geojson",
    "geom": "{\"type\": \"FeatureCollection\",\"features\": [{\"geometry\":{\"coordinates\": [-3.956023,40.850026],\"type\":\"Point\"},\"type\": \"Feature\"}]}",
    "outputFormat": "array",
   "withCoord": true
  }
}

El cURL que se ejecuta:

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

Al utilizar el valor true en el parámetro «withCoord», nos muestra en el resultado las coordenadas longitud y latitud del punto y el valor de la altitud, 2426.86 m:

{
 "id": "GetElevacion",
 "values": [
  [
   -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/getElevation/execution'
 
 myObj = {
                 "inputs": {
                 "crs": 4326,
                 "formato": "geojson",
                 "geom": "{\"type\": \"FeatureCollection\",\"features\": [{\"geometry\": {\"coordinates\": [-3.956023,40.850026],\"type\": \"Point\"},\"type\": \"Feature\"}]}",
                 "outputFormat": "array",
                 "withCoord": True
                }
 }

 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 altitudes para varios puntos en formato GeoJSON y Sistema de referencia EPSG 4326:

En el siguiente ejemplo vamos a obtener las altitudes de una serie de puntos de una ruta de senderismo, desde Peñalara al Puerto de Cotos, planeada con el visualizador IBERPIX.


El código JSON de entrada empleado sería: 
{
 {
  "inputs": {
     "crs": 4326,
     "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\"}]}",
    "outformat": "array"
    "withCoord": true
   }
 }

El cURL que se ejecuta:

curl -X POST "https://api-processes.idee.es/processes/getElevation/execution" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"inputs\":{\"crs\":4326,\"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\\\"}]}\",\"outputFormat\":\"array\",\"withCoord\":true}}".

Como resultado obtenemos:

{
 "id": "GetElevacion",
 "values": [
  [
   -3.
960924,
   40.
823162,
   
1821.1390380859375
  ]
  [
   -3.
962104,
   40.
824435,
   
1848.135986328125
  ]
  [
   -3.
95394,
   40.
83086,
   
1929.6490478515625
  ]
  [
   -3.
94661,
   40.
84799,
   
2058.2919921875
  ]
  [
     -3.94665,
   40.86077,
  2171.02587890625
  ]
  [
   -3.956023,
    40.850026,
   2426.860107421875
    ]
  ]
}

Cálculo de altitudes para varios puntos en formato GeoJSON y Sistema de referencia EPSG 25830:

Para realizar el mismo caso anterior pero en el sistema de referencia EPSG 25830 el código JSON de entrada sería:

 {
  "inputs": {
     "crs": 25830,
     "formato": "geojson",
     "geom": "{\"type\": \"FeatureCollection\",\"features\":[{\"geometry\": {\"coordinates\": [418968.65169915627, 4519570.897995114],\"type\": \"Point\"},\"type\": \"Feature\"},{\"geometry\": {\"coordinates\": [418870.69647217955,4519713.3034235155],\"type\": \"Point\"},\"type\": \"Feature\"},{\"geometry\": {\"coordinates\": [419566.8985195706,4520419.006521905],\"type\": \"Point\"},\"type\": \"Feature\"},{\"geometry\": {\"coordinates\": [420205.4951092379,4522313.881248297],\"type\": \"Point\"},\"type\": \"Feature\"},{\"geometry\": {\"coordinates\": [420217.45760421915,4523732.611317685],\"type\": \"Point\"},\"type\": \"Feature\"},{\"geometry\": {\"coordinates\": [419414.48224599997,4522548.512953534],\"type\": \"Point\"},\"type\": \"Feature\"}]}",
    "outformat": "array"
    "withCoord": false
   }
 }

El cURL que se ejecuta:

curl -X POST "https://api-processes.idee.es/processes/getElevation/execution" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"inputs\":{\"crs\":25830,\"formato\":\"geojson\",\"geom\":\"{\\\"type\\\": \\\"FeatureCollection\\\",\\\"features\\\":[{\\\"geometry\\\": {\\\"coordinates\\\": [418968.65169915627, 4519570.897995114],\\\"type\\\": \\\"Point\\\"},\\\"type\\\": \\\"Feature\\\"},{\\\"geometry\\\": {\\\"coordinates\\\": [418870.69647217955,4519713.3034235155],\\\"type\\\": \\\"Point\\\"},\\\"type\\\": \\\"Feature\\\"},{\\\"geometry\\\": {\\\"coordinates\\\": [419566.8985195706,4520419.006521905],\\\"type\\\": \\\"Point\\\"},\\\"type\\\": \\\"Feature\\\"},{\\\"geometry\\\": {\\\"coordinates\\\": [420205.4951092379,4522313.881248297],\\\"type\\\": \\\"Point\\\"},\\\"type\\\": \\\"Feature\\\"},{\\\"geometry\\\": {\\\"coordinates\\\": [420217.45760421915,4523732.611317685],\\\"type\\\": \\\"Point\\\"},\\\"type\\\": \\\"Feature\\\"},{\\\"geometry\\\": {\\\"coordinates\\\": [419414.48224599997,4522548.512953534],\\\"type\\\": \\\"Point\\\"},\\\"type\\\": \\\"Feature\\\"}]}\",\"outputFormat\":\"array\",\"withCoord\":false}}".

En este caso el parámetro de entrada «withCoord» lo pusimos con valor false por lo que en el resultado solo nos va a mostrar solo la altitud de los puntos sin sus coordenadas UTM:

{
 "id": "GetElevacion",
 "values": [
  [
   
1821.1390380859375,
     1848.135986328125,
     1929.6490478515625,
     2058.2919921875,
     2171.02587890625,
     2426.860107421875
    ]
 
  ]
}

FORMATO WKT

Cálculo de la altitud para un punto en formato WKT y Sistema de referencia EPSG 4326:

Para el cálculo de las altitudes de un punto de la ruta en formato WKT y el Sistema de referencia WGS84 (EPSG: 4326) el código JSON de entrada sería:
 {
  "inputs": {
     "crs": 4326,
     "formato": "wkt",
     "geom": " POINT(-3.956023 40.850026)",
    "withCoord": true
    "outformat": "array"
   }
 }

El cURL que se ejecuta:

curl -X POST "https://api-processes.idee.es/processes/getElevation/execution" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"inputs\":{\"crs\":4326,\"formato\":\"wkt\",\"geom\":\"POINT(-3.956023 40.850026)\",\"outputFormat\":\"array\",\"withCoord\":true}}".

 El resultado es:

{
 "id": "GetElevacion",
 "values": [
    [
     
-3.956023,
     40.850026,
     2426.860107421875
    ]
  ]
}

Cálculo de altitudes para varios puntos en formato WKT y Sistema de referencia EPSG 4326:

Para conocer las altitudes de los varios puntos de una ruta con el formato WKT se puede utilizar geometría MULTIPOINT (conjunto de puntos). No se pueden utilizar otros tipos de geometría como GeometryCollection, LINESTRING o POLYGON.
 {
  "inputs": {
     "crs": 4326,
     "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": false
    "outformat": "array"
   }
 }

El cURL que se ejecuta:

curl -X POST "https://api-processes.idee.es/processes/getElevation/execution" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"inputs\":{\"crs\":4326,\"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)\",\"outputFormat\":\"array\",\"withCoord\":false}}".

El resultado obtenido nos muestra las altitudes de los puntos:

{
 "id": "GetElevacion",
 "values": [
    [
      
1821.1390380859375,
     1848.135986328125,
     1929.6490478515625,
     2058.2919921875,
     2171.02587890625,
     2426.860107421875
    ]
  ]
}

Cálculo de altitudes para varios puntos en formato WKT y Sistema de Referencia EPSG 25830:

Para realizar el mismo caso anterior pero en el Sistema de Referencia UTM ETRS89 Huso 30N (EPSG: 25830) el código JSON que emplearíamos es el siguiente: 
 {
  "inputs": {
     "crs": 25830,
     "formato": "wkt",
     "geom": "MULTIPOINT (418968.65169915627 4519570.897995114,418870.69647217955 4519713.3034235155,419566.8985195706 4520419.006521905,420205.4951092379 4522313.881248297,420217.45760421915 4523732.611317685,419414.48224599997 4522548.512953534)",
    "withCoord": false
    "outformat": "array"
   }
 }

El cURL que se ejecuta:

curl -X POST "https://api-processes.idee.es/processes/getElevation/execution" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"inputs\":{\"crs\":25830,\"formato\":\"wkt\",\"geom\":\"MULTIPOINT(418968.65169915627 4519570.897995114,418870.69647217955 4519713.3034235155,419566.8985195706 4520419.006521905,420205.4951092379 4522313.881248297,420217.45760421915 4523732.611317685,419414.48224599997 4522548.512953534)\",\"outputFormat\":\"array\",\"withCoord\":false}}".

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

{
 "id": "GetElevacion",
 "values": [
     
1821.1390380859375,
     1848.135986328125,
     1929.6490478515625,
     2058.2919921875,
     2171.02587890625,
     2426.860107421875
    ]
 }

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.

25 ene 2024

Actualización del Servicio WMS de Hojas Kilométricas


Se acaba de publicar un actualización del 
Servicio WMS Hojas Kilométricas del Instituto Geográfico Nacional. En concreto, se han actualizado la capa de imágenes de cada mosaico municipal y está en proceso de actualización la capa de parcelas catastrales que contiene el enlace a la descarga de la documentación de cada cédula catastral.

Las Hojas Kilométricas son planos topográficos de carácter catastral levantados por la Junta General de Estadística en la década de 1860. Francisco Coello, como director de la Junta, presentó un Reglamento para el levantamiento de la Topografía Catastral de España, un proyecto que fue impulsado por la Ley de Medición del Territorio de 1859.

Este proyecto planeado para todo el territorio nacional, a escala de levantamiento 1:2000 para zona rústica y 1:500 en urbana,  finalmente solo abarcó a varios municipios de las provincias de Madrid, Toledo, Segovia, Cuenca, Soria y Murcia. Planteaba utilizar el término municipal como unidad básica de trabajo y tenía un doble objetivo: por una parte, topográfico, ya que debía incluir el levantamiento del Mapa Topográfico de España a partir del deslinde y triangulación de cada término municipal con una finalidad cartográfica y, por otra parte, catastral, ya que debían ser deslindadas y medidas todas las parcelas rústicas y urbanas del país con un objetivo fiscal.

Con esta nueva actualización se ha incrementado el número de municipios mostrados. Se han añadido imágenes correspondientes a distintas fases de la creación de la Hoja Kilométrica y que proporcionan información que, aunque no se llegara a utilizar en la generación definitiva de la Hoja kilométrica, muestran valiosos datos sobre la topografía del lugar. Éste es el caso de municipios fuera de la Comunidad de Madrid como: Soria, Cartagena, Valdeolivas (Cuenca) y Riofrío de San Ildefonso (Segovia), y de otros en la Comunidad de Madrid, como Alcorcón.


Capa de mosaicos a través del 
Comparador de mapas antiguos en «cortina vertical» del IGN

El proceso ha consistido en el estudio y búsqueda de toda la información existente en el Archivo Topográfico del IGN, unidad perteneciente al Servicio de Documentación Geográfica y Biblioteca, y del uso de los diferentes servicios del IGN como Ortofotos máxima actualidad del PNOA, Vuelo americano serie B (1956 – 1957), Planimetrías y Unidades Administrativas para el ajuste planimétrico, haciendo un estudio de la deformación de cada mosaico, y el case de los mosaicos municipales con su colindante, debido a la duplicidad de información en cada línea límite de cada municipio.


Capa de cédulas catastrales
 y descarga de la Cédula 2003502

Cuando se complete la actualización se podrán consultar las cédulas catastrales de las parcelas catastrales, aumentando en número, georreferenciadas y enlazadas al documento PDF con la cédula catastral digitalizada (anverso y reverso).

Publicado por Juan Carrascosa Estebaranz y Mª José García Arias.

22 ene 2024

Servicio OGC API de procesos (OGC API Processes)


Actualmente, la familia de estándares
OGC API se está desarrollando para servir datos geoespaciales en la web, de una forma sencilla y enfocada para facilitar la consulta, creación, modificación y descarga de datos geográficos a los desarrolladores. Se basan en API centradas en recursos que aprovechan las prácticas modernas de desarrollo web como OPEN API y RESTful.

El Organismo Autónomo Centro Nacional de Información Geográfica (CNIG) ha publicado servicios OGC API para los datos y colecciones disponibles tanto del Sistema Cartográfico Nacional como del Instituto Geográfico Nacional. Desde marzo de 2022 se ha empezado a trabajar en las API basadas en los nuevos estándares OGC, en una búsqueda por mejorar la disponibilidad del dato geoespacial y la sencillez en su obtención. El O.A. CNIG publicó los servicios de OGC API en el segundo trimestre de 2023, entre los servicios publicados de OGC API podemos encontrar Features, Maps, y Processes y en desarrollo Tiles y Coverages.

  • El OGC API Features es un estándar dividido en varias partes que ofrece la posibilidad de descargar, crear, modificar y consultar datos espaciales en la web.
  • El OGC API Maps describe una API que proporciona mapas digitales referenciados espacialmente y renderizados dinámicamente.
  • El OGC API Coverages permite acceder y recuperar datos de una cobertura y todos sus componentes.
  • El OGC API Tiles es un estándar de la especificación que describe una API que proporciona teselas ráster o vectoriales en unos conjuntos de matrices de teselas (Tile Matrix Sets) predefinidos.
  • Los OGC API-Processes definen las operaciones y procesos necesarios para ejecutar funciones y algoritmos que utilizan información geoespacial desde un servidor. Estos algoritmos utilizan datos geoespaciales para producir nuevos conjuntos de datos.

El software utilizado para la implementación a nivel servidor de los estándares OGC API en el O.A. CNIG es pygeoapi, basado en un servidor en Python, con licencia MIT.

Los OGC API-Processes son una evolución del estándar de OGC para Servicios Web de Procesamiento (WPS), siendo una versión más nueva y actualizada. El O.A. Centro Nacional de Información Geográfica (CNIG) tiene publicado los servicios de procesos del Sistema Cartográfico Nacional de España (SCNE) a través de un servicio web, utilizando este nuevo estándar.

Los OGC API-Processes a partir de información geoespacial de un servidor (datos de entrada) ejecutarán funciones y algoritmos para producir nuevos conjuntos de datos (datos de salida). El estándar especifica una interfaz de procesado para comunicarse a través de un protocolo RESTful utilizando codificaciones de notación de objetos JavaScript (JSON). El servicio se comunica a través de una API que ejecuta un proceso y devuelve un resultado.

En otras palabras, están pensados para que desde otras aplicaciones se puedan ejecutar procesos que utilizan información geográfica a través de servicios

Desde el servicio OGC API de procesos se pueden ejecutar procesos como: el cálculo de altitud de puntos, estadísticas simplificadas de altitud, perfil de elevación, área de influencia y transformación de coordenadas entre otros. El O.A. CNIG ha definido estas operaciones más frecuentes de manera que pueda dar servicio a una gran variedad de aplicaciones geomáticas. Se pone a disposición de toda la comunidad estas herramientas de consulta sobre el Modelo Digital del Terreno para su uso sencillo y rápido a través de servicios.

Una ventaja importante es que se utiliza como dato de entrada para calcular alturas, el Modelo Digital del Terreno (MDT05) del Plan Nacional de Ortofotografía Aérea del Instituto Geográfico Nacional. Esto evita a los desarrolladores tener que mantener esta información y almacenarla.

Identificador

Nombre

Descripción

simplifiedStatistics

 

Estadísticas simplificadas de altitud

Obtiene la elevación máxima, mínima, la media y la desviación típica para un polígono a partir del MDT05.

getElevation

Altitud de puntos

Obtiene la elevación de uno o varios puntos a partir del MDT05.

bufferElevation

 

Área de influencia con estadísticas de altitud

Obtiene un área de influencia, creada con un punto y distancia dados. Opcionalmente devuelve como atributos la elevación máxima, mínima, la media y la desviación típica para un a partir del MDT05.

elevationProfile

 

Perfil de elevación

Obtiene el perfil de elevaciones entre dos o más puntos. Para la obtención de este perfil se crean puntos intermedios. Estos puntos se crean según el parámetro distancia. Se calcula a partir del MDT05.

coordinatesTransform

Transformador de coordenadas

Obtiene las coordenadas transformadas de un punto de un sistema de referencia a otro basado en la especificación de OGC Web Transformation Coordinate Service (WCTS). Este proceso permite la utilización de cualquier datum.

unitConversion

Conversor de unidades

Convierte de grados decimales a grados, minutos y segundos y viceversa.

coordinatesTransformGML

Transformador de coordenadas a partir de un fichero GML (url o texto)

Obtiene las coordenadas transformadas de un fichero GML (url o texto) de un sistema de referencia a otro basado en la especificación de OGC Web Transformation Coordinate Service (WCTS). Este proceso permite la utilización de cualquier datum.


La interfaz de este servicio es autodescriptiva, mucho más intuitiva y amigable que la petición de GetCapabilities de los estándares anteriores. En cuanto a la funcionalidad, la OGC API-Processes aborda todos los casos de uso del WPS, aprovecha la especificación OpenAPI con un enfoque orientado a recursos, lo que permite una mejor integración en los paquetes de software existentes. Además, proporciona capacidades y funcionalidades adicionales.

¿Cómo se pueden ejecutar los procesos?


Los procesos API de OGC son un poco más complicados que otros estándares API de OGC, ya que la obtención de datos se realiza mediante una solicitud HTTP POST en lugar de realizar consultas. Hay muchas maneras de hacerlo. Por ejemplo, se puede utilizar a través del comando cURL o de una biblioteca de Python llamada requests.

En las futuras entradas del blog vamos a explicar detalladamente cada uno de los procesos disponibles: 
  • getElevation: Altitud de puntos
  • bufferElevation: Área de influencia con estadísticas de altitud
  • elevationProfile: Perfil de elevación
  • simplifiedStatistics: Estadísticas simplificadas de altitud
  • unitConversion: Conversor de unidades
  • coordinatesTransform: Transformador de coordenadas
  • coordinatesTransformGML: Transformador de coordenadas a partir de un fichero GML (url o texto)
Para más información sobre los OGC API procesos se puede consultar:

Publicado por María José García Rodríguez y Aurelio Aragón Velasco.