关于地址批量解析经纬度的问题

xiaobucvg · 2024-10-25 09:52:28 · 62 次点击
友友们, 遇到一个问题, 系统需要根据一串客户地址来获取经纬度, 偏差不能太大

例如: 输入 北京市密云区十里堡镇十里堡村富民路 20 号, 系统需要解析这串地址, 然后输出对应的经纬度

输入的地址不一定是什么样子, 有可能是 青岛市市南区 xx 大厦放门口快递柜, 青岛市市北区 xx 小区尾号 xxxx 等等.

目前我使用的方案是:

1 先调用阿里云的快递地址解析接口, 尝试解析出标准地址结构
2 拼接解析出的地址结构调用百度地图的 POI 搜索接口
3 获取搜索到的第一个 POI, 获取该 POI 的经纬度

但是目前来看, 许多地址的准确度还是堪忧, 有人能出出招吗?

PS: 不能输出多个地址让用户手动选, 因为做的是批量导入解析
举报· 62 次点击
登录 注册 站外分享
4 条回复  
concernedz 小成 2024-10-25 09:57:42
这种,三个地图商都有相关接口吧?
高德: https://lbs.amap.com/api/webservice/guide/api/georegeo
百度: https://lbsyun.baidu.com/faq/api?title=webapi/address_analyze-base
zhuang0718 小成 2024-10-25 10:01:24
精准度取决于 1⃣️调用接口匹配结果精度,2⃣️不同接口返回的经纬度不一定是一个坐标系,需要对结果在批量进行坐标转换(转换成你最终要用的坐标系)
davin 限制会员 2024-10-25 10:07:32
百度和高德地图都提供地理编码 API 服务,可以试试他们的结构化地址与经纬度之间相互转换功能。

对于输入地址,可以先提前过滤一遍,比如去掉“放门口快递柜”和“尾号 xxxxx”这种。然后多家 API 交叉比对,提高地址判断的准确性。

最后,可以转换下思路:
1. 看看国内几达几通、顺风或者京东有没有提供快递地址相关的 API ,说不定比客户自己输入的地址更加准确。
2. 优化地址输入方式,和地图 API 进行关联,输入关键字时,同时给出下拉列表让用户自己选取。
perbugwei 小成 2024-10-25 10:37:12
高德和百度的坐标系不是一个,要看你要用到哪里。而且我试过百度和高德的,不一定能获取到你想要的,因为原始的地址数据都不准确。最后的最后解决办法就是人工校验。
返回顶部