等值点的追踪

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2、等值点的追踪
网格点的数值化是一次性的,即决定网格范围与间距后,就计算出网格点的X,Y值,根据离散点(已知点)的数据用M-S法对网格点的Z值进行估值。

有以上信息之后,只要输入一个等值C,即计算出此等值点距网格点横距与总距,其值在0,1之间,这是多次性的,既有以C值就计算一次。

当计算完某一等值点距网格点纵横距后,即开始对此等值线的追踪运算。

这一算法必须有规则,有次序地将离散点逐点连成等值线,此追踪结果应保证:
(a) 两等值线不能相交;(b)等值线不会在区域内部突然中断。

(1)等值线起点的搜索
由等值线图可知,不仅高程值W不同,等高线不同,而且在同一高程下有若干条分支,其中有的是敞开的,有的是封闭的。

要加以区分,一条不漏地加以寻找和绘制出来,必须有一个全面的、周密的、合理的搜索方法。

等值线的追踪首先要找到线头及找到其始点,找到后即可以顺藤摸瓜,找到线尾。

由于区域是矩形的,因此我们可以由四边搜索即可。

其步骤是先由下、左,后右、上进行搜索,这种搜索以及以后的追踪,将首先解决在周边起、终点的等值线,即在此区域内非封闭等值线。

使用同样自下左,后右上搜索内部网格等值线的起始点从而解决在此区域内封闭的等值线,完成整个区域内的等值线绘制。

(2)确定等值线进入网格时的大致走向
在某一网格上有等值点则必有另一等值点,因此要对其进出网格的走向进行说明,因是矩形网,有四种可能:自下而上,自左向右,自上而下,自右而左,如图3所示。

首先讨论自下而上的情况见图3-a,设P2(x2,y2)点为等值线从网格Ⅰ进入网格Ⅱ的等值点,P1(x1,y1)为前一等值点。

观察P1的位置可能有三种情况,在这三种情况下,P1点的y坐标都小于P2点的y坐标,因此可用网格的纵向序号i1,i2来表示,即有:
i1<i2
为自下而上追踪的判别式。

其次讨论自左向右的情况见图3-b,P1点的位置也有三种情况,在这三种情况下,P1点的x坐标都小于P2点的x坐标,,故也可用网格的横向序号j1,j2来表示,即有j1<j2,其它两种情况按网格序号则不能区别这两种情况,可用纵横坐标值判定,若x2<x1则自右往左追踪,若y2<y1则自上而下追踪。

(3)确定等值线进入网格后从哪一边出去
等值线进入网格后,只有网格的另外三个方向出去,如果不在算法上给予处理,就出现等值线的交叉和不确定现象,如图4所示。

图中表明,当网格四周都有等值点存在时,则有a,b,c三种连接情况。

a,b两种情况表明等值线不确定,c出现了交叉的情况,这些都是不允许的,在人工绘制等值线时也会碰到这种难以处理的场合。

这时可根据实际情况和周围背景决定。

用计算机绘制等值线,则需要一个合适的算法,我们只能根据问题的一般原则出发,确定其算法。

可按这样次序追踪下一个等值点,先考虑到等值线原来的前进方向,再考虑与当前等值点的远近。

P3点的位置可能出现三种情况(P31,P32,P33),而实际追踪时只能选择其中的一种。

选择P31,P32,P33的次序是:
①当P31,P33都存在时,选择靠近网格线边的点为P3;
②当P31,P33靠近网格底边的距离相同则选择与P2点距离近者为P3;
③当P31,P33中只存在一种时,存在点即为P3;
④当无P31,P33时,对边必存在P32作为等值点P3。

上述四种情况分别列于图5 (b) (c) (d) (e)中。

(4)网格即为等值点的处理
当我们在计算等值点时,有时会遇到网格点与高程值相等,此时等值线通过网格点。

而该网格点同时又是四个相邻网格的公共交点,这样,四个相邻横边和纵边上得到或是0、1的四个值,即xj,i=0,yj,i=0,xj-1,i=1,yj,i-1=1。

而同一等值点分别存放在四个不同的单元中,在追踪时一定会发生重复使用和追踪混乱的问题,故对此情况,必须预先处理。

其方法是对网格点加上一个足够小的数值给予修正。

应该选择的修正量很小,使其不影响绘图精度,而又避免上述问题。

经过这样处理后,所有xj,i和yj,i度不可能有0和1的值了。

相关文档
最新文档