Convertir des coordonnées d’un système de projection à un autre avec Python et QGIS

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().

Ce contenu a été publié dans Astuces, Informatique. Vous pouvez le mettre en favoris avec ce permalien.

4 réponses à Convertir des coordonnées d’un système de projection à un autre avec Python et QGIS

  1. Juliette dit :

    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 !!

  2. RCA dit :

    Il y a que toi qui comprend ce que tu fais

Répondre à RCA Annuler la réponse.

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>