5.1. Parametrización API REST - Desarrollos-IDEE/API-IDEE GitHub Wiki

La API provee de un servicio rest que, mediante una url, permite construir un visualizador sin conocimientos previos. El visualizador puede ser incrustado en cualquier web mediante un iframe. Galería de ejemplos

Por tanto, mediante parámetros en la url podremos configurar un mapa, siendo los parámetros posibles a configurar:

Parámetro layers

Indica la(s) capa(s) a cargar.

Capas Rápidas

  • tipoCapa: QUICK
  • NombreCapa: Nombre dado a la capa rápida. Se pueden obtener mediante el método: IDEE.getQuickLayers() desde la consola del navegador utilizado

Ejemplo: https://componentes.idee.es/api-idee/?layers=QUICK*RelieveSombreado_TMS,QUICK*IGNBaseOrto_TMS&center=-616447.7038098746,4491015.287866212&zoom=5

Capa WMS

  • tipoCapa: WMS
  • nombreLeyenda: nombre que aparecerá en la leyenda
  • urlServicio: url del servicio
  • nombreCapa: nombre de la capa
  • transparente: 'false' si es una capa base, 'true' en caso contrario
  • teselado: 'true' si queremos dividir la capa en teselas, 'false' en caso contrario
  • userMaxExtent: extensión máxima dada por el usuario. Coordenadas separadas por ";".
  • Mostrarse en el TOC: true/false
  • Consultable: true/false
  • Visible: true/false
  • version: versión de la capa
  • useCapabilities: Define si se utilizará el capabilities para generar la capa

Ejemplo: https://componentes.idee.es/api-idee/?layers=WMS*Unidad%20administrativa*http://www.ign.es/wms-inspire/unidades-administrativas?*AU.AdministrativeUnit*true*true**true*true*true*1.3.0&center=-1264453.9015709583,4323899.840546544&zoom=5

Capa WMTS

  • tipoCapa: WMTS
  • urlServicio: url del servicio
  • nombreCapa: identificador de la capa en el servicio Capabilities
  • Identificador del MatrixSet: sistema de referencia
  • Descripción de la capa: nombre en TOC
  • Transparente: 'false' si es una capa base, 'true' en caso contrario
  • Formato de imagen a consumir: image/jpeg
  • Mostrarse en el TOC: true/false
  • Consultable: true/false
  • Visible: true/false
  • useCapabilities: Define si se utilizará el capabilities para generar la capa

Ejemplo: https://componentes.idee.es/api-idee/?layers=WMTS*http://www.ign.es/wmts/pnoa-ma?*OI.OrthoimageCoverage*GoogleMapsCompatible*imagen*true*image/jpeg*true*true*true&center=-1264453.9015709583,4323899.840546544&zoom=5

Capa WMC Está actualmente en desarrollo por lo que no es recomendable su uso.

  • tipoCapa: WMC
  • url: url de del contexto
  • nombre: nombre que aparecerá en el selector.

Ejemplo: https://componentes.idee.es/api-idee/?layers=WMC*https://componentes.idee.es/estaticos/Datos/WMC/satelite.xml*Satelite&projection=EPSG:25830&center=359139.02745,4129794.0256&zoom=6

Capa KML

  • tipoCapa: KML
  • nombreCapa: nombre del KML
  • urlServicio: url de la capa
  • extract: control de solicitud de info al kml. 'false' (info desactivada), 'true' (info habilitada)
  • Etiquetas: true/false
  • Visible: true/false

Ejemplo: https://componentes.idee.es/api-idee/?layers=KML*Delegaciones%20IGN*https://www.ign.es/web/resources/delegaciones/delegacionesIGN.kml*true*true

Capa TMS

  • tipoCapa: TMS
  • nombreCapa: identificador de la capa
  • urlServicio: url del servicio
  • Visible: true/false
  • Transparente: true/false
  • tileGridMaxZoom: indica el valor máximo de zoom a poder visualizar (los zooms superiores se generan aumentando el último).
  • displayInLayerSwitcher: Indica si la capa se muestra en el selector de capas.
  • legend: Indica el nombre que queremos que aparezca en el árbol de contenidos, si lo hay.
  • tileSize: Indica el tamaño de la tesela. Por defecto 256.

Ejemplo: https://componentes.idee.es/api-idee/?layers=TMS*Nombre*https://tms-ign-base.ign.es/1.0.0/IGNBaseTodo/{z}/{x}/{-y}.jpeg*true*true*15*true*legend

Capa XYZ

  • tipoCapa: XYZ
  • NombreCapa: identificador de la capa
  • urlServicio: url del servicio
  • Visible: true/false
  • Transparente: true/false
  • displayInLayerSwitcher: Indica si la capa se muestra en el selector de capas.
  • legend: Indica el nombre que queremos que aparezca en el árbol de contenidos, si lo hay.

Ejemplo: https://componentes.idee.es/api-idee/?layers=XYZ*Name*https://rts.larioja.org/mapa-base/rioja/{z}/{x}/{y}.png*true*true*true*legend

Capa WFS

  • tipoCapa: WFS / WFST
  • nombreLeyenda: nombre que aparecerá en la leyenda
  • url: url del servicio
  • namespace:name: nombre de la capa con namespace
  • geometry: tipo de geometría, MPOINT, MLINE o MPOLYGON
  • ids: identificadores por los que queremos filtrar los features
  • cql: sentencia CQL para filtrar los features
  • style: base64 del estilo a aplicar (se crea el estilo en JavaScript y se llama al método serialize)

Ejemplo: https://componentes.idee.es/api-idee/?layers=WFST*Campamentos*http://geostematicos-sigc.juntadeandalucia.es/geoserver/sepim/ows?*sepim:campamentos*MPOINT

Capa OSM

  • tipoCapa: OSM.
  • nombreCapa: nombre.
  • legend: Indica el nombre que queremos que aparezca en el árbol de contenidos, si lo hay.
  • urlServicio: url de la capa.
  • visible: true/false.
  • transparente: true/false.

Ejemplo: https://componentes.idee.es/api-idee/?layers=OSM

Capa GeoTIFF

  • tipoCapa: GeoTIFF
  • leyenda: nombre que aparecerá en la leyenda
  • urlServicio: url del servicio
  • nombreCapa: nombre de la capa
  • transparente: 'false' si es una capa base, 'true' en caso contrario
  • proyección: proyección de fuente
  • displayInLayerSwitcher: indica si la capa se muestra en el selector de capas
  • visible: true/false

Ejemplo: https://componentes.idee.es/api-idee/?center=-9677.319268328576,4677685.28650575&zoom=12&layers=OSM,GeoTIFF*CapaGeoTIFF*https://rapidmapping-viewer.s3.eu-west-1.amazonaws.com/EMSR719/AOI01/GRA_PRODUCT/EMSR719_AOI01_GRA_PRODUCT_PLEIADES_20240420_1058_ORTHO.tif*capa*true**true*true

Capa MVT

  • tipoCapa: MVT
  • urlServicio: url de la capa
  • nombreCapa: nombre del MVT
  • Proyección: SRS usado por la capa

Ejemplo: https://componentes.idee.es/api-idee/?layers=MVT*https://ahocevar.com/geoserver/gwc/service/tms/1.0.0/ne:ne_10m_admin_0_countries@EPSG%3A900913@pbf/{z}/{x}/{-y}.pbf*vectortile

Capa GeoJSON

  • tipoCapa: GeoJSON
  • nombreCapa: nombre del GeoJSON
  • urlServicio: url de la capa
  • extract: control de solicitud de info al GeoJSON. 'false' (info desactivada), 'true' (info habilitada)
  • style: base64 del estilo a aplicar (se crea el estilo en JavaScript y se llama al método serialize)

Ejemplo: https://componentes.idee.es/api-idee/?layers=GeoJSON*provincias*https://github.com/codeforgermany/click_that_hood/raw/main/public/data/spain-provinces.geojson*true
Ejemplo con el parámetro style: https://componentes.idee.es/api-idee/?layers=GeoJSON*provincias*https://github.com/codeforgermany/click_that_hood/raw/main/public/data/spain-provinces.geojson*true*eyJwYXJhbWV0ZXJzIjpbeyJmaWxsIjp7ImNvbG9yIjoicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpIiwib3BhY2l0eSI6MC40fSwic3Ryb2tlIjp7ImNvbG9yIjoiI0ZGRDczMyIsIndpZHRoIjoxLjV9LCJyYWRpdXMiOjV9XSwiZGVzZXJpYWxpemVkTWV0aG9kIjoiKChzZXJpYWxpemVkUGFyYW1ldGVycykgPT4gTS5zdHlsZS5TaW1wbGUuZGVzZXJpYWxpemUoc2VyaWFsaXplZFBhcmFtZXRlcnMsICdNLnN0eWxlLlBvbHlnb24nKSkifQ==

Capa OGCAPIFeatures

  • tipoCapa: OGCAPIFeatures
  • nombreLeyenda: nombre que aparecerá en la leyenda
  • urlServicio: url al servicio OGCAPIFeatures
  • nombreCapa: nombre de la capa OGCAPIFeatures
  • límite: límite de features a mostrar en la capa
  • bbox: filtro para mostrar los resultados de un bbox específico
  • id: filtro por ID para un feature
  • offset: determina desde que número comenzará a leer los features
  • formato: formato de respuesta de los objetos geográficos
  • estilo: estilo en Base64 para aplicar a la capa
  • extract: control de solicitud de información. 'false' (información desactivada), 'true' (información habilitada)

Ejemplo: https://componentes.idee.es/api-idee/?layers=QUICK*IGNBaseTodo_TMS,OGCAPIFeatures*Capa*https://api-features.idee.es/collections/*falls*30***10*json*eyJwYXJhbWV0ZXJzIjpbeyJyYWRpdXMiOjUsImZpbGwiOnsiY29sb3IiOiJvcmFuZ2UiLCJvcGFjaXR5IjoiMC44In0sInN0cm9rZSI6eyJjb2xvciI6InJlZCIsIndpZHRoIjoxfX1dLCJkZXNlcmlhbGl6ZWRNZXRob2QiOiIoKHNlcmlhbGl6ZWRQYXJhbWV0ZXJzKSA9PiBNLnN0eWxlLlNpbXBsZS5kZXNlcmlhbGl6ZShzZXJpYWxpemVkUGFyYW1ldGVycywgJ00uc3R5bGUuUG9pbnQnKSkifQ==

Capa MBTiles

  • tipoCapa: MBTiles
  • nombreLeyenda: nombre que aparecerá en la leyenda
  • urlServicio: url al servicio MBTiles
  • nombreCapa: nombre de la capa MBTiles
  • Transparente: 'false' si es una capa base, 'true' en caso contrario
  • Visible: true/false
  • opacidad: opacidad de la capa
  • maxZoomLevel: zoom máximo aplicable a la capa
  • maxExtent: máxima extensión de la capa
  • tileSize: tamaño de la tesela

Ejemplo: https://componentes.idee.es/api-idee/?layers=MBTiles*LEGEND*URL*NAME*TRANSPARENT*VISIBILITY*OPACITY*MAXZOOMLEVEL*MAXEXTENT*TILESIZE

Capa MBTilesVector

  • tipoCapa: MBTilesVector
  • nombreLeyenda: nombre que aparecerá en la leyenda
  • urlServicio: url al servicio MBTilesVector
  • nombreCapa: nombre de la capa MBTilesVector
  • Visible: true/false
  • tileSize: tamaño de la tesela
  • style: base64 del estilo a aplicar (se crea el estilo en JavaScript y se llama al método serialize)
  • extract: control de solicitud de información. 'false' (información desactivada), 'true' (información habilitada)

Capa MapLibre

  • tipoCapa: MapLibre
  • leyenda: nombre que aparecerá en la leyenda
  • urlServicio: url del servicio
  • nombreCapa: nombre de la capa
  • transparente: 'false' si es una capa base, 'true' en caso contrario
  • extract: control de solicitud de información. 'false' (información desactivada), 'true' (información habilitada)
  • visible: true/false
  • displayInLayerSwitcher: indica si la capa se muestra en el selector de capas
  • disableBackgroundColor: Estilo de fondo.
  • style: base64 del estilo a aplicar.

Ejemplo: https://componentes.idee.es/api-idee/?layers=MapLibreLEGEND_NAMEhttps://demotiles.maplibre.org/style.jsonNAME_TESTfalsefalsetruefalsefalse*W3siaWQiOiJjb2FzdGxpbmUiLCJwYWludCI6W3sicHJvcGVydHkiOiJsaW5lLWNvbG9yIiwidmFsdWUiOiIjMDAwIn0seyJwcm9wZXJ0eSI6ImxpbmUtd2lkdGgiLCJ2YWx1ZSI6N31dfSx7ImlkIjoiY291bnRyaWVzLWxhYmVsIiwicGFpbnQiOlt7InByb3BlcnR5IjoidGV4dC1jb2xvciIsInZhbHVlIjoicmVkIn1dfV0=

Capa GenericRaster y GenericVector

  • tipoCapa: GenericRaster o GenericVector
  • vendorOptions: Objeto de la librería base en base64.
  • name: nombre de la capa.
  • legend: Leyenda de la capa.
  • transparent: 'false' si es una capa base, 'true' en caso contrario.
  • minZoom: Zoom mínimo.
  • maxZoom: Zoom máximo.
  • displayInLayerSwitcher: 'false' no se muestra en el selector de capas, 'true' en caso contrario.
  • visibility: true/false.

Ejemplo: https://componentes.idee.es/api-idee/?layers=GenericRaster*IG5ldyBvbC5sYXllci5JbWFnZSh7CiAgICBzb3VyY2U6IG5ldyBvbC5zb3VyY2UuSW1hZ2VXTVMoewogICAgICB1cmw6ICdodHRwOi8vZ2Vvc3RlbWF0aWNvcy1zaWdjLmp1bnRhZGVhbmRhbHVjaWEuZXMvZ2Vvc2VydmVyL3RlbWF0aWNvcy93bXM/JywKICAgICAgcGFyYW1zOiB7ICdMQVlFUlMnOiAndGVtYXRpY29zOk11bmljaXBpb3MnIH0sCiAgICB9KSwKICAgIGxlZ2VuZDogJ0NhcGEgV01TJwogIH0p*municipios&center=-1264453.9015709583,4323899.840546544&zoom=5

Capa Tiles3D

  • tipoCapa: TILES3D
  • leyenda: texto que aparecerá en el TOC
  • urlServicio: url del servicio
  • nombreCapa: nombre de la capa
  • Visible: true/false
  • Mostrarse en el selector de capas: true/false

Nota: solo disponible para implementación Cesium.

Ejemplo: https://componentes.cnig.es/api-core/?implementation=cesium&layers=OSM,Tiles3D*Ordesa*https://parquesnacionales.cnig.es/escenas/Ordesa_2023_Cesium/Scene/Ordesa_2023_Cesium.json*Ordesa*true*false

Capa Terrain

  • tipoCapa: TERRAIN
  • leyenda: texto que aparecerá en el TOC
  • urlServicio: url del servicio
  • nombreCapa: nombre de la capa
  • Visible: true/false
  • Mostrarse en el TOC: true/false

Nota: la capa terreno siempre se añade por defecto por lo que si se desea incluir una nueva debe ser eliminada previamente.

Nota: solo disponible para implementación CesiumJS.

Ejemplo: https://componentes.cnig.es/api-core/?implementation=cesium&layers=OSM,Terrain*MDT_Terrain*https://qm-mdt.idee.es/1.0.0/terrain*MDT_Terrain*true*false

Capa Vector

No disponible por API REST.

Parámetro zoom

Nivel de zoom aplicado.

  • nivelZoom: número entero que indica el nivel de zoom a aplicar

Ejemplo: https://componentes.idee.es/api-idee/?layers=WMTS*http://www.ign.es/wmts/pnoa-ma?*OI.OrthoimageCoverage*GoogleMapsCompatible*imagen*true*image/jpeg*true*true*true&center=-1264453.9015709583,4323899.840546544&zoom=5

Parámetro bgcolorcontainer

Color de fondo del mapa.

  • color: color en formato hexadecimal, cadena, rgb, rgba, hsl o hsla.

Ejemplo: https://componentes.idee.es/api-idee/?bgcolorcontainer=red

Parámetro implementation

Implementación usada para crear el mapa.

  • implementation: ol o cesium.

Ejemplo: https://componentes.cnig.es/api-core/?implementation=cesium&projection=EPSG:4326*d&layers=OSM

Parámetro center

Coordenadas de centrado del mapa.

  • coordX: coordenada X
  • coordY: coordenada Y
  • dibujar chincheta: 'false' para solo centrar y 'true' para dibujar una chincheta

Ejemplo: https://componentes.idee.es/api-idee/?layers=WMTS*http://www.ign.es/wmts/pnoa-ma?*OI.OrthoimageCoverage*GoogleMapsCompatible*imagen*true*image/jpeg*true*true*true&center=-1264453.9015709583,4323899.840546544*true&zoom=5

Parámetro label

Cadena de texto que será visualizada como texto html en un popup en el centro del mapa o en las coordenadas indicadas mediante center.

  • texto: texto a mostrar (soporta código html)

Ejemplo: https://componentes.idee.es/api-idee/?layers=WMTS*http://www.ign.es/wmts/pnoa-ma?*OI.OrthoimageCoverage*GoogleMapsCompatible*imagen*true*image/jpeg*true*true*true&center=-1264453.9015709583,4323899.840546544&zoom=5&label=Centro

Parámetro bbox

Encuadre de visualización del mapa.

  • minX: coordenada menor eje X
  • minY: coordenada menor eje Y
  • maxX: coordenada mayor eje X
  • maxY: coordenada mayor eje Y

Ejemplo: https://componentes.idee.es/api-idee/?layers=WMTS*http://www.ign.es/wmts/pnoa-ma?*OI.OrthoimageCoverage*GoogleMapsCompatible*imagen*true*image/jpeg*true*true*true&zoom=5&bbox=-682582.6625866239,4477528.242889054,-651702.1031594126,4508408.802316265

Parámetro maxextent

Máxima extensión permitida; a diferencia del bbox, no se dibujará el mapa fuera de los límites establecidos.

  • minX: coordenada menor eje X
  • minY: coordenada menor eje Y
  • maxX: coordenada mayor eje X
  • maxY: coordenada mayor eje Y

Ejemplo: https://componentes.idee.es/api-idee/?layers=WMTS*http://www.ign.es/wmts/pnoa-ma?*OI.OrthoimageCoverage*GoogleMapsCompatible*imagen*true*image/jpeg*true*true*true&center=-1264453.9015709583,4323899.840546544&zoom=5&maxextent=96388.1179,3959795.9442,621889.9370,4299792.1070

Parámetro controls

Controles a incluir en el mapa, la petición https://componentes.idee.es/api-idee/api/actions/controls, devuelve los disponibles. Pueden incluirse los siguientes controles, separados por coma:

  • scale: escala numérica
  • scaleLine: escala gráfica
  • panzoom: control de zoom
  • panzoombar: control de zoom con barra de nivel
  • getfeatureinfo: consulta de información sobre capas
  • rotate: rotación del mapa
  • backgroundlayers: selector de capa base
  • location: centrado en la posición del usuario

💡 Más información en Controles básicos

Ejemplo: https://componentes.idee.es/api-idee/?controls=location

Parámetro wmcfile

Indica el/los ficheros WMC a cargar. Los distintos contextos deben estar separados por comas.

  • url: url del WMC
  • nombre: nombre que aparecerá en el selector.

Ejemplo: https://componentes.idee.es/api-idee/?wmcfile=https://componentes.idee.es/estaticos/Datos/WMC/satelite.xml*Satelite&projection=EPSG:25830&center=359139.02745,4129794.0256&zoom=6

Parámetro plugins

Añade otras herramientas al mapa, la petición https://componentes.idee.es/api-idee/api/actions/plugins, devuelve los disponibles.

  • attributions: Habilita la visualización de atribuciones de las capas del mapa.
  • backimglayer: Plugin que permite la elección de capas de fondo mediante imágenes o thumbnails.
  • beautytoc: Plugin que permite consultar la cobertura de vuelo sobre la vista.
  • buffer: Plugin que permite el cálculo de áreas de influencia sobre geometrías que se van dibujando sobre la vista.
  • comparepanel: Recopila los comparadores.
  • contactlink: Plugin que provee de enlaces a sitios, redes sociales y correos institucionales.
  • fulltoc: Plugin que permite gestionar y cargar wms y wmts y configurar opacidad, estilos, visibilidad y consulta de metadatos.
  • geometrydraw: Plugin que permite el dibujo y edición de geometrías sobre un mapa, así como su descarga.
  • georefimage: Plugin que permite la descarga de la imagen georeferenciada que se muestra en pantalla.
  • ignsearch: Habilita las búsquedas de direcciones y topónimos sobre los servicios del IGN. Incluye utilidad de geocodificación inversa.
  • ignsearchlocator: Plugin que permite la búsqueda de Direcciones postales y Topónimos.
  • infocatastro: Plugin que muestra la referencia catastral para un punto y provee de enlace a la información de la DGC.
  • infocoordinates: Plugin que muestra las coordenadas de los puntos que se van señalando en el mapa.
  • information: Plugin que muestra información GetFeatureInfo mediante activación de plugin.
  • lyrcompare: Plugin que permite comparar varias capas sobre una cartografía base.
  • measurebar: Herramienta de medición de áreas y distancias.
  • mirrorpanel: Plugin que permite comparar varias capas dividiendo la pantalla en varias partes.
  • mousesrs: Muestra las coordenadas del ratón sobre el mapa y sistema de referencia.
  • overviewmap: Mapa de localización sobre la vista.
  • popup: Plugin que muestra información sobre el visor y acceso al manual de uso.
  • predefinedzoom: Plugin que permite centrar la vista en un área predefinida.
  • printermap: Plugin que permite imprimir el mapa mostrado.
  • rescale: Utilidad que permite hacer zoom a partir de valores introducidos por el usuario.
  • selectiondraw: Plugin que permite dibujar geometrías y obtenerlas al terminar para ser mostradas o para lanzar filtros espaciales.
  • selectionzoom: Plugin que permite la elección de una capa de fondo mediante previsualización de las posibles capas.
  • sharemap: Habilita la compartición de la visión actual del mapa.
  • timeline: Plugin de línea del tiempo.
  • toc: Tabla de contenidos simple para la activación/desactivación de la visualización de capas.
  • topographicprofile: Muestra la topografía de una zona marcada por el usuario.
  • transparency: Plugin que permite aplicar un efecto de transparencia a la capa seleccionada.
  • vectors: Plugin que permite el dibujo y edición de geometrías sobre un mapa, así como su descarga.
  • viewhistory: Plugin que permite navegar entre las vistas visitadas del mapa (anterior y posterior).
  • viewmanagement: Plugin que permite utilizar diferentes herramientas de zoom.
  • xylocator: Herramienta para localizar unas coordenadas sobre el mapa, dadas en un sistema de referencia determinado.
  • zoomextent: Plugin que permite realizar zoom con una caja sobre el mapa.
  • zoompanel: Plugin que ofrece diferentes herramientas de zoom.

💡 Más información en Plugins

Ejemplo: https://componentes.idee.es/api-idee/?popup

API iframe

La API puede ser integrada en páginas web mediante el uso de iframes. A través de la API REST se puede incluir un visualizador interactivo en cualquier página web sin necesidad de disponer de conocimientos específicos en programación ni en el ámbito de los SIG. Para ello únicamente es necesario que el usuario configure el mapa a visualizar a través de una URL:

http://componentes.idee.es/api-idee/visor.jsp

Esto puede integrarse directamente en un iframe:

 <iframe height="600px" width="500px" src="http://componentes.idee.es/api-idee/visor.jsp"></iframe>

💡 En la mayoría de los mapas, puede utilizarse cualquier tamaño de iframe, pero para la correcta visualización y funcionamiento del mismo cuando hay bastantes controles, el tamaño mínimo de este iframe debe de ser width="600" height="400"

Cabe destacar que el uso de iframes conlleva limitaciones en el acceso al DOM del mismo, así como de políticas de origen.

⚠️ **GitHub.com Fallback** ⚠️