孫曉輝+徐紅霞
摘 要:對垂直于路線中線方向的地面高低所進行的測量工作稱為橫斷面測量。橫斷面圖是確定河道橫向施工范圍、計算土石方數(shù)量的必要資料,所以橫斷面圖的繪制顯得尤為重要。MATLAB可以提供強大的圖形編輯功能,不僅能繪制幾乎所有的標(biāo)準(zhǔn)圖形,而且其表現(xiàn)形式也是豐富多樣的。文中探討利用MATLAB軟件繪制河道橫斷面的方法,實踐證明這是一種簡單易行、易操作的方法。
關(guān)鍵詞:MATLAB;橫斷面圖;繪制
中圖分類號:TV222.1 文獻(xiàn)標(biāo)識碼:A 文章編號:1006—7973(2018)2-0073-04
1 MATLAB軟件介紹
人們很難從一大堆原始的數(shù)據(jù)中發(fā)現(xiàn)它們的含義,而數(shù)據(jù)圖形恰能使視覺感官直接感受到數(shù)據(jù)的許多內(nèi)在本質(zhì),發(fā)現(xiàn)數(shù)據(jù)的內(nèi)在聯(lián)系。MATLAB提供強大的圖形編輯功能,既可以繪制多種圖形,還可以對圖形進行修飾。不僅能繪制幾乎所有的標(biāo)準(zhǔn)圖形,而且其表現(xiàn)形式也是豐富多樣的。在面向?qū)ο蟮膱D形設(shè)計基礎(chǔ)上,使得用戶可以用來開發(fā)測繪專業(yè)的專用圖形。
MATLAB有兩類繪圖命令,一類是直接對圖形句柄進行操作的底層繪圖命令,另一類是在底層命令的基礎(chǔ)上建立起來的高層繪圖命令。高層繪圖命令簡單明了、方便高效。利用高層命令,用戶只需給出一些基本參數(shù)就能繪制出所需圖形。本文就是利用高層命令和橫斷面測量的數(shù)據(jù)進行三維橫斷面圖的繪制。
在測量領(lǐng)域中,人們經(jīng)常面臨一個解析函數(shù)描述數(shù)據(jù)(通常是測量值)的任務(wù)。對于這個問題可以應(yīng)用插值法解決,在插值法里,數(shù)據(jù)假定是正確的,要求以某種方法描述數(shù)據(jù)點之間所發(fā)生的情況。擬合也是數(shù)據(jù)優(yōu)化的一種方法,在測量中數(shù)據(jù)不夠多時經(jīng)常用這種方法來畫圖。繪制橫斷面圖時應(yīng)用插值、曲面擬合的方法可以很直觀的顯現(xiàn)出河道,這樣有利于橫斷面的分析。而且在MATLAB中可以很好的利用三維數(shù)據(jù)進行曲面的插值、擬合。
2 橫斷面圖的測量及數(shù)據(jù)的準(zhǔn)備
2.1 工程概況
臨商河為臨邑縣東部主要排澇河道,自南向北流入德惠新河。自臨商河流入臨邑縣境內(nèi)開始至王書干溝以北500m處約1公里河道與邢家渡引黃干渠并行。
本次測量全程9365m,起點為王書干溝以南550m處,終點為臨商河流出臨邑縣境處。測道右岸的支溝只對其河底高程、底寬和開口寬度進行了測量。在文中取前3000m的測量點繪制橫斷面圖。
2.2 橫斷面測量過程
長期以來,如何快速準(zhǔn)確地進行河道橫斷面測量一直是困擾測量人員的一個難題。過去進行橫斷面測量的方法包括:花桿皮尺法(適用于:山區(qū)低等級公路,精度低)、經(jīng)緯儀視距法(適用于:地形復(fù)雜地區(qū),精度較高)、水準(zhǔn)儀皮尺法(水準(zhǔn)尺測高差,皮尺丈量平距,適用于:地形簡單地區(qū),精度高)等?,F(xiàn)在一般都用全站儀、GPS等先進儀器。這次德州市臨商河橫斷面圖的測量采用GPS和水準(zhǔn)測量相結(jié)合的方法,這種水準(zhǔn)儀與GPS相結(jié)合的測量方法速度快、測量數(shù)據(jù)也符合工程規(guī)范要求。
2.2.1 測量準(zhǔn)備
橫斷面測量是一項十分關(guān)鍵的工作,為此成立了專職的測量小組,由具備測量專業(yè)執(zhí)業(yè)資格和多年施工工作經(jīng)驗的測量技術(shù)人員負(fù)責(zé),測量過程按照規(guī)范要求進行并留有記錄。測量過程中按前進方向分成左右兩側(cè),分側(cè)測量橫斷面方向上各邊坡點間(或至中樁)的平距及高差,平距及高差的精度要求一般為0.1m。
2.2.2 測量儀器
測量中投入使用的測量儀器如:GPS、水準(zhǔn)儀和塔尺等都符合規(guī)范的測量精度要求,并經(jīng)過有關(guān)主管部門批準(zhǔn)的具有資質(zhì)的檢驗單位的檢測,并在檢測有效期內(nèi)使用。所有測量儀器使用前都得到了工程師的批準(zhǔn)。
2.2.3 測量過程
(1)河道橫斷面中樁的放樣。根據(jù)設(shè)計的線路坐標(biāo)進行GPS中樁放樣。傳統(tǒng)的中樁放樣是采用全站儀(測距儀配合經(jīng)緯儀)進行放樣。本次測量使用GPS-RTK技術(shù)進行中樁放樣,GPS-RTK技術(shù)為橫斷面測量提供了便利,橫斷面斷面測量前,在手簿上可采用坐標(biāo)放樣的方法設(shè)定理論中樁的坐標(biāo)。數(shù)據(jù)采集時,放樣點將實時顯示在手簿屏幕上,并提示偏離中樁的坐標(biāo)差,以便操作員糾正放樣點位到中樁上。
(2)河道橫斷面點的測量。橫斷面點的測量使用水準(zhǔn)儀測量,在中樁上安置水準(zhǔn)儀,橫斷面點上放置塔尺,讀出上絲、中絲、下絲的讀數(shù),進而算出距離中樁的距離差,根據(jù)中樁的高程得到橫斷面點的高程。測量過程中在河道兩岸分別有一個操作員攜帶塔尺進行立尺,同時在數(shù)據(jù)的讀取過程中要檢查數(shù)據(jù)的正確性,使數(shù)據(jù)符合規(guī)范。如果數(shù)據(jù)不符合規(guī)范要進行重測。
(3)河道橫斷面點水下高程的測量。在已知水面高程的情況下,利用測深錘進行河道底部的高程的測量,測量要進行兩次測量,取兩次測量結(jié)果的平均值作為河道底部橫斷面點的高程。
2.2.4 資料整理與測量核實
測量成果資料(包括觀測記錄、放樣記錄)、圖表(包括橫斷面圖、計算資料)進行了統(tǒng)一編號,妥善保管。對所有觀測數(shù)據(jù),都是隨測隨記,沒有轉(zhuǎn)抄、偽造。橫斷面測量完畢后進行了數(shù)據(jù)的檢驗,所有數(shù)據(jù)符合規(guī)范,可以用于橫斷面圖的繪制及其面積的計算。
2.3 橫斷面測量數(shù)據(jù)的處理
測量數(shù)據(jù)經(jīng)過EXCEL的處理,得到了橫斷面點距離中樁的距離及其高程,整理到hdm.xls一個表格,部分截圖如圖1所示:
3 橫斷面圖的繪制
3.1 基于MATLAB的橫斷面圖的繪制
利用MATLAB編寫代碼繪制橫斷面,在繪制的過程中主要的命令為plot3(x,y,z),這個命令是根據(jù)點的三維數(shù)據(jù)繪制出立體圖。其主要代碼為:
%提取里程點EXCEL文件,把文件儲存在MATLAB的一個矩陣中
a=xlsread('C:\Users\laosan\Desktop\hdm','sheet1');endprint
%提取橫斷面的里程
a1=a(:,1);
%提取橫斷面距離中樁的距離
a2=a(:,2);
%提取橫斷面點的高程
a3=a(:,3);
%畫出橫斷面
plot3(a1,a2,a3,'-.r*');
Title('橫斷面');
xlabel('里程')
ylabel('距離中樁的距離');
zlabel('高程');
% 繪制格網(wǎng)
grid on;
所畫的圖像為圖2:
利用MATLAB圖形窗口的Rotote 3D命令從各個角度觀察橫斷面的立體圖:
沿著垂直于橫斷面的中軸方向觀看得到圖3和圖4:
3.2 cass成圖
在cass中選擇“工程應(yīng)用一生成里程文件一由縱斷面線生成一新建”,自動彈出“由縱斷面生成里程文件”對話框,設(shè)置各種參數(shù),生成橫斷面線。還需要對橫斷面線進行編輯,包括橫斷面的序號、位置、長度等。
在地形圖上,沿橫斷面線依次確定各個地物、地貌特征點的坐標(biāo)、高程,選擇“工程應(yīng)用一高程點生成數(shù)據(jù)文件一有編碼高程點”,輸入文件名,生成坐標(biāo)數(shù)據(jù)文件,保存為“xxx.dat”格式。編輯坐標(biāo)數(shù)據(jù)文件。主要修改每條橫斷面在縱斷面上的里程,橫斷面的序號。
選擇“工程應(yīng)用一繪制斷面圖一根據(jù)里程文件”,輸入里程文件名稱,根據(jù)實際需要,設(shè)置各種參數(shù),生成每條橫斷面的斷面圖。
利用cass生成的橫斷面圖截圖為圖5~圖7:
通過MATLAB與cass繪制的橫斷面圖對比可以看出,兩者之間形似度非常大,而且MATLAB繪制的橫斷面圖中的高程、里程及其距離都是根據(jù)測量數(shù)據(jù)得出來的,所以這種方法可以應(yīng)用在橫斷面圖的繪制。
3.3 三維擬合曲面的繪制
為了更形象地顯示橫斷面,可以利用三維坐標(biāo)以及數(shù)據(jù)插值、曲面擬合的方法擬合出橫斷面的三維彩色圖,其主要的MATLAB代碼為:
function hengduanmianhuatu
clf;
clear;
clc;
%提取里程點EXCEL文件
a=xlsread('C:\Users\laosan\Desktop\0200','sheet1');
%提取橫斷面的里程
x=a(:,1);
%提取橫斷面距離中樁的距離
y=a(:,2);
z=a(:,3);
%散點圖
scatter3(x,y,z);
figure;
%插值
[X,Y,Z]=griddata(x,y,z,linspace(min(x),max(x))',linspace(min(y),max(y)),'v4');
%偽彩色圖
pcolor(X,Z,Y);
shading interp;
title('橫斷面?zhèn)尾噬珗D');
xlabel('里程')
zlabel('距離中樁的距離');
ylabel('高程');
%等高線圖
figure,contourf(X,Z,Y);
title('橫斷面等高線圖');
xlabel('里程')
zlabel('距離中樁的距離');
ylabel('高程'%擬合的三維曲面');
figure,surf(X,Y,Z);
title('橫斷面');
xlabel('里程')
ylabel('距離中樁的距離');
zlabel('高程');
運行程序得到的圖像為圖8~圖11:
注釋:等高線圖本來是一條閉合的曲線,但是由于每一個中樁有好幾個碎部點,并且在處理和繪制圖像的過程中進行了插值和擬合,所以導(dǎo)致等高線并不是以一條閉合曲線的形式呈現(xiàn)的。圖中峰值和低谷值是每一個橫斷面中最高的高程和最低的高程值。
4 結(jié)論
本文探討了基于MATLAB的河道橫斷面的繪制,通過對比CASS繪制的橫斷面,發(fā)現(xiàn)這是一種可行的方法。并且為了更直觀的顯示河道橫斷面,利用橫斷面點的三維數(shù)據(jù)進行了橫斷面的擬合,得出了其三維曲面圖。但是在該文中還有許多缺點,由于時間的關(guān)系,并沒有利用MATLAB進行橫斷面面積的計算,不能從面積這一方面驗證理論的正確性。endprint