R将zipcode或lat/long转换为county

我有一个位置列表,其中包含每个位置的城市、州、邮政编码、纬度和经度

我另外有一份县级经济指标清单。我玩过zipcode软件包、ggmap软件包和其他几个免费地理编码网站,包括美国Gazeteer文件,但似乎找不到匹配这两个部分的方法

目前是否有任何包或其他来源可以这样做

我最终使用了上面提到的JoshO’Brien的建议,并在这里找到了它

我拿了他的代码,将更改为,如下所示:

库(sp)
图书馆(地图)
图书馆(地图工具)
#此函数的单参数pointsDF是一个data.frame,其中:
#-第1列包含以度为单位的经度(美国为负数)
#-第2列包含纬度,单位为度
拉特隆2县<-函数(点SDF){
#使用一个空间多边形准备空间多边形对象
#每个县
县<-map('country',fill=TRUE,col=“transparent”,plot=FALSE)
IDs<-sapply(strsplit(countries$names,“:”),函数(x)x[1])
县&u sp<-地图2空间多边形(县,ID=ID,
proj4string=CRS(“+proj=longlat+DATAM=WGS84”))
#将pointsDF转换为空间点对象
点SSP<-空间点(点SDF,
proj4string=CRS(“+proj=longlat+DATAM=WGS84”))
#使用“over”获取包含每个点的多边形对象的_索引
指数<-超过(点SSP、县sp)
#返回包含每个点的多边形对象的县名称
countyNames<-sapply(县)[email protected],函数(x)[email protected])
countyNames[指数]
}
#使用威斯康星州和俄勒冈州的点测试函数。
测试点<-数据帧(x=c(-90,-120),y=c(44,44))
Latlong2国家(测试点)
[1] “威斯康星州,朱诺”“俄勒冈州,克鲁克”#很管用

发表评论