La problématique est simple : vous avez les coordonnées d’un point dans un système de projection (par exemple, Lambert 93) et vous les voulez dans un autre (vous voulez par exemple la latitude et la longitude telle qu’on les exprime en WGS 84).
La solution est tout aussi simple.
Il faut déjà définir la projection source et celle de destination :
crsSrc = QgsCoordinateReferenceSystem(2154) # Lambert 93 crsDest = QgsCoordinateReferenceSystem(4326) # WGS 84
Ensuite, il faut définir l’opération de transformation.
xform = QgsCoordinateTransform(crsSrc, crsDest)
Enfin, il faut réaliser la transformation elle-même ; nos coordonnées de départ, ayant, dans cet exemple, été au préalable stockées dans les variables x et y.
pointCRSdest = xform.transform(QgsPoint(x, y))
La variable pointCRSdest va contenir le résultat de la transformation, sous forme d’objet point. Pour accéder à la latitude et à la longitude, il faut appeler pointCRSdest.x() et pointCRSdest.y().
Waouh ! Une solution très simple, claire et qui a fonctionné tout de suite ! Ca faisait un moment que je cherchais, avec à chaque fois un petit bug .. Merci !!
Content que ça serve.
Il y a que toi qui comprend ce que tu fais
Hahaha !