[mapserver-users] Spatial Filter with WFS
Yewondwossen Assefa
yassefa at dmsolutions.ca
Tue Nov 23 05:42:46 PST 2010
Hi all,
As noted MapServer does not support gml:Surface. The original request
with gml:Polygon seems to be correct.
Andreas, is it possible to package it and send it to me off list. I can
quickly check what the issue is.
regards,
as noted Mapserver does not support gml:Surface.
On 23/11/2010 8:26 AM, Rahkonen Jukka wrote:
> Hi,
>
> This one may not be the only problem, but I would start by creating a
> valid WFS 1.1.0 request by giving a filter as gml3 or alternatively go
> on with using gml2 filter but changing version to WFS 1.0.0. Here
> below is a WFS 1.1.0 request that works against deegree. It does not
> necessarily work against Mapserver because it can well be that
> Mapserver does not support gml:Surface, even if the surface is a plain
> polygon as in this case. However, you see that gml3 does not use
> <gml:coordinates, it is using <gml:posList and it would be a miracle
> or Mapserver bug or both if your request works.
>
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <wfs:GetFeature xmlns:ogc="http://www.opengis.net/ogc"
> xmlns:gml="http://www.opengis.net/gml"
> xmlns:wfs="http://www.opengis.net/wfs" service="WFS" version="1.1.0"
> maxFeatures="1000" outputFormat="text/xml; subtype=gml/3.1.1">
> <wfs:Query xmlns:app="http://www.deegree.org/app" srsName="EPSG:26912"
> typeName="app:Counties">
> <ogc:Filter>
> <ogc:Intersects xmlns:gml='http://www.opengis.net/gml' >
> <ogc:PropertyName xmlns:app="http://www.deegree.org/app">
> app:position</ogc:PropertyName>
> <gml:Surface srsName='EPSG:26912' >
> <gml:patches>
> <gml:PolygonPatch>
> <gml:exterior>
> <gml:LinearRing>
> <gml:posList srsDimension='2' count='6'>
> 87.0 198.0 149.0 239.0 261.0 202.0 263.0 89.0 161.0 80.0 87.0
> 198.0</gml:posList>
> </gml:LinearRing>
> </gml:exterior>
> </gml:PolygonPatch>
> </gml:patches>
> </gml:Surface>
> </ogc:Intersects>
> </ogc:Filter>
> </wfs:Query>
> </wfs:GetFeature>
> -Jukka Rahkonen-
> --------------------------------------------------------------------------------
> Lähettäjä: mapserver-users-bounces at lists.osgeo.org
> <mailto:mapserver-users-bounces at lists.osgeo.org>
> [mailto:mapserver-users-bounces at lists.osgeo.org] Puolesta Fischer, Andreas
> Lähetetty: 22. marraskuuta 2010 19:36
> Vastaanottaja: mapserver-users at lists.osgeo.org
> <mailto:mapserver-users at lists.osgeo.org>
> Aihe: [mapserver-users] Spatial Filter with WFS
>
> 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
> <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
> <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 <mailto:andreas.fischer at kreis-unna.de>
> www.kreis-unna.de <http://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 Virenfreiheitwird
> ausgeschlossen.
>
>
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
--
----------------------------------------------------------------
Assefa Yewondwossen
Software Analyst
Email: yassefa at dmsolutions.ca
http://www.dmsolutions.ca/
Phone: (613) 565-5056 (ext 14)
Fax: (613) 565-0925
----------------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20101123/3834ec40/attachment.htm>
More information about the MapServer-users
mailing list