[Qgis-developer] Incosistencies in QGIS Mapserver's GetFeatureInfo WMS responses

Marcel Dancak dancakm at gmail.com
Thu Mar 6 04:23:39 PST 2014


Hello,

I have created a pull request that should fix all inconsistencies/bugs in
WMS GetFeatureInfo response, one for master and one for relese-2_2 branch.
I wasn't able to test mapserver from current master cause it is probably
broken, but the same changes in release2_2 branch works as expected.

Master branch: https://github.com/qgis/QGIS/pull/1227
Release-2_2 branch: https://github.com/qgis/QGIS/pull/1226


Regards,
Marcel


2014-03-04 10:53 GMT+01:00 Marcel Dancak <dancakm at gmail.com>:

> I made a mistake in summarization, global bounding box in point
> identification shouldn't be computed and returned
>
>
> 2014-03-04 10:36 GMT+01:00 Marcel Dancak <dancakm at gmail.com>:
>
> Hi Marco,
>>
>> It's more complicated to fix all issues and let server to return bounding
>> boxes of matched features in proper CRS and without transforming features
>> geometries. The best solution that I could find is to add
>> QgsCoordinateTransform* transform parameter into QDomElement
>> QgsWMSServer::createFeatureGML method. I will perform more tests on my
>> version, but to be sure what should mapserver return for both text/xml and
>> application/vnd.ogc.gml formats, here is quick summarization:
>>
>> * in point identification, return features geometries, bounding boxes and
>> global bounding box in requested CRS only if 'Add geometry to feature
>> response' is checked
>> * in search with FILTER parameter, always return features bounding boxes
>> and global bounding box in requested CRS, and return also features
>> geometries in requested CRS if 'Add geometry to feature response' is checked
>>
>> Could you please confirm it?
>>
>>
>> Marcel
>>
>>
>> 2014-02-28 8:17 GMT+01:00 Marco Hugentobler <
>> marco.hugentobler at sourcepole.ch>:
>>
>> Hi Marcel
>>>
>>> Thanks for spotting this issue, it will be good to have a consistent
>>> behaviour with / without filter and for all output formats.
>>>
>>> Adding geometry / bounding box has been done for showing rubberbands and
>>> for handling search results (zoom to features that match the filter).
>>> Therefore, the bounding boxes need to be included even if 'add geometry to
>>> feature response' is not checked. The added bounding box was meant for
>>> cases where the geometry data should be kept private, but searching should
>>> be possible.
>>>
>>> I agree with the other points, please prepare a pull request.
>>>
>>> Regards,
>>> Marco
>>>
>>>
>>>
>>> On 27.02.2014 14:11, Marcel Dancak wrote:
>>>
>>>> Hello,
>>>>
>>>> I found some inconsistencies in QGIS Mapserver in GetFeatureInfo WMS
>>>> responses in GML format:
>>>>
>>>> Identification by point coordinates (X/Y or I/J parameters):
>>>> ------------------------------------------------------------
>>>>  - returns geometry data of every feature in layer's CRS only if 'Add
>>>> geometry to feature response' in project settings is checked
>>>>  - returns bounding box of every feature in layer's CRS only if 'Add
>>>> geometry to feature response' in project settings is checked
>>>>  - doesn't returns global bounding box of all matched features
>>>> collection
>>>>
>>>> Searching by attributes (FILTER parameter)
>>>> ------------------------------------------
>>>>  - always returns geometry data of every feature in layer's CRS
>>>>  - always returns bounding box of every feature in layer's CRS
>>>>  - always returns global bounding box of all matched features
>>>> collection in requested CRS (SRS/CRS parameter), but this value (whole XML
>>>> element) is correct only for text/xml format, because bounding box value is
>>>> computed only for text/xml format, but it's XML element is included in
>>>> server response regardless of concrete XML output format.
>>>>
>>>>
>>>> I'm able to fix these issues and prepare pull request(s). This is my
>>>> suggestion:
>>>>  - return geometry data of every feature in requested CRS only if 'Add
>>>> geometry to feature response' is checked
>>>>  - return bounding box of every feature in requested CRS only if 'Add
>>>> geometry to feature response' is checked
>>>>  - return global bounding box of all matched features collection in
>>>> requested CRS only if 'Add geometry to feature response' is checked, and in
>>>> proper XML element depending on output format - <BoundingBox
>>>> CRS="EPSG:4326" maxx="1" minx="-1" maxy="1" miny="-1"/> for text/xml and
>>>> <gml:boundedBy><gml:Box srsName="EPSG:4326"><gml:coordinates cs=","
>>>> ts=" ">-1,-1 1,1</gml:coordinates></gml:boundedBy> for GML format.
>>>>
>>>>
>>>> Marcel Dancak
>>>>
>>>
>>>
>>> --
>>> Dr. Marco Hugentobler
>>> Sourcepole -  Linux & Open Source Solutions
>>> Weberstrasse 5, CH-8004 Zürich, Switzerland
>>> marco.hugentobler at sourcepole.ch http://www.sourcepole.ch
>>> Technical Advisor QGIS Project Steering Committee
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20140306/fd4b11b7/attachment.html>


More information about the Qgis-developer mailing list