当前位置: 代码迷 >> GIS >> 5.已完成的工具展示
  详细解决方案

5.已完成的工具展示

热度:413   发布时间:2016-05-05 06:04:35.0
百度兴趣点下载工具设计和实现

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/ 

 

2楼其心塞渊
中间缓存文件是json文件吗还是类似shapefile的空间数据?
1楼誤人子弟
这个是什么鬼?不知道怎么使用
  相关解决方案