亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于.Net開(kāi)發(fā)道路縱橫斷面檢查軟件及其應(yīng)用

        2012-02-08 09:31:56袁兆奎
        城市勘測(cè) 2012年3期
        關(guān)鍵詞:橫斷面繪制高程

        袁兆奎

        (武漢市政工程設(shè)計(jì)研究院有限責(zé)任公司,湖北武漢 430023)

        1 引言

        在市政工程中,道路的縱橫斷面測(cè)量是一項(xiàng)重要的工作內(nèi)容。一般來(lái)說(shuō),在獲取地形圖之后,應(yīng)進(jìn)行縱橫斷面的實(shí)地測(cè)量,包括各中樁點(diǎn)和碎部斷面點(diǎn)的高程測(cè)量,測(cè)得的數(shù)據(jù)人工填入記錄紙上。內(nèi)業(yè)時(shí),首先將記錄紙上的數(shù)據(jù)按指定的格式錄入電腦,然后進(jìn)行格式及數(shù)據(jù)內(nèi)容檢查,確認(rèn)無(wú)誤后交付給設(shè)計(jì)人員。

        筆者經(jīng)過(guò)長(zhǎng)期的工作實(shí)踐,發(fā)現(xiàn)上述工作流程中,存在如下問(wèn)題:①人工錄入的數(shù)據(jù)大,耗時(shí)長(zhǎng),且容易出錯(cuò);②數(shù)據(jù)錄入后,查錯(cuò)糾正很難滿足要求;③縱橫斷面圖形檢查的功能很難發(fā)現(xiàn)細(xì)微的錯(cuò)誤,且運(yùn)行效率低下。

        對(duì)此,筆者提出了一種簡(jiǎn)碼格式,能減少斷面錄入的工作量,提高工作效率;并基于.Net平臺(tái),用C#語(yǔ)言在Visual Studio 2005上開(kāi)發(fā)了一款能進(jìn)行斷面數(shù)據(jù)檢查的軟件;最后研究了縱橫斷面的繪制及圖形檢查,并在AutoCAD上進(jìn)行二次開(kāi)發(fā),實(shí)現(xiàn)了該功能。經(jīng)過(guò)一年多的推廣應(yīng)用,該軟件已經(jīng)較為成熟、完善。

        2 斷面文件格式及其簡(jiǎn)化

        武漢市政工程設(shè)計(jì)研究院有限責(zé)任公司勘測(cè)設(shè)計(jì)院設(shè)計(jì)軟件所能支持的縱橫斷面文件為下述格式:

        這種格式稱(chēng)為全碼格式,對(duì)該格式進(jìn)行分析,可以看出其有如下特點(diǎn):

        (1)每一個(gè)新的橫斷面都是以“Z=”作為開(kāi)頭,其后為中樁的里程、正負(fù)高程。

        (2)橫斷面的數(shù)據(jù)以從左到右的順序列出,內(nèi)容為斷面點(diǎn)與中樁的距離,斷面點(diǎn)的高程。如果斷面點(diǎn)位于中樁的左側(cè),距離取負(fù),若在右側(cè),距離取正;高程全部取負(fù)。

        (3)在縱斷面中,若有加樁,只需以“Z=”為開(kāi)頭,然后輸入里程和正負(fù)高程即可。

        筆者認(rèn)為,上述文件格式雖為道路設(shè)計(jì)軟件所專(zhuān)用,但卻可以大大簡(jiǎn)化,減少手工錄入的工作量,提高效率:

        ①在中樁所在的數(shù)據(jù)行,可以只錄入一個(gè)高程值,不必錄入兩個(gè)。

        ②橫斷面的數(shù)據(jù)既然已規(guī)定為從左至右,因此左側(cè)的距離數(shù)據(jù)可以不用取負(fù)號(hào),直接按正號(hào)錄入;斷面點(diǎn)的高程也只按正號(hào)錄入。

        因此,筆者設(shè)計(jì)了一種簡(jiǎn)化的縱橫斷面文件格式:

        以上這種格式可稱(chēng)為“簡(jiǎn)碼”格式??梢钥闯?,若采用簡(jiǎn)碼格式,內(nèi)業(yè)數(shù)據(jù)錄入時(shí),可以大大減少工作量(沒(méi)有“-”號(hào)和“,”號(hào)),且所有的操作都可以集中在鍵盤(pán)的“數(shù)字鍵盤(pán)”區(qū)域內(nèi),能極大提高效率。

        3 斷面文件數(shù)據(jù)檢查及格式轉(zhuǎn)換

        雖然采用簡(jiǎn)碼格式可以大大減少手工錄入的工作量,但仍然會(huì)出現(xiàn)各種錯(cuò)誤,尤其是當(dāng)?shù)缆泛荛L(zhǎng),且斷面寬度較大時(shí),錯(cuò)誤一般很難避免。另一方面,在沒(méi)有采用簡(jiǎn)碼格式之前,以前的工作中存在著很多全碼格式的斷面文件,也需要進(jìn)行檢查。因此,要實(shí)現(xiàn)簡(jiǎn)碼格式和全碼格式的數(shù)據(jù)檢查,并能將簡(jiǎn)碼轉(zhuǎn)換成全碼。

        3.1 斷面文件數(shù)據(jù)檢查

        經(jīng)過(guò)長(zhǎng)期工作實(shí)踐,發(fā)現(xiàn)手工錄入后,斷面文件中一般有以下幾種類(lèi)型的錯(cuò)誤,如表1所示。

        斷面文件中可能出現(xiàn)的錯(cuò)誤類(lèi)型 表1

        編寫(xiě)程序時(shí),有兩處需要注意:

        (1)斷面文件應(yīng)一次性全部讀入,不能逐行讀入,否則針對(duì)一個(gè)橫斷面的檢查時(shí)就很難操作。具體來(lái)說(shuō),用StreamReader.ReadToEnd()將斷面文件全部讀入,并用Regex.Split()將數(shù)據(jù)分割成string類(lèi)型的數(shù)組:

        如此,在進(jìn)行一個(gè)橫斷面的檢查時(shí),先在file_content_array中尋找該斷面的起止位置,然后再進(jìn)行內(nèi)部檢查;檢查完畢后,尋找下一個(gè)橫斷面的起止位置,重復(fù)上面的檢查。

        (2)在橫斷面內(nèi)部,檢查斷面點(diǎn)與樁號(hào)間的距離是否嚴(yán)格按從左到右的順序時(shí),可以先定義一個(gè)初始值為false的bool類(lèi)型變量zero_comeout。當(dāng)zero_comeout為false,且斷面點(diǎn)與樁號(hào)間的距離為遞減時(shí),認(rèn)為無(wú)誤,否則認(rèn)為有錯(cuò)誤,并輸出錯(cuò)誤的位置;當(dāng)距離為0時(shí),認(rèn)為讀到樁號(hào)處,將zero_comeout設(shè)為true,并檢查該處高程是否與樁號(hào)處一致;當(dāng)zero_comeout為true,且斷面點(diǎn)與樁號(hào)間的距離遞增時(shí),認(rèn)為無(wú)誤,否則認(rèn)為有錯(cuò)誤,并輸出錯(cuò)誤的位置。該處可用如下代碼實(shí)現(xiàn):

        斷面文件數(shù)據(jù)檢查這部分程序的結(jié)構(gòu)示意圖如圖1所示。

        在該軟件中,可以通過(guò)對(duì)話框設(shè)置檢查參數(shù),檢查完畢后生成報(bào)告,詳細(xì)指出錯(cuò)誤所在的行數(shù)及錯(cuò)誤的類(lèi)別,從而可以快速進(jìn)行定位、糾正。對(duì)于數(shù)據(jù)很長(zhǎng)的斷面文件,該功能尤其有效。檢查工作有必要多次進(jìn)行,以確保無(wú)誤。圖2為軟件的主界面。

        圖1 斷面文件數(shù)據(jù)檢查程序示意圖

        圖2 斷面數(shù)據(jù)處理程序主界面

        3.2 簡(jiǎn)碼轉(zhuǎn)換成全碼

        該部分要實(shí)現(xiàn)將簡(jiǎn)碼格式的斷面文件生成全碼格式,實(shí)現(xiàn)起來(lái)較為簡(jiǎn)單,主要注意以下兩點(diǎn):

        (1)樁號(hào)處。提取一行的數(shù)據(jù),若其中含有“*”,認(rèn)為該行為樁號(hào)處,將“*”號(hào)替換成“Z=”,并添加正負(fù)高程。

        (2)樁號(hào)內(nèi)部。首先仍定義一個(gè)初始值為false的bool類(lèi)型變量zero_comeout。當(dāng)斷面點(diǎn)與樁號(hào)處的距離不為0,且zero_comeout為 false時(shí),距離取負(fù)號(hào),高程取負(fù)號(hào);當(dāng)斷面點(diǎn)與樁號(hào)間的距離為0時(shí),設(shè)置zero_comeout為true,高程取負(fù)號(hào);當(dāng)斷面點(diǎn)與樁號(hào)間的距離不為0,且zero_comeout為ture時(shí),距離取正號(hào),高程取負(fù)號(hào)。

        每一步處理完后,均將處理結(jié)果寫(xiě)入新的文件,直到斷面文件全部處理完畢。

        4 斷面圖的繪制及圖形檢查

        雖然上述程序?qū)嗝嫖募?nèi)的數(shù)據(jù)進(jìn)行了詳細(xì)的檢查,但并不能保證其已經(jīng)完全沒(méi)有問(wèn)題。例如,在錄入時(shí),陡砍上、下的高程值有可能輸成一樣,但前文的檢查并不能發(fā)現(xiàn)。作為工作成果的縱橫斷面文件在歸檔及交付設(shè)計(jì)人員、業(yè)主時(shí),應(yīng)確保無(wú)誤,因此,繪制縱橫斷面及進(jìn)行圖形檢查很有必要。

        筆者基于.Net平臺(tái),用C#語(yǔ)言對(duì)AutoCAD進(jìn)行二次開(kāi)發(fā),實(shí)現(xiàn)了縱橫斷面圖的自動(dòng)繪制,其后即可以進(jìn)行圖形檢查。相對(duì)于AutoLisp或者VBA等傳統(tǒng)的開(kāi)發(fā)語(yǔ)言,C#可以編寫(xiě)出運(yùn)行效率更高的應(yīng)用程序。這對(duì)配置較低的電腦或者繪制數(shù)據(jù)量較大的縱橫斷面尤為重要。

        4.1 程序編寫(xiě)

        編寫(xiě)程序時(shí),主要有以下幾方面需要注意:

        (1)圖層。為便于繪制及檢查,筆者對(duì)縱橫斷面圖進(jìn)行分析,自定義了5個(gè)圖層:

        ①斷面點(diǎn):顯示縱斷面的中樁點(diǎn)和橫斷面的碎部斷面點(diǎn),均以“紅圈”突出顯示。

        ②斷面線:由縱斷面的所有中樁點(diǎn)或橫斷面的所有碎部斷面點(diǎn)以直線方式連接而成的多段線,以綠色顯示。

        ③斷面參考坐標(biāo)系:為平面直角坐標(biāo)系。對(duì)于縱斷面,以起始中樁為原點(diǎn),里程增加方向?yàn)闄M軸,高程增加方向?yàn)榭v軸;對(duì)于橫斷面,以中樁點(diǎn)為原點(diǎn),從左至右為橫軸,高程增加方向?yàn)榭v軸??v軸上的高程值范圍均嚴(yán)格標(biāo)示,例如高程標(biāo)示為[17,22],說(shuō)明所有點(diǎn)的高程值均在如下范圍內(nèi):17≤H≤22。

        ④斷面點(diǎn)高程:在縱斷面中樁點(diǎn)和橫斷面碎部斷面點(diǎn)的旁邊顯示其高程值。

        ⑤斷面點(diǎn)樁號(hào)點(diǎn)位置:顯示中樁點(diǎn)的里程值,或者橫斷面所有碎部斷面點(diǎn)距離中樁的距離值。

        (2)在AutoCAD中繪制文字、斷面點(diǎn)和斷面線。它們的實(shí)現(xiàn)方式差不多,以較為復(fù)雜的繪制斷面線為例,程序中主要用到AddLine()這個(gè)函數(shù):

        (3)針對(duì)不同版本的AutoCAD進(jìn)行開(kāi)發(fā)的問(wèn)題。在Visual Studio 2005的“解決方案資源管理器”中點(diǎn)“引用”,右鍵選擇“添加引用(R)…”,在對(duì)話框中選擇“瀏覽”,然后進(jìn)入AutoCAD的安裝目錄,選擇“acdbmgd.dll”、“acmgd.dll”。然后將程序重新編譯、生成,如此便生成針對(duì)該AutoCAD版本的程序了。

        該部分程序的結(jié)構(gòu)示意如圖3所示。

        圖3 斷面圖繪制程序示意圖

        4.2 程序使用

        打開(kāi)AutoCAD后,輸入“netload”命令,在對(duì)話框中選擇已生成的dll文件,然后再輸入“drawdm”命令,彈出縱橫斷面繪制程序的主界面(圖4)。

        圖4 縱橫斷面繪制程序主界面

        在該界面上可以進(jìn)行一些參數(shù)設(shè)置,以適應(yīng)不同的比例尺等?!按_定”之后程序自動(dòng)繪制斷面,并調(diào)節(jié)縮放比例,讓所有斷面滿布在窗口中,圖5是繪制的某個(gè)橫斷面。

        圖5 繪制出的橫斷面

        縱橫斷面繪制完畢后,即可以進(jìn)行圖形檢查,發(fā)現(xiàn)并糾正細(xì)微的錯(cuò)誤。

        5 道路斷面工作量統(tǒng)計(jì)

        在縱橫斷面文件檢查完畢后,可以統(tǒng)計(jì)本次工程的工作量,以作為計(jì)算產(chǎn)值、費(fèi)用等的依據(jù)。工作量的計(jì)算分縱向和橫向。對(duì)于縱向,只需提取里程的最小、最大值,進(jìn)行相減即可。對(duì)于橫向,需計(jì)算每一個(gè)橫斷面的工作寬度,即對(duì)最左側(cè)斷面點(diǎn)和樁號(hào)處的距離與最右側(cè)斷面點(diǎn)和樁號(hào)處的距離求和,然后累加所有的工作寬度,同時(shí)還應(yīng)累計(jì)橫斷面的個(gè)數(shù),如圖6所示。

        圖6 縱橫斷面工作量統(tǒng)計(jì)

        6 結(jié)論

        本文對(duì)道路的縱橫斷面文件格式進(jìn)行了分析,提出了一種簡(jiǎn)碼格式,能大大減少手工錄入的工作量,減少出錯(cuò),提高工作效率,并實(shí)現(xiàn)了簡(jiǎn)碼格式轉(zhuǎn)換為設(shè)計(jì)軟件所能識(shí)別處理的全碼格式,以及對(duì)全碼格式斷面文件的檢查。其次,研究了縱橫斷面文件的數(shù)據(jù)檢查和圖形化檢查。數(shù)據(jù)檢查能發(fā)現(xiàn)9大類(lèi)錯(cuò)誤,圖形化檢查能在AutoCAD上繪制縱橫斷面并人工發(fā)現(xiàn)細(xì)微的錯(cuò)誤。最后,實(shí)現(xiàn)了道路斷面的工作量統(tǒng)計(jì)。經(jīng)過(guò)長(zhǎng)期推廣應(yīng)用,該程序已較為成熟、完善。

        [1]潘正風(fēng),楊正堯,程效軍等.?dāng)?shù)字測(cè)圖原理與方法[M].武漢大學(xué)出版社,2004.

        [2] 張正祿.工程測(cè)量學(xué)[M].武漢:武漢大學(xué)出版社,2005.

        [3]余興勝.用.NET進(jìn)行AutoCAD二次開(kāi)發(fā)的方案探索[EB/OL].http://news.e800.com.cn/articles/2008/12/1199238090246_1.html,2008.

        [4] ObjectARX編程站.Hello World:訪問(wèn)ObjectARX.NET封裝類(lèi)[EB/OL].http://www.mjtd.com/Manual/Article-Show.a(chǎn)sp?ArticleID=836,2005.

        [5]博客園.AutoCAD.net二次開(kāi)發(fā)官方教程及源碼C#版[EB/OL].http://kb.cnblogs.com/a/1257334/,2008.

        猜你喜歡
        橫斷面繪制高程
        Art on coffee cups
        城市道路橫斷面設(shè)計(jì)研究
        8848.86m珠峰新高程
        放學(xué)后
        童話世界(2018年17期)2018-07-30 01:52:02
        GPS控制網(wǎng)的高程異常擬合與應(yīng)用
        廣州市健康體檢人群種植修復(fù)情況的橫斷面研究
        2014年某院醫(yī)院感染橫斷面調(diào)查
        中醫(yī)院醫(yī)院感染橫斷面調(diào)查分析
        SDCORS高程代替等級(jí)水準(zhǔn)測(cè)量的研究
        在轉(zhuǎn)變中繪制新藍(lán)圖
        中文字幕亚洲精品一区二区三区 | 欧美亚洲国产精品久久久久| 色哟哟精品中文字幕乱码| 国产性色av一区二区| 成年av动漫网站18禁| 女人被狂躁高潮啊的视频在线看| 少妇内射高潮福利炮| 2021亚洲色中文字幕| 久久精品国产亚洲av蜜臀久久| 精品日本一区二区三区| 小说区激情另类春色| 久久久久久好爽爽久久| 久久频这里精品99香蕉| 给我播放的视频在线观看| 国产精品白浆一区二区免费看 | 无码 免费 国产在线观看91| 日产一区二区三区的精品| 日本精品视频免费观看| 亚洲中文字幕无码一久久区| 成人性生交大片免费看r| 无码熟妇人妻av在线c0930| 亚洲一二三四五中文字幕| 亚洲av无码精品无码麻豆| 熟女性饥渴一区二区三区| 久久精品国产91久久性色tv| 亚洲国产色图在线视频| 国产精品一区二区三区在线观看 | 国产农村妇女毛片精品久久麻豆| 亚洲最大水蜜桃在线观看| 两个人看的www免费视频中文| 国偷自产av一区二区三区| 国产精品三级av一区二区 | 风韵犹存丰满熟妇大屁股啪啪| 国产做爰又粗又大又爽动漫| 国产精品亚洲综合一区在线观看| 久久久诱惑一区二区三区| 亚洲一区二区三区重口另类| 国产又大又黑又粗免费视频| 午夜不卡久久精品无码免费| 日本丰满少妇高潮呻吟| 在线国产丝袜自拍观看|