Comment convertir des coordonnées Lambert 93 en longitude et latitude avec Python ?

Introduction

Le système de projection Lambert 93 est une projection conique conforme largement utilisée en France pour la cartographie. Cependant, pour une utilisation plus universelle, il est souvent nécessaire de convertir ces coordonnées en longitude et latitude dans le système WGS 84 (EPSG:4326). Pour cela, on utilise la bibliothèque pyproj, qui permet la conversion entre différents systèmes de référence spatiaux.

Installation de pyproj

Si pyproj n'est pas encore installé, vous pouvez l'installer avec pip :

1
pip install pyproj

Ou avec Anaconda :

1
conda install -c conda-forge pyproj

Conversion des coordonnées Lambert 93 en latitude et longitude

Voici un exemple de code corrigé utilisant la méthode recommandée par pyproj :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
from pyproj import Transformer

# Création d'un objet de transformation entre EPSG:2154 (Lambert 93) et EPSG:4326 (WGS 84)
transformer = Transformer.from_crs("EPSG:2154", "EPSG:4326", always_xy=True)

# Coordonnées Lambert 93
x1, y1 = 882408.3, 6543019.6

# Conversion en longitude et latitude
longitude, latitude = transformer.transform(x1, y1)

# Affichage des résultats
print(longitude, latitude)

Résultat obtenu :

5.355651287573366 45.96240165432614

Explication du code:

  1. Utilisation de Transformer.from_crs : cette méthode remplace Proj et transform, qui sont obsolètes dans les versions récentes de pyproj.
  2. Paramètre always_xy=True : garantit que l'ordre des coordonnées est (x, y) (longitude, latitude),
    contrairement à certaines projections qui inversent cet ordre.
  3. Conversion avec transformer.transform(x, y) : applique la transformation au point donné.

Trouver les codes EPSG

Les codes EPSG sont des identifiants normalisés pour les systèmes de référence spatiaux. Voici quelques références utiles :

Références