Attributi e metodi di GeoSeries I

Visualizzare dati geospaziali in Python

Mary van Valkenburg

Data Science Program Manager, Nashville Software School

Attributi e metodi di Shapely

# la colonna geometry è una GeoSeries
type(school_districts.geometry)
geopandas.geoseries.GeoSeries
  • GeoSeries.area - restituisce l'area di ogni geometria in una GeoSeries
  • GeoSeries.centroid - restituisce il punto centrale di ogni geometria in una GeoSeries
  • GeoSeries.distance(other) - restituisce la distanza minima da other
Visualizzare dati geospaziali in Python

GeoSeries.area

  • restituisce l'area di ogni geometria in una GeoSeries
# area del primo poligono in districts 
print(districts.geometry[0].area)
325.78

poligono

Visualizzare dati geospaziali in Python

Aree dei distretti scolastici

GeoSeries.area
# stampa le prime 4 righe dei distretti scolastici e il numero totale di righe
print(school_districts.head(4))
print('There are ', 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.
Visualizzare dati geospaziali in Python
# calcola l'area di ogni distretto scolastico
district_area = school_districts.area
# stampa le aree e il crs usato
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
Visualizzare dati geospaziali in Python
# crea una copia di school_districts che usa EPSG:3857
school_districts_3857 = school_districts.to_crs(epsg = 3857)

# definisci una variabile per m^2→km^2 e ottieni l'area in chilometri quadrati 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
Visualizzare dati geospaziali in Python

Esercitiamoci!

Visualizzare dati geospaziali in Python

Preparing Video For Download...