其实一和二就已经基本完成了任务。写三,是因为应用到具体情境中,出现了点问题,需要解决一下。
主要问题:我们单位底图用的是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数据,并叠加到了底图上,效果不错。
回顾整个流程,此事的难点不仅仅是三个程序的设计,而是提出这种想法,并想办法利用手头及网络各种资源,有机的集合成一套合理可行的解决方案。我个人觉得,做了这件事,受益匪浅。
总体上看,技术路线走通了,就可以批量生产了,那就是后面的事情了。