vue将经纬度转换成地理名称_amapGeocode: 使用R进行高德地图地理编码/逆编码

b23716fe018d394df0337c9f8a986073.png

在最近的学习中,大量使用到了地理编码与地理逆编码,然而不幸的是目前广泛在 R 中介绍的能完成该任务的包因为 API 的 Breaking Upgrade 很多功能已经失效了。尤其是意外的发现,目前的包主要由百度地图 API 作数据源,于是为了满足在 R 中使用高德地图 API 进行地理编码与逆编码的需求,开发了 amapGeocode 这款包,如果能对有同样需求的同学有任何帮助,将不胜荣幸。

什么是地理编码/逆编码

根据地理小子在文章《地理编码与逆地理编码(上)——理解地理编码》中的陈述:

地理编码指将地名的详细地址以地理坐标(如经纬度)表示的过程。其中,将地址信息映射为地理坐标的过程称之为地理编码;将地理坐标转换为地址信息的过程称之为逆地理编码。如图1.1所示为地理编码和逆地理编码的关系。

8b15542c92b4d16aaa76f554dd35946a.png

无论是在科学研究还是数据处理的过程中,凡是涉及到位置信息的情况,经常会使用到地理编码与逆编码:例如给定样本的地址,将其转换为经纬度以便进行量化计算并进行可视化;亦或者给定样本地址信息,将其按照行政区域进行分类以便进行分组并统计。

如何在 R 中进行地理编码/逆编码

目前进行地理编码/逆编码的方法通常是使用地图供应商提供的 API 获取信息。在 R 中目前常使用 tidygeocoder,baidumap 以及 baidugeo 等 Package 完成这类任务。然而,其中 tidygeocoder 使用国际地理信息供应商,其准确度以及信息覆盖程度尚不能令人满意;而后两者因为百度地图 API 的升级,导致目前 Package 不能被新用户调用(其中前者笔者已经提交了 Request,不过是否会被合并还需要进一步等待;后者笔者正在和开发者进行更新,具体修复时间还需等待)。

此外,通过笔者在实际项目的使用过程中发现,在相当多的情况下,高德地图提供的地理编码/逆编码信息似乎好于百度地图,当然因为没有进行客观的对照分析,仅作为个人体验以作参考,如有谬误,您说的对。

amapGeocode

基于以上原因,笔者使用高德开放平台 API 编写了用于 R 的地理编码/逆编码的 Package amapGeocode。代码托管于 Github。具体的高德文档可以查看这里和这里。

目前 amapGeocode 支持通过 getCoord() 进行地理编码,即根据地址获取坐标等信息;以及通过 getLocation() 进行地理逆编码,即根据经纬度获取地址等信息。此外还可以通过 getAdmin() 获取给定行政区其下属行政区(JSONXML 支持多级行政区)。

上述 function 支持输入单条的文本地址/坐标/行政区,同时也支持批量输入信息,其默认返回结果为 tibble, 同时也可以返回原生的 JSON 格式以及 XML 格式,此时批量查询的地址将以 list 的结构保存。

安装

目前可以通过下列命令从 CRAN 安装稳定版:

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值