Arbeta med koordinatsystem i GeoPandas

Arbeta med geospatial data i Python

Joris Van den Bossche

Open source software developer and teacher, GeoPandas maintainer

CRS-information i GeoPandas

Attributet .crs för en GeoDataFrame/GeoSeries:

import geopandas
gdf = geopandas.read_file("countries.shp")
print(gdf.crs)
{'init': 'epsg:4326'}
Arbeta med geospatial data i Python

Ange ett CRS manuellt

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

Lägg till CRS-information i crs:

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

# Option 2
gdf.crs = {'proj': 'longlat', 'datum': 'WGS84', 'no_defs': True}
Arbeta med geospatial data i Python

Konvertera till ett annat CRS

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

Metoden to_crs():

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

# Option 2 gdf2 = gdf.to_crs(epsg=4326)
Arbeta med geospatial data i Python

Varför konvertera CRS?

1) Källor med olika CRS

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

df2 = df2.to_crs(df1.crs)
Arbeta med geospatial data i Python

Varför konvertera CRS?

1) Källor med olika CRS

2) Kartläggning (förvrängning av form och avstånd)

Arbeta med geospatial data i Python

Varför konvertera CRS?

1) Källor med olika CRS

2) Kartläggning (förvrängning av form och avstånd)

3) Beräkningar av avstånd och area

Arbeta med geospatial data i Python

Hur väljer du rätt CRS?

Tips:

  • Använd en projektion anpassad för ditt dataområde
  • De flesta länder har ett standardiserat CRS

Användbara sajter:

Arbeta med geospatial data i Python

Sammanfattning

  • Konvertera till ett annat CRS med metoden to_crs()
  • Se till att olika datamängder har samma CRS
  • Vid beräkning av avstånd, area, ... -> använd ett projicerat CRS

Användbara sajter:

Arbeta med geospatial data i Python

Nu kör vi en övning!

Arbeta med geospatial data i Python

Preparing Video For Download...