5.wfs
TRANSCRIPT
![Page 1: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/1.jpg)
1
Web Feature Service
Modulo: Cartografía en la web
Daniela [email protected]
Maestría en Geomática Universidad de Cuenca
![Page 2: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/2.jpg)
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
![Page 3: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/3.jpg)
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?
![Page 4: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/4.jpg)
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?
![Page 5: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/5.jpg)
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
![Page 6: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/6.jpg)
6
Secuencia de Peticiones
![Page 7: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/7.jpg)
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
![Page 8: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/8.jpg)
8
Herramienta para método Post
Geoserverintalar
Puerto 8085
![Page 9: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/9.jpg)
9
Planteo del problemaAnalogía con Infraestructura de TransporteDefinición de IDENaturaleza de una IDE
GetCapabilities
![Page 10: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/10.jpg)
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
![Page 11: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/11.jpg)
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?
![Page 12: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/12.jpg)
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
![Page 13: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/13.jpg)
13
Planteo del problemaAnalogía con Infraestructura de TransporteDefinición de IDENaturaleza de una IDE
DescribeFeatureType
![Page 14: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/14.jpg)
14
Elige un Feature topp:states
DescribeFeatureType
Queremos más información sobre este FeatureType
![Page 15: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/15.jpg)
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
![Page 16: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/16.jpg)
16
REQUEST DescribeFeatureType
VERSION 1.0.0SERVICE WFSTYPENAME FeatureType1, FeatureType2,…
DescribeFeatureType
![Page 17: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/17.jpg)
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
![Page 18: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/18.jpg)
18
DescribeFeatureType
![Page 19: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/19.jpg)
19
Planteo del problemaAnalogía con Infraestructura de TransporteDefinición de IDENaturaleza de una IDE
GetFeature
![Page 20: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/20.jpg)
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
![Page 21: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/21.jpg)
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
![Page 22: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/22.jpg)
22
http://localhost:8085/geoserver/wfs?service=WFS&version=1.0.0&request=GetFeature&typeName=topp:states&maxFeatures=50&outputFormat=SHAPE-ZIP
GetFeature
Get
![Page 23: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/23.jpg)
23
Qgis
1. Abre el GML descargado y el shapefile con Qgis2. Carga una capa WFS en Qgis
![Page 24: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/24.jpg)
24
MapServer como WFS
![Page 25: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/25.jpg)
25
MapServer como WFS
WEBMETADATA "wfs_title" "....." "wfs_onlineresource" ".... ""wfs_srs" " … "End End
![Page 26: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/26.jpg)
26
MapServer como WFS
LAYER ... DUMP TRUEMETADATA
"ows_title" " … " "ows_srs" " … "
"ows_enable_request" "*"" "gml_include_items" "all" ## Optional "gml_featureid" "ID" ## REQUIREDENDEND
![Page 27: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/27.jpg)
27
Planteo del problemaAnalogía con Infraestructura de TransporteDefinición de IDENaturaleza de una IDE
Prácticas con Geoserver
![Page 28: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/28.jpg)
28
Conceptos
Workspace = spacenames Store=datastore layer=featuretype Layergroup
![Page 29: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/29.jpg)
29
Interface de administración
http://localhost:8085/geoserver
Login: admin – geoserver
Contact information
![Page 30: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/30.jpg)
30
Workspace
Data workspace add new workspace
![Page 31: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/31.jpg)
31
Store = Shapefile
Data store add new store shapefile
![Page 32: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/32.jpg)
32
Store = Shapefile
![Page 33: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/33.jpg)
33
Incluir:
SRS = EPSG:4326
SRS handling = Force declared
Bounding Boxes = click Compute from data and Compute from native bounds
Preview layers
Store = Shapefile
![Page 34: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/34.jpg)
34
Datos Raster: Geotiff
![Page 35: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/35.jpg)
35
Múltiples layers desde directorio
![Page 36: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/36.jpg)
36
Layer group
![Page 37: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/37.jpg)
37
Postgis
![Page 38: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/38.jpg)
38
Filter Encoding
![Page 39: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/39.jpg)
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?
![Page 40: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/40.jpg)
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
![Page 41: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/41.jpg)
41
Filtros
Operadores Espaciales
Operadores de Comparación
Operadores Logicos
ID
Tipos de operadores
![Page 42: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/42.jpg)
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
![Page 43: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/43.jpg)
43
Dentro de lascapacidades del WFS sedefinen los operadores yfunciones soportadas
Operadores Espaciales
Filter encoding
![Page 44: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/44.jpg)
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
![Page 45: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/45.jpg)
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
![Page 46: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/46.jpg)
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
![Page 47: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/47.jpg)
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
![Page 48: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/48.jpg)
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
![Page 49: 5.WFS](https://reader033.vdocuments.site/reader033/viewer/2022052123/540bebdfdab5ca51778b47b8/html5/thumbnails/49.jpg)
49
? ?? ? ??