Thuộc tính và phương thức của GeoSeries I

Trực quan hóa dữ liệu không gian địa lý bằng Python

Mary van Valkenburg

Data Science Program Manager, Nashville Software School

Thuộc tính và phương thức của Shapely

# cột geometry là một GeoSeries
type(school_districts.geometry)
geopandas.geoseries.GeoSeries
  • GeoSeries.area - trả về diện tích của từng hình học trong một GeoSeries
  • GeoSeries.centroid - trả về điểm trung tâm của từng hình học trong một GeoSeries
  • GeoSeries.distance(other) - trả về khoảng cách nhỏ nhất tới other
Trực quan hóa dữ liệu không gian địa lý bằng Python

GeoSeries.area

  • trả về diện tích của từng hình học trong một GeoSeries
# diện tích của đa giác đầu tiên trong districts 
print(districts.geometry[0].area)
325.78

đa giác

Trực quan hóa dữ liệu không gian địa lý bằng Python

Diện tích quận trường

GeoSeries.area
# in 4 dòng đầu của school districts và tổng số dòng
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.
Trực quan hóa dữ liệu không gian địa lý bằng Python
# tính diện tích của từng quận trường
district_area = school_districts.area
# in diện tích và crs được dùng
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
Trực quan hóa dữ liệu không gian địa lý bằng Python
# tạo bản sao của school_districts dùng EPSG:3857
school_districts_3857 = school_districts.to_crs(epsg = 3857)

# định nghĩa hệ số m^2 sang km^2 và lấy diện tích theo kilômét vuông 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
Trực quan hóa dữ liệu không gian địa lý bằng Python

Cùng luyện tập nào!

Trực quan hóa dữ liệu không gian địa lý bằng Python

Preparing Video For Download...