Blog IDEE
20 dic 2024
30 aniversario de OGC
17 dic 2024
Presentación del Proyecto DIS4SME y el Curso de Interoperabilidad para CEOs
- Optimizar procesos internos: Reducir costos y mejorar la eficiencia al integrar sistemas y plataformas.
- Facilitar la colaboración: Garantizar que su empresa pueda trabajar sin problemas con socios y proveedores.
- Cumplir con normativas internacionales: Adoptar estándares que posicionen a su empresa como un jugador global.
- Prepararse para el futuro: Construir una base sólida para la adopción de tecnologías emergentes, como la inteligencia artificial y el Internet de las cosas (IoT).
- Fecha: 24 de enero de 2025
- Duración: 5 horas (de 10:00 a 13:00)
- Modalidad: En línea
- Idioma: Inglés
- Contenido:
- Introduction to data interoperability (45 min.)
- Data policies and initiatives (30 min)
- European Interoperability Framework (15 min.)
- Data spaces (15 min.)
- INSPIRE (15 min.)
- Location frameworks (15 min.)
- Data interoperability standards (15 min.)
- Location data interoperability challenges & trends (30 min.)
- Exercise (120 min.)
16 dic 2024
Eurostat lanza una plataforma enfocada al censo agrícola
Eurostat ha lanzado una nueva plataforma de datos geoespaciales, que incluye los correspondientes al censo agrícola 2020, como parte de su colección de estadísticas experimentales. En ella, los usuarios pueden encontrar mapas detallados sobre explotaciones agrícolas, densidad de ganado, envejecimiento de agricultores y brechas de género.
13 dic 2024
Nuevo geoportal para facilitar la reconstrucción de zonas afectadas por la DANA
- Acceso simplificado a información clave: Unifica datos geográficos de diversas fuentes, reduciendo la complejidad en su consulta.
- Diagnóstico predictivo: Permite evaluar el impacto potencial de futuras catástrofes naturales para una mejor planificación.
- Descarga de datos esenciales sobre catástrofes y riesgos: Brinda acceso a información útil para responder a emergencias y para la planificación en riesgos.
12 dic 2024
Servicio OGC API de procesos (OGC API Processes): Proceso elevationProfile.
- «geom»: Parámetro obligatorio corresponde con la geometría de puntos o lista de puntos que van a ser procesados. Tipo de dato String
- «formato»: parámetro obligatorio que indica el formato en que se proporciona la geometría del parámetro «geom». Los formatos soportados son GeoJSON (feature collection) y 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.
- «distancia»: distancia de referencia para el espaciado entre puntos intermedios, utilizados para la obtención del perfil, entre los puntos proporcionados en el parámetro geom. Las unidades son metros. La distancia por defecto es 20m y la mínima es 5m. Los puntos intermedios se crean según el parámetro distancia, creando un número entero de tramos iguales para los que se calcula el desnivel. Por la forma de cálculo, la distancia entre los puntos intermedios puede variar respecto a la introducida. Para representar correctamente el resultado se recomienda obtener los datos con coordenadas. 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.
- «withDistances»: es un parámetro booleano para obtener las longitudes de los subtramos calculados a partir de los puntos intermedios. Es un parámetro opcional. Si no se proporciona se considera false. Tipo de dato: boolean.
- «id»: Identificador del proceso.
- «crs»: identificador del sistema de referencia de las coordenadas calculadas.
- «values» que es el resultado en forma de lista con las elevaciones para los puntos procesados, tanto dados como intermedios, en el mismo orden dado.
- «distancias_sub»: corresponde con una lista (array) de las distancias de los subtramos, en el mismo orden dado. Las distancias se calculan sobre el elipsoide por lo que puede haber ligeras diferencias respecto a las proyectadas.
Proceso API de OGC del cálculo del perfil de elevaciones (elevationProfile)
|
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.
GEOMETRÍA |
FORMATO WKT |
FORMATO GEOJSON |
|
EPSG: 4326 |
EPSG: 25830 |
EPSG: 4326 |
|
DOS PUNTOS |
X |
|
X |
VARIOS PUNTOS |
X |
X |
X |
CÁLCULO DEL PERFIL DE ELEVACIÓN PARA DOS PUNTOS
- Cálculo de un perfil de elevaciones para dos puntos y distancia en formato WKT en el Sistema de Referencia de Coordenadas EPSG 4326
Representación de los puntos de inicio y final de una ruta en el visualizador IBERPIX. |
{
"inputs": {
"crs": 4326,
"distance": 500,
"formato": "wkt",
"geom": "MULTIPOINT(-3.960924 40.823162, -3.956023 40.850026)",
"withCoord": true,
"withDistances": false,
}
}
El cURL que se ejecuta:
curl -X POST "https://api-processes.idee.es/processes/elevationProfile/execution" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"inputs\":{\"crs\":4326,\"distance\":500,\"formato\":\"wkt\",\"geom\":\"MULTIPOINT(-3.960924 40.823162, -3.956023 40.850026)\",\"withCoord\":true,\"withDistances\":false}}"
El resultado obtenido nos muestra las altitudes de los puntos: {
"id": "ElevationProfile"
"crs": 4326,
"values": [,
[
-3.960924,
40.823162,
1821.1390380859375
],
[
-3.9601071666666665,
40.82763933333334,
1949.5150146484375
],
[
-3.959290333333333,
40.83211666666667,
2064.240966796875
],
[
-3.9584735,
40.836594000000005,
2065.27197265625
],
[
-3.957656666666667,
40.84107133333333,
2038.9560546875
],
[
-3.9568398333333334,
40.845548666666666,
2273.09912109375
],
[
-3.956023,
40.850026,
2426.860107421875
],
]
}
- «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
Para el cálculo de un perfil de
elevaciones de dos puntos de la ruta en formato GeoJSON y en el Sistema de
Referencia de Coordenadas (EPSG: 4326), utilizaremos el siguiente código JSON:
{
"inputs": {
"crs": 4326,
"distance": 500,
"formato": "geojson",
"geom": "{\"type\":
\"FeatureCollection\",\"features\":
[{\"geometry\": {\"coordinates\":
[-3.960924,40.823162],\"type\":
\"Point\"},\"type\": \"Feature\"},{\"geometry\":
{\"coordinates\": [-3.956023,40.850026],\"type\":
\"Point\"},\"type\": \"Feature\"}]}",
"withCoord": true,
"withDistances": true,
}
}
El cURL que se ejecuta:
curl -X POST "https://api-processes.idee.es/processes/elevationProfile/execution" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"inputs\":{\"crs\":4326,\"distance\":500,\"formato\":\"geojson\",\"geom\":\"{\\\"type\\\": \\\"FeatureCollection\\\",\\\"features\\\": [{\\\"geometry\\\": {\\\"coordinates\\\": [-3.960924,40.823162],\\\"type\\\": \\\"Point\\\"},\\\"type\\\": \\\"Feature\\\"},{\\\"geometry\\\": {\\\"coordinates\\\": [-3.956023,40.850026],\\\"type\\\":\\\"Point\\\"},\\\"type\\\": \\\"Feature\\\"}]}\",\"withCoord\":true,\"withDistances\":true}}"
El resultado obtenido nos muestra las altitudes de los puntos indicados de la ruta. Al utilizar el valor True en el parámetro «withoutCoord», se muestra en el resultado las coordenadas (longitud, latitud) y el valor de la altitud para ese punto. Asimismo, al indicar en el parámetro de entrada «distancias_sub» igual a True obtenemos la distancia de los subtramos: {
"id": "ElevationProfile"
"crs": 4326,
"values": [,
[
-3.960924,
40.823162,
1821.1390380859375
],
[
-3.9601071666666665,
40.82763933333334,
1949.5150146484375
],
[
-3.959290333333333,
40.83211666666667,
2064.240966796875
],
[
-3.9584735,
40.836594000000005,
2065.27197265625
],
[
-3.957656666666667,
40.84107133333333,
2038.9560546875
],
[
-3.9568398333333334,
40.845548666666666,
2273.09912109375
],
[
-3.956023,
40.850026,
2426.860107421875
],
]
"distancias_sub": [
502,
502,
502,
502,
502,
502,
]
}
CÁLCULO DEL PERFIL DE ELEVACIÓN PARA VARIOS PUNTOS
Este proceso API de elevationProfile es también capaz de realizar el cálculo de perfiles de elevaciones para varios puntos de un recorrido. En los siguientes ejemplos se calculará el perfil de elevaciones para varios tramos. Para ello, siguiendo con el ejemplo, se añadirán varios puntos entre el punto de inicio y punto final en la ruta de senderismo desde Peñalara al Puerto de Cotos. De esta manera, se obtendrá un recorrido más realista y un análisis más detallado de la zona, como podemos ver la representación de los puntos en el visualizador IBERPIX.Representación de los puntos de la ruta de Peñalara en el visualizador IBERPIX. |
Los datos de entrada se dan en
formato WKT en los Sistemas de Referencia de Coordenadas geográficas y
proyectadas (EPSG: 4326 y EPSG:25830), y también, en formato GeoJSON en el Sistema
de Referencia de Coordenadas geográficas (EPSG: 4326).
FORMATO WKT
- Cálculo de un perfil de elevaciones de varios puntos en formato WKT en el Sistema de Referencia de Coordenadas EPSG 4326.
Para el cálculo de un perfil de elevaciones de los puntos de la ruta en formato WKT y en el Sistema de Referencia geográficas (EPSG:4326), utilizaremos el siguiente código JSON:
{
"inputs": {
"crs": 4326,
"distance": 500,
"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": true
"withDistances": true
}
}
El cURL que se ejecuta:
curl -X POST "https://api-processes.idee.es/processes/elevationProfile/execution" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"inputs\":{\"crs\":4326,\"distance\":500,\"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\":true,\"withDistances\":true}}"
{
"id": "ElevationProfile"
"crs": 4326,
"values": [,
[
-3.960924,
40.823162,
1821.1390380859375
],
[
-3.962104,
40.824435,
1848.135986328125
],
[
-3.9580219999999997,
40.8276475,
1959.6820068359375
],
[
-3.95394,
40.83086,
1929.6490478515625
],
[
-3.9521075,
40.8351425,
1960.8199462890625
],
[
-3.950275,
40.839425000000006,
1950.9449462890625
],
[
-3.9484425,
40.8437075,
2048.321044921875
],
[
-3.94661,
40.84799,
2058.2919921875
],
[
-3.9466233333333336,
40.852250000000005,
2126.090087890625
],
[
-3.9466366666666666,
40.85651,
2152.4599609375
],
[
-3.94665,
40.86077,
2171.02587890625
],
[
-3.9497743333333335,
40.857188666666666
,
2200.6220703125
],
[
-3.9528986666666666,
40.853607333333336,
2330.822998046875
],
[
-3.956023,
40.850026,
2426.860107421875
],
]
"distancias_sub": [
179.9,
495.8,
495.8,
500.1,
500.1,
500.1,
500.1,
473.1,
473.1,
473.1,
477,
477,
477,
]
}
- Cálculo de un perfil de elevaciones de varios puntos en formato WKT en el Sistema de Referencia de Coordenadas EPSG 25830.
{
"inputs": {
"crs": 25830,
"distance": 500,
"formato": "wkt",
"geom": "MULTIPOINT (418968.652 4519570.898,418870.696
4519713.303,419566.899 4520419.007,420205.495 4522313.881,420217.458
4523732.611,419414.489 4522548.480)",
"withCoord": true
"withDistances": true
}
}
El cURL que se ejecuta:
curl -X POST "https://api-processes.idee.es/processes/elevationProfile/execution" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"inputs\":{\"crs\":25830,\"distance\":500,\"formato\":\"wkt\",\"geom\":\"MULTIPOINT(418968.652 4519570.898,418870.696 4519713.303,419566.899 4520419.007,420205.495 4522313.881,420217.458 4523732.611,419414.489 4522548.480)\",\"withCoord\":true,\"withDistances\":true}}"
{
"id": "ElevationProfile"
"crs": 25830,
"values": [,
[
418968.652,
4519570.897999999,
1821.1390380859375
],
[
418870.696,
4519713.303000001,
1848.135986328125
],
[
419218.81401861215,
4520066.146946875,
1959.6820068359375
],
[
419566.899,
4520419.006999999,
1929.6490478515625
],
[
419726.5771805296,
4520892.720246325,
1960.8199462890625
],
[
419886.23590908386,
4521366.436994881,
1950.9449462890625
],
[
420045.8751830962,
4521840.157245996,
2048.321044921875
],
[
420205.49500000005,
4522313.881000001,
2058.2919921875
],
[
420209.4820795562,
4522786.7906584535,
2126.090087890625
],
[
420213.46974622586,
4523259.700658451,
2152.4599609375
],
[
420217.458,
4523732.611
,
2152.4599609375
],
[
419949.8297594411,
4523337.891134621 ,
2200.6220703125
],
[
419682.17342513846,
4522943.180801501,
2330.822998046875
],
[
419414.489,
4522548.4799999995,
2426.860107421875
],
]
"distancias_sub": [
179.9,
495.8,
495.8,
500.1,
500.1,
500.1,
500.1,
473.1,
473.1,
473.1,
477,
477,
477,
]
}
- Cálculo de un perfil de elevaciones de varios puntos en formato GeoJSON en el Sistema de Referencia de Coordenadas EPSG 4326.
{
"inputs": {
"crs": 4326,
"distance": 500,
"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\"}]}",
"withCoord": true
"withDistances": true
}
}
El cURL que se ejecuta:
curl -X POST "https://api-processes.idee.es/processes/elevationProfile/execution" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"inputs\":{\"crs\":4326,\"distance\":500,\"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\\\"}]}\",\"withCoord\":true,\"withDistances\":true}}"
{
"id": "ElevationProfile"
"crs": 4326,
"values": [,
[
-3.960924,
40.823162,
1821.1390380859375
],
[
-3.962104,
40.824435,
1848.135986328125
],
[
-3.9580219999999997,
40.8276475,
1959.6820068359375
],
[
-3.95394,
40.83086,
1929.6490478515625
],
[
-3.9521075,
40.8351425,
1960.8199462890625
],
[
-3.950275,
40.839425000000006,
1950.9449462890625
],
[
-3.9484425,
40.8437075,
2048.321044921875
],
[
-3.94661,
40.84799,
2058.2919921875
],
[
-3.9466233333333336,
40.852250000000005,
2126.090087890625
],
[
-3.9466366666666666,
40.85651,
2152.4599609375
],
[
-3.94665,
40.86077,
2171.02587890625
],
[
-3.9497743333333335,
40.857188666666666
,
2200.6220703125
],
[
-3.9528986666666666,
40.853607333333336,
2330.822998046875
],
[
-3.956023,
40.850026,
2426.860107421875
],
]
"distancias_sub": [
179.9,
495.8,
495.8,
500.1,
500.1,
500.1,
500.1,
473.1,
473.1,
473.1,
477,
477,
477,
]
}
Representación gráfica del perfil de elevaciones de la ruta de senderismo calculada con API Processes elevationProfile |
-
La geocodificación es esencial para análisis territoriales, estudios de mercado y gestión de infraestructuras. Desde CartoCiudad se tiene...
-
E l verano pasado (2020) se incluyó el modelo de geoide español EGM08-REDNAP en la biblioteca de software libre PROJ . Esto ha facilitado...
-
El Ayuntamiento de Madrid dispone de un servicio de mapas que representa los distintos niveles de limpieza asignados a calzadas y aceras. ...