百度兴趣点下载工具设计和实现
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处: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/
如果您觉得本文确实帮助了您,可以微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^
转载于:https://www.cnblogs.com/naaoveGIS/p/4940244.html
百度兴趣点下载工具设计和实现相关推荐
- 传百度无人车计划分拆,百度回复:不实信息,目前未有分拆计划
据<财经>报道,百度无人车项目正在筹备分拆(spin off)当中,且正在寻找外部投资机构融资.一位接近百度无人车项目人士对<财经>表明,分拆就是时间问题. 对于无人车项目分拆 ...
- WebGIS博客文本分析(词频分析)手动扒取 去除格式 词语分割 统计分析
1. [置顶](一)开篇-杂谈WebGIS 摘要: 文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.前言 ...
- python google earth_用Python实现探险家GPS和Google earth 的兴趣点转换
用 Python 实现探险家 GPS 和 Google earth 的兴趣点转换 探险家 GPS 是麦哲伦公司出品的一款 GPS ,它具有记录航迹.兴趣点.计 算面积等多种功能. Google ear ...
- 【转】楼天城楼教主的acm心路历程(作为励志用)
[转]楼天城楼教主的acm心路历程(作为励志用) 利用假期空闲之时,将这几年GCJ,ACM,TopCoder 参加的一些重要比赛作个 回顾.昨天是GCJ2006 的回忆,今天时间上更早一些吧,我现在还 ...
- 楼天城楼教主的acm心路历程 ---- 抄自网上
其实是转载,,这是楼教主写的(网上发现) 看完好生感动!!好生励志!! 分割线------------------------------------------------------------- ...
- ACRush 楼天城 回忆录
利用假期空闲之时,将这几年GCJ,ACM,TopCoder 参加的一些重要比赛作个 回顾.昨天是GCJ2006 的回忆,今天 时间 上更早一些吧,我现在还清晰记得3 年 前,我刚刚参加ACM 时参加 ...
- ACRush 楼天成 回忆录
利用假期空闲之时,将这几年GCJ,ACM,TopCoder 参加的一些重要比赛作个 回顾.昨天是GCJ2006 的回忆,今天 时间 上更早一些吧,我现在还清晰记得3 年 前,我刚刚参加ACM 时参加 ...
- 剪辑的楼天城的ACM之路
楼天城楼教主的acm心路历程(剪辑) 利用假期空闲之时,将这几年GCJ,ACM,TopCoder 参加的一些重要比赛作个 回顾.昨天是GCJ2006 的回忆,今天时间上更早一些吧,我现在还清晰记得3 ...
- ACrush 回忆录
利用假期空闲之时,将这几年GCJ,ACM,TopCoder 参加的一些重要比赛作个 回顾.昨天是GCJ2006 的回忆,今天 时间 上更早一些吧,我现在还清晰记得3 年 前,我刚刚参加ACM 时参加 ...
最新文章
- LeetCode First Missing Positive
- android开发之图表
- python安装在d盘环境变量配置_python安装与环境变量配置
- IOS div上下滑动效果
- Java模拟http上传文件请求(HttpURLConnection,HttpClient4.4,RestTemplate)
- 计算机cmp代表什么意思,CMP是什么
- axure 调整中继器列宽_Axure教程:用中继器做图片轮播
- U盘做系统时如何设置USB为第一启动盘
- 策略盈亏分布统计——从零到实盘11
- [Processing]在画布上写文本
- 很抱歉,EXCEL遇到错误,使其无法正常工作,因此需要关闭EXCEL。是否希望我们立即修复?...
- 泛函分析笔记2:赋范空间
- 腾讯汤道生:未来将投入100亿资源为中小企业提供SaaS产品及方案
- 深度解析Linux通过日志反查***
- 第十五章 文正学院成绩录入系统
- 处理器cpu测试工具
- Linux查看网络连接情况ss,Linux网络状态工具netstat和ss使用详解
- C#连接Excel文件的连接字符串
- returnT java
- windows自动化批处理删除文件
热门文章
- 【MFC】MFC开发之前言
- 【Linux网络】Linux Socket编程 TCP协议
- oracle 补丁打不上_oracle 打补丁常见问题
- springboot切面返回值_SpringBoot实战15-Spring基础-AOP
- 如何让鼠标跑不出来_洗衣机常年不清洗脏过马桶,教你一窍门,脏东西自己跑出来...
- keepalived(2)——配置文件
- 给未来的自己一封信计算机,给未来的自己一封信
- 九大排序算法-C语言实现及详解
- HDU - 2825 Wireless Password (AC自动机 + 状压dp)
- 牛客练习赛34 E little w and Digital Root(数位dp)