[mapserver-users] Filter Encoding with Spatial Filter withinWFS-Request
Rahkonen Jukka
Jukka.Rahkonen at mmmtike.fi
Mon Nov 22 10:44:32 PST 2010
Hi,
Your spatial filter is not WFS 1.1.0 filter because 1.1.0 is using gml3."coordinates" belong to gml2. Have a try with WFS 1.0.0.
-Jukka Rahkonen-
-----Alkuperäinen viesti-----
Lähettäjä: mapserver-users-bounces at lists.osgeo.org puolesta: Fischer, Andreas
Lähetetty: ma 22.11.2010 19:44
Vastaanottaja: mapserver-users at lists.osgeo.org
Aihe: [mapserver-users] Filter Encoding with Spatial Filter withinWFS-Request
Dear MapServer-User,
I configured MapServer version 5.6.5 as WMS- and WFS-Server to offer information about land and properties. I use PostgreSQL/PostGIS (8.4.4/1.5.1) as datastore in this case. The spatial reference system is EPSG:25832 und the type of the geometry is MULTIPOLYGON. OS is Suse Linux Enterprise Server 11, Servicepack1.
WMS and WFS work fine until I use a spatial filter within the getFeature-Request of the WFS. In this case the response doesn't deliver any features. Nevertheless the number of features (e.g. numberOf Features='4') is correct. I tried this out with a couple of different boundingboxes and the known number of features that intersect these boundigboxes. In all cases I do not get any features back, but always the right number. So it seems that at least the intersection of the boundingbox and my data works correctly.
Please take a look at the following request and response that illustrate that problem:
Request:
http://myserver/cgi-bin/mapserv?map=/mapserver/mapfiles/u218768/ku_testwfs.map&REQUEST=getFeature&typename=folie001&SERVICE=WFS&VERSION=1.1.0&
Filter=<ogc:Filter>
<Intersects>
<ogc:PropertyName>msGeometry</ogc:PropertyName>
<gml:Polygon srsName='EPSG:25832'>
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>409350,5709890 409350,5709910 409370,5709910 409370,5709890 409350,5709890</gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</Intersects>
</ogc:Filter>
Response
<?xml version="1.0" encoding="ISO-8859-1" ?>
<wfs:FeatureCollection xmlns:ms="http://mapserver.gis.umn.edu/mapserver" xmlns:gml="http://www.opengis.net/gml" 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://mapserver.gis.umn.edu/mapserver http://myserver/cgi-bin/mapserv?map=/mapserver/mapfiles/u218768/ku_testwfs.map&SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&TYPENAME=folie001&OUTPUTFORMAT=text/xml; subtype=gml/3.1.1 http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd" numberOfFeatures="4">
<gml:boundedBy>
<gml:Envelope srsName="EPSG:25832">
<gml:lowerCorner>-1.000000 -1.000000</gml:lowerCorner>
<gml:upperCorner>-1.000000 -1.000000</gml:upperCorner>
</gml:Envelope>
</gml:boundedBy>
</wfs:FeatureCollection>
Indeed of this behavior the WFS returns features when I do not use a spatial filter. Therefore in my opinion the WFS should be configured right in general. To me the spatial filter seems to be the problem. Unfortunately I do not have any ideas what is going wrong.
For more information you can take a look at my MapFile and a part of the capabilities document returned from the WFS below:
MAP
NAME "ku_testwfs"
STATUS ON
SIZE 400 520
EXTENT 389965 5693582 420177 5732815
UNITS METERS
PROJECTION
"init=epsg:25832"
END
SYMBOLSET "/mapserver/symbols/symbols_alk.sym"
FONTSET "/mapserver/fonts/fonts.fnt"
IMAGECOLOR 255 255 255
WEB
IMAGEPATH "/mapbender/mb262/http/tmp/"
IMAGEURL "http://myserver/mapbender/tmp/"
METADATA
"ows_onlineresource" "http://myserver/cgi-bin/mapserv?map=/mapserver/mapfiles/u218768/ku_testwfs.map"
"ows_title" "Liegenschaftskarte, Kreis Unna"
"ows_accessconstraints" "Nutzung nur für den Dienstgebrauch."
"ows_abstract" "Flurstücksfolie der Liegenschaftskarte."
"ows_contactperson" "Andreas Fischer"
"ows_contactorganization" "Kreis Unna"
"ows_contactposition" "Zentrale Datenverarbeitung, Geodatenmanagement"
"wms_srs" "EPSG:25832 EPSG:31462 EPSG:31463 EPSG:31466 EPSG:31467 EPSG:4326"
"wms_feature_info_mime_type" "text/html"
"wfs_srs" "EPSG:25832"
END #METADATA
END #WEB
LAYER
NAME "folie001"
STATUS ON
TYPE POLYGON
DUMP TRUE
CONNECTIONTYPE postgis
CONNECTION "user=dbuser password=dbpassword dbname=dbname host=dbhost port=dbport"
DATA "the_geom from ku_view_folie001 USING UNIQUE objnr USING SRID=25832"
METADATA
"ows_title" "Flurstücke"
"wms_srs" "EPSG:25832 EPSG:31462 EPSG:31463 EPSG:31466 EPSG:31467 EPSG:4326"
"wms_feature_info_mime_type" "text/html"
"wfs_srs" "EPSG:25832"
"wfs_extent" "389965 5693582 420177 5732815"
"gml_include_items" "all"
"gml_featureid" "objnr"
END #METADATA
CLASS
NAME "Flurstücke"
STYLE
OUTLINECOLOR 0 0 0
WIDTH 1
END # STYLE
END # CLASS
END #LAYER
END #MAPFILE
[...]
- < FeatureTypeList>
- < Operations>
<Query />
</Operations>
- <FeatureType>
<Name>folie001</Name>
<Title>Flurstücke</Title>
<SRS>EPSG:25832</SRS>
<LatLongBoundingBox minx="389965" miny="5.69358e+06" maxx="420177" maxy="5.73282e+06" />
</FeatureType>
</FeatureTypeList>
- <ogc:Filter_Capabilities>
- <ogc:Spatial_Capabilities>
- <ogc:Spatial_Operators>
<ogc:Equals />
<ogc:Disjoint />
<ogc:Touches />
<ogc:Within />
<ogc:Overlaps />
<ogc:Crosses />
<ogc:Intersect />
<ogc:Contains />
<ogc:DWithin />
<ogc:BBOX />
</ogc:Spatial_Operators>
</ogc:Spatial_Capabilities>
- <ogc:Scalar_Capabilities>
<ogc:Logical_Operators />
- <ogc:Comparison_Operators>
<ogc:Simple_Comparisons />
<ogc:Like />
<ogc:Between />
</ogc:Comparison_Operators>
</ogc:Scalar_Capabilities>
</ogc:Filter_Capabilities>
</WFS_Capabilities>
(The LatLongBoundingBox in this case is obviously not in units of LatLon but represent the boundingbox in the offered SRS 25832. This seems to be strange since thes doesn' t occur in the WMS-capabilities document. In this document the LatLongBoundingBox und the BoundingBox in the source SRS are both all right.)
I even tried different versions of MapServer and I discovered a slight difference with other versions. If I change my datasource from PostGIS to OGR/MapInfo Tab former versions of MapServer (5.4.2/5.2.3) provide features as well. But just in case of OGR/MapInfo Tab - not with PostGIS in use! As I have to use PostGIS I'm interested in any hints to solve this problem.
Therefore I would be glad to hear from you!
Thanks so far and best regards!
Andreas
Mit freundlichen Grüßen
Im Auftrag
Andreas Fischer
Kreis Unna - Der Landrat
Zentrale Datenverarbeitung
Friedrich-Ebert-Straße 17
59425 Unna
Fon 02 3 03 27-44 16
Fax 0 23 03 27-28 96
andreas.fischer at kreis-unna.de
www.kreis-unna.de
Diese E-Mail wurde beim Ausgang auf Viren geprueft. Wegen der
potentiellen Gefahr auf den Uebertragungswegen wird zu einer
Vireneingangskontrolle geraten. Eine Haftung für Virenfreiheit
wird ausgeschlossen.
_______________________________________________
mapserver-users mailing list
mapserver-users at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users
More information about the MapServer-users
mailing list