将lat/lon转换为zipcode /邻居名称

Jer*_*oen 6 gis google-maps r geospatial openstreetmap

我有大量的GPS定位图片,编码为纬度/经度坐标,主要在洛杉矶.我想将这些转换为(1)zipcodes,以及(2)邻域名称.有没有免费的网络服务或数据库呢?

到目前为止,我能想出的最好的是从LA时间页面刮掉邻域多边形,并尝试找出每个坐标在哪个多边形.然而,这可能是相当多的工作,并非我的所有坐标都在洛杉矶.至于邮编,这个2004 数据库是我能找到的最好的,但是拉链码编码为一个单一的坐标,而不是多边形.所以我能做的最好的事情是找到从给定坐标到给定的zipcode坐标的最小距离,这不是最佳的.

我的印象是,谷歌,地图或开放街道地图应该是能够做到这一点(因为他们似乎"知道"究竟在何处每neighboorhood和邮政编码是),但我找不到任何的API做了查找/查询.

sct*_*ttl 13

你现在可以直接在R内部执行此操作,这要归功于相当棒的ggmap包.

像其他人一样,你将使用谷歌地图API进行反向地理编码(因此每天限制为2,500个查询),但它很简单:

library("ggmap")

# generate a single example address
lonlat_sample <- as.numeric(geocode("the hollyood bowl"))
lonlat_sample  # note the order is longitude, latitiude

res <- revgeocode(lonlat_sample, output="more")
# can then access zip and neighborhood where populated
res$postal_code
res$neighborhood
Run Code Online (Sandbox Code Playgroud)