Lavorare con i sistemi di coordinate in GeoPandas

Lavorare con i dati geospaziali in Python

Joris Van den Bossche

Open source software developer and teacher, GeoPandas maintainer

Informazioni CRS in GeoPandas

L'attributo .crs di GeoDataFrame/GeoSeries:

import geopandas
gdf = geopandas.read_file("countries.shp")
print(gdf.crs)
{'init': 'epsg:4326'}
Lavorare con i dati geospaziali in Python

Impostare un CRS manualmente

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

Aggiungi le info del CRS a crs:

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

# Opzione 2
gdf.crs = {'proj': 'longlat', 'datum': 'WGS84', 'no_defs': True}
Lavorare con i dati geospaziali in Python

Trasformare in un altro CRS

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

Il metodo to_crs():

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

# Opzione 2 gdf2 = gdf.to_crs(epsg=4326)
Lavorare con i dati geospaziali in Python

Perché convertire il CRS?

1) Sorgenti con CRS diversi

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

df2 = df2.to_crs(df1.crs)
Lavorare con i dati geospaziali in Python

Perché convertire il CRS?

1) Sorgenti con CRS diversi

2) Mappatura (distorsione di forme e distanze)

Lavorare con i dati geospaziali in Python

Perché convertire il CRS?

1) Sorgenti con CRS diversi

2) Mappatura (distorsione di forme e distanze)

3) Calcoli basati su distanza/superficie

Lavorare con i dati geospaziali in Python

Come scegliere il CRS da usare?

Consigli:

  • Usa una proiezione specifica per l'area dei tuoi dati
  • La maggior parte dei Paesi ha un CRS standard

Siti utili:

Lavorare con i dati geospaziali in Python

Riepilogo

  • Per convertire in un altro CRS: il metodo to_crs()
  • Assicurati che insiemi di dati diversi abbiano lo stesso CRS
  • Per distanza, area, ... usa un CRS proiettato

Siti utili:

Lavorare con i dati geospaziali in Python

Esercitiamoci!

Lavorare con i dati geospaziali in Python

Preparing Video For Download...