Práce se souřadnicovými systémy v GeoPandas

Práce s geoprostorovými daty v Pythonu

Joris Van den Bossche

Open source software developer and teacher, GeoPandas maintainer

Informace o CRS v GeoPandas

Atribut .crs objektu GeoDataFrame/GeoSeries:

import geopandas
gdf = geopandas.read_file("countries.shp")
print(gdf.crs)
{'init': 'epsg:4326'}
Práce s geoprostorovými daty v Pythonu

Ruční nastavení CRS

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

Přidání CRS do atributu crs:

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

# Option 2
gdf.crs = {'proj': 'longlat', 'datum': 'WGS84', 'no_defs': True}
Práce s geoprostorovými daty v Pythonu

Převod do jiného CRS

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

Metoda to_crs():

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

# Option 2 gdf2 = gdf.to_crs(epsg=4326)
Práce s geoprostorovými daty v Pythonu

Proč převádět CRS?

1) Zdroje s odlišným CRS

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

df2 = df2.to_crs(df1.crs)
Práce s geoprostorovými daty v Pythonu

Proč převádět CRS?

1) Zdroje s odlišným CRS

2) Mapování (zkreslení tvaru a vzdáleností)

Práce s geoprostorovými daty v Pythonu

Proč převádět CRS?

1) Zdroje s odlišným CRS

2) Mapování (zkreslení tvaru a vzdáleností)

3) Výpočty vzdáleností / ploch

Práce s geoprostorovými daty v Pythonu

Jak vybrat správné CRS?

Tipy:

  • Použijte projekci specifickou pro oblast dat
  • Většina zemí má standardní CRS

Užitečné stránky:

Práce s geoprostorovými daty v Pythonu

Shrnutí

  • Převod CRS: metoda to_crs()
  • Různé datové sady musí mít stejné CRS
  • Při výpočtu vzdáleností, ploch, ... -> použijte projected CRS

Užitečné stránky:

Práce s geoprostorovými daty v Pythonu

Pojďme si procvičit!

Práce s geoprostorovými daty v Pythonu

Preparing Video For Download...