与Mapquest服务的方向API合作,绘制上千使用GGPLOT2路线的R.的R - 矢量化一个JSON调用
Basic代码理论:有结束位置的列表和一个起始位置。对于每个结束位置,调用fromJSON都会返回Mapquest中的路由坐标。从那里,已经向ggplot2的geom_path geom矢量化了坐标的分配(在列表中读作列表)。
现在,在~1200条记录的位置集上运行这需要大约4分钟。我很想把它弄下来。任何关于如何将来自JSON的响应矢量化(返回列表清单)?
Windows 7中,64位,R 2.14.2
库:plyr,GGPLOT2,rjson,mapproj,XML
k = 0
start_loc = "263+NORTH+CENTER+ST.,+MESA+ARIZ."
end_loc = funder_trunc[,length(funder_trunc)]
route_urls = paste(mapquest_baseurl, "&from=", start_loc, "&to=", end_loc, "&ambiguities=ignore", sep="")
for (n in route_urls) {
route_legs = fromJSON(file = url(n))$route$legs[[1]]$maneuvers
lats = unlist(lapply(route_legs, function(x) return(x$startPoint[[2]])))
lngs = unlist(lapply(route_legs, function(x) return(x$startPoint[[1]])))
frame = data.frame(cbind(lngs, lats))
path_added = geom_path(aes(lngs, lats), data = frame)
p = p + path_added
k = k + 1
print(paste("Processed ", k, " of ", nrow(funder_trunc), " records in set.", sep=""))
}
'库(并行)'和一个合适的后端? – Chase 2012-03-29 21:34:33