5.WFS

Post on 07-Sep-2014

167 views 0 download

Tags:

Transcript of 5.WFS

1

Web Feature Service

Modulo: Cartografía en la web

Daniela Ballaridaniballari@gmail.com

Maestría en Geomática Universidad de Cuenca

2

Temario

1 ¿Qué es un WFS?

2 ¿Qué puede hacer un WFS?

3 ¿Cómo funciona?

4 Operaciones (GetCapabilities, DescribeFeatureType, GetFeature)

5 Prácticas con MapServer

6 Instalación y prácticas con Geoserver

7 Filter Encoding

3

Planteo del problemaAnalogía con Infraestructura de TransporteDefinición de IDENaturaleza de una IDE

¿Qué es un WFS?¿Qué puede hacer un WFS?

¿Cómo funciona?

4

WMS superpone mapas de múltiples servicios de mapas en internet.

WFS consulta y recupera de datos vectoriales desde múltiples servicios remotos.

¿Qué es un WFS?

5

GetCapabilitiesDescribe capacidades, tipos de «features» y operaciones que soporta en cada tipo de «feature».

GetFeature Devuelve el «feature» en formato GML u otro.

Transaction Crear, Actualizar y Borrar features.

LockFeature Petición de bloqueo sobre una o más features mientras dure la transacción

DescribeFeatureType Describe estructura del «feature» pedido.

¿Qué puede hacer un WFS? – 5 Operaciones

6

Secuencia de Peticiones

7

metadatos del servicioDatos en GMLActualización de un featureBorrado de un feature

¿Cómo funciona un Web Feature Service?

Servidor WFS

Petición

Cliente WFSRespuesta

Get

Post

8

Herramienta para método Post

Geoserverintalar

Puerto 8085

9

Planteo del problemaAnalogía con Infraestructura de TransporteDefinición de IDENaturaleza de una IDE

GetCapabilities

10

GetCapabilities

http://host?service=WFS&version=1.0.0&request=GetCapabilities

<GetCapabilities  service="WFS"  xmlns="http://www.opengis.net/wfs"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd"/>

Get

Post

11

Actividad

Realiza una petición WFS GetCapabilities Get y Post utilizando el servidor de geoserver:

http://localhost:8085/geoserver/wfs?

¿Que tipo de información contiene el documento xml?

12

WFS_GetCapabilities

Service IdentificationAnd provider

Operation Metadata

FeatureTypeList

Metadatos del servicio Y del proveedor

Peticiones aceptadas por el WFS

Listado de “capas” y sus metadatos

FilterCapabilities

Operadores aceptados para realizar filtros

GetCapabilities: Respuesta

13

Planteo del problemaAnalogía con Infraestructura de TransporteDefinición de IDENaturaleza de una IDE

DescribeFeatureType

14

Elige un Feature topp:states

DescribeFeatureType

Queremos más información sobre este FeatureType

15

Describe la estructura del feature que ofrece el wfs: sus campos, ocurrencia, tipo de elemento

(string, float, coordenadas)

Esquema de xml: xsd

• Necesidad: con petición getFeature se generará un documento gml que deberá validarse con el esquema de la petición DescribeFeatureType

DescribeFeatureType

16

REQUEST DescribeFeatureType

VERSION 1.0.0SERVICE WFSTYPENAME FeatureType1, FeatureType2,…

DescribeFeatureType

17

DescribeFeatureType

http://localhost:8085/geoserver/wfs?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&TypeName=topp:states

<DescribeFeatureType  version="1.1.0"  service="WFS"  xmlns="http://www.opengis.net/wfs"  xmlns:topp="http://www.openplans.org/topp"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd">      <TypeName>topp:states</TypeName></DescribeFeatureType>

Get

Post

18

DescribeFeatureType

19

Planteo del problemaAnalogía con Infraestructura de TransporteDefinición de IDENaturaleza de una IDE

GetFeature

20

REQUEST GetFeature

VERSION 1.1.0

SERVICE WFS

TYPENAME FeatureType1, FeatureType2,…

PROPERTYNAME Elementos del esquema xsd (DescribeFeatureType)Si no se completa devolverá todas las propiedades

FEATUREREVISION Para features que tienen distintas versiones

MAXFEATURE Número máximo de features que el WFS devolveráSi no se completa devolverá todos los features

FEATUREID Consulta de features por su identificador

FILTER Según Filter-Encoding Specification

BBOX Petición por medio de coordenadas extremas

GetFeature

21

GetFeature

<wfs:GetFeature service="WFS" version="1.1.0"  xmlns:topp="http://www.openplans.org/topp"  xmlns:wfs="http://www.opengis.net/wfs"  xmlns:ogc="http://www.opengis.net/ogc"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://www.opengis.net/wfs                      http://schemas.opengis.net/wfs/1.1.0/wfs.xsd">  <wfs:Query typeName="topp:states">    <ogc:Filter>       <ogc:FeatureId fid="states.3"/>    </ogc:Filter>    </wfs:Query></wfs:GetFeature>

Post

22

http://localhost:8085/geoserver/wfs?service=WFS&version=1.0.0&request=GetFeature&typeName=topp:states&maxFeatures=50&outputFormat=SHAPE-ZIP

GetFeature

Get

23

Qgis

1. Abre el GML descargado y el shapefile con Qgis2. Carga una capa WFS en Qgis

24

MapServer como WFS

25

MapServer como WFS

WEBMETADATA "wfs_title" "....." "wfs_onlineresource" ".... ""wfs_srs" " … "End End

26

MapServer como WFS

LAYER ... DUMP TRUEMETADATA

"ows_title" " … " "ows_srs" " … "

"ows_enable_request" "*"" "gml_include_items" "all" ## Optional "gml_featureid" "ID" ## REQUIREDENDEND

27

Planteo del problemaAnalogía con Infraestructura de TransporteDefinición de IDENaturaleza de una IDE

Prácticas con Geoserver

28

Conceptos

Workspace = spacenames Store=datastore layer=featuretype Layergroup

29

Interface de administración

http://localhost:8085/geoserver

Login: admin – geoserver

Contact information

30

Workspace

Data workspace add new workspace

31

Store = Shapefile

Data store add new store shapefile

32

Store = Shapefile

33

Incluir:

SRS = EPSG:4326

SRS handling = Force declared

Bounding Boxes = click Compute from data and Compute from native bounds

Preview layers

Store = Shapefile

34

Datos Raster: Geotiff

35

Múltiples layers desde directorio

36

Layer group

37

Postgis

38

Filter Encoding

39

Una expresión de filtrado “filter expression” es una construcción usada para restringir los valores de propiedades de un tipo de objeto

Ej: toda la población mayor de 65 años La provincia cuyo nombre es “Azuay” Todos los ríos contenidos en la provincia de Azuay.

¿Qué es?

40

Para ser usado por cualquier servicio OGC. WFS, Gazetteer, Web Registry Service, Web Coverage

Service, SLD

Los filtros se construyen en xml

OGC filter encoding

41

Filtros

Operadores Espaciales

Operadores de Comparación

Operadores Logicos

ID

Tipos de operadores

42

Filter encoding: id

<wfs:GetFeature service="WFS" version="1.1.0" xmlns:topp="http://www.openplans.org/topp" xmlns:wfs="http://www.opengis.net/wfs" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd"> <wfs:Query typeName="topp:states"> <ogc:Filter> <ogc:FeatureId fid="states.3"/> </ogc:Filter> </wfs:Query></wfs:GetFeature>

WFS_getFeature-1.1.xml

43

Dentro de lascapacidades del WFS sedefinen los operadores yfunciones soportadas

Operadores Espaciales

Filter encoding

44

<wfs:Query typeName="topp:states">    <wfs:PropertyName>topp:STATE_NAME</wfs:PropertyName>    <wfs:PropertyName>topp:PERSONS</wfs:PropertyName>    <ogc:Filter>      <ogc:BBOX>        <ogc:PropertyName>the_geom</ogc:PropertyName>        <gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">           <gml:lowerCorner>-75.102613 40.212597</gml:lowerCorner>           <gml:upperCorner>-72.361859 41.512517</gml:upperCorner>        </gml:Envelope>      </ogc:BBOX>   </ogc:Filter>  </wfs:Query>

Operadores Espaciales

Filter encoding: BBOX WFS_getFeatureBBOX-1.1.xml

45

Filter encoding

PropertyIsEqualTo (=)PropertyIsNotEqualTo ( != (<>))PropertyIsLessThan (<)PropertyIsGreaterThan (>)PropertyIsLessThanOrEqualTo (<=)PropertyIsGreaterThanOrEqualTo (>=)PropertyIsLike: operador de comparación de cadenas de caracteres.PropertyIsNull: Operador que chequea para ver si el valor de su contenido es nulo.PropertyIsBetween: Los valores más altos o más bajos están incluidos.

Operadores de Comparación

46

Filter Encoding: PropertyIsEqualTo

<wfs:Query typeName="topp:states"> <ogc:Filter> <PropertyIsEqualTo> <PropertyName>STATE_NAME</PropertyName> <Literal>Delaware</Literal> </PropertyIsEqualTo> </ogc:Filter> </wfs:Query>

WFS_getFeature-1.1.xml

47

Filter Encoding

Para combinar una o más expresiones de condición.

Combinar expresiones lógicas, espaciales o escalares

AND, OR, NOT

En el archivo de capacidades:

Operadores Logicos

48

<ogc:Filter> <And> <PropertyIsGreaterThan>

<PropertyName>topp:LAND_KM</PropertyName><Literal>5000</Literal>

</PropertyIsGreaterThan> <PropertyIsLessThan> <PropertyName>PERSONS</PropertyName> <Literal>700000</Literal> </PropertyIsLessThan> </And> </ogc:Filter>

Filter Encoding: and

49

? ?? ? ??