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

简介: 文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处: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/

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

                                                

 

目录
相关文章
|
6月前
|
Ubuntu
百度搜索:蓝易云【解决Ubuntu终端下载速度过慢问题】
请注意,下载速度受到多种因素的影响,包括网络状况、软件源的位置和服务器负载等。尝试上述方法可能会有所改善,但并不保证能够解决所有情况下的下载速度过慢问题。
105 6
|
6月前
|
存储 Cloud Native Docker
百度搜索:蓝易云【云原生之使用Docker部署Notepad个人任务管理工具】
这样,你就成功地使用Docker部署了Notepad个人任务管理工具。通过Docker部署Notepad可以使应用的安装和配置更加便捷,并且可以隔离应用环境,避免影响到宿主机的系统。希望以上教程对你有所帮助!如果你有其他问题,请随时继续提问。
91 0
|
3月前
|
vr&ar
简单易懂的 全景图高清下载方法以及原理简要解析(支持下载建E、720yun、酷雷曼、景站、酷家乐、百度街景原图)
这篇文章介绍了一种简单易懂的全景图高清下载方法,使用在线网站全景管家,支持下载包括建E、720yun、酷雷曼等多个平台的全景图原图,并简要解析了全景图的原理和制作方法。
简单易懂的 全景图高清下载方法以及原理简要解析(支持下载建E、720yun、酷雷曼、景站、酷家乐、百度街景原图)
|
3月前
|
Linux
Linux 服务器下载百度网盘文件
本教程指导如何使用 `bypy` 库从百度网盘下载文件。首先通过 `pip install bypy` 安装库,接着运行 `bypy info` 获取登录链接并完成授权,最后将文件置于指定目录并通过 `bypy downdir /Ziya-13b-v1` 命令下载至本地。
149 1
Linux 服务器下载百度网盘文件
|
5月前
|
JSON 前端开发 API
程序技术好文:百度网盘真实地址解析(告别下载百度网盘)
程序技术好文:百度网盘真实地址解析(告别下载百度网盘)
389 0
|
6月前
|
Linux
Linux上传下载百度网盘文件
Linux上传下载百度网盘文件
410 1
|
6月前
|
监控 Ubuntu
百度搜索:蓝易云【如何使用各种工具和命令来检查Ubuntu中的CPU使用情况?】
这些工具和命令可以帮助你实时监控和检查Ubuntu系统中的CPU使用情况。你可以根据需要选择合适的工具来查看CPU使用情况,并根据情况采取相应的措施来优化系统性能。
91 1
|
6月前
|
测试技术 Linux
百度搜索:蓝易云【【Linux】硬件性能测试工具安装。】
以上是一些常见的硬件性能测试工具,你可以根据需要选择适合的工具进行安装和使用。注意,在安装和运行这些工具时,请遵循官方文档和指南,并在测试过程中小心操作,以避免对系统造成不良影响。
111 1
|
6月前
|
传感器 监控 自动驾驶
百度Apollo :自动驾驶全新工具Dreamview+,便捷灵活更丰富
百度Apollo :自动驾驶全新工具Dreamview+,便捷灵活更丰富
122 0
|
6月前
|
数据可视化 开发工具 git
Git【实践 01】使用Git工具托管本地代码到GitHub简单易懂的图文教程(含Git+第三方工具TortoiseGit+中文语言包百度云盘资源)
Git【实践 01】使用Git工具托管本地代码到GitHub简单易懂的图文教程(含Git+第三方工具TortoiseGit+中文语言包百度云盘资源)
99 0