[mapserver-users] WFS GetFeature w/Spatial Filter

myOpenLayersUName joanne.mcgraw at SYMPATICO.CA
Wed Jul 20 13:38:38 PDT 2011


Hello,

I am trying to do a getFeature request with a Filter using the WITHIN
spatial operator. I have a MapServer with the GEOS library compiled in and I
am able to get an example working (or not, as the case may be) that exhibits
my problem. I am getting an incorrect response to my getFeature request.

The request is against a line layer (Shapefile, not SDE as noted in another
of my active posts at the moment...they're all really just trying to get to
this point) and includes a spatial filter delineating a polygon. I want to
learn what features in the line layer (Roads25M) actually fall within the
polygon submitted (I am limiting the response to 2 features just for testing
purposes; ultimately I will want to know all the roads that fall within the
polygon.)

My request is:

http://<domain>/ogc/joanne?typename=Roads25M&maxfeatures=2&filter=<ogc:Filter
xmlns:ogc="http://www.opengis.net/ogc"><ogc:Or><ogc:Intersects><ogc:PropertyName>msGeometry</ogc:PropertyName><gml:Polygon
xmlns:gml="http://www.opengis.net/gml"
srsName="EPSG:42304"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates
decimal="." cs="," ts=" ">-1679350.2423216,1550622.4768356
-1816404.334979,992616.52815892 -1552085.7277111,718508.34284404
-1258398.3863023,845772.85745452 -1385662.9009128,1296093.4476147
-1679350.2423216,1550622.4768356</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogc:Intersects></ogc:Or></ogc:Filter>&service=wfs&version=1.0.0&request=getfeature


Here's the filter string a little easier to read:

&filter=<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
    <ogc:Or>
        <ogc:Intersects>
            <ogc:PropertyName>msGeometry</ogc:PropertyName>
            <gml:Polygon xmlns:gml="http://www.opengis.net/gml"
srsName="EPSG:42304">
                <gml:outerBoundaryIs>
                    <gml:LinearRing>
                        <gml:coordinates decimal="." cs="," ts="
">-1679350.2423216,1550622.4768356 -1816404.334979,992616.52815892
-1552085.7277111,718508.34284404 -1258398.3863023,845772.85745452
-1385662.9009128,1296093.4476147
-1679350.2423216,1550622.4768356</gml:coordinates>
                    </gml:LinearRing>
                </gml:outerBoundaryIs>
            </gml:Polygon>
        </ogc:Intersects>
    </ogc:Or>
</ogc:Filter>



The response is:

<wfs:FeatureCollection
xsi:schemaLocation="http://www.opengis.net/wfs
http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd
http://mapserver.gis.umn.edu/mapserver
http://<domain>/ogc/joanne?SERVICE=WFS&VERSION=1.0.0&REQUEST=DescribeFeatureType&TYPENAME=Roads25M&OUTPUTFORMAT=XMLSCHEMA">
  <gml:boundedBy>
    <gml:null>missing</gml:null>
  </gml:boundedBy>
</wfs:FeatureCollection>


There are no errors in logs that I can find and as far as MapServer is
concerned it appears to have successfully processed the request.

I have created a Shapefile out of the Polygon coordinates I provide in the
request and when I display it and the Roads Shapefile in ArcMap, there is
obviously some overlap. In ArcMap, I can perform a "Select by Location"
where I "Select features from" Roads that "intersect" Polygon. It highlights
9 records.

I assume there is something wrong with the XML defining my spatial filter
that is causing no results to be returned but can't determine what it might
be. Does anything jump out at anyone?

Cheers,
jtm


--
View this message in context: http://osgeo-org.1803224.n2.nabble.com/WFS-GetFeature-w-Spatial-Filter-tp6604244p6604244.html
Sent from the Mapserver - User mailing list archive at Nabble.com.



More information about the MapServer-users mailing list