百度兴趣点下载工具设计和实现

简介: 文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/。 1.前言 在内网项目中需要展示兴趣点,而此时对方并没有提供兴趣点数据,同时也不能通过百度在线服务去获取时,能够将百度的兴趣点趴取组织然后存放在本地显得十分有用。

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

1.前言

在内网项目中需要展示兴趣点,而此时对方并没有提供兴趣点数据,同时也不能通过百度在线服务去获取时,能够将百度的兴趣点趴取组织然后存放在本地显得十分有用。如果,还能将百度兴趣点的坐标逆转换成本地坐标系下的坐标,那么刚才描述的这个问题也便能迎刃而解。

百度服务端提供了请求兴趣点的接口。对于一般用户,一个key一天可以请求的上限是10W次。基于此服务,我们便可以开展百度兴趣点下载工具的研发。

2.思路

                       

3.实际开发中遇到的问题

3.1 请求返回的数据个数问题

不管我们向百度的后台请求的范围是多大,其返回的总数(不是指每页数量)最多不会超过400个。

 

所以,如果想尽可能多的下载到范围内的兴趣点,我们需要做到以下两步:

a.尽量使用范围来进行请求。

b.将范围进行格网化,并且此格网大小要合适。选择1KM作为格网划分单位比较合适。然后按照格网范围进行请求。

在开发过程中,涉及到首先遍历所有格网,其次在每次遍历中,根据第一次返回的total以及pagesize做递归或者堆栈循环。

3.2兴趣点uid重复问题

根据自身所需的关键字组合而获取的所有兴趣点中,会出现uid重复问题。这个主要是某个兴趣点同时属于多个关键字。

所以在后台进行数据整合时,需要进行过滤。

4.优化

4.1 多线程下载

使用多线程下载可以比较好的解决下载速度问题。但是如何划分每个线程所管辖的下载范围,每个线程负责下载的关键字,线程开启多少合适,需要测试优化。

4.2 数据保存问题

数据有可能存在到多种数据库中。这里如果可以生成中间缓存文件。然后再导入进所需的数据库,能规避许多不必要深究的问题。

并且多线程同时操作相同的文件,容易出现线程堵塞或者资源抢占错误。这里建议以不同线程对应不同临时文件来解决。

4.3 错误记录修复

在请求解析时,难免会出现返回结果不正确导致的解析错误等其他问题。这里需要对错误请求进行记录。并且提供修复功能。

4.4 嵌入网页地图

后续中可以嵌入网页地图,方便选择范围。

5.已完成的工具展示

 

 

                                                                              -----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

                                                                                     如果您觉得本文确实帮助了您,可以微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^

                                                

 

目录
打赏
0
0
0
0
14
分享
相关文章
什么是百度优化?百度SEO优化解决方案
百度优化的解决方案不仅可以帮助企业提升网站在百度PC端的收录与关键词排名,也可以获得更好的移动端收录与关键词排名,从而达到品牌SEO推广及引流的目的。接下来小编为你详细分享什么是百度优化以及实用的解决方案,一起来看看吧。
1324 0
网络连接正常但百度网页打不开显示无法访问此网站解决方案
网络连接正常但百度网页打不开显示无法访问此网站解决方案
2166 0
网络连接正常但百度网页打不开显示无法访问此网站解决方案
图解Git——分支的新建与合并《Pro Git》
在Git开发中,新建与合并分支是常见的操作。以实际开发为例:为实现新需求创建分支`iss53`进行开发;遇紧急Bug时,切换至线上分支创建`hotfix`修复并合并回线上分支,再切换回`iss53`继续工作。完成`iss53`后,切换到`master`合并。若出现冲突,使用`git status`查看,手动编辑解决冲突后标记为已解决并提交。图形化工具如`git mergetool`也可辅助解决冲突。
113 9
Mac使用TCP发送信息nc -l 9000 和 telnet 127.0.0.1 9000
Mac使用TCP发送信息nc -l 9000 和 telnet 127.0.0.1 9000
123 1
|
9月前
|
JS中的splice的三种用法(删除,替换,插入)
JS中的splice的三种用法(删除,替换,插入)
746 4
百度百科都是谁写的
百度百科是全民共建的网络百科全书,允许注册用户编辑词条,强调平等、协作与分享。它拥有严格的审核机制,确保内容客观、权威,以参考资料为支撑。编辑者来自各行各业,从学生到专业人士,他们的贡献提升了百科的可信度。新创建的词条若具丰富引用,尤其来自政府网站,其可信度更高。通过用户间的交流与合作,百度百科不断进化和完善。
350 1
技术探索中的思考与成长
在技术的海洋中航行,每一步都是对未知的探索,每一次尝试都是成长的印记。本文将分享作者在技术学习过程中的感悟,从初入职场的迷茫到逐渐找到方向,再到深入钻研某一技术领域的心路历程,希望能为同样在技术领域奋斗的你带来一些启发和共鸣。
破壁人AI百度:科技公司反内卷的典型样本
互联网整个行业都在陷入被动且尴尬的局面。去年开始流行的“内卷”一词,恰如其分的描述了互联网的现状,比如抖音开始做外卖,微信强推视频号,一直硝烟弥漫的电商市场,更是激战在社区团购上。
93 3
VUE基础知识:请解释Vue指令的概念,并给出一些常见的Vue指令。
VUE基础知识:请解释Vue指令的概念,并给出一些常见的Vue指令。
63 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问