我想用shapefile识别每组纬度/经度坐标的邮政编码。将经度/纬度点映射到R中的一个形状文件
纬度经度数据摘自:https://data.cityofchicago.org/Public-Safety/Crimes-2017/d62x-nvdr(犯罪_-_ 2001_to_present.csv)
Shape文件:https://www2.census.gov/geo/tiger/PREVGENZ/zt/z500shp/ zt17_d00.shp(为伊利诺伊州邮政编码定义)
library(rgeos)
library(maptools)
ccs<-read.csv("Crimes_-_2001_to_present.csv")
zip.map <- readOGR("zt17_d00.shp")
latlon<-ccs[,c(20,21)]
str(latlon)
'data.frame': 6411517 obs. of 2 variables:
$ Latitude : num 42 41.7 41.9 41.8 42 ...
$ Longitude: num -87.7 -87.6 -87.7 -87.6 -87.7 ...
coordinates(latlon) = ~Longitude+Latitude
write.csv(cbind(latlon,over(zip.map,latlon)),"zip.match.csv")
这是我得到的错误:
(函数(类,fdef,mtable)中的错误: 无法找到函数'over'进行签名的继承方法'“SpatialPolygonsD ataFrame“,”data.frame“'
我错过了什么?任何帮助表示赞赏!
您正试图创建一个从CSV和SpatialPolygonsDataFrame一个逗号分隔的文件,他们有完全不同的尺寸标注。您需要以不同的方式将数据与该SPDF文件组合在一起。尝试共享'str(zip.map)'输出以及绑定的目的与我们是什么。我明白你最终在寻找什么,但是如何实现这一目标?如果我能看到数据,我可能会提供帮助。 – sconfluentus
我还没有为你的数据尝试过,但是你可能想在'splancs'包中查找'?inout'。这是一种测试一组点是否落入多边形(shapefile)的方法,它可能会让您更接近您所需的。对不起,这不是确切的解决方案。 –