【发布时间】:2019-04-16 23:02:45
【问题描述】:
我在 R 中有几个数据框。第一个数据框包含按市场计算的一组经纬度坐标的凸包(由 R 中的 chull 提供)。它看起来像这样:
MyGeo<- "Part of Chicago & Wisconsin"
Longitude <- c(-90.31914, -90.61911, -89.37842, -88.0988, -87.44875)
Latitude <- c(38.45781, 38.80097, 43.07961, 43.0624,41.49182)
dat <- data.frame(Longitude, Latitude, MyGeo)
第二个是按纬度和经度坐标显示的邮政编码(由美国人口普查网站提供)。它看起来像这样:
CensuseZip <- c("SomeZipCode1","SomeZipCode2","SomeZipCode3","SomeZipCode4","SomeZipCode5","SomeZipCode6","SomeZipCode7")
Longitude2 <- c(-131.470425,-133.457924,-131.693453,-87.64957,-87.99734,-87.895,-88.0228)
Latitude2 <- c(55.138352,56.239062,56.370538,41.87485,42.0086,42.04957,41.81055)
cen <- data.frame(Longitude2, Latitude2, CensuseZip)
现在我相信第一个数据表为我提供了一个多边形或边框,我应该能够使用它来识别该边框内的邮政编码。理想情况下,我想创建一个如下所示的第三个数据表:
Longitude2 Latitude2 CensusZip MyGeo
-131.470425 55.138352 SomeZipCode1
-133.457924 56.239062 SomeZipCode2
-131.693453 56.370538 SomeZipCode3
-87.64957 41.87485 SomeZipCode4 Part of Chicago & Wisconsin
-87.99734 42.0086 SomeZipCode5 Part of Chicago & Wisconsin
-87.895 42.04957 SomeZipCode6 Part of Chicago & Wisconsin
-88.0228 41.81055 SomeZipCode7 Part of Chicago & Wisconsin
本质上,我希望找出所有位于蓝色长点和纬度点之间的邮政编码(请参见下面的可点击图片)。虽然它在下面可视化,但我实际上是在寻找上面描述的表格。
但是...我在执行此操作时遇到了麻烦...我尝试使用以下软件包和脚本:
library(rgeos)
library(sp)
library(rgdal)
coordinates(dat) <- ~ Longitude + Latitude
coordinates(cen) <- ~ Longitude2 + Latitude2
over(cen, dat)
但我收到所有NAs。
【问题讨论】:
标签: r coordinates polygon geocoding latitude-longitude