第2章 准备可编辑的地图图形

制作数据地图的第一步是准备可编辑的地图图形,这是所有地图做法的基础。所谓“可编辑”,是指在Office软件中可以对每个区域的图形设置填充色、边框线等格式化效果,以及超链接、宏动作等事件,制作出自己想要的地图效果。

免费的可编辑地图图形非常难以获得。如果幸运的话,你或许可以搜索到中意的免费资源,但大多数情况下这类资源都是收费的,并且十分昂贵。要准备可编辑的地图图形,我们可以采用以下3种方法:

●由矢量图形文件导入;

●将位图矢量化;

●使用自选图形勾描。

2.1 矢量图与位图的差别

我们平常所见的图形文件,一般都是位图格式的,如JPG、GIF、PNG、BMP等。位图(bitmap)也叫做点阵图、像素图,其最小单位是像素。位图无法在Office软件中进行编辑,所以不能用于制作数据地图。要制作数据地图,我们需要使用矢量格式的地图文件。

矢量图(vector)也叫做向量图,由多个对象组合生成,每一个对象都是以数学函数来记录的。常见的格式有AI、EPS、WMF、EMF等。

矢量图与位图之间的区别,简单地说,就是矢量图放大不会失真,位图放大则会失真。图2-1直观地说明了这种差异。

alt

图2-1 矢量图放大后不会变模糊

2.2 由矢量图形文件导入

准备地图图形的最好方式是能找到矢量格式的图形文件,这样可以将其导入到Excel中,转换为分区域的、可编辑的地图图形,省时省力,精度高。

在各种矢量格式中,WMF、EMF都是Excel可以识别和转换的格式,AI、EPS等格式则可能需要专业软件才能打开,可先将其转换为WMF或EMF格式后再导入Excel。

由矢量图形文件导入和转换的操作,建议在PowerPoint中进行。因为在Excel中虽然也可进行这些操作,但在取消组合环节可能会出现乱码。

首先打开PowerPoint,选择菜单插入→图片→来自文件,选择准备好的WMF文件,单击确定按钮。然后选中所插入的图片,单击鼠标右键→组合→取消组合。这个操作也可以通过绘图工具栏进行,如图2-2所示。

alt

图2-2 通过“取消组合”命令可以将WMF文件“打散”

这时会出现如图2-3所示的对话框,询问是否转换为Microsoft Office图形对象,单击是按钮。

alt

图2-3 取消组合对话框

现在,插入的图形会呈现为如图2-4所示的样子,已经被“打散”为一个个独立的自选图形,所以出现了很多的控制点。

alt

图2-4 矢量图取消组合后,成为一个个独立的地图图形

根据具体情况,这个取消组合的过程可能需要执行多次,才能将WMF文件完全打散为最细的图形。也可能会出现一些错误的图形,需要我们手动将其删除,挑选出正确的地图图形。

现在,我们得到了可编辑的地图图形。你可以单独选中某个省的图形,通过绘图工具栏修改其填充色、边框线的粗细和颜色等格式,这就是“可编辑”的含义。

2.3 将位图矢量化

如果你所要制作的地图,找不到合适的矢量图形文件,可以采取将位图矢量化的做法。在Photoshop之类的软件中一般有栅格化的功能,其原理如图2-5所示。

alt

图2-5 位图矢量化过程的示意图

大多数读者可能没有安装Photoshop软件,那么可以使用在线矢量化网站完成这一过程。如http://vectormagic.com这个网站提供在线矢量化功能,可以上传JPEG、GIF、PNG、BMP、TIFF、PSD等格式的位图文件,经过简单的几步操作,就可下载由原位图文件转换的EPS、SVG等格式的矢量文件。其桌面版支持导出EPS、SVG、PDF、AI、DXF、EMF、PNG等格式。

用来矢量化的位图格式地图图片,最好是比较干净的四色填充行政区划地图。若有地名、公路等标识,可先将其抹掉后再矢量化,以减少矢量化后的修饬工作量。

得到矢量格式的文件后,仍采用前述矢量图形导入后取消组合的方法,获得可编辑的地图图形。

2.4 使用自选图形勾描

如果你要制作当地某个市、县甚至区的地图,很可能既找不到矢量地图,也找不到适合矢量化的位图。作为最后的手段,可以采用自选图形勾描法。

首先找到一个当地的行政区划地图图片(一般JPG格式的行政地图还是能找到的),插入到Excel中。

在合适比例的放大视图下,使用菜单插入→形状→线条→自由曲线(或任意多边形)[1],用鼠标按照地图行政区划的轮廓进行勾描,每一个行政区勾描成一个封闭小块,最后形成一个全市分区的自选图形地图。这显然是个绣花般的细活,需要花一点工夫,但一次完成长期使用,还是值得的。

很多人在勾描自己当地的分县、区地图时,都会遇到耐心耗尽、几欲放弃的情况。这里与大家分享两个勾描技巧:

一是不要强求一笔就能完美地勾描出一个区域的图形。可以先粗略勾描出一个大致的区域轮廓,然后通过鼠标右键菜单→编辑顶点来慢慢修整图形到合适的精确度。

二是对于两个区域接壤的部分,可以选择只精确勾描一侧,另一侧大致勾描,甚至是直接略过细节。然后,通过调整图像的叠放次序,让精确勾描一侧的图形位于粗略勾描一侧的上面,从而遮盖住粗略勾描的部分,这样读者并不会看到我们省略的地方。不过,这样勾描的图形,就不适用于3.2节利用透明度制作地图的方法了。

勾描地图时,边界线条并不一定要完全精确。图2-6和图2-7所示的手绘风格和写意风格的数据地图,在勾描时都未完全精确按实际边界执行,但却给人一种别样的、充满个性的风格感受。

alt

图2-6 手绘风格的数据地图,边界线条随意个性

alt

图2-7 写意风格的数据地图,边界线条简洁写意

在准备地图图形时,虽然不必要求百分之百精确,但要注意不能犯明显的错误。譬如使用中国地图时,特别要注意中国台湾(很多国外媒体绘制的中国地图没有台湾)、重庆(不要使用直辖之前的地图),与印度接壤的阿克赛钦、“麦克马洪线”等争议地区是否正确[2]。国内某著名电子商务公司曾在其网站上发布一份数据地图,居然包含了上述所有错误,这是很要不得的。

另外,在使用中国地图时,有人可能会顾虑是否需要绘制南沙群岛等。一般来说,由于我们是在商业数据分析范畴而不是政治范畴内使用地图,这些没有经济数据的区域是可以省略的。观察美国媒体上的数据地图,会发现他们也经常省略夏威夷群岛和阿拉斯加州的图形。当然,若有特殊需要或保险起见,你也可以在右下角加上群岛的示意图形,或者在注释中作相应声明。

以上3节介绍了3种准备可编辑地图图形的方法,大家在制作自己的数据地图时可以根据情况选用。

本书范例包中已经为读者提供了多种可能需要用到的矢量地图素材,方便大家直接使用。这些素材包括:alt

●世界地图,细分到5大洲和各个国家;

●中国地图,细分到省级、市级和县级;

●各省地图,细分到市级。

alt

2.5 为地图图形命名

采取导入后取消组合方法获得或者使用自选图形绘制的地图图形,其名称可能为“任意多边形1”、“自由图形2”等不确定、无意义的名称。为便于后续引用,我们需要对其进行与地名对应的命名。

这一步要在Excel中进行,请将前述环节准备好的地图图形复制到Excel中。

以湖北省地图为例,为自选图形命名的方法如下:选中湖北省的图形→在Excel左上角的名称框中输入“湖北”→回车,即将湖北的地图图形命名为“湖北”,如图2-8所示。

alt

图2-8 通过Excel的名称框为地图图形命名

使用该方法,为所有区域的图形一一命名。Excel中对图形命名支持中文,因此可以直接使用与数据表格一致的地域名称,以方便后续查找和引用。各省的命名规范可参考附录A.7的省份名称列表。

至此,制作数据地图的第一步已经大功告成。经过以上步骤完成的可编辑的地图图形,将是后面各章节地图做法的基础,会反复用到,请妥善保存。

现在我们已经可以将这些可编辑的地图图形运用到报告文档中,作为位置提示型的地图使用,将为文档增色不少。

下一章我们将开始制作真正的数据地图。已经迫不及待了?OK,Let's go!


alt轻松一刻

地理课上。

老师问Zeric:“你为什么还没有完成世界地图的描绘作业?”

Zeric低头回答道:“我怕我不小心画错了地图,会改变世界。”


注释

[1] Excel 2003中为绘图工具栏→自选图形→线条→自由曲线(或任意多边形)。

[2] 参见杨浪著《地图的发现》第190页:地图上的中印边界问题。