Exercices Hydro (TMS + WFS)
Exercice - Hydro TMS raster + WFS#
Objectif identique à l’exercice Hydro WMS, mais avec un flux tuilé TMS raster et l’utilisation de WFS.
- (basez-vous sur l’exemple précédent en supprimant les choses inutiles)
- ajoutez une couche tuilée de type XYZ (flux TMS raster)
- URL:
https://api.ensg.eu/geoserver/gwc/service/tms/1.0.0/ensg:hydro@EPSG%3A900913@png/{z}/{x}/{-y}.png
- URL:
Nous allons maintenant faire appel au flux WFS pour récupérer la feature la plus proche du pixel cliqué. Pour cela :
- ajoutez un événement click sur la carte, et :
- demandez la résolution actuelle d’1 mètre sur le terrain (en fonction du zoom)
let pointResolution = ol.proj.getPointResolution( map.getView().getProjection(), map.getView().getResolution(), evt.coordinate, 'm' )
- récupérez
lat
etlng
(avecevt.coordinate
) - faites appel au service WFS
- URL
https://api.ensg.eu/geoserver/ows?SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&typename=ensg:hydro&outputFormat=application/json&srsName=EPSG:3857
- application d’un filtre CQL pour une requête géométrique
- avec
DWITHIN(expression, expression, distance, unit)
&cql_filter=DWITHIN(the_geom,SRID=3857;POINT(${lat} ${lng}),${pointResolution * 3},meters)
- avec
- URL
- ajoutez les données récupérées (GeoJSON) dans le calque de visualisation de la sélection
- adaptez le code pour afficher le nom du tronçon
- demandez la résolution actuelle d’1 mètre sur le terrain (en fonction du zoom)