最近一段时间一直在寻找合适的栅格电子地图来进行矢量化,以便制作符合工作研究需求的矢量电子地图,但这些栅格电子地图一般都不容易获得,市场上矢量地图数据又比较昂贵且不一定适合专业工作研究用。现在网络电子地图比较普及,而且地图数据更新一般都比较快,包括的信息也比较全面,如谷歌地图、必应地图、百度地图、搜狗地图、天地图等,但这些电子地图都是网页版的,要想获得这些栅格数据,只能通过截屏的方式来截取。如果一块一块直接截图,然后再通过软件拼接,一方面工作量比较大,而且拼接的不好还会造成偏差。前几年就听说过一款简单实用的小软件,可以一次截取大幅电子地图并能实现自动拼接功能,这个软件叫“电子地图一把抓”,最近下载使用了一下很是方便。现在把使用的方法和大家分享一下,以便需要这一功能的朋友使用。
“电子地图一把抓”实现抓图的原理:本软件专用来抓取大幅面的电子地图。只要地图软件提供用鼠标拖图的功能,就能把地图抓下来。抓图的原理是用程序模拟鼠标拖图动作,然后用屏幕拷贝方式抓下来,并自动拼接成一幅整图。由于可以通过计算鼠标运动的起点和终点来准确推算出相邻两幅截图之间的拼接位置,所以得到的整幅地图与原图几乎完全相同。使用者只需要设置抓图区域的大小以及整幅地图的宽度和高度,其余工作(截屏、拖图、拼接)由程序自动完成。
下面就来介绍这款小巧实用的软件截图方法和过程。首先找到自己所要的地图,现以百度地图为例。
1、输入网址,打开百度地图,然后打开“电子地图一把抓”软件,运行MapCap.exe,出现“电子地图一把抓”软件界面。
2、选择“抓图”->“区域设定”
此时程序主窗口将会隐藏,出现区域设定窗口。切换到目标地图软件,调整区域设定窗口的大小和位置,使得该窗口正好完全覆盖目标地图软件中的地图窗口。注意:一定不要将地图的边框包括在抓图区域内,否则会造成拼接不准确的问题。抓图区域可以略小于地图窗口,也可以只包括地图窗口的一部分。
区域设定窗口中有4个输入框,分别对应于该窗口的左、上、右、下坐标,单位为像素点。可以直接输入坐标然后点击“应用”来改变抓图区域的大小和位置。完成后点击“确定”按钮回到程序主界面。
3、接着选择“抓图”->“宽度设定”
出现如下窗口:
如果已知地图的总宽度,可以点击“指定地图总宽度”单选按钮,直接输入,单位为像素点。如果地图总宽度未知,先切换到目标地图程序,将当前地图窗口拖到地图最左边的想要截取的任一点,然后用快捷键“Ctrl+D”开始向右拖动地图,直到将当前地图窗口拖到地图最右边想要截取的任一点,然后再切换回来,可以看到宽度已经设定好了。
4、选择“抓图”->“高度设定”
出现如下窗口:
如果已知地图的总宽度,可以点击“指定地图总宽度”单选按钮,直接输入,单位为像素点。如果地图总宽度未知,先切换到目标地图程序,将当前地图窗口拖到地图最上边想要截取的任一点,然后用快捷键“Ctrl+X”开始拖动地图,直到将当前地图窗口拖到地图最下边想要截取的任一点,然后再切换回来。
5、设定好宽度和高度以后,选择“抓图”->“开始抓图”
出现如下窗口:
不要关闭这个窗口(这个非常重要)!
6、返回地图界面,将地图移回刚开始时的左上角,按“F9”,这时地图开始移动并自动截图合并,完成以后自动回到“电子地图一把抓”的界面,完成保存,至此一幅大地图就抓取出来了!
这款软件不但能抓取网页电子地图,也可以抓GoogleEarth的卫星图
抓图时注意事项:
1.抓大图时需要消耗大量内存,所以建议尽可能关闭其他无关的程序。
2.抓图时应防止其他软件在屏幕上弹出窗口,例如:QQ、MSN、自动拨号程序等等
3.这款软件不会自动判断网页图面是否以及下载完毕,定时一到它就去截屏,当网络不是太好的时候,图还没有下载显示完整它就抓了。所以在“抓图”>“选项”>“参数”设定截屏前的等待时间,可以根据网络情况,适当设定等待时间,以保证整个图片都能完整下下来。