资源描述
插值方法在地理测绘中的应用
邹晓范
佳木斯大学 黑龙江 佳木斯(154007)
摘 要:通过实例,给出插值方法在地理测绘中的应用,从几何直观角度观察几种插值方法的特点和效果,进一步理解方法的应用背景和适用范围。从而加强和巩固学生的理论知识,提高分析问题,解决问题的能力,提高理论知识的应用能力及计算机编程能力。
关键词:插值方法;地理测绘;Matlab;程序设计
中图分类号: 文献标识码:
0. 引 言
先看下面的问题,在某山区(平面区域(0,4800)*(0,5600)内,单位:米)测得一些地点的高度(单位:米)如表1所示,选择恰当的方法展现该山区的地形地貌,并作适当分析。
表1 某山区纵横方向等间隔测得的高度
Y/X
0
400
800
1200
1600
2000
2400
2800
3200
3600
4000
4400
4800
5200
5600
0
1350
1370
1390
1400
1410
960
940
880
800
690
570
430
290
210
150
400
1370
1390
1410
1430
1440
1140
1110
1050
950
820
690
540
380
300
210
800
1380
1410
1430
1450
1470
1320
1280
1200
1080
940
780
620
460
370
350
1200
1420
1430
1450
1480
1500
1550
1510
1430
1300
1200
980
850
750
550
500
1600
1430
1430
1460
1500
1550
1600
1550
1600
1600
1600
1550
1500
1500
1550
1550
2000
950
1190
1370
1500
1200
1100
1550
1600
1550
1380
1070
900
1050
1150
1200
2400
910
1090
1270
1500
1200
1100
1350
1450
1200
1150
1010
880
1000
1050
1100
2800
880
1060
1230
1390
1500
1500
1400
900
1100
1060
950
870
900
930
950
3200
830
980
1180
1320
1450
1420
1400
1300
700
900
850
840
380
780
750
3600
740
880
1080
1130
1250
1280
1230
1040
900
500
700
780
750
650
550
4000
650
760
880
970
1020
1050
1020
830
900
700
300
500
550
480
350
4400
510
620
730
800
850
870
850
780
720
650
500
200
300
350
320
4800
370
470
550
600
670
690
670
620
580
450
400
300
100
150
250
1. 插值结果分析
分别利用“近邻插值,双线性插值,三次样条插值”等不同的插值方法绘制地形地貌图。直接利用所给的测量点绘制出一个初略的网线图,MATLAB程序见shanqu.m. 运行该程序,作出测量点的网线图为图1,将其向顺时针方向旋转一定角度后图2,即是换一个观察角度该山区的概貌,只是还比较粗糙,若数据点再密一些,效果会更好。
图1 图2
由于测量点的横向,纵向距离均为400米,可将数据点加密,每隔50米一个数据点,未测量点的
收稿日期:2006年7月
作者简介:邹晓范 (1956.1),女,黑龙江省密山县人,佳木斯大学数学系副教授,研究方向计算机算法
高度可用插值的方法估计。下面用“近邻插值”,“双线性插值”和“三次样条插值”方法来估计未测量点的高度。Matlab程序见shanqu.m,运行该程序得到图3——10。
邻近插值方法加密数据点后,作出的山区地形地貌图。是台阶形,不连续,不光滑,不象山地.
图3 图4
将图3顺时针旋转90度后,得图4可看到山后的地形地貌。
图5 图6
双线性插值方法加密数据点后的山区地形地貌图,效果较好。双三次插值方法加密数据点后的山区地貌图,是连续的,光滑的,与双线性插值方法的效果差别不大。图5,图6分别为用双线性插值法和双三次样条插值法估计未测量点高度后,作出的山区地形地貌图,可看出图形是连续的,比较象山地了,前者有一些棱线,不够光滑。为了比较两种方法,将它们的局部放大,其区别更明显,见图7,图8。
双线性插值方法加密数据点后的山区地貌的局部放大图,是连续的,但有棱线,不够光滑。
图7 图8
图7 图8
图8双三次样条插值方法加密数据点后的山区地貌的局部放大图,是连续的,光滑的,明显比双线性插值方法的光滑性好。
图6为用三次样条插值法估计未测量点高度后,作出的山区地形地貌图,可看出图形是连续的,光滑的,效果比较令人满意。图8是将它的局部放大后的图形,也比较光滑、光顺。通过对三种插值方法对应的山区地貌图作比较,还是三次插值法更适合用来补充未测量点的高度。
若将图6中的网格线去掉,可得图9所示得山区地形地貌图,看起来更光顺。从图9的山区地形地貌图可看出,该地区有较平坦的区域,有一东西走向的山峰,有一西北——东南走向的山谷,还有几处大凹坑,可能是湖。
东 西 走 向 的 山 峰
平 坦 区
山 口 湖
山 涧 小 溪
图9 图10
为了确定平坦区,山口湖,山谷小溪的准确位置,我们再作出该山区的等高线图10。从图中可看出,平坦区在0<x<1300, 3500<y<4800的范围内。山口湖位于坐标(2000,2500)处,山涧小溪是从坐标(2500,2200)到(5000,0)的西北——东南方向,山峰是在y=3200这条线上,在此山峰北面(后面)是一个大峡谷。
2. Matlab程序实现shanqu.m
x=0:400:5600;
y=0:400:4800;
z=[370 470 550 600 670 690 670 620 580 450 400 300 100 150 250;...
510 620 730 800 850 870 850 780 720 650 500 200 300 350 320;...
650 760 880 970 1020 1050 1020 830 900 700 300 500 550 480 350;...
740 880 1080 1130 1250 1280 1230 1040 900 500 700 780 750 650 550;...
830 980 1180 1320 1450 1420 1400 1300 700 900 850 840 380 780 750;...
880 1060 1230 1390 1500 1500 1400 900 1100 1060 950 870 900 930 950;...
910 1090 1270 1500 1200 1100 1350 1450 1200 1150 1010 880 1000 1050 1100;...
950 1190 1370 1500 1200 1100 1550 1600 1550 1380 1070 900 1050 1150 1200;...
1430 1430 1460 1500 1550 1600 1550 1600 1600 1600 1550 1500 1500 1550 1550;...
1420 1430 1450 1480 1500 1550 1510 1430 1300 1200 980 850 750 550 500;...
1380 1410 1430 1450 1470 1320 1280 1200 1080 940 780 620 460 370 350;...
1370 1390 1410 1430 1440 1140 1110 1050 950 820 690 540 380 300 210;...
1350 1370 1390 1400 1410 960 940 880 800 690 570 430 290 210 150];
5
meshz(x,y,z),rotate3d
xlabel('X'),ylabel('Y'),zlabel('Z')
pause
figure(2)
contour(x,y,z)
pause
figure(3)
contour3(x,y,z)
pause
figure(4)
surf(x,y,z);view(-25,25)
pause
figure(5)
xi=linspace(0,5600,50);yi=linspace(0,4800,50);[XI,YI]=meshgrid(xi,yi);
ZI=interp2(x,y,z,XI,YI,'*cubic');
shg,surf(XI,YI,ZI),view(-25,25)
pause
figure(6)
xi=linspace(0,5600,100);yi=linspace(0,4800,100);[XI,YI]=meshgrid(xi,yi);
ZI=interp2(x,y,z,XI,YI,'*spline');
shg,surf(XI,YI,ZI),view(-25,25)
pause
figure(7)
xi=linspace(0,5600,50);yi=linspace(0,4800,50);[XI,YI]=meshgrid(xi,yi);
ZI=interp2(x,y,z,XI,YI,'*nearst');
shg,surf(XI,YI,ZI),view(-25,25)
pause
figure(8)
meshz(x,y,z);
colormap([1,0,0]);
axis tight
pause
figure(9)
waterfall(x,y,z);
colormap([1,0,0]);
axis tight
pause
figure(10)
meshc(x,y,z);
colormap([1,0,0]);
axis tight
参考文献
[1]张志涌. 精通MATLAB[M] 北京航空航天大学出版社 2000.08
[2]张静等. MATLAB程序设计与实例应用[M] 中国铁道出版社2003.11
[3]华中理工大学数学系.计算方法[M]. 高等教育出版社 1999.09
Put the worth method in geography survey and map of application
Zou Xiaofan
Jiamusi university China Jiamusi (154007)
ABSTRACT: In this paper,the example of application, putting worth method in geography survey and map, from several keep why the view angle observes several a characteristics for putting worth methods with result. The applied background of the further comprehension method with apply the scope. From but enhance with the theories knowledge that make stronger the student, increase to analyze the problem, problem-solving ability, improve applied ability and calculators of the theories knowledge and the program design ability.
KEYWORDS: put the value method; s geography survey and map; matlab ; program design
展开阅读全文