数字测图
第四章 计算机地图制图的数学基础
内容提要
4.1 坐标变换
4.2 二维图形裁剪
4.2.1 线段的矢量裁剪法
4.2.2 线段的编码裁剪法
4.2.3 多边形的裁剪
4.3 地图符号的自动绘制
4.3.1 线型
4.3.2 线状符号
4.3.3 多边形轮廓线内绘制晕线
4.4 曲线的绘制
4.4.1 正轴抛物线加权平均法
4.4.2 近似斜轴抛物线加权平均法
4.4.3 张力样条函数插值法
4.5 等高线的绘制
本章小结
4.1 坐标变换
? 测量坐标系到计算机 屏幕 坐标系的换算和
测量坐标系到 绘图仪 坐标系的换算,是计
算机地图制图中的两个最基本的数学变换。
1、测量坐标系到计算机
屏幕坐标系的换算
? 大比例尺数字测图中的测量坐标系采用高斯 -克吕格坐标
系或者是独立坐标系。
? 计算机屏幕坐标系和笛卡尔坐标系的差别是计算机屏幕坐
标系的 Y轴向下为正,且屏幕坐标都为正值,坐标原点在
屏幕的左上角。
? 在计算机地图制图中对实地某点 P转换到计算机屏幕坐标
系中的坐标可按下式计算:
2、测量坐标系到绘图仪
坐标系的换算
? 绘图仪的坐标原点,对不同的绘图仪硬件缺省值不尽相同,
有的位于绘图仪的左下角,有的位于绘图仪的中心,但一
般都可通过软件将绘图仪的坐标原点设于绘图仪有效绘图
区的任一位置。
? 绘图仪的坐标单位为绘图仪脉冲当量,多数绘图仪的一个
脉冲当量等于 0.025mm或 0.00098英寸。
? 对实地某点 P转换到绘图仪坐标系中的坐标可按下式计算:
4.2 二维图形裁剪
? 裁剪是用于描述某一图形要素(如直线、圆等)是否
与一多边形窗口(如矩形窗口)相交的过程,其主要
用途是确定某些图形要素是否全部位于窗口之内,若
只有部分在窗口内又如何裁剪去窗口外的图形,从而
只显示窗口内的内容。
? 裁剪窗口可以为任意多边形,但在实际工作中大多是
矩形窗口,这里只讨论窗口为矩形的情况。
1、线段的矢量裁剪
? 在裁剪时不同的线段可能被窗口分成几段,但其中只有一段
位于窗口内可见。
? 线段的裁剪算法就是要找出位于窗口内部的起始点和终止点
的坐标。
? 因矢量裁剪法对寻找起点和终点坐标的处理方法相同,下面
以起始点坐标为例来说明线段矢量裁剪方法。
– 窗口的四条边界把 XOY平面分成九个区
域,分别用1到9对这九个窗编号
– 具体参见电子教材
2、线段的编码裁剪法
? 这种方法将窗口的边界分成的
九个区按一定的规则用四位二
进制编码来表示。这样,当线
段的端点位于某一区时,该点
的位置可以用其所在区域的四
位二进制码来唯一确定,
? 通过对线段两端点的编码进行
逻辑运算,就可确定线段相对
于窗口的关系。
3、多边形的裁剪
? 多边形的裁剪比直线要复杂得多。因为经过裁剪后,
多边形的轮廓线仍要闭合,而裁剪后的边数可能增加,
也可能减少,或者被裁剪成几个多边形,这样必须适
当地插入窗口边界才能保持多边形的封闭性。
? 对于多边形的裁剪,人们研究出多了多种算法,其中
萨瑟兰德-霍奇曼( Sutherland-Hodgman)算法根据相
对于一条边界线裁剪多边形比较容易这一点,把整个
多边形先相对于窗口的第一条边界裁剪,然后再把形
成的新多边形相对于窗口的第二条裁剪,如此进行到
窗口的最后一条边界,从而把多边形相对于窗口的全
部边界进行了裁剪。
4、圆和曲线的裁剪
? 对圆的裁剪思路是,首先通过圆的外接矩形判断来确
定圆是否全部位于窗口的外边,若全部位于窗口外边,
则裁剪过程结束。否则,将圆分解成一组短线段,然
后按照直线裁剪的方法来进行。
? 由于曲线在实际绘制时是采用短直线来逼近曲线的方
法实现,故曲线的裁剪也采用一般直线裁剪方法对每
一短线段进行裁剪,从而实现对整个曲线的裁剪。
4.3 地图符号的自动绘制
? 地图上的各种地形要素是用相应的地图
符号来表示的。
? 地图符号可以分为 3类,即独立符号、线
状符号和面状符号。
1、独立符号和汉字字符的
自动绘制
? 独立符号以点定位,在一定比例尺范围内,图
上的大小是固定的,如各种控制点符号。
? 它们常常不能用某一固定的数学公式来描述,
必须首先建立表示这些符号特征点信息的符号
库,才能实现计算机的自动绘制。
? 汉字字符的自动绘制和独立符号相仿。
1)独立符号库的建立
? 按照国家测绘局发布的, 1,500,1,1000,1,2000
地形图图式,,将图式上的独立符号和说明符号等放
大 20倍绘毫米格网纸上,进行符号特征点的坐标采集。
也可以在 CAD软件符号库编辑系统中进行制作。
? 对于规则符号,可直接计算符号特征点的坐标,对于
圆,采集圆心坐标和半径,对于圆弧,则采集圆心坐
标、半径、起始角和终止角,对于填充符号,则采集
边界信息,并给出填充信息。
2)汉字字符库的建立
? 汉字字符库的建立,一般采用建立字模,在字模上选取汉
字的特征点。作为采集信息的标准汉字字模,不仅要字体
美观,而且还要具有足够的大小,这样才能保证在读取汉
字笔划特征点的坐标时有足够的精度。
? 在字模上标出每一汉字笔划特征点,对于直线,以首末端
点为特征点;对于撇、捺、折等则用若干直线来逼近。
? 坐标采集时都是以汉字的左下角作为坐标原点,除了读取
特征点的坐标外,还要规定抬落笔信息。
3)独立符号和汉字字符
的自动输出
( 1) 独立符号的自动输出
– 根据符号的代码,在独立符号库中检索出该符号的信息
数据。
( 2) 汉字字符的自动输出
– 汉字字符的自动输出,和独立符号类似。国标汉字中的
每一个汉字都有一个唯一的机内码;对于字符,每一个
字符也都有一个唯一的 ASCII编码。
2、线状符号的自动绘制
1)线型
2)线状符号
1)线型
线型的设置及其绘制
– 地图上用到的线型尽管很复杂,但归结起来,它们可以用以
下绘图参数来表示:定位点数 N和定位点坐标 (Xi,Yi ),i=1,2,
3,…, n,实步长 D1,虚步长 D2和点步长 D3。
2)线状符号
? 线状符号除了在每两个离散点之间有趋势性的直线、
曲线等符号以外,有些线状符号中间还配置有其它的
符号。
? 如陡坎符号,除了定位中心线以外,还配置有短齿线。
? 对于这些沿中心轴线按一定规律进行配置的线状符号,
可以用比较简单的数学关系表达式来描述。
3、面状符号的自动绘制
? 面状符号通常是在一定轮廓区域内用填绘晕线或一系
列某种密度的点状符号来表示。
? 在轮廓区域内填绘点状符号,最终也可归结到首先用
计算晕线的方法计算出点状符号的中心位置,然后再
绘制符号。
4.4 曲线的绘制
? 抛物线加权平均法
? 张力样条函数插值法
1、抛物线加权平均法
? 根据给定的曲线特征点顺序,每相邻三点作一
条抛物线,而每相邻两点之间前后两条抛物线
弧的重合部分用加权平均曲线作为最终的插值
光滑曲线。
? 根据每三点之间建立抛物线方法的不同,又可
分为
– 正轴抛物线加权平均法
– 斜轴抛物线加权平均法
1)正轴抛物线加权平均法
的基本思想
? 对给定的 n个曲线特征点序列,从首点开始,顺序取四点,过四点中的前
三点可作一正轴抛物线,过四点中的后三点又可作一正轴抛物线,对过
中间两点的两条正轴抛物线取加权平均,作为过中间两点的最终曲线。
2)正轴抛物线加权平均法
的特点
? 正轴抛物线加权平均法在数学上是严密的,计算过程
也较为简单,能保证光滑曲线严格通过每个特征点,
并且在整条线上具有一阶连续导数。
? 曲线的拐点不一定正好在特征点上,也即曲线的最大
曲率点有可能偏离节点。
? 为此,人们提出了一种改进算法,即斜轴抛物线加权
平均法。
3)近似斜轴抛物线加权平均法
的基本思想
? 在离散点序列中,顺序取相邻三点,建立顶点位于中间点的
斜轴抛物线,对于相邻两点之间前后两条抛物线弧段的重叠
部分,采用加权平均曲线作为最终的插值曲线。
? 使用的权函数要保证插值曲线向两边节点过渡时分别逼近以
该点为顶点的斜轴抛物线弧,保证插值曲线的明显转弯点位
于原始数据点。
? 对于首点和末点,需要在首末点处各补插一点。
4)近似斜轴抛物线加权平均法
的特点
? 能获得比较满意的图形效果,且保证了最终曲线的拐
点位于给出的节点上。
? 曲线通过全部节点,两节点间的曲线较短。
? 缺点是计算复杂,使得在微机上实现比较困难。
? 为此,人们提出了一种近似斜轴抛物线加权平均法,
以简化斜轴抛物线方程的建立。
2、张力样条函数插值法
? 张力样条函数是描述样条曲线的一种函数。
? 它的主要特征是在一般的三次样条函数中引入
一个张力系数 δ 。
? 当 δ→0 时,张力样条函数就等同于三次样条函
数;当 δ→1 时,张力样条函数就退化为分段线
性函数,即相邻节点之间以直线连接。
? 可以选择适当的张力系数,以改变曲线的松紧
程度,使曲线的走向更加合理和美观。
4.5 等高线的绘制
等高线的绘制主要有两种方法:
? 网格法
? 三角网法
1、网格法绘制等高线
? 它的基本思想是利用有限的离散点数据建立一个曲面
去逼近地形表面,然后在这个曲面上内插网格点高程。
? 地形表面不同于一般的数学曲面,它们在形态上是错
综复杂的,不能用某一确定的数学公式来表达,也无
法用严格的解析算式去处理。
? 自 50年代数字高程模型方法提出后,人们对网络化的
理论和方法进行了大量的研究,相继出现了多种插值
算法,同时积累了丰富的经验。
1)离散点的网格法
2)在网格上追踪等高线
? 离散点经过网格化以后, 形成
一个矩形区域, 该区域大体上
相当于离散点的分布区间 。
? 该区间沿 X方向上的方格划分
记为 j=1,2,…,n,在 Y方向上方
格划分记为 i=1,2,…,m,则整
个区域共划分成 m× n个网格
点 。
? 对于每个网格点的高程可用
Z0(i,j)来表示, 网格的横边长
设为 nx,纵边长设为 ny。
2,三角网法绘制等高线
? 三角网法是直接利用原始离散点建立数字高程模型。
? 它直接利用原始数据,对保持原始数据精度,引用各种地
性线信息非常有用。
? 对于地面测量获得的数据,其数据点大多为地形特征点、
地物点,它们的位置含有重要的地形信息。
? 对于大比例尺数字测图直接利用原始离散点建立数字高程
模型是比较合适的。
? 建立三角网数字高程模型的算法有多种,其中以 Delaunay
三角形的算法理论严密,最终三角形网具有唯一性,因而
最为理想。
第四章 计算机地图制图的数学基础
内容提要
4.1 坐标变换
4.2 二维图形裁剪
4.2.1 线段的矢量裁剪法
4.2.2 线段的编码裁剪法
4.2.3 多边形的裁剪
4.3 地图符号的自动绘制
4.3.1 线型
4.3.2 线状符号
4.3.3 多边形轮廓线内绘制晕线
4.4 曲线的绘制
4.4.1 正轴抛物线加权平均法
4.4.2 近似斜轴抛物线加权平均法
4.4.3 张力样条函数插值法
4.5 等高线的绘制
本章小结
4.1 坐标变换
? 测量坐标系到计算机 屏幕 坐标系的换算和
测量坐标系到 绘图仪 坐标系的换算,是计
算机地图制图中的两个最基本的数学变换。
1、测量坐标系到计算机
屏幕坐标系的换算
? 大比例尺数字测图中的测量坐标系采用高斯 -克吕格坐标
系或者是独立坐标系。
? 计算机屏幕坐标系和笛卡尔坐标系的差别是计算机屏幕坐
标系的 Y轴向下为正,且屏幕坐标都为正值,坐标原点在
屏幕的左上角。
? 在计算机地图制图中对实地某点 P转换到计算机屏幕坐标
系中的坐标可按下式计算:
2、测量坐标系到绘图仪
坐标系的换算
? 绘图仪的坐标原点,对不同的绘图仪硬件缺省值不尽相同,
有的位于绘图仪的左下角,有的位于绘图仪的中心,但一
般都可通过软件将绘图仪的坐标原点设于绘图仪有效绘图
区的任一位置。
? 绘图仪的坐标单位为绘图仪脉冲当量,多数绘图仪的一个
脉冲当量等于 0.025mm或 0.00098英寸。
? 对实地某点 P转换到绘图仪坐标系中的坐标可按下式计算:
4.2 二维图形裁剪
? 裁剪是用于描述某一图形要素(如直线、圆等)是否
与一多边形窗口(如矩形窗口)相交的过程,其主要
用途是确定某些图形要素是否全部位于窗口之内,若
只有部分在窗口内又如何裁剪去窗口外的图形,从而
只显示窗口内的内容。
? 裁剪窗口可以为任意多边形,但在实际工作中大多是
矩形窗口,这里只讨论窗口为矩形的情况。
1、线段的矢量裁剪
? 在裁剪时不同的线段可能被窗口分成几段,但其中只有一段
位于窗口内可见。
? 线段的裁剪算法就是要找出位于窗口内部的起始点和终止点
的坐标。
? 因矢量裁剪法对寻找起点和终点坐标的处理方法相同,下面
以起始点坐标为例来说明线段矢量裁剪方法。
– 窗口的四条边界把 XOY平面分成九个区
域,分别用1到9对这九个窗编号
– 具体参见电子教材
2、线段的编码裁剪法
? 这种方法将窗口的边界分成的
九个区按一定的规则用四位二
进制编码来表示。这样,当线
段的端点位于某一区时,该点
的位置可以用其所在区域的四
位二进制码来唯一确定,
? 通过对线段两端点的编码进行
逻辑运算,就可确定线段相对
于窗口的关系。
3、多边形的裁剪
? 多边形的裁剪比直线要复杂得多。因为经过裁剪后,
多边形的轮廓线仍要闭合,而裁剪后的边数可能增加,
也可能减少,或者被裁剪成几个多边形,这样必须适
当地插入窗口边界才能保持多边形的封闭性。
? 对于多边形的裁剪,人们研究出多了多种算法,其中
萨瑟兰德-霍奇曼( Sutherland-Hodgman)算法根据相
对于一条边界线裁剪多边形比较容易这一点,把整个
多边形先相对于窗口的第一条边界裁剪,然后再把形
成的新多边形相对于窗口的第二条裁剪,如此进行到
窗口的最后一条边界,从而把多边形相对于窗口的全
部边界进行了裁剪。
4、圆和曲线的裁剪
? 对圆的裁剪思路是,首先通过圆的外接矩形判断来确
定圆是否全部位于窗口的外边,若全部位于窗口外边,
则裁剪过程结束。否则,将圆分解成一组短线段,然
后按照直线裁剪的方法来进行。
? 由于曲线在实际绘制时是采用短直线来逼近曲线的方
法实现,故曲线的裁剪也采用一般直线裁剪方法对每
一短线段进行裁剪,从而实现对整个曲线的裁剪。
4.3 地图符号的自动绘制
? 地图上的各种地形要素是用相应的地图
符号来表示的。
? 地图符号可以分为 3类,即独立符号、线
状符号和面状符号。
1、独立符号和汉字字符的
自动绘制
? 独立符号以点定位,在一定比例尺范围内,图
上的大小是固定的,如各种控制点符号。
? 它们常常不能用某一固定的数学公式来描述,
必须首先建立表示这些符号特征点信息的符号
库,才能实现计算机的自动绘制。
? 汉字字符的自动绘制和独立符号相仿。
1)独立符号库的建立
? 按照国家测绘局发布的, 1,500,1,1000,1,2000
地形图图式,,将图式上的独立符号和说明符号等放
大 20倍绘毫米格网纸上,进行符号特征点的坐标采集。
也可以在 CAD软件符号库编辑系统中进行制作。
? 对于规则符号,可直接计算符号特征点的坐标,对于
圆,采集圆心坐标和半径,对于圆弧,则采集圆心坐
标、半径、起始角和终止角,对于填充符号,则采集
边界信息,并给出填充信息。
2)汉字字符库的建立
? 汉字字符库的建立,一般采用建立字模,在字模上选取汉
字的特征点。作为采集信息的标准汉字字模,不仅要字体
美观,而且还要具有足够的大小,这样才能保证在读取汉
字笔划特征点的坐标时有足够的精度。
? 在字模上标出每一汉字笔划特征点,对于直线,以首末端
点为特征点;对于撇、捺、折等则用若干直线来逼近。
? 坐标采集时都是以汉字的左下角作为坐标原点,除了读取
特征点的坐标外,还要规定抬落笔信息。
3)独立符号和汉字字符
的自动输出
( 1) 独立符号的自动输出
– 根据符号的代码,在独立符号库中检索出该符号的信息
数据。
( 2) 汉字字符的自动输出
– 汉字字符的自动输出,和独立符号类似。国标汉字中的
每一个汉字都有一个唯一的机内码;对于字符,每一个
字符也都有一个唯一的 ASCII编码。
2、线状符号的自动绘制
1)线型
2)线状符号
1)线型
线型的设置及其绘制
– 地图上用到的线型尽管很复杂,但归结起来,它们可以用以
下绘图参数来表示:定位点数 N和定位点坐标 (Xi,Yi ),i=1,2,
3,…, n,实步长 D1,虚步长 D2和点步长 D3。
2)线状符号
? 线状符号除了在每两个离散点之间有趋势性的直线、
曲线等符号以外,有些线状符号中间还配置有其它的
符号。
? 如陡坎符号,除了定位中心线以外,还配置有短齿线。
? 对于这些沿中心轴线按一定规律进行配置的线状符号,
可以用比较简单的数学关系表达式来描述。
3、面状符号的自动绘制
? 面状符号通常是在一定轮廓区域内用填绘晕线或一系
列某种密度的点状符号来表示。
? 在轮廓区域内填绘点状符号,最终也可归结到首先用
计算晕线的方法计算出点状符号的中心位置,然后再
绘制符号。
4.4 曲线的绘制
? 抛物线加权平均法
? 张力样条函数插值法
1、抛物线加权平均法
? 根据给定的曲线特征点顺序,每相邻三点作一
条抛物线,而每相邻两点之间前后两条抛物线
弧的重合部分用加权平均曲线作为最终的插值
光滑曲线。
? 根据每三点之间建立抛物线方法的不同,又可
分为
– 正轴抛物线加权平均法
– 斜轴抛物线加权平均法
1)正轴抛物线加权平均法
的基本思想
? 对给定的 n个曲线特征点序列,从首点开始,顺序取四点,过四点中的前
三点可作一正轴抛物线,过四点中的后三点又可作一正轴抛物线,对过
中间两点的两条正轴抛物线取加权平均,作为过中间两点的最终曲线。
2)正轴抛物线加权平均法
的特点
? 正轴抛物线加权平均法在数学上是严密的,计算过程
也较为简单,能保证光滑曲线严格通过每个特征点,
并且在整条线上具有一阶连续导数。
? 曲线的拐点不一定正好在特征点上,也即曲线的最大
曲率点有可能偏离节点。
? 为此,人们提出了一种改进算法,即斜轴抛物线加权
平均法。
3)近似斜轴抛物线加权平均法
的基本思想
? 在离散点序列中,顺序取相邻三点,建立顶点位于中间点的
斜轴抛物线,对于相邻两点之间前后两条抛物线弧段的重叠
部分,采用加权平均曲线作为最终的插值曲线。
? 使用的权函数要保证插值曲线向两边节点过渡时分别逼近以
该点为顶点的斜轴抛物线弧,保证插值曲线的明显转弯点位
于原始数据点。
? 对于首点和末点,需要在首末点处各补插一点。
4)近似斜轴抛物线加权平均法
的特点
? 能获得比较满意的图形效果,且保证了最终曲线的拐
点位于给出的节点上。
? 曲线通过全部节点,两节点间的曲线较短。
? 缺点是计算复杂,使得在微机上实现比较困难。
? 为此,人们提出了一种近似斜轴抛物线加权平均法,
以简化斜轴抛物线方程的建立。
2、张力样条函数插值法
? 张力样条函数是描述样条曲线的一种函数。
? 它的主要特征是在一般的三次样条函数中引入
一个张力系数 δ 。
? 当 δ→0 时,张力样条函数就等同于三次样条函
数;当 δ→1 时,张力样条函数就退化为分段线
性函数,即相邻节点之间以直线连接。
? 可以选择适当的张力系数,以改变曲线的松紧
程度,使曲线的走向更加合理和美观。
4.5 等高线的绘制
等高线的绘制主要有两种方法:
? 网格法
? 三角网法
1、网格法绘制等高线
? 它的基本思想是利用有限的离散点数据建立一个曲面
去逼近地形表面,然后在这个曲面上内插网格点高程。
? 地形表面不同于一般的数学曲面,它们在形态上是错
综复杂的,不能用某一确定的数学公式来表达,也无
法用严格的解析算式去处理。
? 自 50年代数字高程模型方法提出后,人们对网络化的
理论和方法进行了大量的研究,相继出现了多种插值
算法,同时积累了丰富的经验。
1)离散点的网格法
2)在网格上追踪等高线
? 离散点经过网格化以后, 形成
一个矩形区域, 该区域大体上
相当于离散点的分布区间 。
? 该区间沿 X方向上的方格划分
记为 j=1,2,…,n,在 Y方向上方
格划分记为 i=1,2,…,m,则整
个区域共划分成 m× n个网格
点 。
? 对于每个网格点的高程可用
Z0(i,j)来表示, 网格的横边长
设为 nx,纵边长设为 ny。
2,三角网法绘制等高线
? 三角网法是直接利用原始离散点建立数字高程模型。
? 它直接利用原始数据,对保持原始数据精度,引用各种地
性线信息非常有用。
? 对于地面测量获得的数据,其数据点大多为地形特征点、
地物点,它们的位置含有重要的地形信息。
? 对于大比例尺数字测图直接利用原始离散点建立数字高程
模型是比较合适的。
? 建立三角网数字高程模型的算法有多种,其中以 Delaunay
三角形的算法理论严密,最终三角形网具有唯一性,因而
最为理想。