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>

2
  • Is the source for the WFS a shapefile? If it is then the featureid filter will not be available. See bottom of this url resources.arcgis.com/en/help/main/10.1/index.html#/… Commented Sep 4, 2014 at 22:32
  • There isn't a WFS version 1.1.1 see OGC WFS, requesting a non-valid WFS version in a GetFeature request can result in an error. Commented Nov 8, 2016 at 22:31

1 Answer 1

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!!).

2
  • 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).... Commented Sep 5, 2014 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. Commented Nov 8, 2016 at 22:35

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.