Bắt đầu ngayBắt đầu miễn phí

Tạo buffer quanh một điểm

Xem xét thành phố Goma, thủ phủ của tỉnh North Kivu (Congo), gần biên giới với Rwanda. Tọa độ của Goma là 1,66°N 29,22°E (đối tượng Point đã được cung cấp ở hệ tọa độ UTM dưới biến goma).

Có bao nhiêu điểm mỏ nằm trong bán kính 50 km tính từ Goma? Và có bao nhiêu diện tích vườn quốc gia nằm trong phạm vi đó? Hãy xác định bằng phép toán buffer. Nhớ rằng khoảng cách phải được biểu diễn theo đơn vị của CRS (trong trường hợp này là mét).

Lưu ý: nếu bạn có một Series kiểu boolean (ví dụ kết quả của một phương thức quan hệ không gian), bạn có thể tính bao nhiêu giá trị True (tức là bao nhiêu hình học vượt qua kiểm tra) bằng cách lấy tổng của các giá trị boolean đó, vì khi đó TrueFalse sẽ tương ứng với 1 và 0.

Bài tập này là một phần của khóa học

Làm việc với Dữ liệu Không gian địa lý trong Python

Xem khóa học

Hướng dẫn bài tập

  • Tạo một buffer bán kính 50 km quanh goma, và gán vào biến goma_buffer.
  • Kiểm tra những điểm nào trong mining_sites nằm bên trong buffer này (gọi là mask). Đếm số điểm mỏ bằng cách lấy tổng của mask kiểu boolean, và in kết quả.
  • Tính phần giao nhau giữa các vườn quốc gia và buffer. Lấy tổng diện tích của các phần giao nhau đó, và in kết quả theo đơn vị km².

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# goma is a Point
print(type(goma))

# Create a buffer of 50km around Goma
goma_buffer = ____

# The buffer is a polygon
print(type(goma_buffer))

# Check how many sites are located within the buffer
mask = ____
print(____)

# Calculate the area of national park within the buffer
print(national_parks.____ / (1000**2))
Chỉnh sửa và Chạy Mã