地理信息系统中,由于其研究区域范围、比例尺、及精度要求的不同以及输入输出装置图幅的限制等因素,常常会遇到图幅的拼接与分割。拼接的目的是将相邻区域拼接成一个大区域进行统一的信息分析或输出;分割的目的是把大区域分割成小区域进行分析或输出。
一、图幅的拼接
相邻图幅拼接时,要求同一目标的线段或弧段的数据坐标相互衔接,为此必须进行图幅数据边缘的匹配处理,并使同一目标属性码统一。
1.统一坐标,规范化属性。对被拼接图幅必须统一坐标及比例尺,并通过交互编辑把不同幅上相同属性目标规范化。
2.对相邻图幅进行编号。编号通常取2位数,其中个位数表示拼幅时横向顺序,十位数表示拼幅时的纵向顺序,如表5-2所示。在横向拼幅时将十位相同图,按个位数顺序拼接;纵向拼幅时将个位数相同图,按十位数顺序拼接。
此外,为了便于对坐标数据匹配,提取边界内一条区间(如2cm)作为坐标数据匹配目标对其进行跟踪。
3.图幅间坐标数据的匹配。采用跟踪法进行图幅边界匹配时,可归纳成如下四种情况,即分别为向右、左、上、下跟踪,如图5-4所示。首先要判断相邻图幅的同名边界点坐标应在某一允许范围内如±1mm,且相接的相邻图幅边界的弧段其左右多边形号必须是相同或相反。然后把符合拼幅条件的匹配弧段,按结点之间线段方向一致性的原则进行记录。
4.删除拼幅时的公共边界。当完成拼幅后还需删除拼幅时的公共边界,并对共同属性进行合并。如图5-5 中,消除公共边界ab。
二、图幅的分割
图幅的分割类似于对图形进行开窗口处理,其实质是保留窗口内的点、线、面数据,除去窗口外的数据。下面简述一下点、线、面开窗口剪切方法。
1.点的窗口剪切。设点的窗口坐标为:左下角坐标(xmin,ymin)和右上角坐标(xmax,ymax),则判断任一点P(xp,yp)是否在窗口内的条件为:
2.线段的开窗口剪切。线段的开窗口剪切有很多算法。这里介绍编码法,这种算法先用区域检查法有效识别可直接接受或予以舍弃的线段,然后进行舍弃或接受。
首先,以窗口为中心将周围区域分成9个区域,即8个邻域区及窗口区。用一个4位码对9个子区进行编码。如图5-6所示。其中X<XL区,第1位为1;X>XR区第2位为1;Y<YB区第3位为1;Y>YT区第4位为1,其余为0。对线段进行开窗口剪切前,先对该直线段两端点坐标,按上图进行编码,并归纳如下:
若线段两端的四位码均为“0”,则两端点都在窗口内,该线段完全可见,应保留。
若线段两端点的四位码逻辑“与”不为“0”,则该线段位于窗口外,线段完全不可见,可除去。
若线段两端点的四位码不都是“0”,但其逻辑“与”为“0”,则线段可能部分可见,也可能完全不可见。此时总存在着一个端点在窗口外,设此点为P1(x1,y1),求出该点的窗口码,并以该点出发,求出它与窗口4边框的交点,对其进行线段的剪切。
同窗口边界求交次序的选择是任意的。假设,线段端点为P1(x1,y1),P2(x2,y2),其中x2-x1≠0,y2-y1≠0,如图5-6所示,其直线方程为:
则该直线与窗口边界的4条直线交点坐标分别为:
求出交点后,舍去P1点到该交点的部分线段,其余部分,重复上述过程进行剪切,直到剩余线段全部保留或除去。
3.面状要素开窗口剪切。面状要素是由若干条有序折线封闭而成。因此,对多边形的剪切与对线段的剪切处理相同,只是剪切后,应把被剪切处的边界线段和窗口内线段组成封闭多边形,其属性保留原多边形的属性。