-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow qgis to understand and use a GML response from A GetFeatureInfo text/gml request #15777
Comments
Author Name: aperi2007 - (aperi2007 -) An example of a response GML from a Mapserver is this: |
Author Name: Radim Blazek (@blazek) Copy/paste for vectors is currently using selected features, not a result of identify. Too keep it consistent, the same feature for WMS (rasters in general) should also use selected features. What do you mean exactly by "Give to the user the capability to add all of it (geometries + attributes for each records in the GML) into a memory layer."? How it should work from user/GUI point of view? |
Author Name: aperi2007 - (aperi2007 -)
I mean that when an user do a click for identify the qgis will send always the text/html request. If the user choose for the text/gml request. I guess the first immediate use is show the alphanumeric values in a windows and use the geometry to draw a red geometric on the canvas. Exactly as do an identify on a shapefile. So is not possible to have this. Also another use that an user could do of this text/gml response is to use it copy/paste the geometry and attributes on another layer available on the canvas. This as the mainly use of this feature (retrieve the GML with a text/gml GetFeatureInfo request). The retrieve of a geometry from a WMS is surely an important operation so I guess the user want to use that geometry. |
Author Name: Radim Blazek (@blazek) aperi2007 - wrote:
It is possible. Raster identify API was recently generalized to support various formats. It has to be implemented in WMS provider and identify tool.
I think that raster layer API has to be extended to support vector features like current select, getNextFeature etc. but in the new threading version. Any hack with a temporary layer would not be clean solution. In fact, I don't have any idea how it could be implemented to be user friendly and do not mess up source code too much. |
Author Name: aperi2007 - (aperi2007 -)
What do you think when speak of an hack for temporary layer ? I don't see any other solution to allow an user to use as he need and want a geometry returned from a remote request. Can you explain better ? Thx. |
Author Name: Radim Blazek (@blazek) aperi2007 - wrote:
Still I don't know what do you mean exactly by use of temporary layer. Should a new vector layer be added to legend? Should it be hidden and kept by raster layer? I can only imagine sort of such a hack. It would be more work than to add QgsFeatureIterator select() to raster provider.
Form user point of view there would be no difference between raster and vector layer for identify and select tools. Only the select tool would be probably limited to point and rectangle. The identify tool would highlight the geometry in canvas and show feature attributes in pop up window. The select tool would highlight selected features and those features could be copied to clipboard. |
Author Name: aperi2007 - (aperi2007 -) Ok, perhaps I understand the misunderstanding. Usually who work on a GIS world, don't need only see the data on a map, but often need to use them to I understand that for who don't work on GIS the main method to create a new dataset is to trace out from a base raster . The main method we use to create a derivative dataset Perhaps in qgis world this is to with a select geometry and copy/paste. But because the wms is mainly a raster layer. So the best solution is put the result of the text/gml kinf of GetFeatureInfo on a memory layer. |
Author Name: Radim Blazek (@blazek) aperi2007 - wrote:
I am suggesting that WMS raster layer will work like any vector 'base' dataset with select tool.
Yes, I am suggesting to add a piece of vector functionality to WMS, it would become sort of hybrid.
Yes, GetFeatureInfo request would be used by select tool.
I believe that temporary layer is not necessary if we add the necessary functionality of vector layer to WMS layer.
that will be possible
if this is necessary, it should be implemented as "Paste as new (layer)" to get a standard feature available for all vector layers, not only WMS. |
Author Name: Giovanni Manghi (@gioman)
|
Author Name: aperi2007 - (aperi2007 -)
Original Redmine Issue: 6586
Redmine category:web_services_clients/wms
QGIS desktop actually when do an Identify on a WMS LAyer will do a requets GetFeatureInfo of text/html type.
But every wms server is capable to give also a response of GML type.
Also the MapServer has the capability to send the GML and it is on a MultiPart response.
To have this is necessary that the qgis send a request GetFeatureInfo with format type = text/gml.
Also is need that qgis should be capable to understand the multipart response of mapserver . Extract from it the XSD to understand the structure of the GML and after extract also from the response the second part (the real GML data).
After this qgis should be capable to parse the GML and extract the geometry and attributes from it to allow the user to use profittably this informations.
As example to copy/paste the geometry on another local layer.
So A really interesting enhancement should be to
put the qgis desktop capable to do a GetFeatureInfo of text/gml type from a MapServer, and when it was response, parse it to understand all the geometries and attributes in the gml (the gml response could have more records and so more geometries).
Give to the user the capability to add all of it (geometries + attributes for each records in the GML) into a memory layer .
This will allow an user to use it directly or copy/paste each of this geometries on another local layer.
The text was updated successfully, but these errors were encountered: