[Qgis-user] Programmatically extract WMS data based on point layer?
Richard Duivenvoorde
rdmailings at duif.net
Mon Oct 19 05:07:24 PDT 2020
Hi Jorge, Bernd,
I thought to play with that, but ...
although I get a valid result, I cannot get to the actual features in python:
TypeError: unable to convert a C++ 'QgsFeatureStoreList' instance to a Python object
So I'm not sure if you could (currently) easily come to the actual feature...
What I did (working with a national buildings WMS, and a (to me) known valid x,y,width/height etc:
l=qgis.utils.iface.addRasterLayer(
"crs=EPSG:28992&layers=Bebouwingvlak&styles=&format=image/png&url=https://geodata.nationaalgeoregister.nl/kadastralekaart/wms/v4_0?", # uri
"buildings", # name for layer (as seen in QGIS)
"wms" # dataprovider key
)
result = l.dataProvider().identify( QgsPointXY(104606,490213),
QgsRaster.IdentifyFormatFeature,
QgsRectangle(104391.1406077263819,490161.0749502293766,104899.6563292678911,490283.3410253541078),
1465,
352,
96)
print(result.isValid()) # prints True
print(result.results())
# prints TypeError: unable to convert a C++ 'QgsFeatureStoreList' instance to a Python object
Regards,
Richard Duivenvoorde
PS @Bernd: you are sure there is no WFS running there (if it is a Geoserver instance, it often has (silently) also a WFS....)?
On 10/19/20 1:36 PM, Jorge Gustavo Rocha wrote:
> Hi Bernd,
>
> Try rlayer.dataProvider().identify()
>
> Checks the docs at https://docs.qgis.org/3.10/en/docs/pyqgis_developer_cookbook/raster.html#query-values
>
> Good luck,
>
> Jorge
>
> Às 12:25 de 19/10/20, Bernd Vogelgesang escreveu:
>> Hi there,
>>
>> unfortunately I am provided with data only in form of a WMS layer
>> representing areas as polygons.
>> These areas match with the cadastral boundaries.
>> I am looking for a way how to hand over the data from the WMS to my
>> cadastral units to be able to really work with these informations.
>>
>> I created a "Point on surface" layer of the cadastre.
>> Is there any pythonic or other way to "mimic" the "Identify features"
>> click on that layer with the coordinates of those points and store the
>> results?
>>
>> I assume, that each click is a server request, so running these (in my
>> case) 8000 "cĺicks" should not be sent in a millisecond, but with some
>> pause.
>> It doesn't really matter how long this takes, cause it only has to be
>> done once and would be in any case faster than manually clicking and
>> noting the data.
>>
>> Obviously, this is not what the provider of the data intends, but it's
>> like an act of self-defence against a stubborn and bureaucratic
>> administration.
>> So, data rebels, come to help please ;)
>>
>> Cheers,
>>
>> Bernd
>>
>> _______________________________________________
>> Qgis-user mailing list
>> Qgis-user at lists.osgeo.org
>> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
>> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
> --
> Email Signature
> Logo <https://www.geomaster.pt>
> *Geomaster*
> *Jorge Gustavo Rocha* | Software Engineer
> *e:*jgr at geomaster.pt | *m:*+351 910 333 888
> *g:*41.54094,-8.40490 | *v: *510 906 109
> *a: * Rua António Cândido Pinto, 67, 4715-400 Braga
>
>
> _______________________________________________
> Qgis-user mailing list
> Qgis-user at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
>
More information about the Qgis-user
mailing list