合并来自不同 CRS/投影的数据
每个空间对象都关联有一个坐标参考系(CRS)。通常在导入数据时就已设置,并会直接从空间文件中读取。这也是 neighborhoods 和 nyc_tracts 获得其坐标系信息的方式。
sp 和 raster 两个包都有 proj4string() 函数,可返回其所调用对象的 CRS。
在不同 CRS 下处理空间数据,就像一个数据集用英里、另一个用千米。它们测量的是同一件事,但数值不能直接比较。
让我们查看一下这两个多边形对象。
本练习是课程的一部分
在 R 中可视化地理空间数据
练习说明
- 对
neighborhoods调用proj4string(),然后对nyc_tracts再调用一次。确认这两个字符串不同。 - 查看
neighborhoods的coordinates()的head(),并对nyc_tracts重复该操作。您能看出问题吗?nyc_tracts的 x 坐标大约在 -70,而neighborhoods大约在 1,000,000! - 先绘制
neighborhoods,然后以col = "red"和add = TRUE绘制nyc_tracts,将其叠加到上面。
交互式实操练习
通过完成这段示例代码来试试这个练习。
library(sp)
# proj4string() on nyc_tracts and neighborhoods
# coordinates() on nyc_tracts and neighborhoods
# plot() neighborhoods and nyc_tracts