Luis Miguel Agudo Bravo
GIS Developer
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.
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.
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.
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).
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>
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:
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:
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
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
SERVICIOS WFS
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
By Luis Miguel Agudo Bravo