mysql gis 高德_百度地图、高德地图的数据从哪里得到的?

开始按计划实现流程。

一 区域分割。

这个步骤是整个方案比较关键的一步,区域分割的要求如下。不能太大,因为一个区域一个类别的POI数目不能超过400;覆盖要完全,要包括全市的市域;不能有重叠。

1

之前网上有人写了个程序,但是我觉得这种方式不好,覆盖不全。思路打开,所谓区域分割,好像和格网数据类似,于是我就找同事要了几种全市的格网数据,经过比较分析,2KM*2KM的格网基本能满足我的要求。

2

下一步,就是提取每个格网的最大最小坐标了,问题来了,格网数据里没有这些东西。有同事说,写个arcENGINE的程序就能提取出每个格网的最大最小坐标。我深以为然,但是作为一个懒人,作为一个不把自己定位为程序员的冒牌程序员,我的工作理念是想办法解决问题,而不是所有问题都有程序解决。于是在短暂的思考后,我先用arcgis自带的几何计算获取了每个格网的质心坐标,由于格网是2KM*2KM的正方形,使用arcgis字段计算器,将每个格网的最大最小坐标用质心坐标+_1KM就得到了,不到两分钟就解决了。写什么程序呢!

3

网格数据的坐标是84的,而我需要的是经纬度坐标。这个没办法,用程序转吧,找同事要了个坐标转换函数,嵌入我的ARCengine小程序里,最终得到了文章(一)里我所需要的txt文件。

二 爬虫程序编写

整体过程就是使用txt中每一行(格网的最大最小坐标)去调用百度api,用爬虫去爬的html,将获取的值存入数据库。具体代码细节我就不赘述了,想要的联系qq1148460370

我只说开发中出现的要注意的问题。

1 循环问题

由于百度api一个区域最大返回数为400,每页最大返回数为20,可以设置page_num的值来循环获取。之前看有人是每个都循环20次,这个很没效率,我的方式是获取total值,用它除以20获取循环最大值,然后循环。

2 分类问题

在http://lbsyun.baidu.com/index.php?title=lbscloud/poitags中,有时用一级行业分类会丢数据,这个要注意,如果一级行业数据丢了,可以联合查询二级行业分类,但是也要注意其最大返回值为行业数*50

三 poi数据图形化可视化处理

四 总结

这件事,虽然不是什么大事,但从提出想法、调研试验、宏观解决方案设计、解决方案流程设计、技术细节学习和实践、到最后实现想法,全由我一人独自完成,学到了很多东西,其实还是有点成就感的。在与领导谈论更宏观的问题时,思路也更加的开阔。在完成过程中,利用了能利用的其他资源(格网数据等),加深了一些固有想法,比如孤零零的数据其实价值不大,结合一些想法、方案一起来用价值翻倍;整合各种资源往往比获得资源更重要。可能从更宏观的角度,这个东西还停留在调研试验阶段,但对我个人而言,做了这样一件事挺值的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值