Message posté par : Marcopololo
----------------------------------------
Bonjour,
Après de multiples recherches et d'un début apprentissage de python, j'ai enfin
trouvé ce que je cherchais. Il me restera à récupérer les coordonnées sur un click. Par
contre j'ai tout de même un soucis dans les tests effectués en console python. Ma
couche pointDemo se créé bien ainsi que mon champ, mais la condition if avec within ne
donne aucun résultat ? Es ce que cela peut être lié au type de couche geopackage ?
J'ai testé avant d'utiliser la condition if et j'ai bien toute la liste de mes
valeurs ?
-----------------
Code :
projet = QgsProject.instance()
coucheParcelles = projet.mapLayersByName("parcelles moyenmoutier")[0]
entites = coucheParcelles.getFeatures()
#création point en mémoire
layer =
QgsVectorLayer('Point?crs=epsg:4326&field=id:integer','pointDemo','memory')
pr = layer.dataProvider()
pointParc = QgsFeature()
pointParc.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(48.3815098,6.9509046)))
pr.addFeatures([pointParc])
layer.updateExtents()
projet.addMapLayers([layer])
print(layer.sourceCrs())
for e in entites:
if pointParc.geometry().intersects(e.geometry()):
print(e.attributes()[1])
-----------------
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=372414#p372414
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net