@geocat@fosstodon.org

En GeoCat hemos teindo la oportunidad de patrocinar un evento que captura a la perfección lo que nos encanta hacer como empresa. Durante febrero de 2021, el Open Geospatial Consortium (OGC) combinó sus fuerzas con otras dos fundaciones de código abierto, la Apache Software Foundation (ASF) y la Open Source Geospatial Foundation (OSGeo), para trabajar en la próxima generación de estándares geoespaciales.

Se estructuró como un sprint de programación, con entusiastas procedentes de gobiernos, la industria y la comunidad dedicando tiempo para trabajar juntos. GeoCat asistió con un gran equipo que pudo contribuir a la definición de los estándares, junto con los proyectos GeoServer, GeoNetwork, pygeoapi, OWSLib y QGIS.

En esta entrada se detallan algunas de nuestras impresiones y hallazgos del sprint.

Acerca de la familia de estándares OGC API

OGC APIes un nuevo conjunto de estándares en desarrollo activo en el Consorcio Geoespacial Abierto (OGC). Estos estándares están inspirados por los estándares y mejores prácticas de web, como por ejemplo la publicación de recursos utilizando los tipos de medios definidos por IANAo Servicios web REST, definidos mediante laeespecificación OpenAPI.. Para facilitar su uso los servicios web proporcionan código HTML para el acceso mediante el navegador y JSON para clientes JavaScript.

Sprint del Consorcio Geoespacial Abierto (OGC)

Se decidión seguir el formato de “code-sprint” de los proyectos de código abierto para hacer avanzar los estándares de OGC en una nueva dirección . Este enfoque práctico evita que la creación de un estándar sea un ejercicio teórico sobre el papel, poniendo al descubierto de inmediato los problemas durante la implementación.

Mis experiencias personales de este sprint han confirmado la utilidad de este enfoque. Trabajé en un plugin para QGIS, Metabúsqueda, para facilitar el descubrimiento de registros de OGC API junto al servicio de catálogo existente para la web. El desarrollo de clientes requiere centrarse en aspectos de un estándar distintos a los que se requieren para desarrollar la parte del servidor. Por ejemplo, ¿cómo conectar con un servicio de OGC API Features después de haberlo descubierto en un recurso de OGC API Records? El cliente se beneficiaría si el registro anunciase los detalles de conexión del servicio de forma estandarizada.

QGIS y OGC API Records

Imagen: Búsqueda de registros de OGC API Records desde QGIS (metabúsqueda)

La oportunidad de retroalimentación y revisión rápidas es la ventaja real de estos eventos. Por ejemplo en el canal de Gitter de GeoServer en el que se trabajaba en OGC API Records se tuvo la ocasión de hacer las preguntas clave que hicieron que el estándar se modificase el día siguiente. Por otro lado, esto causa una sensación de incomodidad con los desarrolladores que suelen trabajar con los estándares OWS tradicionales. Debido al hecho de que los estándares cambian a medida que se van detectando problemas en la implementación es necesario seguir modificando el software hasta que se llegue a la implementación final del estándar.

Teniendo esto en cuenta, es difícil adoptar las primeras definiciones de los estándares OGC API en nuestros productos. Desafortunadamente, aunque los estándares mejoran continuamente, los continuos cambios causan retrasos sobre cuando van a estar listos para su uso en producción. Los cambios continuos también hacen que el desarrollo tenga que ser objeto de una inversión bastante importante por parte de GeoCat antes de que puedan ser incluidos en nuestros productos Enterprise para generar ingresos. Afortunadamente, hemos encontrado varios socios que cofinancian estos desarrollos y aceptan una implementación de acceso temprano del estándar.

El Consorcio Geoespacial Abierto (OGC) proporcionará un informe sobre el evento.

Documentación de OGC API

Imagen: página de documentación interactiva de la implementación de OGC API Records en GeoNetwork

Explorando las tecnologías de Apache Software Foundation

Este sprint fue la primera vez que trabajamos con miembros de la Apache Software Foundation. El grupo estuvo trabajando para mejorar el soporte geoespacial en Jena Fuseki, su implementación de triplestore o almacén de RDF. Buscaban opciones de exportación de geodatos de QGIS a RDF y se alegraron de descubrir que GeoServer tiene un módulo para crear GeoJSON-LD. Durante el sprint mejoraron las capacidades de gestión de GeoJSON-LD en Jena Fuseki. Ese aspecto agregó algunos temas de discusión interesantes al sprint.

Personalmente hice algunas pruebas con elcliente de línea de comandos Jena Arq para consultar OGC API mediante SPARQL. Algunas implementaciones, como GeoServer, ldproxy y pygeoapi ofrecen compatibilidad con GeoJSON-LD como parte de la implementación de OGC API, lo que en teoría hace que la API sea accesible para los motores SPARQL. Conseguí algunos resultados interesantes. Sin embargo, la forma de saltar de un documento a otro era difícil debido a que muchas de las implementaciones aún no incluyen la sección de enlaces en su contexto LD. La introducción de la ontología Hydra podría ser una adición interesante para mejorar ese aspecto.

Trabajando con la Fundación Geoespacial de Código Abierto (OSGeo)

Para pygeoapi, GeoNetwork y QGIS, el objetivo principal del sprint era implementar el estándar OGC API Records.

Gracias a la participación de un equipo de GeoCat tan grande pudimos avanzar bastante en la implementación de OGC API Records en cada uno de los proyectos. El soporte para registros se introdujo en pygeoapi durante el sprint, el equipo de GeoNetwork hizo una gran refactorización de la implementación ya existente y se envió un Pull Request a QGIS.

Tener una implementación del cliente en QGIS facilitó la comparación y validación de las diferentes implementaciones de OGC API Records.

Localizando los mismos datos a través de QGIS y directamente en el servicio

Imagen: Localización de los mismos datos a través de QGIS y directamente en el servicio (servicio proporcionado por pygeoapi, datos de Nationaalgeoregister.nl y colaboradores de OpenStreetMap)

El equipo de GeoServer trabajó en OGC API Fetures y comenzó a evaluar OGC API Maps. Los miembros de GeoCat trabajaron en la interfaz de usuario y la documentación .

GeoServer para OGC API Features

Imagen: GeoServer como servidor de OGC API Features

Prepárese para cambiar a OGC API con GeoCat

Hable con nosotros para analizar qué beneficios puede aportar la transición a OGC API a su organización y ayudarle a definir la hoja de ruta que permita introducir los nuevos estándares en su flujo de trabajo. GeoCat ofrece servicios en torno a OGC API mediante sus productos GeoCat Live (SaaS), GeoServer, GeoNetwork, pygeoapi y QGIS.