[mapserver-users] WMS GetFeatureInfo

Rahkonen Jukka Jukka.Rahkonen at mmmtike.fi
Thu Mar 18 05:14:01 EDT 2010


Hi,

I fear you are in trouble.  WMS standard tells how to send
GetFeatureInfo request and that a server must send the list of supported
formats in the GetCapabilities document. No format is compulsory and
therefore all the the WMS servers are behaving in a different way. The
only interoperability I have found this far is between Mapserver and
deegree WMS. They both send rather similar response to
INFO_FORMAT=application/vnd.ogc.gml. However even with these two there
is some difference in behaviour. If INFO_FORMAT parameter is left out
Mapserver default is text/plain but deegree default is
application/vnd.ogc.gml. And Mapserver does not produce gml at all by
default but the WMS manager must especially make each layer to support
gml output.  On the other hand with Mapserver there is good control over
the attributes included in the GetFeatureInfo but at least Geoserver
sends always all the attributes. Very messy situation. Clients
supporting GetFeatureInfo are not especially clever either. They do not
offer a possibility to select the info format nor featureCount(uDig,
QGis, OpenJUMP with deeJump plugin).  OpenJUMP-deeJUMP use featurecount
of 1000 while uDig and QGis do not use featurecount at all, which means
featurecount=1 and users can't get usable information about overlapping
areas, for example.

I have not studied GetFeatureInfo behaviour actively lately and my
knowledge may be partly outdated.

WFS would work in a more standard way but usually WMS services do not
have a parallel WFS service running.


-Jukka Rahkonen-

Pavel Iacovlev wrote:

> 
> Good day all,
> 
> I am looking for a standard way to query multiple WMS servers and
> merge the results. Example: query a random mapserver and geoserver (or
> any other server) and merge their results.
> I created wms client layer in phpmapscript and it worked perfectly,
> after that I tried "int queryByPoint(pointObj point, int mode, double
> buffer)" but it does nothing, no wms request is sent to the server,
> does mapserver support query by point on a wms layer ?
> After that did not work I tried to create a hack in php. INFO_FORMAT
> text/html and text/plain are not suitable for this job because "I need
> to extract the layers and attributes" in order to merge, so I tried
> "application/vnd.ogc.gml" and I encountered the following problems:
> 1) ArcGIS does not support it
> 2) If one of the layers is raster it returns an exception in 
> Geoserver (bug)
> 3) Mapserver and Geoserver return different results, Mapserver is more
> like a plain GML, GeoServer uses WFS schema or something (not an
> XML,GML guru)
> 
> Should a "standard" prevent this kind of issues ? can anyone suggest a
> better solution ?
> 
> -- 
> http://iap.md, The future is open
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
> 


More information about the mapserver-users mailing list