我正在尝试使用一个shapefile为每组经纬度坐标识别邮政编码。
经纬度数据提取自: https://data.cityofchicago.org/Public-Safety/Crimes-2017/d62x-nvdr (Crimes_-_2001_to_present.csv)
Shapefile: 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")
这是我收到的错误信息:
错误在 (function (classes, fdef, mtable)中: 无法找到一个适用于签名为“"SpatialPolygonsDataFrame", "data.frame"”的函数“over”的继承方法。
我缺少了什么?任何帮助都将不胜感激!
str(zip.map)
输出以及绑定的目的是什么。我最终明白你在寻找什么,但cbind如何超越你的方法来实现这一点?如果我能看到数据,我可能能够帮助你。 - sconfluentussplancs
包中查找?inout
。这是一种测试一组点是否落在多边形(shapefile)内的方法,这可能会让你更接近你所需要的东西。很抱歉这不是确切的解决方案。 - Rich Pauloo