格网数字高程模型
武汉大学测绘学院 潘正风
一.格网DEM (Digital Elevation Model)生成
1.由离散点求格网点高程
若网格点的坐标为 x 0,y 0,在搜索圆内某数据点的坐标为 x i ,y i ,该点到网格点的距离为:
D i =则网格点的高程为
x i -x 02+y i -y 02
i
i
(z D )(z /D )∑z = 或 z = D 1/D i
2
i
i
2i
2.由三角网转换成格网DEM
按线性插值计算格网点高程: z =z 1-
(x -x 1)(y 21z 31-y 31z 21)+(y -y 1)(z 21x 31-z 31x 21)
x 21y 31-x 31y 21
式中,x 21=x 2-x 1,x 31=x 3-x 1,y 21=y 2-y 1,y 31=y 3-y 1,z 21=z 2-z 1,z 31=z 3-z 1。
3.等高线内插法
二.数字高程模型的应用 1.计算单点高程
x ⎫⎛y ⎫x ⎛y ⎫x y x ⎫y ⎛⎛
z P = 1-⎪ 1-⎪z A + 1-⎪z B +⋅z C + 1-⎪z D
L ⎝L ⎭L L ⎝L ⎭⎝L ⎭⎝L ⎭L
2.计算地表面积
地表面积的计算即为各网格的表面积之和。引入一个高程点,构成4个表面空间三角形,三角形面积为:
A =P P -S 1P -S 2P -S 3 式中,P =
1
(S 1+S 2+S 3),S i =∆x 2+∆y 2+∆z 2。 2
3.计算体积
按四棱柱或三棱柱体积计算
V 3=
h 1+h 2+h 3
A 3 3h 1+h 2+h 3+h 4
A 4
4
V 4=
4.绘制剖面图
5.坡度计算
使用3×3的格网窗口,每个窗口中心为一个高程点。窗口在DEM 数据矩阵中连续移动后完成整幅图的计算工作。
⎛∂z ⎫⎛∂z ⎫
⎪ α= ⎪+ ⎪ ∂x ∂y ⎝⎭⎝⎭z i +1, j -z i -1, j z i , j +1-z i , j -1⎛∂z ⎫⎛∂z ⎫
式中, ⎪=, 。 ∂y ⎪⎪=2∆y ∂x 2∆x ⎝⎭ij ⎝⎭ij
2
2
三.地面模型透视图
真透视立体图如下图所示,制图区域的通过X 和Y 方向比例分割的两组射线在透视变换中都在远处交于一点(左、右消失点)。
1.平面网格的透视变换
从右消失点到Y 比例分割的直线方程可写成: y -y R =m 1(x -x R ) 或 -m 1x +y +m 1x R -y R =0 写成一般式:
A 1x +B 1y +C 1=0
式中,m 1=
y R
,k =1,2,…,N 。
x R +k -1Y SCAL
从左消失点到X 比例分割的直线方程可写成: y -y L =m 2(x -x L ) 或 -m 2x +y +m 2x L -y L =0 写成一般式:
A 2x +B 2y +C 2=0 式中,m 2=
-y L
,j =1,2,…,M 。
x L +j -1X SCAL
则二直线交点的坐标为: x =
-B 2C 1+B 1C 2
A 1B 2-A 2B 1-A 1C 2+A 2C 1
A 1B 2-A 2B 1
y =
式中,A 1=-m 1,A 2=-m 2,B 1=1,B 2=1,C 1=m 1x R -y R ,C 2=m 2x L -y L 。
Y 比例分割因子和X 比例分割因子为: Y SCAL =
AD
N -1cos αAB
M -1cos β
X SCAL =
式中,AB 为投影前矩形制图区域的宽度,AD 为投影前矩形制图区域的高度。
2.高程值的透视变换
高程透视变换的步骤为:首先选取一个控制高程起伏的比例因子Z SCAL ,可以作为网格原点的高程透视变换比例因子。而对于第k 条线上起始点的高程透视变换比例因子为: z k =
y L -y 12+x L -x 12
y +x
2
L
2L
⋅Z SCAL
每个点的高程透视变换比例因子为: z CORR =z k ⋅
x
R
-x j +y R -y j 22
2
x R -x 1+y R -y 12
式中,x 1,
y 1为第k 条线上起始点的透视坐标,x j ,y j 为第k 条线上第j 点的透视坐标。
于是,任一点经高程修正后的y G 为:
y G (jk )=y (jk )+z CO RR (jk )⋅z (jk )
式中,y (jk )透视变换后第k 条线上第j 点的y 值,z CORR (jk )为第k 条线上第j 点的高程透视变换比例因子,z (jk )为第k 条线上第j 点的z 观测值。
3.隐藏线处理
如果前面的透视剖面线的高程y 坐标值大于后面出现的透视剖面线某些部分的y 坐标值,后面的剖面线上的那些部分就要被遮盖,这就是隐藏线。
绘制立体图时,将最大的y 值存放起来,当绘下一个剖面线时y 值大于对应的y 值就绘,并用新值代替,小于则不绘。
计算透视变换制图区域X 方向的最大距离,以便插值存放y 值。
x max =(y L -m 4x L )/(y R /x R -m 4)
式中,m 3=y R /[x R +(N -1)Y SCAL ],m 4=-y L /x L +(M -1)X SCAL ]
选择适当数量的存储单元,如1000个,这样对应于X 轴的每个分割单位大小为: X INC =(X max -X min )/999
4.绘制立体图
格网数字高程模型
武汉大学测绘学院 潘正风
一.格网DEM (Digital Elevation Model)生成
1.由离散点求格网点高程
若网格点的坐标为 x 0,y 0,在搜索圆内某数据点的坐标为 x i ,y i ,该点到网格点的距离为:
D i =则网格点的高程为
x i -x 02+y i -y 02
i
i
(z D )(z /D )∑z = 或 z = D 1/D i
2
i
i
2i
2.由三角网转换成格网DEM
按线性插值计算格网点高程: z =z 1-
(x -x 1)(y 21z 31-y 31z 21)+(y -y 1)(z 21x 31-z 31x 21)
x 21y 31-x 31y 21
式中,x 21=x 2-x 1,x 31=x 3-x 1,y 21=y 2-y 1,y 31=y 3-y 1,z 21=z 2-z 1,z 31=z 3-z 1。
3.等高线内插法
二.数字高程模型的应用 1.计算单点高程
x ⎫⎛y ⎫x ⎛y ⎫x y x ⎫y ⎛⎛
z P = 1-⎪ 1-⎪z A + 1-⎪z B +⋅z C + 1-⎪z D
L ⎝L ⎭L L ⎝L ⎭⎝L ⎭⎝L ⎭L
2.计算地表面积
地表面积的计算即为各网格的表面积之和。引入一个高程点,构成4个表面空间三角形,三角形面积为:
A =P P -S 1P -S 2P -S 3 式中,P =
1
(S 1+S 2+S 3),S i =∆x 2+∆y 2+∆z 2。 2
3.计算体积
按四棱柱或三棱柱体积计算
V 3=
h 1+h 2+h 3
A 3 3h 1+h 2+h 3+h 4
A 4
4
V 4=
4.绘制剖面图
5.坡度计算
使用3×3的格网窗口,每个窗口中心为一个高程点。窗口在DEM 数据矩阵中连续移动后完成整幅图的计算工作。
⎛∂z ⎫⎛∂z ⎫
⎪ α= ⎪+ ⎪ ∂x ∂y ⎝⎭⎝⎭z i +1, j -z i -1, j z i , j +1-z i , j -1⎛∂z ⎫⎛∂z ⎫
式中, ⎪=, 。 ∂y ⎪⎪=2∆y ∂x 2∆x ⎝⎭ij ⎝⎭ij
2
2
三.地面模型透视图
真透视立体图如下图所示,制图区域的通过X 和Y 方向比例分割的两组射线在透视变换中都在远处交于一点(左、右消失点)。
1.平面网格的透视变换
从右消失点到Y 比例分割的直线方程可写成: y -y R =m 1(x -x R ) 或 -m 1x +y +m 1x R -y R =0 写成一般式:
A 1x +B 1y +C 1=0
式中,m 1=
y R
,k =1,2,…,N 。
x R +k -1Y SCAL
从左消失点到X 比例分割的直线方程可写成: y -y L =m 2(x -x L ) 或 -m 2x +y +m 2x L -y L =0 写成一般式:
A 2x +B 2y +C 2=0 式中,m 2=
-y L
,j =1,2,…,M 。
x L +j -1X SCAL
则二直线交点的坐标为: x =
-B 2C 1+B 1C 2
A 1B 2-A 2B 1-A 1C 2+A 2C 1
A 1B 2-A 2B 1
y =
式中,A 1=-m 1,A 2=-m 2,B 1=1,B 2=1,C 1=m 1x R -y R ,C 2=m 2x L -y L 。
Y 比例分割因子和X 比例分割因子为: Y SCAL =
AD
N -1cos αAB
M -1cos β
X SCAL =
式中,AB 为投影前矩形制图区域的宽度,AD 为投影前矩形制图区域的高度。
2.高程值的透视变换
高程透视变换的步骤为:首先选取一个控制高程起伏的比例因子Z SCAL ,可以作为网格原点的高程透视变换比例因子。而对于第k 条线上起始点的高程透视变换比例因子为: z k =
y L -y 12+x L -x 12
y +x
2
L
2L
⋅Z SCAL
每个点的高程透视变换比例因子为: z CORR =z k ⋅
x
R
-x j +y R -y j 22
2
x R -x 1+y R -y 12
式中,x 1,
y 1为第k 条线上起始点的透视坐标,x j ,y j 为第k 条线上第j 点的透视坐标。
于是,任一点经高程修正后的y G 为:
y G (jk )=y (jk )+z CO RR (jk )⋅z (jk )
式中,y (jk )透视变换后第k 条线上第j 点的y 值,z CORR (jk )为第k 条线上第j 点的高程透视变换比例因子,z (jk )为第k 条线上第j 点的z 观测值。
3.隐藏线处理
如果前面的透视剖面线的高程y 坐标值大于后面出现的透视剖面线某些部分的y 坐标值,后面的剖面线上的那些部分就要被遮盖,这就是隐藏线。
绘制立体图时,将最大的y 值存放起来,当绘下一个剖面线时y 值大于对应的y 值就绘,并用新值代替,小于则不绘。
计算透视变换制图区域X 方向的最大距离,以便插值存放y 值。
x max =(y L -m 4x L )/(y R /x R -m 4)
式中,m 3=y R /[x R +(N -1)Y SCAL ],m 4=-y L /x L +(M -1)X SCAL ]
选择适当数量的存储单元,如1000个,这样对应于X 轴的每个分割单位大小为: X INC =(X max -X min )/999
4.绘制立体图