Робота з системами координат у GeoPandas

Робота з геопросторовими даними в Python

Joris Van den Bossche

Open source software developer and teacher, GeoPandas maintainer

Інформація про CRS у GeoPandas

Атрибут .crs у GeoDataFrame/GeoSeries:

import geopandas
gdf = geopandas.read_file("countries.shp")
print(gdf.crs)
{'init': 'epsg:4326'}
Робота з геопросторовими даними в Python

Встановлення CRS вручну

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

Додайте інформацію CRS до crs:

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

# Option 2
gdf.crs = {'proj': 'longlat', 'datum': 'WGS84', 'no_defs': True}
Робота з геопросторовими даними в Python

Перетворення в іншу CRS

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

Метод to_crs():

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

# Option 2 gdf2 = gdf.to_crs(epsg=4326)
Робота з геопросторовими даними в Python

Навіщо перетворювати CRS?

1) Джерела з іншою CRS

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

df2 = df2.to_crs(df1.crs)
Робота з геопросторовими даними в Python

Навіщо перетворювати CRS?

1) Джерела з іншою CRS

2) Картографування (спотворення форми й відстаней)

Робота з геопросторовими даними в Python

Навіщо перетворювати CRS?

1) Джерела з іншою CRS

2) Картографування (спотворення форми й відстаней)

3) Розрахунки відстаней і площ

Робота з геопросторовими даними в Python

Як вибрати CRS?

Поради:

  • Використовуйте проєкцію, що відповідає вашій території
  • У більшості країн є стандартна CRS

Корисні сайти:

Робота з геопросторовими даними в Python

Підсумок

  • Для перетворення в іншу CRS: метод to_crs()
  • Переконайтесь, що набори даних мають однакову CRS
  • Для обчислень відстані, площі тощо — використовуйте проєктовану CRS

Корисні сайти:

Робота з геопросторовими даними в Python

Давайте потренуємось!

Робота з геопросторовими даними в Python

Preparing Video For Download...