Trabalhando com sistemas de coordenadas no GeoPandas

Trabalhando com Dados Geoespaciais em Python

Joris Van den Bossche

Open source software developer and teacher, GeoPandas maintainer

Informações de CRS no GeoPandas

O atributo .crs de um GeoDataFrame/GeoSeries:

import geopandas
gdf = geopandas.read_file("countries.shp")
print(gdf.crs)
{'init': 'epsg:4326'}
Trabalhando com Dados Geoespaciais em Python

Definindo um CRS manualmente

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

Adicionar informações de CRS em crs:

# Opção 1
gdf.crs = {'init': 'epsg:4326'}

# Opção 2
gdf.crs = {'proj': 'longlat', 'datum': 'WGS84', 'no_defs': True}
Trabalhando com Dados Geoespaciais em Python

Transformando para outro CRS

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

O método to_crs():

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

# Opção 2 gdf2 = gdf.to_crs(epsg=4326)
Trabalhando com Dados Geoespaciais em Python

Por que converter o CRS?

1) Fontes com CRS diferente

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

df2 = df2.to_crs(df1.crs)
Trabalhando com Dados Geoespaciais em Python

Por que converter o CRS?

1) Fontes com CRS diferente

2) Mapas (distorção de forma e distâncias)

Trabalhando com Dados Geoespaciais em Python

Por que converter o CRS?

1) Fontes com CRS diferente

2) Mapas (distorção de forma e distâncias)

3) Cálculos de distância/área

Trabalhando com Dados Geoespaciais em Python

Como escolher qual CRS usar?

Dicas:

  • Use uma projeção específica para a área dos seus dados
  • A maioria dos países tem um CRS padrão

Sites úteis:

Trabalhando com Dados Geoespaciais em Python

Resumo

  • Para converter para outro CRS: use o método to_crs()
  • Garanta que conjuntos de dados diferentes tenham o mesmo CRS
  • Ao calcular distância, área etc., use um CRS projetado

Sites úteis:

Trabalhando com Dados Geoespaciais em Python

Vamos praticar!

Trabalhando com Dados Geoespaciais em Python

Preparing Video For Download...