楼主是在用R画地图的时候需要获取各个地点的地理坐标从而接触到百度API的,不过它也可以应用到很多其它方面。楼主实验室有前往不同地区进行采样的需求,那么就可以记录下采样地点后,通过百度API一次性获取所有地理坐标,从而减免了很多麻烦呢。
那么鉴于楼主现在只会R(python在学),就先用R来演示叭。
R强大在于,包治百病!!!各种各样的R包解决了我们的各种问题。R包的选择有时候也是个问题(有解决方法哒!以后再提)
1. 百度地图获取ak密匙
先进入百度地图开放平台
登录百度账号
点击右上角的控制台
在控制台界面中点击创建应用,进入如下界面
填写应用名称,及IP白名单
最后点击提交按钮
点击查看应用按钮,进入如下界面
可以看到楼主刚刚建立的应用,其中访问应用(AK),就是我们的目标AK密匙
2. 在RStudio中下载REmap包
library(devtools)
install_github('lchiffon/REmap')
#(REmap gihub地址:[https://github.com/Lchiffon/REmap](https://github.com/Lchiffon/REmap))
#下载完之后
library(REmap)
options(baidumap.key="your_baidu_ak_key")
查看REmap的Help Pages
get_city_coord #Get the location information of the city
get_geo_position #Get the location information of the city vector
可以看到get_geo_position一次是可以获取一串地理坐标的,而get_city_coord一次只能获取一个。
> temcity
[1] "北京" "上海" "天津" "重庆" "哈尔滨"
#楼主建的城市文档
> get_geo_position(temcity)
lon lat city
12 116.413554 39.911013 北京
120 121.480237 31.236305 上海
54 117.205914 39.090908 天津
24 106.557165 29.570997 重庆
1 126.542417 45.807782 哈尔滨
#结果
REmap最重要的功能是画各种迁移图、颜色等级图和热力图等,楼主暂时还没有用到这些功能(主要是要考试!!!),那就以后再补充啦啦啦~