Utilisation de l'opérateur spatial "DWithin"

Discussions autour des WebServices WMS / WFS / WPS de la CUB

Utilisation de l'opérateur spatial "DWithin"

Messagepar Atlas » 08 Février 2012, 15:29

Bonjour, j'ai un problème avec les requêtes WFS : je cherche à limiter les résultats des requêtes à un cercle géographique, en précisant un point (latitude,longitude) et une distance (rayon du cercle en mètre). Grâce à la requête "GetCapabilities", je sais que le serveur dispose de la fonctionnalité "DWithin". D'après mes recherches, cette fonctionnalité correspond parfaitement à mon problème, mais je n'arrive pas à l'utiliser dans mes requêtes http. Pourriez-vous m'indiquer la syntaxe exacte de cette fonctionnalité ?
Atlas
 
Messages: 1
Inscrit le: 08 Février 2012, 15:12

Re: Utilisation de l'opérateur spatial "DWithin"

Messagepar Sébastien Cart-Lamy » 08 Février 2012, 15:50

J'ai trouvé des infos sur le paramètre FILTER, où vous pouvez mettre un filtre spatial. Par exemple pour les objets dans un rectangle, il faut rajouter dans l'URL :
&FILTER=<Filter><BBOX><PropertyName>geometry</PropertyName><gml:Box><gml:coordinates>1400000,4200000 1402000,4202000</gml:coordinates></gml:Box></BBOX></Filter>

Avec ici un carré de 2km de côté (en projection RGF93/CC45 qui est une déclinaison de la projection nationale et projection native de nos données). Il faut évidemment adapter les coordonnées au système de projection que vous utilisez.

Et comme Google est notre ami, j'ai trouvé la variante avec DWithin :
&FILTER=<Filter><DWithin><PropertyName>geometry</PropertyName><gml:Point><gml:coordinates>1400000,4200000</gml:coordinates></gml:Point><Distance units='m'>1000</Distance></DWithin></Filter>
Qui prend tout ce qui est dans un rayon d'1km autour du point
Sébastien Cart-Lamy
Équipe OpenData
Équipe OpenData
 
Messages: 288
Inscrit le: 23 Juin 2011, 17:16

Re: Utilisation de l'opérateur spatial "DWithin"

Messagepar Cub33 » 17 Juillet 2013, 14:39

Bonjour,

Je cherche moi aussi à utiliser le filtre DWithin mais j'ai un soucis avec les coordonnées du point central.

En effet l'URL suivante fonctionne parfaitement :
http://data.lacub.fr/wfs?key=XXXXXXXXXX ... _P&Filter=<Filter><DWithin><PropertyName>geometry</PropertyName><gml:Point><gml:coordinates>1416221.9,4187573.7</gml:coordinates></gml:Point><Distance units='m'>700</Distance></DWithin></Filter>

Sauf que dans cet exemple les coordonnées du centre du cercle sont exprimées en projection RGF93/CC45.
Or, j'ai besoin de saisir les coordonnées de ce centre avec une projection différente (celle de Google Maps)

Mais si dans l'URL je remplace 1416221.9,4187573.7 par 44.849541,-0.578957 (coordonnées de Bordeaux dans Google Maps)
alors le filtre ne fonctionne plus et l'URL ne renvoie rien du tout.

J'ai bien tenté d'ajouter le paramètre suivant :
http://data.lacub.fr/wfs?key=XXXXXXXXXX ... _P&Filter=<Filter><DWithin><PropertyName>geometry</PropertyName><gml:Point srsName="EPSG:4326"><gml:coordinates>44.849541,-0.578957</gml:coordinates></gml:Point><Distance units='m'>700</Distance></DWithin></Filter>

Mais ça ne fonctionne toujours pas.

Pouvez-vous m'indiquer comment utiliser correctement ces coordonnées ?
Cub33
 
Messages: 1
Inscrit le: 17 Juillet 2013, 13:25

Re: Utilisation de l'opérateur spatial "DWithin"

Messagepar Sébastien Cart-Lamy » 17 Juillet 2013, 14:50

Bonjour,
Le serveur utilise la projection de la base (RGF93/CC45) pour appliquer les filtres WFS. La reprojection des paramètres de filter n'est donc pas supportée à l'heure actuelle.

Vous pouvez ajouter un ticket sur le tracker pour le serveur WFS (Sélectionner dans la liste déroulante logiciel "WebService OGC WFS") : http://data.lacub.fr/apicub-tracker
Sébastien Cart-Lamy
Équipe OpenData
Équipe OpenData
 
Messages: 288
Inscrit le: 23 Juin 2011, 17:16

Re: Utilisation de l'opérateur spatial "DWithin"

Messagepar tomtom » 28 Septembre 2014, 23:22

Bonjour,

Je me permet de faire remonter ce sujet.

Je suis confronté au même problème que atlas. J'aimerai pouvoir sélectionner les stations VCUB à proximité d'un point géographique.

J'arrive à exécuter cette requête :
http://data.lacub.fr/wfs?key=###########&request=getfeature&service=wfs&version=1.1.0&typename=CI_VCUB_P&srsname=epsg:4326&Filter=<Filter><DWithin><PropertyName>geometry</PropertyName><gml:Point><gml:coordinates>1416221.9,4187573.7</gml:coordinates></gml:Point><Distance units='m'>700</Distance></DWithin></Filter>

Or j'aimerai pouvoir utiliser des latitudes et longitudes dans mon filtre, j'ai essayé avec la méthode indiqué ci-dessus mais ça ne marche pas :(
http://data.lacub.fr/wfs?key=###########&request=getfeature&service=wfs&version=1.1.0&typename=CI_VCUB_P&srsname=epsg:4326&Filter=<Filter><DWithin><PropertyName>geometry</PropertyName><gml:Point srsName="EPSG:4326"><gml:coordinates>44.858490,-0.569660</gml:coordinates></gml:Point><Distance units='m'>700</Distance></DWithin></Filter>

J'ai aussi testé ceci mais toujours rien...
http://data.lacub.fr/wfs?key=###########&request=getfeature&service=wfs&version=1.1.0&typename=CI_VCUB_P&srsname=epsg:4326&BBOX=43.80,-0.50,45.85,-0.60

Merci d'avance pour vos réponses.
tomtom
 
Messages: 3
Inscrit le: 28 Septembre 2014, 22:49

Re: Utilisation de l'opérateur spatial "DWithin"

Messagepar Sébastien Cart-Lamy » 29 Septembre 2014, 09:42

Bonjour,

La réponse est dans mon message précédent : vous utilisez des coordonnées qui sont en WGS84, or le filtre spatial du WFS ne supporte à l'heure actuelle que le Lambert93/CC45
Sébastien Cart-Lamy
Équipe OpenData
Équipe OpenData
 
Messages: 288
Inscrit le: 23 Juin 2011, 17:16


Retour vers WebServices

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron