GeoSeries-attributen en -methoden I

Geospatiale data visualiseren in Python

Mary van Valkenburg

Data Science Program Manager, Nashville Software School

Shapely-attributen en -methoden

# de geometry-kolom is een GeoSeries
type(school_districts.geometry)
geopandas.geoseries.GeoSeries
  • GeoSeries.area - geeft de oppervlakte van elke geometrie in een GeoSeries
  • GeoSeries.centroid - geeft het middelpunt van elke geometrie in een GeoSeries
  • GeoSeries.distance(other) - geeft de minimale afstand tot other
Geospatiale data visualiseren in Python

GeoSeries.area

  • geeft de oppervlakte van elke geometrie in een GeoSeries
# oppervlakte van het eerste polygoon in districts 
print(districts.geometry[0].area)
325.78

polygoon

Geospatiale data visualiseren in Python

Oppervlaktes van schooldistricten

GeoSeries.area
# print de eerste 4 rijen van school_districts en het totale aantal rijen
print(school_districts.head(4))
print('Er zijn ', school_districts.shape[0], ' school districts.' )
first_name  last_name    position  district  geometry
Sharon      Gentry       Member       1      (POLYGON ((-86.771 36.383...)))
Jill        Speering     Vice-Chair   3      (POLYGON ((-86.753 36.404...)))
Jo Ann      Brannon      Member       2      (POLYGON ((-86.766 36.083...)))
Anna        Shepherd     Chair        4      (POLYGON ((-86.580 36.209...)))
There are  9  school districts.
Geospatiale data visualiseren in Python
# bereken de oppervlakte van elk schooldistrict
district_area = school_districts.area
# print de oppervlaktes en de gebruikte crs
print(district_area.sort_values(ascending = False))
print(school_districts.crs)
0    0.036641
4    0.023030
8    0.015004
1    0.014205
3    0.014123
5    0.010704
2    0.008328
7    0.007813
6    0.006415
dtype: float64
epsg:4326
Geospatiale data visualiseren in Python
# maak een kopie van school_districts die EPSG:3857 gebruikt
school_districts_3857 = school_districts.to_crs(epsg = 3857)

# definieer een variabele voor m^2 naar km^2 en bereken oppervlakte in km^2 sqm_to_sqkm = 10**6 district_area_km = school_districts_3857.area / sqkm_to_sqm print(district_area_km.sort_values(ascending = False)) print(school_districts_3857.crs)
0    563.134380
4    353.232132
8    230.135653
1    218.369949
3    216.871511
5    164.137548
2    127.615396
7    119.742279
6     98.469632
dtype: float64
epsg:3857
Geospatiale data visualiseren in Python

Laten we oefenen!

Geospatiale data visualiseren in Python

Preparing Video For Download...