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

Chuyển đổi từ một CRS/phép chiếu sang một CRS/phép chiếu khác

Quá trình chuyển đổi từ một CRS hoặc phép chiếu sang phép chiếu khác được xử lý bởi các phương thức spTransform() trong gói rgdal. spTransform() có phương thức cho mọi đối tượng sp, bao gồm SpatialPolygonsDataFrame, nhưng không hoạt động với đối tượng raster. Lý do là việc biến đổi raster phức tạp hơn; lưới hình chữ nhật sau khi biến đổi sẽ không còn là hình chữ nhật nữa. Nếu bạn tò mò về việc biến đổi raster, hãy xem ?raster::projectRaster.

Việc chuyển đổi khá đơn giản. Đối số đầu tiên của spTransform(), x, là đối tượng không gian cần chuyển đổi và đối số thứ hai, CRS, là đặc tả của CRS mong muốn. CRS có thể được chỉ định bằng chuỗi PROJ4, bạn có thể tự xây dựng, nhưng dễ hơn nhiều là lấy từ một đối tượng hiện có (ví dụ dùng hàm proj4string()).

Đến lúc đưa hai bộ dữ liệu polygon của bạn về cùng một CRS.

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

Trực quan hóa dữ liệu địa lý trong R

Xem khóa học

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

  • Chuyển đổi neighborhoods để có cùng CRS với nyc_tracts bằng cách dùng spTransform() với đối số CRS đặt là proj4string(nyc_tracts).
  • Xác minh việc chuyển đổi bằng cách xem head() của coordinates(neighborhoods).
  • Kiểm tra xem các bộ dữ liệu đã khớp nhau chưa bằng cách vẽ neighborhoods, sau đó vẽ nyc_tracts với add = TRUEcol = "red", và cuối cùng vẽ water với add = TRUEcol = "blue".

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.

library(sp)
library(raster)

# Use spTransform on neighborhoods: neighborhoods



# head() on coordinates() of neighborhoods


# Plot neighborhoods, nyc_tracts and water


Chỉnh sửa và Chạy Mã