使用python及百度API对百度poi数据进行爬取(三)

其实一和二就已经基本完成了任务。写三,是因为应用到具体情境中,出现了点问题,需要解决一下。

主要问题:我们单位底图用的是xian1980坐标,而我爬到的数据是百度坐标。 不能用。

解决办法:我最开始从网上找了些算法,但是用起来效果不好,偏差太大,在一番摸索后,试验出如下解决办法。

1 利用爬虫爬取百度POI,设定coordtype=1, ret_coordtype为默认的BD09

2 网上有一个百度转wgs84的工具,写个程序,把这个工具嵌入,得到wgs84坐标

3 利用arcgis进行坐标转换,得到最终数据。

在此顺便梳理一下完成整个事情的工作方法和流程

一共有三个我个人定制开发的程序,处理格网数据的ArcEgine程序、获取百度POI的爬虫程序、BD09转wgs84的程序

1 处理格网数据,用加密的台式机跑我的ArcEgine程序,提取格网坐标

2 采用简易“分布式”,三?台电脑,用poi类别进行分工,使用1的结果,跑我的爬虫程序,要保证网速

3 跑BD09转wgs84的程序,将2中得到的坐标进行转换(我也把获取百度POI的爬虫程序和BD09转wgs84的程序整合一起,可以一块跑)

4 利用arcgis进行坐标转换,得到最终数据。

其中1耗时较少,2和3就是跑程序,网速很关键,4的处理量比较大,相对麻烦复杂,需要专人处理。

目前笔者爬完并处理完成了景点、公司、政府、酒店四种类型总计3万条的POI数据,并叠加到了底图上,效果不错。

回顾整个流程,此事的难点不仅仅是三个程序的设计,而是提出这种想法,并想办法利用手头及网络各种资源,有机的集合成一套合理可行的解决方案。我个人觉得,做了这件事,受益匪浅。

总体上看,技术路线走通了,就可以批量生产了,那就是后面的事情了吐舌头

 


猜你喜欢

转载自blog.csdn.net/u010723516/article/details/73201420