Message posté par : Marcopololo
----------------------------------------
Je pense que je me rapproche de la solution (avec de nombreuses approximations de codage,
mais je ne vois pas comment rendre lisible mes coordonnées, j'ai une erreur
"AttributeError: 'QgsPointXY' object has no attribute
'setGeometry"
-----------------
Code :
class CoordClick:
"""QGIS Plugin Implementation."""
def display_point(self, point, button):
# Affiche les coordonnées du clic
#Instances recherche id parcelle
projet = QgsProject.instance()
coucheParcelles = projet.mapLayersByName("parcelles moyenmoutier")[0]
entites = coucheParcelles.getFeatures()
self.dlg.hide() # cache la boite de dialogue
coords = "{}, {}".format(point.x(), point.y()) ## formatage des
coordonnées
pc = QgsGeometry.fromPointXY(QgsPointXY(point.x(), point.y()))
point.setGeometry(pc)
# Affichage point et numéro parcelle correpondante
self.dlg.coordClick.setText(coords) # affichage des coordonnées dans la boite de
dialogue
print(coords)
#Recherche id parcelle correspondant aux coordonnées
for e in entites:
if point.geometry().within(e.geometry()):
print(e.attributes()[1]) # affiche l'attribut id
self.dlg.show() # affiche de nouveau la boite de dialogue
-----------------
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=372481#p372481
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