问题:经纬度==>地名
问题详细描述: 你有一堆经纬度坐标,你想知道这些坐标具体是哪个省市区村街道(详细的程度肯定根据你坐标的精度确定的啦,小数点后数字越多,越详细。)
你可能在弄Google api key受挫了吧,我也受挫过,然后我就放弃了。不过呢,我想办法弄到了百度api key,哈哈哈。
好像不需要用到REmap这个包,大家忽略吧,涉及到这个安装和下载就跳过去,只弄baidumap安装包就可以了,如果你的需求只是将经纬度转换成名字
前期准备材料:
- R软件(或者rstudio软件)、
- R中安装包下载(REmap、baidumap在GitHub上有,下文会介绍如何下载安装)
- 获取 百度api key
材料一: R软件
自行官网下载R软件,可以搜索引擎搜,这个过程不难。
材料二: REmap、baidumap 安装包
- 安装包REmap、baidumap的获取,方法有两种,一种是r上直接下载,另一种是去相应的网址下载。(推荐去相应的网址下载)
方法一: (这个方法我也是看别人的,没尝试过)
install_git("https://github.com/Lchiffon/REmap")
library(REmap)
install_git('https://github.com/badbye/baidumap')
library(baidumap)
方法二: (我用的是这个法子)
可以从github下载,网址如下:
REmap: https://github.com/Lchiffon/REmap
baidumap: https://github.com/badbye/baidumap
以baidumap为例 ==> 进入网址后,有一个绿色的 clone or download 的选项,点击后,如下图所示。你点击“Download ZIP” 到你的电脑路径下,请记住你下载的位置哦,下文会用用到。
2. 把包REmap、baidumap加载到你的r或者rstudio中。
把两个包下载后,就可以执行下面的代码了。
library(devtools) #如果没有这个包,记得install.packages(‘devtools’)下载安装
devtools::install_local("D:\\R_package\\REmap-master.zip")
#路径为你包的位置,会提示你输入1或者其他数字继续执行,空行的就取消(不知道英语是不是这个意思,你看到自动出现个1,直接回车就好了)
devtools::install_local("D:\\R_package\\baidumap-master.zip") #同理
library(REmap) #没有报错的话,那么恭喜你,安装成功了。
library(baidumap)
材料三: 百度API key的获取
获取百度 API 的方法,你百度一下,就会有图文一步步告诉你。我简洁说一下,如果觉得不清楚,可以去求度娘 “如何获取百度地图API的密钥以及调用百度地图api”
- 百度搜索 ‘百度地图api’ ,看到有官网标识的那个网页,进去,登录你的百度账号(哈?没有百度账号,emmm,注册一个吧)
- 进入首页后,滚轮滑到页面最低端,看到 “申请密钥” 了吗,点击进去
- 你当前所在的是创建应用选项里面,按照要求填写好 ‘应用名称’ 和 ‘IP白名单’ ,然后点提交。(IP白名单怎么填写,下面有一大段说明,看看吧)
- 然后,看到下面这个界面了吧,‘访问应用(AK)’下面的那一串串密钥,就是你一会要用的东西。复制下来。
材料已准备齐全
options(baidumap.key = 'xxx') #xxx的内容就是你刚刚复制下来的密钥
> getLocation(c(115.923130,28.651311),formatted = T)
lon=115.92313;lat=28.651311
"江西省南昌市青云谱区"