Protocolos OGC Protocolos OGC ÍNDICE XML Web Map Service (WMS) Web Feature Service (WFS) Web Coverage Service (WCS) Filtros XML XML son las siglas de eXtensible Markup Languaje. Es un markup language para describir datos y no para representarlos. Las etiquetas no están predefinidas (como en HTML), sino que deben ser definidas por el usuario. XML ¿Cómo almaceno y transporto el dato? HTML ¿Cómo muestro el dato? Introducción a XML Atributo “format” Elemento Raíz <CATALOG> Elemento <ALBUM> Atributo “currency” Elemento <TITLE> Elemento <ARTIST> Elemento <PRICE> Texto: The dock of the bay Texto: Otis Redding Texto: 9.90 XML <?xml version="1.0" encoding="ISO-8859-1"?> <CATALOG> <ALBUM format=“cd”> <TITLE>Unchain my heart</TITLE> <ARTIST>Joe Cocker</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Atlantic</COMPANY> <PRICE currency=“dollars”>7.90</PRICE> <YEAR>1987</YEAR> </ALBUM> <ALBUM format=“dvd”> <TITLE>The dock of the bay</TITLE> <ARTIST>Otis Redding</ARTIST> <COUNTRY>UK</COUNTRY> <COMPANY>CBS Records</COMPANY> <PRICE currency=“dollars”>9.90</PRICE> <YEAR>1988</YEAR> </ALBUM> </CATALOG> XML Los datos se almacenan independientemente a cómo serán representados. Simplifica la compartición de datos entre sistemas informáticos. Los datos pueden compartirse entre distintas plataformas. Proporciona una mayor disponibilidad a los datos. Protocolos OGC ÍNDICE XML Web Map Service (WMS) Web Feature Service (WFS) Web Coverage Service (WCS) Filtros Web Map Service (WMS) Descripción Métodos WMS Reflector Versionado Formatos de salida Ejercicios Descripción El Servicio Web Map Service (WMS) proporciona métodos para representar imágenes georeferenciadas Las versiones soportadas del servicio son 1.1.1 y 1.3.0 Métodos Métodos más comunes: GetCapabilities: Información sobre el propio servicio GetMap: Representar mapas de colores GetFeatureInfo: Datos asociados a un punto del mapa GetLeyendGraphic: Leyenda de un mapa GetCapabilities El método GetCapabilities retorna información sobre el servicio WMS: Métodos que soporta el servicio Capas (mapas) accesibles Sistemas de Referencias de Coordenadas (SRS). Formatos de salida soportados (PNG, KML, GeoTIFF,...). GetCapabilities Parámetros: service, version *: wms, 1.1.1 request *: GetCapabilities Llamada GetCapabilities: 1 http://localhost:8080/geoserver/wms?service=wms&version=1.1.1&req uest=GetCapabilities GetMap El método GetMap se usa para representar mapas de colores y geometrías Parámetros más habituales: service, version *: wms, 1.1.1 request *: GetMap layers *: Listado de capas a representar width,height *: Ancho y largo de la imagen en píxeles format *: Formato de la imagen de salida. bbox *: Coordenadas de la extensión de terreno. srs *: Sistema de coordenadas de la representación GetMap Llamada básica GetMap: 2 http://localhost:8080/geoserver/wms?service=wms&version=1.1.1&req uest=GetMap&layers=ms0:gc_anual_250&width=640&height=702&for mat=image/png&bbox=416125,3064125,465875,3118875&srs=EPSG: 32628 Llamada con dos capas: 3 http://localhost:8080/geoserver/wms?service=wms&version=1.1.1&request=G etMap&layers=ms0:gc_anual_250,ms0:gc_stations&width=640&height=70 2&format=image/png&bbox=416125,3064125,465875,3118875&srs=EPSG:3 2628 GetMap La representación de las capas se realiza a través de estilos Un estilo define cómo se ha de representar cada punto de la capa Una capa puede tener asociado más de un estilo (más de una representación) Los estilos se suelen usar para crear mapas basados en cada una de las variables significativas de la capa. GetFeatureInfo El método GetFeatureInfo se usa para obtener los datos asociados a un punto del mapa. Los estándares recomiendan usar el método GetFeature del servicio WFS Ventajas: Usa muchos de los parámetros de GetMap Usa coordenadas de la pantalla y no geográficas GetFeatureInfo Parámetros específicos: x, y *: Coordenadas del punto en pantalla query_layers *: Listado de las capas info_format *: Formato de salida (text/plain, text/html, application/vnd.ogc.gml) feature_count *: Número de registros de la salida Llamada básica: 4 http://localhost:8080/geoserver/wms?service=wms&version=1.1.1&request=GetFeatureInfo&la yers=ms0:gc_anual_250&width=640&height=702&bbox=416125,3064125,465875,3118875&sr s=EPSG:32628&query_layers=ms0:gc_anual_250&x=320&y=240&info_format=text/html GetLegendGraphic El método GetLegendGraphic crea dinámicamente una leyenda del mapa La leyendas se crea para un estilo de la capa Parámetros más habituales: service, version *: wms, 1.1.1 request *: GetLegendGraphic layer *: Capa para la que se crea la leyenda width,height *: Ancho y largo en píxeles style *: Estilo para el que se genera la leyenda GetLegendGraphic Llamada básica GetLegendGraphic: 5 http://localhost:8080/geoserver/wms?service=wms&version=1.1.1&requ est=GetLegendGraphic&layer=ms0:gc_anual_250&format=image/png& width=100&height=50 WMS Reflector El método GetMap no es intuitivo: Requiere que el usuario especifique una gran cantidad de parámetros Sintaxis complicada y propensa a errores Geoserver añade el método no estándar Reflector para simplificar las llamadas Comportamiento por defecto inteligente Solo requiere la capa a representar WMS Reflector La llamada GetMap: http://localhost:8080/geoserver/wms?service=wms&version=1.1.1&request= GetMap&layers=ms0:gc_anual_250&width=640&height=480&format=image/ png&bbox=416125,3064125,465875,3118875&srs=EPSG:32628 Con Reflector se simplifica a: 6 http://localhost:8080/geoserver/wms/reflect?layers=ms0:gc_anual_250 Versionado 1.3.0 vs 1.1.1 1.3.0 1.1.1 "latitud/longitud" (y/x) "longitud/latitud" (x/y) Parámetro GetMap crs srs Parámetro GetFeatureInfo iyj xey Coordenadas Formatos de salida Los formatos de salida más habituales son: Tipo Parámetro PNG format=image/png JPEG format=image/jpeg GIF format=image/gif TIFF format=image/tiff GeoTIFF format=image/geotiff PDF format=application/pdf KML format=kml KMZ format=kmz OpenLayers format=application/openlayers Ejercicios 1. Mostrar el mapa de Gran Canaria probando con otras resoluciones. Comprobar que la relación de aspecto no se conserva de forma automática. 2. Reducir el Bounding Box. Usar WMS Reflect para conservar la relación de aspecto. Comprobar que no se muestra toda la isla. 3. 7 8 Mostrar la leyenda para la capa de las estaciones radiométricas. 9 4. 10 Mostrar en Openlayers la capa del Mapa Solar y la capa de las estaciones radiométricas. 5. ¿Cómo podríamos obtener el título, la descripción y las palabras claves asociadas a las dos capas? Obtener estos datos. 6. Averiguar qué estilos existen disponibles para la capa de estaciones radiométricas. Luego mostrar la capa con un estilo que no sea el establecido por defecto. 7. 11 Mostrar al mismo tiempo la capa del Mapa Solar y la capa de las estaciones radiométricas. El primero con el estilo IGHCD y el segundo con el estilo de color blanco. 12 Protocolos OGC ÍNDICE XML Web Map Service (WMS) Web Feature Service (WFS) Web Coverage Service (WCS) Filtros Web Feature Service (WFS) Descripción Métodos Versionado Formatos de salida Ejercicios Descripción El Servicio Web Feature Service (WFS) proporciona métodos para descargar conjuntos de datos vectoriales a través de HTTP Aporta transparencia y se favorece la compartición de datos (OpenData y Conocimiento Libre) Las versiones soportadas del servicio son 1.1.0 y 1.0.0 Métodos Métodos más comunes: GetCapabilities: Información sobre el propio servicio GetFeature: Descargar datos de la capa DescribeFeatureType: Información sobre las capa de datos GetCapabilities El método GetCapabilities retorna información sobre el servicio WFS: Métodos que soporta el servicio Capas (mapas) accesibles Formatos soportados de los datos de salida GetCapabilities Parámetros: service, version *: wfs, 1.1.0 request *: GetCapabilities Llamada GetCapabilities: 13 http://localhost:8080/geoserver/wfs?service=wfs&version=1.1.0&reque st=GetCapabilities GetFeature El método GetFeature se usa para descargar los datos de una capa Parámetros más habituales: service, version *: wfs, 1.1.0 request *: GetFeature typeName *: Capa de datos maxFeatures: Número máximo de datos propertyName: Campos de datos a descargar outputFormat: Formato de salida de los datos bbox: Limitar la descarga al espacio delimitado srs: SRS de los datos de salida GetFeature Parámetros más habituales: sortBy: Propiedad por la que se deben ordenar los datos. El prefijo +A marca orden ascendente, y +D orden descendente resultType: Retornar el conjunto de datos (results) o solo el número de registros de datos (hits) Llamada básica GetFeature: 14 http://localhost:8080/geoserver/wfs?service=wfs&version=1.1.0&request =GetFeature&typeName=ms0:gc_anual_250 GetFeature Llamada limitando el número de registros a 10: 15 http://localhost:8080/geoserver/wfs?service=wfs&version=1.1.0&reque st=GetFeature&typeName=ms0:gc_anual_250&maxFeatures=10 Llamada limitando el número de registros a 10, ordenados por la propiedad IGHCD en orden descendente 16 http://localhost:8080/geoserver/wfs?service=wfs&version=1.1.0&request=GetF eature&typeName=ms0:gc_anual_250&maxFeatures=10&sortBy=IGHCD+D DescribeFeatureType El método DescribeFeatureType se usa para obtener metainformación de las capas de datos accesibles Parámetros más habituales: service, version *: wfs, 1.1.0 request *: DescribeFeatureType typeName *: Capa de datos Llamada básica DescribeFeatureType (capas ordenadas por espacio de trabajo): 17 http://localhost:8080/geoserver/wfs?service=wfs&version=1.1.0&request=De scribeFeatureType DescribeFeatureType Llamada DescribeFeatureType de una sola capa: 18 http://localhost:8080/geoserver/wfs?service=wfs&version=1.1.0&request=D escribeFeatureType&typeName=ms0:gc_anual_250 Versionado 1.1.0 vs 1.0.0 Formato de salida Formato SRS 1.1.0 1.0.0 GML3 GML2 urn:x-ogc:def:crs:EPSG:XXXX http://www.opengis.net/gml/s rs/epsg.xml#XXXX Formatos de salida Los formatos de salida más habituales son: Tipo Parámetro GML3 GML3 GML2 GML2 Shape file SHAPE-ZIP CSV csv JSON json Ejercicios 1. Obtener los primeros 50 registros del mapa solar. 19 2. Ordenar los registros de la llamada anterior en orden ascendente según el valor de la variable IGH. 20 3. 21 ¿Cuántos registros de datos contiene el boundingbox definido por las coordenadas (este: 431000, norte: 3098500, oeste: 432000, sur: 3099000)? Usar el SRS EPSG:32628. 4. Obtener los datos de la llamada anterior en formato CSV solo para las propiedades X,Y e IGH 5. 22 Obtener los datos de la capa del mapa solar en formato Shapefile. Instalar la capa en Geoserver. Protocolos OGC ÍNDICE XML Web Map Service (WMS) Web Feature Service (WFS) Web Coverage Service (WCS) Filtros Web Coverage Service (WCS) Descripción Métodos Formatos de salida Ejercicios Descripción Web Coverage Service (WCS) proporciona acceso a datos de tipo ráster. Matrices de datos Imágenes georeferenciadas (sin otra información) Las versiones soportadas del protocolo son la 1.0 y la 1.1.1 Métodos Métodos del servicio WCS: GetCapabilities: Información sobre el propio servicio DescribeCoverage: Información sobre la capa de datos GetCoverage: Descargar datos de la capa GetCapabilities El método GetCapabilities retorna información sobre el servicio WFS: Métodos que soporta el servicio Capas (mapas) accesibles GetCapabilities Parámetros: service, version *: wcs, 1.1.1 request *: GetCapabilities Llamada GetCapabilities: 23 http://localhost:8080/geoserver/wcs?service=wcs&version=1.1.1 &request=GetCapabilities GetCoverage El método GetCoverage retorna los datos o la imagen que constituye la capa de tipo ráster Parámetros más habituales: service, version * : wcs, 1.1.1 request *: GetCoverage identifier *: Código de la capa boundingbox *: Coordenadas de la extensión de terreno format *: Formato de salida. No todos son válidos store *: Indica si la respuesta se almacena en el servidor GetCoverage Parámetros más habituales: GridOffsets: distancia entre celda y celda GridBaseCRS *: SRS de los datos de salida 24 http://localhost:8080/geoserver/wcs?service=wcs&version=1.1.1&reque st=GetCoverage&identifier=ms0:gc_dem_1000&boundingbox=416000. 0,3067000.0,466000.0,3119000.0,urn:ogc:def:crs:EPSG:404000&forma t=ArcGrid&GridOffsets=1000,-1000&store=true DescribeCoverage El método DescribeCoverage retorna una descripción completa de una capa de tipo ráster Parámetros más habituales: service,version *: wcs, 1.1.1 request *: DescribeCoverage identifiers *: lista de los códigos de las capas a obtener Llamada básica DescribeCoverage: 25 http://localhost:8080/geoserver/wcs?service=wcs&version=1.1.1 &request=DescribeCoverage&identifiers=ms0:gc_dem_1000 Formatos de salida Los formatos de salida más habituales son: Tipo Parámetro PNG format=png GeoTIFF format=geotiff GIF format=png TIFF format=tiff GTopo30 format=gtopo30 ArcGrid format=ArcGrid Gzipped format=ArcGrid-GZIP Ejercicios 26 1. Obtener el coverage ms0:gc_igh_tiff en formato Tif 2. Obtener el coverage ms0:gc_dem_1000 en formato Tif 27 Protocolos OGC ÍNDICE XML Web Map Service (WMS) Web Feature Service (WFS) Web Coverage Service (WCS) Filtros Filtros Descripción Operadores CQL Ejercicios Descripción Los filtros permiten afinar las consultas de los servicios WMS y WFS Puntos con IGH > 5000 Puntos con IGH > 5000 y IGHCD > 6300 Sintaxis CQL (Common Query Language) Más fácil de leer Operadores conocidos Problema con caracteres especiales HTTP Descripción Parámetro cql_filter cql_filter=<expression CQL> Ejemplos: cql_filter=IGH>5000 cql_filter=IGH>5000 AND IGHCD>6300 Operadores Incluye soporte para operadores de tipo: Comparación: Compara los valores de dos argumentos (propiedades y literales) Lógicos: Construye expresiones que se evalúan a TRUE o FALSE Espaciales: Funciones que evalúan propiedades de las geometrías Temporales: Funciones que evalúan propiedades que varían en el eje temporal Operadores Los operadores de comparación son: <, >, =, <> (distinto), <=, >= BETWEEN valeur_1 AND valeur_2 valeur LIKE (texte_expression) Carácter comodín del operador LIKE: % %25 Operadores Los operadores de comparación son: <, >, =, <> (distinto), <=, >= BETWEEN valeur_1 AND valeur_2 valeur LIKE (texte_expression) Carácter comodín del operador LIKE: % %25 cql_filter=IGH > 6000 cql_filter=IGH BETWEEN 5000 AND 5500 cql_filter=INSTITUTIO LIKE (‘Cabildo%25’) Operadores 28 http://localhost:8080/geoserver/wms/reflect?layers=ms0:gc_anual_250 &cql_filter=IGH>5000 29 http://localhost:8080/geoserver/wms/reflect?layers=ms0:gc_anual_250 &cql_filter=IGH BETWEEN 5000 AND 5500 30 http://localhost:8080/geoserver/wms/reflect?layers=ms0:gc_stations& cql_filter=INSTITUTIO LIKE (‘Cabildo%25’) Operadores Los operadores lógicos son: AND: TRUE si los dos operandos son TRUE OR: TRUE si uno de los operandos es TRUE NOT: Invierte el valor del operando cql_filter= (IGH>5500) AND (IGHCD>6000) cql_filter=INCLUDE;NOT(INSTITUTIO LIKE 'Cabildo%25‘) Operadores 31 http://localhost:8080/geoserver/wms/reflect?layers=ms0:gc_anual_250 &cql_filter= (IGH>5500) AND (IGHCD>6000) 32 http://localhost:8080/geoserver/wms/reflect?layers=ms0:gc_anual_250, ms0:gc_stations&cql_filter=INCLUDE;NOT(INSTITUTIO LIKE(Cabildo%25)) Operadores Los operadores espaciales más importantes son: DWithin: TRUE si la distancia entre las dos geometrías es menor a un valor especificado Beyond: TRUE si la distancia entre las dos geometrías es mayor a un valor especificado BBOX,Intersects: TRUE si dos geometrías intersectan en dos dimensiones Disjoint: TRUE si las dos geometrías no intersectan Operadores Los operadores espaciales más importantes son: Within: TRUE si la primera geometría está completamente contenida en la segunda Touches: TRUE si las dos geometrías tienen al menos un punto no interior en común Crosses: TRUE si las dos geometrías tienen en común puntos interiores Operadores La sintaxis para usar los operadores es: nomOperateur(nomVariable, géometrie_1, géometrie_2) Se ha de especificar el nombre de la variable que contiene la geometría en la capa. Habitualmente este es “the_geom” Las geometrías son puntos, líneas, geometrías POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING, MULTIPOLYGONGEOMETRYCOLLECTION Operadores Las coordenadas de las geometrías se definen como un listado de pares de coordenadas POLYGON(-90 40, -90 45, -60 45, -60 40, -90 40) 33 http://localhost:8080/geoserver/wms/reflect?layers=ms0:gc_anual_250, ms0:gc_stations&cql_filter=BBOX(the_geom,448865.765,3106007. 658,462128.884,3118667.520) 34 http://localhost:8080/geoserver/wms/reflect?layers=ms0:gc_anual_250, ms0:gc_stations&cql_filter=BEYOND(the_geom, POINT(-15.592 27.970), 10000, meters) Ejercicios 1. Filtro ECQL que muestre: 35 Los puntos con IGH mayor que 6000, e IGHCD mayor que 6300 de la capa ms0:gc_anual_250 Y los puntos cuyo campo INSTITUTIO contenga la palabra Canarias de la capa ms0:gc_stations 2. Mostrar las estaciones radiométricas que se encuentren a menos de 10 Km del punto (X:458582, Y:3074870) 36 Ignacio López Rodríguez Yeray Gutiérrez Cedrés Esther Elizondo Mujica