WMS GetFeatureInfo problem with ArcSDE layer

Ian Miller ian.miller at SPATIALVISION.COM.AU
Tue Nov 22 05:55:55 EST 2005


I have a mapserver map file with many ArcSDE layers defined in it and am
calling this via a WMS client.  For many layers (point and polygon), the
GetFeatureInfo request works correctly, returning a GML string with the one
or many results.

For a number of layers however, both point and polygon, I am getting one of
two different errors.  In some cases, the feature(s) returned are nowhere
near the point clicked, even though the BBOX coordinates included in the
request are correct.  eg for the request:

http://203.21.120.26/cgi-bin/mapserv?
map=amsis.map&VERSION=1.0.0&SERVICE=WFS&REQUEST=GetFeature&MAXFEATURES=100&O
UTPUTFORMAT=GML2&TYPENAME=PETROLEUMWELLS&BBOX=119.7781007751938,-
17.236434108527135,119.88791989664084,-17.126614987080103

the return is:

<?xml version='1.0' encoding="ISO-8859-1" ?><wfs:FeatureCollection
xmlns:myns="http://www.ttt.org/myns"
xmlns:wfs="http://www.opengis.net/wfs"
xmlns:gml="http://www.opengis.net/gml"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/wfs
http://schemas.opengeospatial.net/wfs/1.0.0/WFS-
basic.xsd                        http://www.ttt.org/myns
http://203.21.120.26/cgi-bin/mapserv?
map=amsis.map&amp;SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=DescribeFeatureT
ype&amp;TYPENAME=PETROLEUMWELLS&amp;OUTPUTFORMAT=XMLSCHEMA">
<gml:boundedBy>       <gml:Box srsName="EPSG:4326">
 <gml:coordinates>119.822556,-17.166944 119.822556,-
17.166944</gml:coordinates>       </gml:Box>      </gml:boundedBy>
<gml:featureMember>      <myns:PETROLEUMWELLS>
<gml:boundedBy>         <gml:Box srsName="EPSG:4326">
 <gml:coordinates>144.671667,-8.282500 144.671667,-
8.282500</gml:coordinates>         </gml:Box>
</gml:boundedBy>        <myns:msGeometry>        <gml:Point
srsName="EPSG:4326">          <gml:coordinates>144.671667,-
8.282500</gml:coordinates>        </gml:Point>
</myns:msGeometry>        <myns:OBJECTID>595</myns:OBJECTID>
<myns:FEATURETYPE>Petroleum Well</myns:FEATURETYPE>
<myns:ENO>10567</myns:ENO>        <myns:WELL>Dibiri  1A</myns:WELL>
<myns:TOTALDEPTH>4895</myns:TOTALDEPTH>
<myns:STATUS>Dry</myns:STATUS>        <myns:OPERATOR>Phillips Aust Oil
Co</myns:OPERATOR>        <myns:CONTRACTOR></myns:CONTRACTOR>
<myns:TITLE></myns:TITLE>        <myns:SHORE></myns:SHORE>
<myns:FIELD></myns:FIELD>        <myns:WELLTYPE></myns:WELLTYPE>
<myns:ELEVATION>&amp;lt;null&amp;gt;</myns:ELEVATION>
<myns:SOURCE>Geoscience Australia</myns:SOURCE>
<myns:SCALE>10000000</myns:SCALE>
<myns:ACCURACYESTIMATE>0</myns:ACCURACYESTIMATE>
<myns:DATACURRENCY>00:00:00 05/25/2005</myns:DATACURRENCY>
<myns:UPDATEFREQUENCY>5</myns:UPDATEFREQUENCY>
<myns:CREATIONDATE>&amp;lt;null&amp;gt;</myns:CREATIONDATE>
<myns:RETIREMENTDATE>&amp;lt;null&amp;gt;</myns:RETIREMENTDATE>
<myns:PID>&amp;lt;null&amp;gt;</myns:PID>
<myns:SYMBOL>0</myns:SYMBOL>
<myns:SHAPE>&amp;lt;shape&amp;gt;</myns:SHAPE>
<myns:SE_ROW_ID>561</myns:SE_ROW_ID>      </myns:PETROLEUMWELLS>
</gml:featureMember></wfs:FeatureCollection>

You can see the gml:boundedBy box coordinates match the request BBOX
coordinates but the returned feature is in a totally different place.  If I
query this ArcSDE layer from a client like ArcMap it works correctly.  Note
that if I export the ArcSDE layer to a shapefile and use that with
mapserver, the result is also correct.

Possibly related, some polygon layers also fail, although the symptoms are
different.  In that case I get a truncated return GML string such as:

<?xml version="1.0" encoding="ISO-8859-1"?><msGMLOutput
xmlns:gml="http://www.opengis.net/gml"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <PETROLEUMACREAGERELEASE_layer>

which would appear to indicate that the process terminated abnormally mid
request but if I use a debug-enabled version of mapserver I don't see any
error message.  Again, exported to shapefiles the request works correctly.

Note that in both cases if I use a WFS GETFEATURE in place of the WMS
GetFeatureInfo I get similar errors.

Can anyone help?



More information about the mapserver-users mailing list