#1 Wed 09 June 2010 12:32
- tiolebucheron
- Participant actif
- Lieu: Rouen
- Date d'inscription: 26 Mar 2006
- Messages: 147
[Mapserver] WFS Filter Encoding
Bonjour
J'utilise le WFS Filter Encoding pour interroger un serveur distant. La couche est configurée de la manière suivante :
EPSG:27572
EPSG:4326
EPSG:2154 natif ??
Je fais un WFS Filter Encoding avec un polygon encodé en 21572
Code:
http://ws.carmen.developpement-durable.gouv.fr/WMS/8/nature?&VERSION=1.0.0&SERVICE=WFS&REQUEST=GetFeature&TYPENAME=ZNIEFF_de_type_1&FILTER=%3CFilter%3E%3CIntersect%3E%3CPropertyName%3EGeometry%3C/PropertyName%3E%3Cgml:Polygon%3E%3Cgml:outerBoundaryIs%3E%3Cgml:LinearRing%3E%3Cgml:coordinates%3E367615,2466555%20364793,2474316%20369026,2475374%20371848,2472552%20367615,2466555.5517456%3C/gml:coordinates%3E%3C/gml:LinearRing%3E%3C/gml:outerBoundaryIs%3E%3C/gml:Polygon%3E%3C/Intersect%3E%3C/Filter%3E
Est-il possible d'indiquer la projection au filtre? Est-ce que j'ai une mauvaise analyse du problème?
Merci de votre aide
Tio
Hors ligne
#2 Wed 09 June 2010 13:20
Re: [Mapserver] WFS Filter Encoding
Bonjour,
Il faut vérifier s'il n'y a pas de contraintes de projection pour la partie FE. Je n'ai pas le standard sous les yeux actuellement
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Sun 13 June 2010 23:51
- Benjamin Chartier
- Participant occasionnel
- Date d'inscription: 22 Sep 2005
- Messages: 14
Re: [Mapserver] WFS Filter Encoding
Bonjour,
Oui, Filter Encoding permet d'indiquer le système de coordonnées de la géométrie présente dans le filtre. Pour cela, vous pouvez vous référer aux spécifications de Filter Encoding 1.0 si votre service WFS respecte WFS 1.0. Étant donné que les géométries utilisées par Filter Encoding sont écrites en GML, vous pouvez également vous référer aux spécifications de GML.
Exemple fourni par les spécifications de Filter Encoding 1.0 :
Code:
<Filter> <BBOX> <PropertyName>Geometry</PropertyName> <gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326”> <gml:coordinates>13.0983,31.5899 35.5472,42.8143</gml:coordinates> </gml:Box> </BBOX> </Filter>
Vous devez faire attention à deux choses :
- vérifier que l'opérateur spatial (Equals, Disjoint, Touches...) que vous souhaitez utiliser est supporté par votre service WFS (la liste est normalement présente dans la réponse de la requête GetCapabilities) ;
- vérifier que le système de coordonnées (contenu de l'attribut srsName) est supporté par votre service WFS. Attention, un même système de coordonnées peut avoir des noms très différents d'une implémentation à une autre. Quelques exemples tirés des standards précédemment cités : urn:EPSG:geographicCRS:4326, http://www.opengis.net/gml/srs/epsg.xml#4326, EPSG:4326.
Benjamin Chartier
Dernière modification par Benjamin Chartier (Sun 13 June 2010 23:54)
Hors ligne
#4 Tue 13 July 2010 09:59
- tiolebucheron
- Participant actif
- Lieu: Rouen
- Date d'inscription: 26 Mar 2006
- Messages: 147
Re: [Mapserver] WFS Filter Encoding
Bonjour
Merci de ces informations. Je n'ai pas mis en œuvre ces solutions. Je n'ai pas réussit. J'ai donc, suite à vos indications, convertit les géométries avec postgis avant traitement.
Code:
pg_query($connect_db, "select astext(transform(setsrid(geometryfromtext('".$geom."'), '27572'), '".$src."'));");
Merci de ces informations.
Cordialement
Tio
Hors ligne