R或Java:是不是有将邮政编码转换为纬度和经度并放在地图上的包?
Posted
技术标签:
【中文标题】R或Java:是不是有将邮政编码转换为纬度和经度并放在地图上的包?【英文标题】:R or Java: Is there a package to convert zip codes to latitude and longitude and put on a map?R或Java:是否有将邮政编码转换为纬度和经度并放在地图上的包? 【发布时间】:2012-03-08 21:55:03 【问题描述】:是否有任何包裹或包裹组合可以获取邮政编码列表和:
1) 将它们转换为经纬度
2) 将点放在地图上
【问题讨论】:
【参考方案1】:尝试来自 CRAN 的 install.packages("zipcode")
在 R 中获取此信息。这提供了一个 data(zipcode)
附件,它是一个包含您需要的信息的 data.frame。
关于在地图上绘制邮政编码信息,请使用map
包和空间例程包sp
。这是一个例子。
## Preliminary
library(maps)
library(zipcode)
library(sp)
data(zipcode)
## Plot state map of USA
map("state")
## Select locations for 100 random zip codes
plotZip <- zipcode[sample(nrow(zipcode))[1:100], c("longitude", "latitude")]
## Plot them
plot(SpatialPoints(plotZip[complete.cases(plotZip),]), pch=20, cex=0.75, add=TRUE, col="red")
选择一个邮政编码列表以绘制子集zipcode
,给出所需邮政编码的向量。然后重新创建plotZip
:
plotZip <- subset(zipcode,
subset=(zip %in% c(90210, 90211)),
select=c("longitude", "latitude"))
【讨论】:
哇!加拿大有类似的吗?【参考方案2】:试试:http://www.geonames.org/postal-codes/
【讨论】:
【参考方案3】:我在这里玩的有点晚了,但我已经用 Java 编写了一个内存中的邮政编码数据库 API,称为 QuickGeo。它不会映射项目,但会非常快速地进行 zip->lat/lon 查找。查询西雅图邮政编码的纬度/经度:
PostalDb db = PostalDbFactory.getPostalDb();
Place p = db.byPostalCode("98177").get(0);
double lat = p.getLatitude();
double lon = p.getLongitude();
【讨论】:
【参考方案4】:我在这里找到了一个可以为你做这件事的网站: GPS Visualizer.
【讨论】:
以上是关于R或Java:是不是有将邮政编码转换为纬度和经度并放在地图上的包?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用谷歌地图 api 将邮政编码转换为地理位置(纬度和经度)?
使用 Google Maps API 将邮政编码转换为纬度/经度坐标?
如何使用 bing 将城市/州转换为地理位置(纬度/经度)?