El proceso OGC API coordinatesTransformGML permite transformar las coordenadas contenidas en un fichero GML (proporcionado mediante una URL o como texto) de un sistema de referencia a otro, siguiendo la especificación del OGC Web Coordinate Transformation Service (WCTS). Este proceso admite la utilización de cualquier datum. Se puede acceder a través de la página de API processes coordinatesTransformGML, donde se detallan los parámetros de entrada y salida.
Datos de entrada:
Datos de salida:
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/coordinatesTransformGML y es obligatorio ejecutar la petición en JSON.
Ventana de ejecución de Swagger del proceso coordinatesTransformGML
Una opción para verificar los API de procesos es utilizar Swagger UI que ofrece la misma interfaz de processes. Desde aquí podemos acceder al proceso coordinatesTransformGML de una manera sencilla (Figura 1). Este proceso permite verificar el proceso para la transformación de coordenadas. 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.
Las peticiones se pueden realizar a través del parámetro «url» o «text». Veamos varios ejemplos de consulta:
Ejemplo 1. Petición de transformación de coordenadas a través del parámetro «url» al servicio WFS de Unidades Administrativas
Para este ejemplo, vamos a realizar una consulta a un único objeto geográfico de la capa unidades administrativas del servicio WFS de Unidades Administrativas del Instituto Geográfico Nacional (IGN), correspondiente a las Islas Canarias. El objetivo es transformar este objeto del Sistema de Referencia ETRS89 en coordenadas geográficas (EPSG:4258) al Sistema de Referencia Oficial de Canarias REGCAN95 UTM Huso 28N (EPSG:4083).
Para llevarlo a cabo se emplea la API de procesos de transformación de coordenadas, aplicándola sobre un fichero GML en el SRC (EPSG:4258) y convirtiéndolo al SRC (EPSG:4083) de la capa «au:AdministrativeUnit». Como parámetros de entrada se utiliza «url» y se limita la consulta a un único objeto geográfico (count=1). La operación se ejecuta de la siguiente forma:
La misma petición con el método cURL:
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:
Este script de Python se puede utilizar para otros ejemplos, modificando el objeto myObj con el JSON indicado en cada caso.
Resultado ejemplo 1
El resultado de la ejecución de esta petición al proceso API es un fichero GML con las geometrías transformadas al SRC indicado. A continuación, se muestra el resultado de un objeto geográfico de la capa de Unidades Administrativas transformado al Sistema de Referencia de Coordenadas REGCAN UTM 28N (EPSG:4083).
Asimismo, este fichero de salida GML puede integrarse en un SIG y visualizarse en el SRC transformado que hemos indicado REGCAN UTM 28N (EPSG: 4083) (Figura 2).
Visualización de los objetos geográficos de la capa de unidades administrativas del servicio WFS de Unidades Administrativas transformados al SRC EPSG:4083
Ejemplo 2. Petición de transformación de coordenadas a través del parámetro «url» al servicio WFS de Red de Transportes
En este segundo ejemplo, se realiza una petición al servicio WFS de la Red de transportes del Sistema Cartográfico Nacional (SCNE), a la capa área portuaria «PortArea» desde el SRC ETRS89 en coordenadas geográficas (EPSG: 4258) al SRC ETRS89-Huso 30N en coordenadas proyectadas UTM (EPSG: 25830), limitada a dos objetos geográficos (count=2).
Resultado ejemplo 2
De la misma manera, podemos visualizar la capa de las áreas portuarias solicitadas en un SIG, limitado a dos objetos geográficos (count=2), en concreto el Puerto de San Sebastián (Figura 3) y el Puerto Nuevo de Hondarribia en el SRC transformado EPSG:25830.
Visualización del área portuaria del Puerto de San Sebastián/Donostiako Portua con SRC transformado de coordenada geográficas ETRS89 (EPSG: 4258) al SRC ETRS89 - UTM Huso 30N (EPSG: 25830) obtenido como resultado de la consulta realizada
Ejemplo 3. Petición de transformación de coordenadas a partir del parámetro «text»
En el siguiente ejemplo, realizaremos una solicitud a la capa de curso de agua «watercourse» del servicio WFS de la Red de Hidrografía del Sistema Cartográfico Nacional (SCN) para la transformación de coordenadas de ETRS89 UTM - Huso 30N (EPSG: 25830) a coordenadas geográficas ETRS89 (EPSG:4258), empleando como parámetro de entrada el texto del fichero GML («text») con codificación de cadenas de caracteres especiales JSON de un objeto geográfico (feature).
La definición de la geometría en formato GML es la siguiente:
A continuación, se aplica al texto una codificación de los caracteres especiales para compatibilidad con JSON:
Por último, se realiza la solicitud de transformación de coordenadas empleando en el parámetro «text», el texto del fichero con codificación de caracteres especiales JSON, donde se indican el Sistema de Referencia de Coordenadas origen ETRS89-Huso 30 (EPSG: 25830) y el Sistema de Referencia de Coordenadas destino WGS84/ Pseudo-Mercator (EPSG: 3857), a través de estas líneas de comando:
Creando un fichero con la petición anterior en formato JSON y guardándolo con el nombre «watercourse.json» podemos hacer una petición con el método cURL de esta forma:
Con el método cURL:
Resultado ejemplo 3
Como resultado de la consulta al proceso API coordinatesTransformGML se obtiene un fichero GML transformado al Sistema de Referencia de Coordenadas proyectado WGS84/Pseudo-Mercator EPSG:3857.
EL fichero GML puede integrarse en un SIG para visualizar la geometría de un objeto geográfico del curso de agua junto con su información asociada en el Sistema de Referencia de Coordenadas transformado EPSG:3857 (Figura 4).
Visualización del objeto geográfico de la capa del curso de agua del servicio WFS de Hidrografía con las geometrías transformadas al Sistema de Referencia de Coordenadas EPSG:3857.
Este artículo forma parte de una serie, para saber más sobre API Processes de OGC y otros procesos del Servicio API del CNIG consulta el artículo índice.
Publicado por María José García Rodríguez.