以ArcGIS为例,结合自己多年的工作经验,来介绍一下地质图矢量化的技巧。
一、底图的配准
不同比例尺的图件,有着不同的配准精度要求:
1:20万的地质图,配准误差不能高于20米;
1:50万的地质图,配准误差不能高于50米。
扫描质量很好的原始图件,只需要4个以上的控制点用一次配准就可达到精度要求;扫描质量不好的原始图件,必须要用二次甚至三次配准,在ArcGIS中,至少6个控制点才能进行二次配准,至少10个控制点才能进行三次配准。控制点要均匀分布在图面上。为了配准的方便,在配准之前,还有必要用图像处理软件对一些老化严重的图件进行处理,以去除老化色,恢复其原色。
二、地理数据库(Geodatabase)中要素类(Feature Class)的建立
要素类的建立是地理数据库建立工作的主要内容,在地质图的矢量化工作中,主要涉及到的要素类有面要素(Polygon Features)、线要素(Line Features)、点要素(Point Fatures)。与地质有关的面要素有:侵入岩、沉积岩、变质岩、蚀变带、各种脉岩等;线要素主要有:断层、地质界线等;点要素主要则主要是各种矿点。除此之外还有水系、道路、城镇、居民点等非地质要素。
在建立要素类的过程中,依次要设置名称(Name)、别名(Alias)、类型(Type)、几何特征(Geometry Properties)、坐标系(Coordinate System)、XY容忍度(XY Tolerance)、属性表字段(Fields)等。名称是计算机识别要素类的依据,其设置要做到简洁明了、见名知意,如果需要,还可以设置别名,请注意别名仅是供用户识别使用的,它不是计算机识别的依据。类型(即面、线、点)、几何特征(即是不是包括Z值的3D数据)、坐标系的设置要和底图相同,这样才能保证矢量化后的数据与原始数据一致。XY容忍度不宜设置过大,否则会影响到数据的精确度,我们可根据底图具体的精度要求设置,比如1:20万的地质图,此值设为1米即可满足精度要求。属性表字段的设置十分重要,故放在下一节介绍。
三、要素类的属性表
要素类的属性表的创建和填写是矢量化工作的主要和关键内容。属性表的创建过程主要包括字段的命名和字段类型和长度的选择。例如对于侵入岩,可设置岩体地方性名称、岩石类型、岩性符号、岩性代码、岩石颜色、岩石结构、岩石构造、岩相、主要矿物及含量、次要矿物及含量、与围岩接触关系、接触面走向、接触面倾向、接触面倾角、围岩时代、形成时代、含矿性等。对于沉积岩及地层,可设置地层地方性名称、地层单位符号、地层单位时代、岩石组合、岩石组合主体颜色、岩层主要沉积构造、生物化石、产状等。
字段类型,在地质图矢量化中常用的主要有:Short Integer、Long Integer、Float、Double、Text,因该依字段数据的特征选择。
字段长度太短会不够使用,太长又会造成数据冗余,尤其对于Text类型如此。
四、点、线、面的矢量化跟踪
点、线、面的矢量化跟踪,必须要遵循一个基本的原则,就是忠实于原图,与原图一致。
点的矢量化十分容易,只需将地图上的点放到合适的大小,然后在其中心处定位即可。
线的矢量化也较为简单,要求将线条放到合适的粗细,依次用鼠标对其跟踪。由于扫描后的底图在放大到一定程度时将会是一个个方形的栅格,有人主张将底图放大到很大的倍数,跟踪时将鼠标点在栅格中央即可,这样可以将图精确到栅格。
其实这样的说法是不对的,这样做的弊端有二:一是速度慢、效率低;二是这样做的后果未必忠实于原图,相反会造成一些细微的错误。如图1所示,底图的线条原本是光滑的,而按照一个一个的栅格跟踪,出现了很多微小的锯齿。一定要认识到:任何栅格图像放大到一定程度都会出现方形的栅格,这是栅格数据的一大局限,这些方格并不是原始底图的真实反映,而是原始线条的近似表达。要跟踪的不是一个个的方格中心点,而是所有方格的整体走势。
图1 正确和错误的跟踪方法对比
A:正确的方法,把握所有方格的整体走势,线条平滑
B:错误的方法,按照每个栅格的中心跟踪,出现了很多微小的锯齿
由此可见,所谓的“细致”是相对的,有时过于细致,反而会造成错误。所以正确的跟踪方法应该是:把握所有方格的整体走势,让线条最大程度地贯穿这个走势。一般来说,线条应该是平滑的。
面的矢量化是最为复杂和繁琐的,工作量非常巨大。总体上来说,面与面的拓扑关系有以下四种:相离、相邻、相交、包含。处理好面的矢量化问题,就是要正确地处理好这四种拓扑关系。传统的方法是:如果两个面有公共的边,在作图时就要使用捕捉、跟踪等工具,以保证这两个面严格重合在公共边。如果一个面中包含了另外一个面,在作图时就要使用切割工具,然后才能在大面内部新建小面。
很显然,以上关于面的矢量化方法在ArcGIS中完全是常规的方法。这样的方法每次遇到公共的边都要重复跟踪,费时费力,操作起来非常繁琐,稍有不慎就会产生错误,最常见的错误是在多个面的交接处产生一些小的三角形。这样的错误修改起来也是非常麻烦的。
正是因为传统方法的以上缺点,我们强烈地不推荐这样做,而是用一种更为快捷的方法:,按照线要素的矢量化的方法将所有面的边界当作线要素矢量化,从而形成一个叫做作图原始线条的线要素类。注意:矢量化时所有面的边界一定要闭合,所有的线条只能跟踪一遍。然后再用工具箱中的“Feature to Polygon”工具,将作图原始线条转化为面。这样做的好处是操作简单,省时省力而且大大降低了出错的机会。如图2所示:
图2 用工具箱中的“Feature to Polygon”工具可以将任何封闭的曲线转化成面
五、图例
这一部分的操作属于视觉表达的范畴。ArcGIS有强大的图例生成工具,只要熟悉了操作方法,完全可以生成任何需要的图例。
在生成了图例之后,应该将其保存为Style文件,Style文件一旦生成,可使用Style Manger对其修改和管理。
如果以后见到以前做过的图例,这时只需调用以前做好的Style即可。还可以将Style成套地保存,以后遇到这样的图例,只需用“Match to symbols in a style”的方法即可,这样就可以节省大量的时间。如图3:
图3 Match to symbols in a style
六、多人分工协作技巧
如果要想在较短的时间内完成规模巨大的图件,就必须要进行多人分工协作。多人分工协作要求每一位成员都严格执行统一的标准,只有这样才能使每个人负责的各个部分都完美地整合衔接在一起。
在工作开始之前,可以建立一个分工图框,每人负责其中的一部分,当所有人的工作完成后就要进行合图。由于大家都是按照统一的分工图框进行工作的,所以合图时每个人的图都可以很好地衔接在一起。有些被图框一分为二的线和面,需要用Merge工具将其恢复原状。如图4所示:
图4 分工协作时,可以设置分工图框,每人完成其中的一块,合图时用Merge工具即可消除分工图框线条
分工协作要求高度的一致性,大家执行的标准一点要细化到方方面面,如矢量化跟踪时各节点之间的距离、填写属性表时各字符是大写还是小写,是全角还是半角等。如果在每一个细节上都做到统一,出错的机会将会被降到很小,那么合图后整个数据就会浑然一体。
七、元数据
有人将元数据称为“数据的数据”,它就相当于数据的说明书,对于一套完整的数据,元数据是必不可少的。但笔者对一些矢量化工作人员调查发现,元数据的重要性一直得不到足够的重视,这是很不应该的。比如在商场中购物,没有说明书的产品我们会认为它的质量是信不过的。同理,没有元数据的数据,它的可靠度也不会太高。
ArcGIS为我们提供了丰富而又强大的元数据编辑工具,进入ArcCatalog,选中所要编辑的数据,然后点击数据编辑工具即可进行元数据的编辑,点击各个选项卡即可对各个项目进行编辑。如图5所示:
图5 元数据编辑器
总结
地质图的矢量化是一项要求细致的基础工作,高质量的矢量数据将为以后的研究提供可靠的数据支撑。笔者所在的工作小组,在掌握以上所述的方法之前,每人用6——7天时间才能勉强完成一幅1:20万的区域地质图,掌握了科学高效的方法后,每人用2——3天即可完成同样的工作量。由此可见,掌握科学高效的矢量化方法是多么重要。