Tema 4

Servicios Web

11-14 Diciembre 2018

Curso avanzado ArcGIS - IEO

SERVICIOS WEB

Un servicio web es una vía de intercomunicación e interoperabilidad entre máquinas conectadas en Red. Generalmente, la interacción se basa en el envío de solicitudes y respuestas entre un cliente y un servidor, que incluyen datos. Por tanto, podemos entender un servicio web como un tráfico de mensajes entre dos máquinas.

¿QUE es una API?

Es un programa que nos permite a través de una llamada pasar unos datos de entrada y nos genera un resultado a través de unas funciones. Este resultado lo podemos incorporar al programa que estamos desarrollando.

API REST

Representational State Transfer - Transferencia de Estado Representacional

REST usa el propio protocolo HTTP para la comunicación entre máquinas.

 

REST se caracteriza por no tener estado. Es decir, el servidor no es capaz de recordar el estado de la anterior solicitud REST que pudo, o no, hacer un cliente. Por ello, el cliente tiene que enviar en cada solicitud todo el estado de su sesión, lo que se suele hacer mediante un token que le “ayude a recordar” al servidor.

 

REST tiene a simplificar las cosas y en esa misma línea se suele usar un lenguaje diferente para representación de los datos, el lenguaje JSON. Hoy REST y JSON se han convertido en la opción más sencilla y por tanto más recomendable para implementar un servicio web.

API REST

Representational State Transfer - Transferencia de Estado Representacional

Las operaciones más importantes relacionadas con los datos en cualquier sistema REST y la especificación HTTP son cuatro: POST (crear), GET (leer y consultar), PUT (editar) y DELETE (eliminar).

JSON

JavaScript Object Notation

Formato de texto ligero para el intercambio de datos.

{"widget":
    {
        "debug": "on",
        "window": {
            "title": "Sample Konfabulator Widget",
            "name": "main_window",
            "width": 500,
            "height": 500
        },
        "image": { 
            "src": "Images/Sun.png",
            "name": "sun1",
            "hOffset": 250,
            "vOffset": 250
        },
        "text": {
            "data": "Click Here",
            "size": 36,
            "style": "bold",
            "name": "text1",
            "hOffset": 250,
            "vOffset": 100,
            "alignment": "center",
            "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
        }
    }
}    
<widget>
    <debug>on</debug>
    <window title="Sample Konfabulator Widget">
        <name>main_window</name>
        <width>500</width>
        <height>500</height>
    </window>
    <image src="Images/Sun.png" name="sun1">
        <hOffset>250</hOffset>
        <vOffset>250</vOffset>
        <alignment>center</alignment>
    </image>
    <text data="Click Here" size="36" style="bold">
        <name>text1</name>
        <hOffset>250</hOffset>
        <vOffset>100</vOffset>
        <alignment>center</alignment>
        <onMouseUp>
            sun1.opacity = (sun1.opacity / 100) * 90;
        </onMouseUp>
    </text>
</widget>

¿QUE es una API?

Hoy en día hay una gran tendencia al desarrollo y uso de las API REST como protocolo de intercambio y manipulación de datos en los servicios de internet.

Existen infinidad de ejemplos en entornos SIG:

OGC (Open GIS Consortium)

Su fin es la definición de estándares abiertos e interoperables dentro de los Sistemas de Información Geográfica y de la World Wide Web.

OGC (Open GIS Consortium)

Las especificaciones más importantes surgidas del OGC son:

  • GML - Lenguaje de Marcado Geográfico.
  • KML - Keyhole Markup Language es un lenguaje de marcado basado en XML para representar datos geográficos en tres dimensiones.
  • WMS - Web Map Service o Servicio de mapas en la web que produce mapas en formato imagen a la demanda para ser visualizados por un navegador web o en un cliente simple.
  • WFS - Web Feature Service o Servicio de entidades vectoriales que proporciona la información relativa a la entidad almacenada en una capa vectorial (cobertura) que reúnen las características formuladas en la consulta.
  • WCS - Web Coverage Service o Servicio de coberturas en la web (datos raster).
  • CSW - Web Catalogue Service o Servicio de catálogo.

COMO FUNCIONA UN SERVICIO OGC

COMO FUNCIONA UN SERVICIO OGC

COMO FUNCIONA UN SERVICIO OGC

XML proporciona la habilidad de estructurar la información en forma de árbol. Estas partes, en XML se llaman elementos, y están comprendidos dentro de las etiquetas <,>.  

COMO FUNCIONA UN SERVICIO OGC

INFRAESTRUCTURA DE DATOS ESPACIALES

(IDE)

Una IDE es el conjunto de tecnologías, políticas, estándares y recursos humanos para adquirir, procesar, almacenar, distribuir y mejorar la utilización de la información geográfica. Al igual que las carreteras y autopistas facilitan el transporte de vehículos, las IDE facilitan el transporte de información geoespacial.

INFRAESTRUCTURA DE DATOS ESPACIALES

(IDE)

Una IDE se basa en un conjunto de servicios web que ofrecen una serie de funcionalidades que son útiles para la comunidad de usuarios. En las IDE, el concepto fundamental alrededor del que gira toda la concepción del sistema es el servicio y no los datos como ocurre en un SIG

INFRAESTRUCTURA DE DATOS ESPACIALES

(IDE)

DIRECTIVA INSPIRE

DIRECTIVA INSPIRE

La iniciativa INSPIRE surge de la necesidad de disponer de una información geográfica fiable y comparable a nivel comunitario.

•Falta disponibilidad y accesibilidad


•Falta de continuidad en datos transfronterizos


•Información no superponible


•Con distintas simbologías


•Con distinto grado de detalle

Problemas asociados a IG:

DIRECTIVA INSPIRE

•Establecer una Infraestructura de Información Geográfica en Europa basada en unas normas comunes que posibilite el intercambio y reutilización de los datos espaciales digitales con el fin de elaborar políticas de conservación medioambiental

 

•En vigor desde marzo de 2007

 

•Directiva transpuesta a la legislación española

•Ley 14/2010, de 5 de julio, sobre las infraestructuras y los servicios de información geográfica en España (LISIGE)

DIRECTIVA INSPIRE

¿A qué se aplica?

DIRECTIVA INSPIRE

¿A qué se aplica?

DATOS SERVICIOS
•En formato digital

•Cuya producción y mantenimiento sea responsabilidad de una Administración u organismo del Sector Público

•Se refieran a una zona sobre la que un Estado Miembro tenga y/o ejerza jurisdicción

•Se refieran a los temas  de los Anexos I, II  y III
•Que permitan el acceso a los datos anteriores

SERVICIOS WMS Y WMTS

Un Servicio de Visualización de Mapas, también conocido por las siglas WMS produce mapas en la web de forma dinámica a partir de información geográfica. El WMS genera una "imagen digital" como una representación de la información geográfica que esta almacenada en una base de datos, adaptado para la visualización en una pantalla de ordenador. Por tanto, esta imagen digital no consiste en los propios datos, sino en una imagen de los mismos. 

SERVICIOS WMS Y WMTS

SERVICIOS WMS Y WMTS

Los WMS tienen la capacidad de leer los datos en sus formatos originales (dgn, ESshp, geotiff, ecw, conexiones con bases de datos Postgis, Oracle Spatial, ESRI arcSDEetc.), y generar como producto de salida una imagen en formato png, gif, jpg, tiff, etc.

SERVICIOS WMS Y WMTS

A través de los Servicios de Visualización se puede visualizar información geográfica georreferenciada a través de Internet. La información se presenta en forma de capas de información. Para generar un determinado mapa, las capas se superponen según un orden y un valor de transparencia preestablecido.

MASHUP

SERVICIOS WMS Y WMTS

Un servicio de mapas contiene las siguientes operaciones:

  • GetCapabilities (obligatoria): Devuelve los metadatos del servicio, es decir una descripción del contenido de la información del WMS y de los parámetros de petición admisibles.

 

  • GetMap (obligatoria): Devuelve una imagen del mapa cuyos parámetros geoespaciales y dimensionales se han definido en la solicitud.

 

  • GetFeatureInfo (opcional): Devuelve información sobre entidades particulares mostradas en el mapa.

SERVICIOS WMS Y WMTS

GetCapabilities:

La respuesta a una operación GetCapabilities es un documento XML con información general sobre el servicio e información específica del servicio WMS, como por ejemplo el autor o puntos de contacto del servicio, los sistemas de referencia que soporta, los formatos de salida de la imagen, las capas que contiene, los tipos de simbolización de las capas, etc.

SERVICIOS WMS Y WMTS

GetCapabilities:

Dentro del elemento <Capability> se definen las operaciones del WMS que puede soportar (GetCapabilities, GetMap, GetFeatureInfo), las excepciones y las capas de información disponibles.

SERVICIOS WMS Y WMTS

GetMap:

La operación GetMap está diseñada para devolver un mapa, a través de una imagen gráfica o un conjunto de elementos gráficos. Cuando el cliente envía una solicitud GetMap, el servidor de mapas la interpreta y devuelve un mapa. En caso que no pueda generarlo, el servidor debe lanzar una excepción, es decir, un error en el formato de excepción que se ha solicitado. 

SERVICIOS WMS Y WMTS

Para visualizar un mapa en un navegador, la URL consta de unos parámetros que indican:


• Qué información debe ser mostrada en el mapa (capas de información)
• Qué porción de la Tierra debe dibujar (área geográfica)
• El sistema de coordenadas de referencia
• La anchura y la altura de la imagen de salida
• El formato de salida de la imagen
• El estilo con que se representa la información geográfica
• etc.  

SERVICIOS WMS Y WMTS

SERVICIOS WMS Y WMTS

SERVICIOS WMS Y WMTS

GetFeatureInfo:

La operación GetFeatureInfo está diseñada para mostrar los atributos de los Objetos Geográficos (features) que aparecen en el mapa obtenido como resultado de una operación GetMap anterior. Por ejemplo, poder obtener el área de una superficie, o los habitantes de un país.  

SERVICIOS WMS Y WMTS

GetFeatureInfo:

http://www.fao.org/figis/geoserver/species/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetFeatureInfo&CRS=CRS:84&BBOX=-10.7834,33.311910585480128,23.224699999999999,62.497611381733059&WIDTH=482&HEIGHT=414&LAYERS=SPECIES_DIST_CRE&QUERY_LAYERS=SPECIES_DIST_CRE&STYLES=&EXCEPTIONS=XML&INFO_FORMAT=text/html&FEATURE_COUNT=50&I=187&J=113

SERVICIOS WMS Y WMTS

SERVICIOS WMS Y WMTS

Los formatos de la respuesta de la petición GetFeatureInfo se pueden consultar en los formatos que tiene definidos el servicio, y que están listados en el fichero de capacidades:

<Format>text/html</Format>
<Format>application/vnd.ogc.gml</Format>
<Format>text/plain</Format>

SERVICIOS WMS Y WMTS

Como cargar un servicio WMS en ArcGIS:

SERVICIOS WMS Y WMTS

Como crear WMS en ArcGIS:

SERVICIOS WMS Y WMTS

Las ventajas de los servicios WMS son innumerables, entre ellas destacamos su versatilidad en cuanto a la variedad de formatos, sistemas de referencia y capas que soporta. También permite realizar encuadres a medida o definir la resolución. Son fáciles de implementar, una muestra de ello es el número tan alto que existe de servicios WMS implementados.

 

Pero esta versatilidad que en algunos momentos puede ser beneficiosa, se convierte en un inconveniente, es decir, que los parámetros espaciales de las peticiones no están restringidos, hace que cada petición de mapa deba ser atendida en tiempo real mediante un procedimiento, generalmente costoso, que implica acceso a datos de origen, aplicación de estilos, composición de capas y codificación de la imagen comprimida.

SERVICIOS WMS Y WMTS

El servicio de mapas teselado o Web Map Tile Service (WMTS) sirve mapas digitales utilizando teselas de imágenes predefinidas. Tiene niveles de escala predefinidos y en cada nivel de escala en número de teselas o imágenes. Este servicio es más rápido y eficiente que los servicios WMS, pero no se puede configurar.

SERVICIOS WMS Y WMTS

SERVICIOS WMS Y WMTS

Un mismo Conjunto de Datos se sirven como WMS y WMTS, como las ortofotos de una región se pueden servir como WMS y como WMTS.

 

SERVICIOS WMS Y WMTS

Una capa puede estar disponible en varios sistemas de coordenadas, y tener diferente ámbito en función de éstos.
 
- Un Tile Matrix Set o un Conjunto de Matriz de Teselas es una colección de matrices de teselas (rasterizaciones y fragmentaciones) a diferentes escalas para un único CRS (Sistema de Referencia).


- Si un Tile Matrix o Matrix de Teselas, es una colección de teselas para una escala determinada


- Una Tile es una representación rectangular de los datos geográficos.

SERVICIOS WMS Y WMTS

SERVICIOS WMS Y WMTS

La especificación de WMTS de OGC define 4 conjuntos de escalas relevantes o Tile Matrix Set.
 
- GlobalCRS84Scale, es para representar datos vectoriales y el sistema de referencia es CRS84. Tiene definidos 21 niveles de escalas.


- GlobalCRS84Pixel. Representación para datos ráster y el sistema de referencia es CRS84. Tiene definidos 18 niveles de escalas.


- GoogleCRS84Quad, El nivel 0 representa el mundo entero con una tesela de tamaño 256x256 píxeles y sucesivamente se subdivide en dos. Tiene definidos 19 niveles de
escalas.


- GoogleMapsCompatible. Compatible con los niveles de zoom y la proyección de Google Maps y Microsofft Live map, Su Sistema de referencia es EPSG:3857 El nivel 0 representa el mundo entero con una tesela de tamaño 256x256 píxeles y sucesivamente se subdivide en dos. Tiene definidos 19 niveles de escalas.

 

Y la Guía Técnica de Servicio de Visualización de Inspire, define un Tile Matrix Set más,
llamado InspireCRS84Quad.

SERVICIOS WMS Y WMTS

Escalas ArcGIS / Bing Maps / Google Maps

20 : 1128.497220
19 : 2256.994440
18 : 4513.988880
17 : 9027.977761
16 : 18055.955520
15 : 36111.911040
14 : 72223.822090
13 : 144447.644200
12 : 288895.288400
11 : 577790.576700
10 : 1155581.153000
9  : 2311162.307000
8  : 4622324.614000
7  : 9244649.227000
6  : 18489298.450000
5  : 36978596.910000
4  : 73957193.820000
3  : 147914387.600000
2  : 295828775.300000
1  : 591657550.500000

SERVICIOS WMS Y WMTS

SERVICIOS WMS Y WMTS

Es posible determinar la posición de cualquier tesela a partir de sus coordenadas (TileCol, TileRow), calculando lo que mide una tesela en unidades terreno y teniendo en cuenta la distancia en X y en Y desde la esquina superior izquierda.

SERVICIOS WMS Y WMTS

Un servicio teselado de mapas contiene las siguientes operaciones:

GetCapabilities, GetTile y GetFeatureInfo

SERVICIOS WMS Y WMTS

GetCapabilities:

La operación de GetCapabilities, obligatoria en todos los servicios web OGC, permite al cliente solicitar y recibir del servidor las características del servicio; que en este caso son una descripción detallada de las capas disponible en el servidor y de los patrones de
matrices de fragmentación que siguen.

 

SERVICIOS WMS Y WMTS

GetCapabilities:

SERVICIOS WMS Y WMTS

GetCapabilities:

En el ejemplo anterior las imágenes del Mapa Raster se sirve en 6 Sistemas de Referencia (CRS) diferentes definidos en los siguientes TileMatrixSet:


- InspireCRS84Quad
- EPPSG:4326
- EPSG:4258
- EPSG:25830
- EPSG:25828
- GoogleMapsCompatible 

SERVICIOS WMS Y WMTS

GetCapabilities:

SERVICIOS WMS Y WMTS

GetTile:

Una vez conocidas las capacidades del servidor WMTS, la operación de GetTile permite al cliente solicitar y recibir una tesela de una de sus capas, a una escala, estilo de visualización y formato determinado.

SERVICIOS WMS Y WMTS

GetTile:

SERVICIOS WMS Y WMTS

GetFeatureInfo​:

Permite obtener la información sobre el contenido de un píxel particular del mapa. Los parámetros necesarios son:

SERVICIOS WMS Y WMTS

Como cargar un servicio WTMS en ArcGIS:

SERVICIOS WFS

El Servicio de Descarga WFS define las operaciones web para la consulta, acceso y edición los «objetos geográficos» (Features en inglés) vectoriales.

SERVICIOS WFS

  • WFS es el estándar creado por el OGC para enviar y recibir objetos geográficos a través de HTTP.
  • WFS codifica y transfiere la información en lenguaje Geography Markup Language IGN-CNIG (GML), un lenguaje de etiquetado geográfico.
  • Todo los WFS soportan entrada y salida de datos utilizando lenguaje GML.
  • Algunos WFS también soportan otras codificaciones, como por ejemplo GeoRSS o ficheros shapefile.
  • El WFS no es un servicio pensado para la descarga masiva de información

SERVICIOS WFS

SERVICIOS WFS

Un mismo objeto geográfico se puede servir a través de diferentes servicios web, por ejemplo una capa de Unidades Administrativas competencia de una determinada organización lo puede publicar mediante un servicio de visualización WMS y de un servicio de descarga WFS.

 

Para que la interoperabilidad de la información y los servicios de mapas sea posible es necesario que los WFS cumplan con las especificaciones de la OGC.

SERVICIOS WFS

SERVICIOS WFS

  • Las operaciones de localización (discovery operations) permiten que el servicio sea interrogado para determinar cuáles son sus capacidades y recuperar el esquema de aplicación que define aquellos tipos de objetos geográficos que se ofrecen y las operaciones que se pueden desarrollar sobre ellos.

 

  • Las operaciones de consulta (query operations) permiten recuperar los objetos geográficos, así como las propiedades a ellos asociadas.

 

  • Las operaciones de bloqueo (locking operations) permiten un acceso exclusivo a los objetos geográficos con el propósito de modificarlos o borrarlos.

SERVICIOS WFS

  • Las operaciones de transacción (transaction operations) permiten crear, cambiar, reemplazar o borrar objetos geográficos de un contenedor de datos.

 

  • Las operaciones de consultas pregrabadas (stored query operations)  permiten que el cliente cree, descargue, liste y describa expresiones parametrizadas de búsqueda, que han sido guardadas por el servidor y que pueden ser invocadas de forma repetida. Estas operaciones solamente están definidas para la versión 2.0.0

SERVICIOS WFS

SERVICIOS WFS

GetCapabilities:

La respuesta a la operación GetCapabilities, es un fichero XML, el documento de capacidades con información general sobre el servicio e información específica los objetos geográficos disponibles y las operaciones que se pueden realizar sobre ellos.

SERVICIOS WFS

GetCapabilities:

SERVICIOS WFS

GetCapabilities:

La estructura del documento de capacidades WFS es diferente a la estructura del fichero de capacidades del servicio WMS. En el siguiente esquema se muestra la estructura general del documento XML del documento de capacidades WFS.  

SERVICIOS WFS

GetCapabilities:

La estructura del documento de capacidades WFS es diferente a la estructura del fichero de capacidades del servicio WMS. En el siguiente esquema se muestra la estructura general del documento XML del documento de capacidades WFS.  

SERVICIOS WFS

GetFeature:

La respuesta a una operación GetFeature es un fichero GML que devuelve una  selección de objetos geográficos (fenómenos).

 

Además, el cliente debe tener la posibilidad de solicitar las propiedades del objeto geográfico que desea y de realizar tanto consultas espaciales como no espaciales.  

SERVICIOS WFS

GetFeature:

SERVICIOS WFS

GetFeature:

SERVICIOS WFS

GetFeature:

SERVICIOS WFS

GetFeature:

SERVICIOS WFS

GetFeature:

SERVICIOS WFS

GetFeature:

SERVICIOS WFS

GetFeature:

SERVICIOS WFS

GetFeature:

Como cargar un servicio WFS en ArcGIS:

Solo es posible con la extensión Data Interoperability

http://ecoafrik.maps.arcgis.com/home/item.html?id=c888ef5c895348e7ad20e24338422e1c

Luis Miguel Agudo

lmagudo@gmail.com

IEO - Curso Avanzado GIS - Tema4 - Servicios Web

By Luis Miguel Agudo Bravo

IEO - Curso Avanzado GIS - Tema4 - Servicios Web

  • 718