Introduction
在调用百度API之前,通过参考文献[1]获得一个开发秘钥(AK)。如Fig. 1所示,应用类型“浏览器端”,启用服务“全选”,Referer白名单可以先填“*”(此时任何网站均可访问,存在安全风险),待以后情况补充为特定网站(此时仅指定网站可以访问,安全性即可加强)。
参考文献[2]Python代码不能运行,但其结构、流程具有借鉴意义。
Fig. 1
中文地址不能直接加入URL发出申请,先行转换为URL编码。如上地十街10号,转制为URL编码即为“%E4%B8%8A%E5%9C%B0%E5%8D%81%E8%A1%9710%E5%8F%B7”(验证地址),基础是UTF-8编码。
BAIDU MAP API
我们使用百度API,以地址返回的是百度坐标(与真实WGS84坐标之间存在一定偏移),一个简单的替代方法减小这种偏移(不是消除偏移),请见参考文献[7]。输入及输出参数配置说明。地址最多支持84个字节等于(UTF-8)28个字,在转为URL编码之前需对地址稍加验证和处理,以符合要求。
时间复杂度
若并行处理(时间必然缩短),请先行注释如下代码:
1 2 3 4 5 6 7 8 | if BDcoord>300 disp('This script had been ended.'); return; elseif BDcoord==-1 invalidlist=[invalidlist; ii]; disp([num2str(ii), '. not found.']); continue; end |
测试情况:1000个地址,顺序查询用时约在5.8分钟。
不同用户每日查询上限
权益对比:未认证用户(6000次/日)、认证个人用户(30万次/日)、认证企业用户(300万次/日)References
[1] 如何使用百度地图API?
[2] 调用百度地图API将城市转换为经纬度问题.
[3] Yahoo GeoCode API.
[4] 百度地图API地理编码说明.
No comments:
Post a Comment