文档详情

GIS教程矢量和栅格互相转化.doc

发布:2018-10-04约8.63千字共25页下载文档
文本预览下载声明
? GIS教程/空间数据的转换/第十一节 HYPERLINK /profs/hy/gis/yyz/chap/0003_211.htm 返回首页 栅格向矢量的转换 3.5.2 栅格向矢量的转换   把栅格单元中的空间信息转换为几何图形的过程叫矢量化。矢量化的过程要保证以下两点:   (1) 拓扑转换,即保持栅格表示出的连通性和邻接性。否则,转换出的图形是杂乱无章的,没有任何实用价值的;   (2) 转换空间对象正确的外形。   栅格向矢量转换的主要步骤为:   (1) 二值化:一般情况下,栅格数据是按0~255的不同灰度值 表达的。为了简化追踪算法,需把256个灰阶压缩为2个灰阶,即0和1两级。为此,假设任一格网的灰度值为 ,阀值为 ,那么,根据下式就可以得到二值图。   (2) 细化:细化是消除线划横断面栅格数的差异,使得每一条线 只保留代表其轴线或周围轮廓线(对多边形而言)位置的单个栅格的宽度。对于栅格线划的细化方法,一般采用剥皮法。剥皮法的实质是剥掉等于一个栅格宽的一层,直到最后留下彼此连通的由单个栅格点组成的图形。   (3) 跟踪:跟踪的目的是把细化后的栅格数据整理为从结点出发 的线段或闭合的线条,并以矢量形式加以存储。跟踪时,根据人为规定的搜索方向(如沿图幅边界的顺时针或逆时针方向),从起始点开始,在保证趋势的情况下对八个邻域进行搜索,依次得到相邻点,最终得到完整的弧段或多边形。   (4) 去除多余点及曲线光滑:由于搜索是逐个栅格进行的,所以, 弧段或多边形的数据列十分密集。为了减少存储量,在保证线段精度的情况下可以删除部分数据点。可以采用如下算法删除多余点:图3-41,计算当前点A与相邻点B、C组成的线段BA、AC的夹角 ,如果 大于某一固定值(如175度),就删除B点。当然,如果删除B点后,AC距离太长,那么,删除B点是不合适的。   (5) 拓扑关系的生成:判断弧段与多边形间的空间关系,以形成 完整的拓扑结构并建立与属性数据的关系。 图3-41 删除多余点示意图 ? ? ? GIS教程/空间数据的转换/第十二节 HYPERLINK /profs/hy/gis/yyz/chap/0003_211.htm 返回首页 曲线的光滑 3.5 曲线的光滑   这里我们主要介绍张力样条函数。 主要原理如下:   在GIS系统中,相当多的线划图形实体都是光滑的曲线(如等值线,等高线,剖面线等)。所以,正确地选择满足应用要求的曲线光滑算法具有十分重要的意义。在现有的商业化GIS或CAD系统中,用于曲线光滑的算法主要有如下几种:线形迭代法;Bezier函数法;五点光滑法;三次样条函数法等。通过对相关算法数学原理的分析研究可知,前两种方法拟合的光滑曲线并不通过已知的结点(图3- 图3-35 曲线光滑示意图 35(a)中的A、B、C)。显然,对于许多应用这是不允许的;后两种方法拟合的光滑曲线在大多数情况下满足实际需求,但如果变量在空间的分布变化较大,那么可能造成相邻曲线的相交(图3-35(b)中的L1、L2)。在实际应用中,我们认为,如果曲线的光滑算法满足以下两个条件,即既可以形成光滑的曲线,也可以形成分段的线性函数,那么此种算法将是十分优越的,这样,既可以保证曲线的光滑,又可自动地尽量避免曲线的相交。通过研究发现,张力样条函数满足以上条件。   1. 张力样条函数光滑曲线的数学原理   张力样条函数是Schweikert为消除三次样条插值函数有时会出现多余的拐点而引入的。其基本构思是分段插值函数为直线插值和两个双曲函数 和 的线性组合: (3-16) 在(3-16)式中, 为张力系数。 (3-16)式整体具有连续二阶导数, 的作用是控制拐点的位置和曲线的形态。 通过有关复杂的数学推导,可以得到张力样条函数的函数表达式: (3-17) 2. 张力样条函数的特点 (1)如果 ,那么 (3-18) 上式为一标准的三次样条函数表达式。三次样条函数可以保证曲线既光滑,又通过已知数据点。 (2)当 时 (3-17) 此时张力样条函数退化为分段线性函数。分段线性函数可以绝对保证线段不相交。 从张力样条函数优良的数学特性可以看出,对某一地质变量分布区域,只要选择合适的张力系数 ,就可以尽量避免合乎要求的光滑曲线相交。 图3-36 张力样条函数光滑曲线示意图1 3. 确定张力系数的算法研究 合适的张力系数 可以避免相邻光滑曲线的相交。根据研究,在 不考虑相邻线段相交而且得到光滑曲线的前提下,任一光滑曲线的 的计算方法都是一样的,既如(3-18)式所示。 (3-18) (3-18)式中, 分别为线段的原始数据点数和累计长度。 为了使张力样条函数适应不同复杂程度地质变量曲线的拟合和光滑的要求,本文在经过大量实验的基础上提出
显示全部
相似文档