三、地图集合逻辑

要构造地图之间及图内地理实体之间的逻辑运算,必须给出地图集合的含义。首先定义数据平面为其上所有地理实体的集合为全集=1;没有任何实体则为空集=0;数据平面上具有相同属性的地理实体组成该平面上的一个子集;子集之间基于布尔代数进行与(乘)、或(加)、非(减)、同或异等逻辑运算。

有了地图集合的定义和操作逻辑,就可以将各种应用问题表示为地图逻辑运算式,由地理信息系统基本操作实现,这种逻辑模型较好地解决了应用和系统设计的矛盾,可以作为构造和实现地理信息系统分析模型的工具。

GIS 用户经常需要从多幅地图中提取数据,例如,用户需要知道某种土地利用类型分布在什么样的土壤及什么样的土地景观上等,而土壤类型、用地类型、景观类型分别编码存储在三幅不同的地图上。解决这一问题的常规方法是将三幅图转绘到透明材料上,然后在透明桌上叠置在一起并勾绘出轮廓线,标记出相应的特征。这是一种相当费时间且精度也不高的方法。因此对地理信息系统首先要求是具有多幅地图叠置的功能,把传统方法转变成计算机处理。许多幅地图以栅格形式存储后,很容易用逻辑运算方法提取用户需要的结果。逻辑表达式与前面讨论的对一幅图上不同属性的制图单元进行布尔运算相类似,但在指定条件的同时,要指定该条件所在的图幅。

而多幅矢量表示的多边形地图如何叠置的问题,花去了计算机制图工作者许多年的时间。主要麻烦在于:①多幅叠置后产生的新多边形数量很多, 新多边形中有很大一部分是用户不需要的,必须进行清理,其工作量很大。而且新多边形的数目不仅与原图上多边形数量有关,还与多边形边界形状有关,边界弯曲越多产生的新多边形也越多。图 7—3 表示两幅各有六个多边形

的简单地图叠置后共产生 15 个多边形。②最麻烦的问题是如何处理那些面积小又无意义的多边形。多边形叠置后,各幅图上的多边形边界几乎重合而又不完全重合一致的情况下,将产生大量无意义的小多边形。用户必须滤除这些小多边形才能得到清晰易读的新多边形边界。然而这一滤除过程就会产生信息错误或边界移位。③地图叠置后多边形边界相交点的搜索问题。新生多边形边界上节点的搜索,将节点连接起来形成多边形网,再将每个新多边形的属性数据与多边形连接等,不仅要花很多时间,而且很难处理。由于矢量数据形式的多边形叠置存在这些问题,一般 GIS 用户都更乐于用栅格数据形式进行多因素分析。