R或Java:是否有将邮政编码转换为纬度和经度并放在地图上的包?

时间:2012-03-08 21:55:04

标签: java r geolocation

是否有任何包或包的组合可以获取邮政编码列表,并且:

1)将它们转换为纬度和经度

2)将点放在地图上

4 个答案:

答案 0 :(得分:9)

尝试使用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")

100 random zipcodes in the USA

选择用于绘制子集zipcode的zipcodes列表,其中包含所需zipcodes的向量。然后重新创建plotZip

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

答案 1 :(得分:4)

答案 2 :(得分:3)

我这里的游戏有点晚了,但是我用Java编写了一个内存邮政编码数据库API,名为QuickGeo。它不会映射项目,但它会非常快速地执行zip-&gt; lat / lon查找。查询西雅图邮政编码的纬度/经度:

PostalDb db = PostalDbFactory.getPostalDb();
Place p = db.byPostalCode("98177").get(0);
double lat = p.getLatitude();
double lon = p.getLongitude();

答案 3 :(得分:0)

我在这里找到了一个为您服务的网站: GPS Visualizer