El objetivo del proceso de transformación de coordenadas es obtener las coordenadas de un punto, dadas en un sistema de referencia, en otro, basándose en la especificación de OGC Web Transformation Coordinate Service (WCTS). Este proceso permite la utilización de cualquier datum. En la página de API processes coordinatesTransform podemos consultar los parámetros de entrada y de salida:
- «point»: corresponde a pares de coordenadas separadas por comas. Las coordenadas geográficas deben introducirse en grado y fracción de grado (GG.GGGG) mientras que las coordenadas UTM se introducen en metros. En las coordenadas geográficas, en las longitudes oeste y latitudes sur, poner un signo negativo. Tipo de dato: string.
- «source»: es el Sistema de Referencia Coordenadas de la geometría de entrada. Valor por defecto 4230 (ED50). Para la transformación entre ED50 y ETRS89 se usarán las rejillas PENR2009.gsb y BALR2009.gsb. Tipo de dato: integer.
- «target»: es el Sistema de Referencia Coordenadas de la geometría de salida. Valor por defecto 4258 (ETRS89). Para la transformación entre ED50 y ETRS89 se usarán las rejillas PENR2009.gsb y BALR2009.gsb. Tipo de dato: integer.
- «outformat»: son los pares de coordenadas transformadas al sistema de referencia indicado. Las coordenadas UTM se darán en metros mientras que las geográficas serán en grados sexagesimales. Si éstas se encuentran en las longitudes oeste y latitudes sur se mostrarán con un signo negativo.
|
Datos de entrada |
||
Ejemplo |
Punto |
Source |
Target |
1 |
P |
4326 |
25830 |
2 |
P |
4326 |
23030 |
3 |
P |
25830 |
4326 |
4 |
P |
25830 |
4258 |
Partimos de las coordenadas geográficas de un punto P en WGS84 (-3.960924, 40.823162) y queremos obtener las coordenadas en el Sistema de Referencia de Coordenadas ETR89 UTM Huso 30N (EPSG 25830). El código JSON de entrada que emplearemos para aplicar el proceso coordinatesTransform para obtención de coordenadas transformadas, es el siguiente:
{
"inputs": {
"points": [-3.960924, 40.823162],
"source": 4326,
"target": 25830
}
}
El cURL que se ejecuta:
curl -X POST "https://api-processes.idee.es/processes/coordinatesTransform/execution" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"inputs\":{\"points\":[-3.960924,40.823162],\"source\":4326,\"target\":25830}}
El resultado de las coordenadas en el el sistema de referencia ETRS89 UTM Huso 30N son:
{
"x": 418968.65169915627,
"y": 4519570.897995114
}
Ejemplo de petición desde script Python
- «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
{
"inputs": {
"points": [-3.960924, 40.823162],
"source": 4326,
"target": 23030
}
}
El cURL que se ejecuta:
curl -X POST "https://api-processes.idee.es/processes/coordinatesTransform/execution" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"inputs\":{\"points\":[-3.960924,40.823162],\"source\":4326,\"target\":23030}}
El resultado de las coordenadas en EPSG 23030:
{
"x": 19077.64189113514,
"y": 4519778.135371966
}
En este ejemplo se quiere realizar una transformación del Sistema de Referencia de Coordenadas ETR89 UTM Huso 30N (EPSG 25830) al Sistema WGS84 (EPSG 4326), es un ejemplo de transformación de coordenadas inverso al ejemplo 1. Para ello, utilizaremos el siguiente código JSON:
{
"inputs": {
"points": [418968.65169915627, 4519570.897995114],
"source": 25830,
"target": 4326
}
}
El cURL que se ejecuta:
curl -X POST "https://api-processes.idee.es/processes/coordinatesTransform/execution" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"inputs\":{\"points\":[418968.65169915627, 4519570.897995114],\"source\":25830,\"target\":4326}}
El resultado de las coordenadas en EPSG 4326:
{
"x": -3.960924,
"y": 40.82316200000001
}
Ejemplo 4
En este ejemplo se quiere obtener las coordenadas del Sistema de Referencia de Coordenadas ETR89 UTM Huso 30N (EPSG 25830) al Sistema ETR89 (EPSG 4258), el código JSON de entrada que utilizaremos es el siguiente:
{
"inputs": {
"points": [418968.65169915627, 4519570.897995114],
"source": 25830,
"target": 4258
}
}
El cURL que se ejecuta:
curl -X POST "https://api-processes.idee.es/processes/coordinatesTransform/execution" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"inputs\":{\"points\":[418968.65169915627, 4519570.897995114],\"source\":25830,\"target\":4258}}
El resultado de las coordenadas en EPSG 4258:
{
"x": -3.960924,
"y": 40.82316200000001
}
Se está utilizando este proceso API de transformación de coordenadas en el servicio de transformación de coordenadas del IGN que permite transformar las coordenadas de un punto o un conjunto de datos en formato GML de un Sistema de Referencia a otro.
El anterior servicio WPS (Web Processing Service) ha dejado de estar operativo, debido a que ya se está utilizando en su lugar el nuevo servicio API processes.
Códigos EPSG
Los códigos EPSG (European Petroleum Survey Group) nos indican el Sistema de Referencia de Coordenadas (SRC). Estos nos servirán para realizar la transformación de coordenadas de un punto con un SRC origen a otro SRC destino en el servicio API processes.
Los códigos EPSG normalmente utilizados en España son:
Códigos EPSG |
Descripción |
Proyección WGS84 / Pseudo-Mercator |
|
Coordenadas Geográficas ED50 |
|
EPSG:4326 |
Coordenadas Geográficas WGS84 |
EPSG:4258 |
Coordenadas Geográficas ETRS89 |
EPSG:23028 |
Proyección UTM ED50 Huso 28 N |
EPSG:23029 |
Proyección UTM ED50 Huso 29 N |
EPSG:23030 |
Proyección UTM ED50 Huso 30 N |
EPSG:23031 |
Proyección UTM ED50 Huso 31 N |
EPSG:25828 |
Proyección UTM ETRS89 Huso 28 N |
EPSG:25829 |
Proyección UTM ETRS89 Huso 29 N |
EPSG:25830 |
Proyección UTM ETRS89 Huso 30 N |
EPSG:25831 |
Proyección UTM ETRS89 Huso 31 N |
EPSG:4082 |
Proyección REGCAN95 Huso 27 |
EPSG:4083 |
Proyección REGCAN95 Huso 28 |
EPSG 32628 |
Proyección UTM WGS84 Huso 28 N |
EPSG 32629 |
Proyección UTM WGS84 Huso 29 N |
EPSG 32630 |
Proyección UTM WGS84 Huso 30 N |
EPSG 32631 |
Proyección UTM WGS84 Huso 31 N |
EPSG:3034 |
ETRS89/ETRS-LCC para la cartografía pan-Europeo a escalas <=
1:500.000 |
EPSG:3035 |
ETRS89/ETRS-LAEA para representación y análisis estadístico
pan-Europeos |
Publicado por María José García Rodríguez.
1 comentario:
Hola.
La orden CURL tiene un error:
donde pone /processescoordinatesTransform/
debe poner /processes/coordinatesTransform/
Publicar un comentario