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.

No hay comentarios: