Utiliser les systèmes de coordonnées avec GeoPandas

Travailler avec des données géospatiales en Python

Joris Van den Bossche

Open source software developer and teacher, GeoPandas maintainer

Informations CRS dans GeoPandas

L'attribut .crs d'un GeoDataFrame/GeoSeries :

import geopandas
gdf = geopandas.read_file("countries.shp")
print(gdf.crs)
{'init': 'epsg:4326'}
Travailler avec des données géospatiales en Python

Définir un CRS manuellement

gdf_noCRS = geopandas.read_file("countries_noCRS.shp")
print(gdf_noCRS.crs)
{}

Ajouter les informations CRS à crs :

# Option 1
gdf.crs = {'init': 'epsg:4326'}

# Option 2
gdf.crs = {'proj': 'longlat', 'datum': 'WGS84', 'no_defs': True}
Travailler avec des données géospatiales en Python

Transformer vers un autre CRS

import geopandas
gdf = geopandas.read_file("countries_web_mercator.shp")
print(gdf.crs)
{'init': 'epsg:3857', 'no_defs': True}

La méthode to_crs() :

# Option 1
gdf2 = gdf.to_crs({'proj': 'longlat', 'datum': 'WGS84', 'no_defs': True})

# Option 2 gdf2 = gdf.to_crs(epsg=4326)
Travailler avec des données géospatiales en Python

Pourquoi convertir le CRS ?

1) Sources avec un CRS différent

df1 = geopandas.read_file(...)
df2 = geopandas.read_file(...)

df2 = df2.to_crs(df1.crs)
Travailler avec des données géospatiales en Python

Pourquoi convertir le CRS ?

1) Sources avec un CRS différent

2) Cartographie (déformation des formes et des distances)

Travailler avec des données géospatiales en Python

Pourquoi convertir le CRS ?

1) Sources avec un CRS différent

2) Cartographie (déformation des formes et des distances)

3) Calculs de distance/surface

Travailler avec des données géospatiales en Python

Comment choisir le CRS à utiliser ?

Conseils :

  • Utiliser une projection adaptée à la zone de vos données
  • La plupart des pays ont un CRS standard

Sites utiles :

Travailler avec des données géospatiales en Python

Résumé

  • Pour convertir vers un autre CRS : la méthode to_crs()
  • Vérifiez que les jeux de données partagent le même CRS
  • Pour calculer des distances/surfaces : utiliser un CRS projeté

Sites utiles :

Travailler avec des données géospatiales en Python

Passons à la pratique !

Travailler avec des données géospatiales en Python

Preparing Video For Download...