Skip to content

5. API REST

yaizavalidador edited this page Jun 27, 2023 · 1 revision

Una API-REST (Application Programming Interface - Representational State Transfer) es un conjunto de reglas y protocolos que permiten la comunicación entre diferentes aplicaciones a través de la red. Una API-REST es una implementación de la arquitectura REST, que es un estilo de arquitectura de software para sistemas distribuidos, diseñada para mejorar la escalabilidad y la flexibilidad de los sistemas.

El servicio REST es un tipo de servicio web que se basa en la arquitectura REST. Es decir, es un servicio que sigue los principios de REST, como el uso de URIs (Uniform Resource Identifiers) para identificar recursos, el uso de métodos HTTP (GET, POST, PUT, DELETE, etc.) para realizar operaciones sobre esos recursos, y el uso de formatos de datos estándar como JSON o XML para intercambiar información.

API-CNIG 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 o directamente usar la URL para referenciarlo en un link.

Partiendo de la URL del despliegue: https://componentes.cnig.es/api-core/? podemos añadir opciones para construir un visualizador. Ejemplo añadiendo control de escala: https://componentes.cnig.es/api-core/?controls=scale

Podemos ver todas las opciones disponibles aquí.

Ejemplo de como cargar un visualizador en un iframe:

Este visualizador añade al mapa una capa WMTS y realiza un centrado en el mapa con un zoom.

<!-- El visualizador crea la capa y realiza el centrado usando la URL del parámetro src del iframe -->
<iframe 
  id="CapaRaster" 
  title="CapaRaster" 
  width="800" 
  height="700"
  src="https://componentes.cnig.es/api-core/?layers=WMTS*http://www.ign.es/wmts/mapa-raster?*MTN*GoogleMapsCompatible*imagen*true*image/jpeg*true*true*true&center=-1264453.9015709583,4323899.840546544&zoom=5">
</iframe>

Ejemplo de como crear un visualizador con controles en un iframe:

Este visualizador añade al mapa la escala numérica (scale) y tantos botones como capas base haya, permitiendo cambiar la capa base (backgroundlayers).

<!-- El visualizador añade los controles scale y backgroundlayers al mapa usando la URL del parámetro src del iframe -->
<iframe 
  id="CapaRaster" 
  title="CapaRaster" 
  width="800" 
  height="700"
  src="https://componentes.cnig.es/api-core/?controls=scale,backgroundlayers">
</iframe>

Para utilizar la API-REST de API-CNIG, es necesario realizar peticiones HTTP a la URL de la API correspondiente a cada servicio geoespacial que se desee utilizar. Con esto permite construir un visualizador sin conocimientos previos.

Ejemplos de Capas

Capa WMS:

El visualizador crea una capa WMS al mapa y realiza un centrado en el mapa con un zoom.

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

Capa WMTS:

El visualizador crea una capa WMTS al mapa y realiza un centrado en el mapa con un zoom.

https://componentes.cnig.es/api-core/?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 GeoJSON:

El visualizador crea una capa GeoJSON al mapa.

https://componentes.cnig.es/api-core/?layers=GeoJSON*provincias*https://github.com/codeforgermany/click_that_hood/raw/main/public/data/spain-provinces.geojson*true

Ejemplos de Opciones

Zoom:

El visualizador crea una capa WMTS y establece el nivel de zoom del mapa.

https://componentes.cnig.es/api-core/?layers=WMTS*http://www.ign.es/wmts/pnoa-ma?*OI.OrthoimageCoverage*GoogleMapsCompatible*imagen*true*image/jpeg*true*true*true&zoom=5

Center:

El visualizador crea una capa WMTS y establece el punto central y el nivel de zoom del mapa.

https://componentes.cnig.es/api-core/?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

Ejemplos de Controles

Control Location:

El visualizador añade un botón de centrado en la posición del usuario (location).

https://componentes.cnig.es/api-core/?controls=location

Control Backgroundlayers:

El visualizador añade tantos botones como capas base haya, permitiendo cambiar la capa base (backgroundlayers).

https://componentes.cnig.es/api-core/?controls=backgroundlayers

API REST base de datos

API-CNIG proporciona una serie de funcionalidades en relación con la base de datos que se configuran en config-databases.properties.

Entre las opciones disponibles encontramos:

1.INICIO
   1.1. Componentes de la API-CNIG
   1.2. Documentación y Puntos de acceso
   1.3. Primeros pasos
   1.4. Diagrama API CNIG

2. MAPA
2.1. Capas

 ■ 2.1.1. Fuentes
   • 2.1.1.1. Capas vectoriales
     + Vector
     + WFS
     + GeoJSON
     + KML
     + MVT
     + OGCAPIFeatures
     + MBTilesVector
     + GenericVector
   • 2.1.1.2. Capas ráster
     + WMS
     + WMTS
     + TMS
     + XYZ
     + OSM
     + MBTiles
     + GenericRaster
   • 2.1.1.3. Capas rápidas

 ■ 2.1.2. Simbolización
   • 2.1.2.1. Genérica
     + Puntos
     + Líneas
     + Polígonos
   • 2.1.2.2. Básica
     + Puntos
     + Líneas
     + Polígonos
   • 2.1.2.3. Avanzada
     + Coropletas
     + Proporcional
     + Categorías
     + Estadísticos
     + Mapas de Calor
     + Cluster
     + Línea de flujo
     + Composición

 ■ 2.1.3. Filtros

    2.3. Plugins

2.4. Paneles

  ■ Creación de panel desde cero sin controles

  ■ Tutorial Panel de un único control

  ■ Tutorial Panel de un único control con más de un botón

  ■ Tutorial Panel con más de un control

2.5. Eventos

  ■ Gestión de eventos
  ■ Gestión de eventos en controles personalizados

    2.6. Internacionalización

    2.7. Configuración

    2.8. Acceso librerías base

3. UTILIDADES

4. PROXY

5. API REST
 5.1. Parametrización API-REST
 5.2. Base de Datos API-REST
 5.3. API REST Actions
 5.4. Servicio de correos electrónicos
 5.5. Capas rápidas

6. PARAMETRIZACIÓN VISUALIZADORES

7. SOLUCIÓN DE PROBLEMAS

8. PROCESO DE VERSIONADO

9. GUÍA DE DESARROLLO
  > Guía de desarrollo de plugins
  > Guía de desarrollo de visualizadores con React
  > Guía de desarrollo de componentes
  > Guía para el desarrollo de API-CNIG
  > Compilación proyecto API-CNIG

Clone this wiki locally