在正确的投影和坐标系统的基础上,GIS才可以构建空间数据模型。GIS实现对空间数据的有效记录、存储和管理的基本方式是利用按照一定数据结构组织起来的空间数据模型。对于考古学和文化遗产管理来说,最常用的是两种类型的GIS数据结构:矢量(vector)数据结构和栅格(raster)数据结构。正如引论中所述,这两种数据结构最基本的特点是:矢量数据是通过定义地理坐标和几何形状,而栅格数据则是通过划分和定义规则的空间单元格来分别实现对地物特征的描述和记录。
矢量数据模型是将一定范围的地理空间看作一个笛卡儿空间区域,各类地理要素存于其间。其中根据地理要素的空间形态特征可分为点(point)、线(line)、面(polygon)三类基本的几何体。每一个空间实体都通过一个或几个( x,y )坐标对来定义。这些坐标对所表示的空间位置点称为“顶点”(vertices),而由顶点构成空间几何体的形状。位于线的末端或线与线相交位置的顶点称为“节点”(nodes)(图1-9)。
图1-9 GIS中的矢量图形(改自Wheatley & Gillings 2002,35页)
矢量模型中点实体由彼此独立的单个顶点定义。点是空间上不可再分的地理实体,可以是具体的地物点,如遗址点、单个遗迹点等,也可以是抽象的地点,如坐标网格点、文本位置点等;既可以是自然地物点,如遗迹、遗物点等,也可以是人为工作地点,如取样点、记录点等。
线实体由两个以上的成组顶点定义。线有固定的长度,通过顶点不仅定义它的起止点坐标,还可以定义它的转折点的坐标。需要注意的是,线实体的定义有方向性,比如经过A、B、C三点的线段,有ABC方向和CBA方向的区别。这也是矢量数据结构的特征。GIS中线实体可以用来表示河流、道路等线状特征地物。
面实体由三个以上的成组顶点定义,这些顶点首先组成线段,然后线段闭合形成面实体。也就是说起始点和终止点重合为一点的线实体构成了面实体。同样,面实体的定义也有方向性。GIS中面实体多以多边形的形式表示行政区、土壤类型、植被分布等。
矢量数据结构中的一个重要概念是矢量图形之间的空间几何关系,又被称为“拓扑关系”(topology)。GIS中矢量数据的拓扑关系主要包括以下五种:点与线、线与线、点与面、线与面和面与面。
点与线、线与线之间的拓扑关系可以通过对顶点和节点的记录来实现。比如,两条道路交叉可能会有两种拓扑关系:一种是相交,即两条道路共享同一个节点,在此节点上可以从一条道路转移到另一条道路上;另一种是相离,即两条道路没有交点,从其中一条道路不能转移到另一条道路上。
点与面之间的拓扑关系主要有两种:包含、不包含,即点包含在面内和在面之外。线与面的拓扑关系也主要有两种:相割、相离,即线穿过面和线与面分离。在GIS软件中,点、线与面之间的拓扑关系可以通过对构成其要素的顶点坐标的计算而获得。
面与面之间的拓扑关系有三种:相交、相邻和相离。这些关系主要是通过面与面之间是否共享顶点以及线段来实现。如图1-9所示,多边形1、2、3彼此相邻,因为它们共享节点和线段。面与面之间的拓扑关系在生成矢量数据(矢量化)的过程中应该尤其注意,比如,相邻的多边形必须定义共同的顶点,否则就会形成错误的拓扑关系,从而影响空间分析的结果。
实践中,常用的GIS软件都提供了进行拓扑分析和管理的工具,比如ArcGIS工具包就提供了一些专供多边形矢量化的拓扑规则,如“Must Not Overlap”会将预定范围内多边形相交的部分剪切掉或者单独生成另外一个多边形,从而保证多边形之间正确的相邻关系。需要说明的是,在GIS空间数据库中,相邻多边形的邻边只会被记录一次,这同时也大大提高了计算机对存储空间的使用效率。
在矢量数据模型中,对上述空间实体施行位置和形态的显示,而对属性信息则进行隐藏式的描述。如图1-10所示,GIS将空间对象与属性对象建立关联,共同构成了地理空间数据库(geodatabase)。
图1-10 GIS矢量图形与属性数据的关联(改自Conolly & Lake 2006,26页)
在栅格数据模型中,地理空间被划分为规则的网格单元,称为像元或栅格(cell)。空间位置由栅格的行列号表示,而地理空间中的物体由若干栅格描述,比如一条道路由值为道路编码的栅格连接组成。栅格的大小反映了数据的空间分辨率,比如30米空间分辨率意味着一个栅格代表实际30×30平方米地表范围内的情况。如本书引论中所述,栅格数据模型的设计思想是将地理空间看作一个连续的整体,而在这个空间中每个位置都有属性的定义。
在栅格结构中,点用一个栅格表示;线状地物则用沿线走向的一组相邻的栅格表示,每个栅格最多只有两个相邻单元;面状地物用标记有区域属性的相邻栅格的集合组成,每个栅格可以有多于两个的相邻单元(图1-11)。任何以面状特征分布的对象,如土壤类型、植被覆盖、土地利用等,都可以用栅格数据模拟。遥感影像就属于典型的栅格结构,其中每个像元的数字表示影像的灰度等级。
图1-11 GIS中的栅格图形(改自Conolly & Lake 2006,28页)
栅格数据结构的特点是属性明显、定位隐含,即数据直接记录属性值,而所在位置则根据行列号转换为相应的坐标。由于栅格结构是按照一定的规则排列的,因此其所表示实体的位置很容易隐含在网格文件的存储结构中,每个存储单元的行列位置可以根据其在文件中的记录位置得到,而行列坐标可以很容易地转换成任意坐标系下的坐标。
由于栅格结构采用行列、阵列记录方式,容易为计算机存储、操作和显示,因此这种数据结构容易实现、算法简单、表现直观,特别是易于同遥感影像结合处理,给地理空间数据处理带来了很大的方便。
无论是矢量模型还是栅格模型都广泛应用于GIS考古学研究和文化遗产管理中,它们各有优缺点。矢量模型尤其适合需要精确定位以及属性多样的考古空间信息,比如考古遗迹、遗物的分布地点;栅格模型则可广泛应用于考古学的空间建模和景观分析。绝大多数GIS软件都能整合矢量和栅格结构的数据,并实现它们相互之间的转换和空间分析,因此在同一个GIS项目中,可以同时包括矢量和栅格两种结构的数据。如引论所述,通常情况下,如果处理一系列与空间实体相关的数据则选择矢量结构,而如果处理连续的空间表面则选择栅格结构。
矢量数据结构最大的优势就是其空间位置的准确性。矢量数据是通过精确的地理坐标而实现定位的,因此理论上的精度可达到厘米甚至毫米。当然,在实践中过高的定位精度不一定必要,比如遗址点、地表遗物、遗迹等的位置在米级的精度已经足够,但如果是遗址内石器遗存的空间分布,则需要精确到厘米。矢量数据结构的另外一个优势是空间图形与属性数据之间的有效关联,因此矢量结构尤其适合于绑定数据库,并借助于数据库实现多样化的空间信息的采集、存储、管理和分析。
矢量数据结构的最大缺点在于计算和处理过程,这主要是由于矢量数据都是依据顶点和节点坐标而记录其空间位置信息的,因此在数据计算和处理过程中,所有要处理的矢量图形的顶点和节点的坐标都要调入内存,如果图形结构比较复杂,则会占用较多的CPU运行时间。除此之外,矢量数据结构的另一个缺点是图形边界清晰,无法实现模糊(fussy)表达,这在考古学研究和文化遗产管理中尤为显著。比如,两遗址的边界常常并不清晰,但使用矢量结构却无法描述这种不清晰的边界。再比如,本书引论中所列举的使用缓冲区分析获得距离河流500米范围内遗址的实例。而要解决这一问题,就需要将统计学的方法引入空间分析(详见本书第五、六章)。
与矢量数据结构相比,栅格数据结构的最大优势在于其运算速度,尤其适用于处理大范围的连续表面。除此之外,栅格数据结构的优势还在于:首先,栅格结构适用于描述连续变化的地表特征,比如表达复杂地面景观特征的高程、坡度、坡向等。其次,栅格结构可以用来表达模糊边界,比如考古调查中可以按照网格采集遗物,计算出每个网格的遗物分布密度,并据此生成栅格结构的遗物分布密度图,以此来评估遗址的分布范围。再次,栅格数据结构尤其适用于数学计算和空间分析,比如基于同一栅格图层内部的邻域计算和基于不同栅格图层之间的地图运算(详见本书第七章)。最后,栅格数据可以有效地与遥感影像数据进行整合,并借用遥感影像分析处理的方法进行综合研究。
栅格数据结构的缺点主要表现在两个方面:第一,栅格数据结构有固定的空间分辨率,因此在对不同的栅格图层进行运算时必须将它们处理成统一的分辨率,改变栅格图层分辨率的过程即是重采样(resampling)过程,其结果往往是降低原图层的分辨率,从而损失了原有数据的一些信息。另外,固定的分辨率也会导致栅格数据在处理不同地物之间的边界时容易产生错误,解决的方法是使用更高分辨率的栅格数据,但又同时成倍增加了数据的数量和相应的计算时间。第二,栅格数据结构只能记录一个属性信息,无法同时实现对多变量属性数据的有效记录,而解决的方法只能是增加栅格数据图层的数量。栅格结构的数据也无法有效关联到数据库上,对其中属性信息的查询、分选和管理效率很低。
总之,矢量模型和栅格模型是GIS对地理空间数据进行存储、管理和分析的两种基本的数据结构方式,它们各有优缺点,现代GIS软件都能有效综合这两种数据结构。在实际应用中,我们应该根据考古遗存自身的特点选择究竟采用哪种方式,但总体的原则是:既能保证对考古信息的最优表达,同时又能实现计算机的高效处理。