3

This has baffled me for hours, I've tried nearly every combination of request parameters without success.

I have a points coverage published in ArcGIS and can download the feature GML via WFS for the entire layer using the following request (sorry the server is not available on the internet):

http://mymachine.com/arcgis/services/DMS/DMS_WELLS/MapServer/WFSServer?SERVICE=WFS&VERSION=1.1.1&REQUEST=GetFeature&typeName=iwiswells&

Which returns XML for each feature member in the layer like so:

<wfs:FeatureCollection xsi:schemaLocation="http://server/arcgis/services/DMS/DMS_WELLS/MapServer/WFSServer http://server/arcgis/services/DMS/DMS_WELLS/MapServer/WFSServer?request=DescribeFeatureType%26version=1.1.0%26typename=iwiswells http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd">
    <gml:boundedBy>
        <gml:Envelope srsName="urn:ogc:def:crs:EPSG:6.9:4326">
            <gml:lowerCorner>28.522 -10.5</gml:lowerCorner>
            <gml:upperCorner>80.469 65.01144</gml:upperCorner>
        </gml:Envelope>
    </gml:boundedBy>
    <gml:featureMember>
        <DMS_DMS_WELLS:iwiswells>
            <DMS_DMS_WELLS:FID>0</DMS_DMS_WELLS:FID>
            <DMS_DMS_WELLS:Shape>
                <gml:Point>
                    <gml:pos>64.994 7.5312</gml:pos>
                </gml:Point>
            </DMS_DMS_WELLS:Shape>
            <DMS_DMS_WELLS:gid>1</DMS_DMS_WELLS:gid>
            <DMS_DMS_WELLS:sitelocid>101</DMS_DMS_WELLS:sitelocid>
            <DMS_DMS_WELLS:site_ref>101/1</DMS_DMS_WELLS:site_ref>
            <DMS_DMS_WELLS:latitude>24.9943</DMS_DMS_WELLS:latitude>
            <DMS_DMS_WELLS:longitude>47.5002</DMS_DMS_WELLS:longitude>
        </DMS_DMS_WELLS:iwiswells>
    </gml:featureMember>
    <gml:featureMember>
        ...
    </gml:featureMember>
</wfs:FeatureCollection>

In GeoServer to select the single feature with a feature id of 10 I would use the following WFS request:

http://mymachine.com/geoserver/iwis/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=iwis:points&featureid=10&

And this results in on feature member begin returned. What I'm looking for is an ArcGIS WFS equivalent!

I have read all the documentation, all the specifications but my request either results in the entire feature list being returned or an error message, here's a few requests I have tried:

http://mymachine.com/arcgis/services/DMS/DMS_WELLS/MapServer/WFSServer?SERVICE=WFS&VERSION=1.1.1&REQUEST=GetFeature&featureid=10&

http://mymachine.com/arcgis/services/DMS/DMS_WELLS/MapServer/WFSServer?SERVICE=WFS&VERSION=1.1.1&REQUEST=GetFeature&typeName=iwiswells&CQL_FILTER=FID='10'&

I've even tried using a filter on a different attribute without success:

http://mymachine.com/arcgis/services/DMS/DMS_WELLS/MapServer/WFSServer?SERVICE=WFS&VERSION=1.1.1&REQUEST=GetFeature&typeName=iwiswells&filter=<Filter><PropertyIsEqualTo><PropertyName>site_ref</PropertyName><Literal>10</Literal></PropertyIsEqualTo></Filter>

1

Well it took a while to figure out but persistence paid off! After following an example from here http://resources.arcgis.com/en/help/main/10.1/index.html#//0154000004rz000000#ESRI_SECTION1_ACCAFEFDC733487AA2BD9547A768AA08 I managed to get what I was after using the <ogc:filter> tag, when using the filter tag I had to make sure I was fully qualifying the tag (ie <ogc:filter> rather than <filter>)

Here's the solution: http://mymachine.com:6443/arcgis/services/DMS/DMS_WELLS/MapServer/WFSServer?service=WFS&request=GetFeature&version=1.1.0&typename=DMS_DMS_WELLS:iwiswells&Filter=<ogc:Filter><ogc:PropertyIsEqualTo><ogc:PropertyName>site_ref</ogc:PropertyName><ogc:Literal>10</ogc:Literal></ogc:PropertyIsEqualTo></ogc:Filter>

Moral of the story: if you can't get it to work try try try again! (even if you get no responses from the community!!).

  • 1
    Forgot to mention the &CQL_FILTER=... is a geoserver thing and not covered under the OGC specification and therefore not implemented by ESRI's arcgis server (unfortunately).... – Christian Weaves Sep 5 '14 at 14:06
  • is a geoserver thing and not covered under the OGC specification That's not correct. CQL was created by the OGC for catalogue services. – nmtoken Nov 8 '16 at 22:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.