jackson19861023的个人博客分享 http://blog.sciencenet.cn/u/jackson19861023

博文

Google 地图批量获取经纬度

已有 6103 次阅读 2017-4-14 14:07 |个人分类:玩R|系统分类:科研笔记| google, 经纬度, 批量获取

利用google地图API接口,批量获取谷歌地图提供的经纬度数据。原理类似于R软件中ggmap包中的geocod。

geocode_cn<-function(address){
           require(ggmap)
require(rjson)
##批量转换中文字符
   for(i in 1:length(address)){
           location[i]<-paste(paste('%',unlist(iconv(address[i],from='GB2312',
           to="utf-8",toRaw=T)),sep=''),collapse='')
}
posturl <-paste(location, sep = "&")
url_string<-paste("http://maps.googleapis.com/maps/api/geocode/json?address=",
            posturl,"&sensor=false",sep="")
gc2<-matrix(0,length(address),2)
 for(i in 1:length(address)){
   url_string2<-URLencode(url_string[i])
  connect<-url(url_string2)
  lines<-try(readLines(connect,warn=FALSE),silent=TRUE)
  close(connect)
gc<-fromJSON(paste(lines,collapse=""))
    if(gc$status=="OK") {
       lat <-gc$results[[1]]$geometry$location$lat
       lon <-gc$results[[1]]$geometry$location$lng
      } else {
        lat<-NA
         lon<-NA
       }
      res<-cbind(lon,lat)  
   gc2[i,]<-res[1,]
 }
 return(gc2)
}





https://blog.sciencenet.cn/blog-568299-1048883.html

上一篇:在公共卫生的背景下学习概率论
下一篇:写给刚入学的硕士研究生的几段话
收藏 IP: 202.114.128.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-2 16:55

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部