R或Java:是否有一个包可以将邮编转换成纬度和经度,并在地图上标注?

3

有没有任何软件包或软件包组合可以将邮政编码列表转换为经纬度,并将这些点放在地图上呢?

1) 将它们转换为经纬度

2) 在地图上标注这些点

4个回答

9
尝试使用CRAN中的install.packages("zipcode")在R中获取此信息。这将提供一个data(zipcode)附件,其中包含您需要的信息。
关于在地图上绘制邮政编码信息,请使用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")

美国随机100个邮政编码

为了选择一个邮政编码列表以绘制子集zipcode,需要提供所需邮政编码的向量。 然后重新创建plotZip

plotZip <- subset(zipcode, 
   subset=(zip %in% c(90210, 90211)), 
   select=c("longitude", "latitude"))

哇!加拿大有类似的东西吗? - stats_noob


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();

0

我找到了一个可以帮你完成这个任务的网站,它就是GPS Visualizer


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接