Diapositiva 1

Anuncio
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
Descargar