对互联网地图离线瓦片进行抠图的方案进阶
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/
1. 背景
地图底图是互联网地图,采集了某个行政区的POI数据,需要将采集的POI数据叠加到互联网地图上。理论上,我们只需要将POI转换成互联网地图的坐标系后叠加到地图上即可,但是,由于以下两个原因,我们必须采用稍微复杂的数据处理:
a.该行政区的互联网注记不能存在,否则与采集的POI数据会出现重叠。
b.其他行政区必须保留互联网注记。
为了同时满足这两个要求,我们选用了以下技术方案:
a.互联网地图请求时同时请求地形瓦片和注记瓦片,以保证所有区域均有互联网地图注记。
b.下载行政区所在范围的地形瓦片。
c.设法扣除非该行政区范围的瓦片内容,将该瓦片叠加到互联网地图上,从而覆盖原有区域,实现对该区域互联网注记的遮盖。
d.将采集的POI数据进行坐标转换后叠加到该行政区。
针对如何实现互联网地图离线瓦片按需抠图的方案,我们进行了不断完善,这里详细进行描述。
2.拼接+PS+切图方案(初始方案)
2.1方案描述
a.首先写瓦片拼接程序,将下载的瓦片分层级拼接成不同级别的一张整图。
b.使用Photoshop手动对各个层级进行抠图,获取各层级的区划地图。
c.编写图片切割程序,按照互联网的瓦片大小,再将各层级区划底图进行切割,并且命名行列号。
d.将重新切割命名出的瓦片拷贝至原有的离散瓦片进行覆盖。
2.2不足
a.该方案需要编写两个程序,一个是瓦片拼接程序一个是瓦片切割程序,实现有一定难度。
b.该方案还需手动进行PS抠图,当级别比较大时,整图非常大,对抠图人员的耐心和技巧均有一定考验。
3.拼接+自动化抠图+切图方案(自动化抠图的进阶)
3.1方案描述
故名思议,这个进阶方案最大的优化就是对PS抠图做了自动化工具,大大减少处理成本和时间。
a.对不同级别互联网瓦片进行拼接,处理成不同层级的整图。
b.将区域SHP配色成红色,按照互联网地图切图,然后再分别拼接成对应级别的区域整图。
c.编写图片抠图工具,该工具原理为分别比对不同层级的地图整图和区域整图。遍历地图整图的像素和区域整图的像素(两个图片像素位置一一对应,区域整图像素是红色)。当区域像素为红色时表示该像素在区域中,保持地图像素透明度;当区域像素不为红色时表示该像素不在区域内,设置地图像素为透明。
d.对处理完的整图进行重切图。
3.2不足
a.同样,还是需要进行瓦片拼接和图片切割工具的编写,这一块的难度和工作量没有减轻。
4.基于瓦片的自动化抠图方案(无需拼接,进一步提高效率)
a.将新增区划图配色成红色,以互联网地图级别进行切图。
b.开发基于瓦片的抠图程序,利用地图瓦片和行政边界瓦片编号一一对应原理,遍历地图瓦片的同时找到行政区对应瓦片。判断瓦片内容是否在行政区内,进行瓦片级别的透明度处理。
5.总结
通过方案的不断优化,最终实现无需进行拼接、基于瓦片的自动化抠图方案,大大提高了数据处理的效率和自动化程度。
-----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/
如果您觉得本文确实帮助了您,可以微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^