孟現(xiàn)彪,史雅茹,馮 禹
(內(nèi)蒙古電力勘測(cè)設(shè)計(jì)院,內(nèi)蒙古 呼和浩特 010020)
隨著我國(guó)科學(xué)技術(shù)的發(fā)展,工程技術(shù)的需要,大比例尺地形圖的越來(lái)越多,我們可以巧用已有的矢量化的大比例尺地形圖,為我們工程建設(shè)提供優(yōu)質(zhì)、快捷的服務(wù)。矢量化的大比例尺地形圖一般都以AutoCAD的DWG和DXF格式保存,均可以用測(cè)量常用軟件南方CASS成圖系統(tǒng)打開,實(shí)際上南方CASS成圖系統(tǒng)也可以生成斷面圖,但是只能生成AutoCAD里面自己的格式,不能用于電力線路的設(shè)計(jì)排塔。
因此,按照常規(guī)方法把在矢量化的大比例尺地形圖設(shè)計(jì)好的線路走向,生成電力線路常用的SLCAD架空送電線路平斷面圖處理及定位CAD系統(tǒng)的數(shù)據(jù)格式,可以在CAD里面從地形圖上沿線路逐點(diǎn)量取線路點(diǎn)的坐標(biāo),高程,根據(jù)坐標(biāo)反算,計(jì)算里程,一個(gè)一個(gè)的輸入到SLCAD架空送電線路平斷面圖處理及定位CAD系統(tǒng)中去,這樣工作起來(lái)又耗工也耗時(shí),還比較容易出錯(cuò)。
還有一種方法,比上一種稍微簡(jiǎn)單一點(diǎn),就是利用前面提到的利用測(cè)量常用軟件南方CASS成圖系統(tǒng)里面有一個(gè)功能——“生成里程文件”,但是生成的里程文件不是SLCAD架空送電線路平斷面圖處理及定位CAD系統(tǒng)的數(shù)據(jù)格式,是一個(gè)后綴為HDM的文件,要把這個(gè)文件轉(zhuǎn)換成SLCAD架空送電線路平斷面圖處理及定位CAD系統(tǒng)的數(shù)據(jù)格式,需要把這個(gè)文件轉(zhuǎn)換成TXT的文檔,再用Microsoft Office Excel打開,經(jīng)過數(shù)據(jù)的加工處理,在轉(zhuǎn)換成CSV數(shù)據(jù)格式,然后用記事本或?qū)懽职宕蜷_,再轉(zhuǎn)換成SLCAD架空送電線路平斷面圖處理及定位CAD系統(tǒng)的數(shù)據(jù)ORG格式。
這些常規(guī)的方法,過程比較繁瑣,耗時(shí)耗力,還比較容易出錯(cuò),架空送電線路短的話,還好說(shuō),要是架空送電線路長(zhǎng)的話,有時(shí)還滿足不了工期的要求。
針對(duì)這些問題,本方法就電力架空送電線路方面,介紹一種利用矢量化的大比例尺地形圖,生成里程文件,并轉(zhuǎn)換成電力線路軟件格式的方法,在計(jì)算機(jī)中實(shí)現(xiàn)自動(dòng)批量轉(zhuǎn)換,實(shí)現(xiàn)準(zhǔn)確高效的數(shù)據(jù)格式轉(zhuǎn)換,從而減少外業(yè)測(cè)量斷面的時(shí)間和內(nèi)業(yè)約50%的工作量,大大的提高了工作效率。
本方法提出的方法包括:步驟S1:讀入地形圖數(shù)據(jù)格式的文件,將文件的內(nèi)容導(dǎo)入地形圖數(shù)據(jù)庫(kù)表格中;步驟S2:讀入距離中心線的距離;步驟S3:讀入起始點(diǎn)號(hào);步驟S4:根據(jù)距離中心線的距離以及起始點(diǎn)號(hào),將所述地形圖數(shù)據(jù)庫(kù)表格轉(zhuǎn)換為對(duì)應(yīng)于架空線路格式文件的數(shù)據(jù)庫(kù)表格;步驟S5:將所述對(duì)應(yīng)于架空線路格式的數(shù)據(jù)庫(kù)表格轉(zhuǎn)換為所述架空線路格式文件。
根據(jù)本方法的一個(gè)方面,步驟S1具體包括:所述地形圖數(shù)據(jù)格式的文件是利用測(cè)量軟件南方CASS成圖系統(tǒng)中生成的后綴為HDM的文件,所述后綴為HDM的文件包括兩列數(shù)據(jù),第一列是里程數(shù)據(jù),第二列是高程數(shù)據(jù);所述地形圖數(shù)據(jù)庫(kù)表格與所述后綴為HDM的文件內(nèi)容對(duì)應(yīng),包括分別對(duì)應(yīng)于所述里程數(shù)據(jù)和高程數(shù)據(jù)的兩個(gè)字段。
根據(jù)本方法的一個(gè)方面,所述地形圖數(shù)據(jù)庫(kù)表格還包括標(biāo)識(shí)字段和所屬文件的路徑字段,分別表示HDM文件的全局唯一標(biāo)識(shí)和存儲(chǔ)路徑。
根據(jù)本方法的一個(gè)方面,所述步驟S2和步驟S3中的讀入是指從用戶輸入的數(shù)據(jù)讀入或從已有文件讀入。
根據(jù)本方法的一個(gè)方面,所述步驟S4中,所述架空線路格式文件為標(biāo)準(zhǔn)的SLCAD架空送電線路平斷面圖處理及定位CAD系統(tǒng)的數(shù)據(jù)ORG格式的文件,對(duì)應(yīng)于所述架空線路格式文件的數(shù)據(jù)庫(kù)表格包括點(diǎn)代碼、點(diǎn)號(hào)、左右偏距、里程、高程、點(diǎn)編碼、連接線屬性、上一連接點(diǎn)點(diǎn)號(hào)和線屬性字段,分別對(duì)應(yīng)于所述架空線路格式文件中所含的九列數(shù)據(jù)。
根據(jù)本方法的一個(gè)方面,所述對(duì)應(yīng)于所述架空線路格式文件的數(shù)據(jù)庫(kù)表格還包括標(biāo)識(shí)字段和所屬文件路徑字段,分別表示要生成的相應(yīng)架空線路格式文件的唯一標(biāo)識(shí)和存儲(chǔ)路徑。
根據(jù)本方法的一個(gè)方面,將所述地形圖數(shù)據(jù)庫(kù)表格轉(zhuǎn)換為對(duì)應(yīng)于架空線路格式文件的數(shù)據(jù)庫(kù)表格具體包括以下步驟:設(shè)置點(diǎn)代碼,將點(diǎn)代碼設(shè)置為一個(gè)常量“b”;設(shè)置點(diǎn)號(hào),將所述點(diǎn)號(hào)的初始值設(shè)置為步驟S3輸入的起始點(diǎn)號(hào),下一點(diǎn)號(hào)的值為當(dāng)前點(diǎn)號(hào)加1;設(shè)置左右偏距,將所述左右偏距設(shè)置為步驟S2輸入的距離中心線的距離;從所述地形圖數(shù)據(jù)庫(kù)表格獲取里程和高程數(shù)據(jù);設(shè)置點(diǎn)編碼,將點(diǎn)編碼設(shè)置為固定值“8205=13”;設(shè)置連接線屬性,當(dāng)左右偏距為零時(shí),將連接線屬性設(shè)置為直線,不為零時(shí)設(shè)置為曲線;設(shè)置上一連接點(diǎn)點(diǎn)號(hào),與點(diǎn)號(hào)對(duì)應(yīng),將上一連接點(diǎn)點(diǎn)號(hào)設(shè)置為當(dāng)前的點(diǎn)號(hào)減1;設(shè)置線屬性,當(dāng)左右偏距為零時(shí),將線屬性設(shè)置為中心線,當(dāng)左右偏距大于零時(shí),設(shè)置為左邊線,當(dāng)左右偏距小于零時(shí),設(shè)置為右邊線。
根據(jù)本方法的一個(gè)方面,步驟S4具體包括:獲取步驟S2和S3的“距離中心點(diǎn)的距離”以及“起始點(diǎn)號(hào)”,并循環(huán)讀入對(duì)應(yīng)于地形圖數(shù)據(jù)格式的地形圖數(shù)據(jù)表中每條記錄,根據(jù)所述將地形圖數(shù)據(jù)庫(kù)表格轉(zhuǎn)換為對(duì)應(yīng)于架空線路格式文件的數(shù)據(jù)庫(kù)表格的步驟,逐條生成相應(yīng)的架空線路格式的數(shù)據(jù)表記錄,直到將地形圖數(shù)據(jù)庫(kù)表中的所有數(shù)據(jù)轉(zhuǎn)換為架空線路格式的數(shù)據(jù)表數(shù)據(jù),停止該循環(huán)。
根據(jù)本方法的一個(gè)方面,步驟S4具體包括:獲取地形圖數(shù)據(jù)庫(kù)表格中的數(shù)據(jù)、步驟S2中距離中心線的距離數(shù)據(jù)以及步驟S3的起始點(diǎn)號(hào)數(shù)據(jù),將三種數(shù)據(jù)導(dǎo)入對(duì)應(yīng)于架空線路格式文件的數(shù)據(jù)庫(kù)表格中以生成所述對(duì)應(yīng)于架空線路格式文件的數(shù)據(jù)庫(kù)表格。
根據(jù)本方法的一個(gè)方面,步驟S5具體包括:提取所述對(duì)應(yīng)于架空線路格式的數(shù)據(jù)庫(kù)表格中的數(shù)據(jù),并生成架空線路格式的文件。
用測(cè)量常用軟件南方CASS成圖系統(tǒng)打開矢量化的大比例尺地形圖,在矢量化的大比例尺地形圖上設(shè)計(jì)好架空送電線路的走向,利用測(cè)量軟件南方CASS成圖系統(tǒng)中的生成里程文件,本方法的目的是要把所生成的里程文件轉(zhuǎn)換成標(biāo)準(zhǔn)的SLCAD架空送電線路平斷面圖處理及定位CAD系統(tǒng)的數(shù)據(jù)ORG格式的文件。
上述兩種格式僅為示例性質(zhì)的,并不作為對(duì)本方法保護(hù)范圍的限制,利用本方法的方法,也可實(shí)現(xiàn)其他相關(guān)格式數(shù)據(jù)的轉(zhuǎn)換。
本方法采用數(shù)據(jù)庫(kù)技術(shù)實(shí)現(xiàn)數(shù)據(jù)格式的轉(zhuǎn)換,生成架空線路格式的文件,主要步驟見圖1。
圖1 數(shù)據(jù)轉(zhuǎn)換流程圖
步驟S1:讀入地形圖數(shù)據(jù)格式的文件,將文件的內(nèi)容導(dǎo)入地形圖數(shù)據(jù)庫(kù)表格中;
具體地,步驟S1可以輸入利用測(cè)量軟件南方CASS成圖系統(tǒng)中生成的后綴為HDM的文件,其文件的內(nèi)容包括兩列數(shù)據(jù),第一列表示里程,第二列表示高程。相應(yīng)的地形圖數(shù)據(jù)庫(kù)表格如表1所示,其中里程和高程字段本別對(duì)應(yīng)著HDM文件的兩列數(shù)據(jù),該數(shù)據(jù)庫(kù)表還包括兩個(gè)字段,分別為標(biāo)識(shí)和所屬文件的路徑,分別表示該HDM文件的全局唯一標(biāo)識(shí)以及該HDM文件的存儲(chǔ)路徑,該唯一標(biāo)識(shí)可根據(jù)不同情況設(shè)置,而該HDM文件的存儲(chǔ)路徑可以直接根據(jù)該文件的實(shí)際存儲(chǔ)路徑而獲得。
表1 地形圖數(shù)據(jù)庫(kù)
步驟S2:讀入距離中心線的距離;可讀入用戶的輸入數(shù)據(jù)或從其他文件讀入;
步驟S3:讀入起始點(diǎn)號(hào);可讀入用戶的輸入數(shù)據(jù)或從其他文件讀入;
步驟S4:根據(jù)距離中心線的距離以及起始點(diǎn)號(hào),將所述地形圖數(shù)據(jù)庫(kù)表格轉(zhuǎn)換為對(duì)應(yīng)于架空線路格式的數(shù)據(jù)庫(kù)表格;
首先,對(duì)應(yīng)于架空線路格式的數(shù)據(jù)庫(kù)表格見表2。
表2 架空線路格式的數(shù)據(jù)庫(kù)
如表2所示,其中第一字段“標(biāo)識(shí)”和最后字段“所屬文件路徑”分別表示要生成的相應(yīng)架空線路格式文件的唯一標(biāo)識(shí)和存儲(chǔ)路徑,標(biāo)識(shí)可根據(jù)不同情況設(shè)置,而存儲(chǔ)路徑可根據(jù)用戶的輸入確定或者使用系統(tǒng)已經(jīng)設(shè)置好的存儲(chǔ)路徑;“里程”和“高程”字段可從表1的地形圖數(shù)據(jù)庫(kù)表格直接獲得。生成架空線路格式的數(shù)據(jù)庫(kù)表的步驟如圖4所示,具體地:
“點(diǎn)代碼”是一個(gè)常量,可以直接將其設(shè)置為“b”。
根據(jù)步驟S3可獲得“點(diǎn)號(hào)”的初始值,并根據(jù)循環(huán)代碼Dh=Dh+1獲得下一Dh的取值,即下一點(diǎn)號(hào)等于當(dāng)前點(diǎn)號(hào)加1。
根據(jù)步驟S2可獲得“左右偏距”的值,即,距離中心線的距離,并當(dāng)“左右偏距”>0時(shí),表示左邊線,當(dāng)“左右偏距”<0時(shí),表示右邊線,當(dāng)“左右偏距”=0時(shí),表示該數(shù)據(jù)是中心線數(shù)據(jù)。
前面已經(jīng)說(shuō)過,“里程”和“高程”是從地形圖數(shù)據(jù)庫(kù)表進(jìn)行讀取的。
“點(diǎn)編碼”是固定值,可以直接將其設(shè)置為“8205=13”,這是根據(jù)標(biāo)準(zhǔn)的SLCAD架空送電線路平斷面圖處理及定位CAD系統(tǒng)的數(shù)據(jù)ORG格式獲得的。
“連接線屬性”有2個(gè)數(shù)值0和2,其中,0表示直線,2表示曲線。當(dāng) “左右偏距”==0時(shí),“連接線屬性”=0,當(dāng)“左右偏距”≠0時(shí),“連接線屬性”=2。
“上一連接點(diǎn)點(diǎn)號(hào)”如其名所示,就是指上一個(gè)連接點(diǎn)的點(diǎn)號(hào),根據(jù)上面“點(diǎn)號(hào)”的取值方法,可知“上一連接點(diǎn)點(diǎn)號(hào)”等于“當(dāng)前連接點(diǎn)點(diǎn)號(hào)”減1。
“線屬性”有3個(gè)數(shù)值11,12和13。其中,11表示中心線;12表示左邊線,13表示右邊線。當(dāng)“左右偏距”==0時(shí),“線屬性”=11;當(dāng)“左右偏距”>0時(shí),“線屬性”=12;當(dāng)“左右偏距”<0時(shí),“線屬性”=13。
步驟S4讀入步驟S2和S3的“距離中心點(diǎn)的距離”以及“起始點(diǎn)號(hào)”,并循環(huán)讀入對(duì)應(yīng)于地形圖數(shù)據(jù)格式的地形圖數(shù)據(jù)表中每條記錄,根據(jù)上述生成架空線路格式的數(shù)據(jù)庫(kù)表的步驟,逐條生成相應(yīng)的架空線路格式的數(shù)據(jù)表記錄,直到將地形圖數(shù)據(jù)庫(kù)表中的所有數(shù)據(jù)轉(zhuǎn)換為架空線路格式的數(shù)據(jù)表數(shù)據(jù),停止該循環(huán)。
步驟S5:將所述對(duì)應(yīng)于架空線路格式的數(shù)據(jù)庫(kù)表格轉(zhuǎn)換為架空線路格式的文件。
具體地,提取出所述對(duì)應(yīng)于架空線路格式的數(shù)據(jù)庫(kù)表格中的數(shù)據(jù),并生成內(nèi)容如圖2所示的ORG格式的文件。
上述的五個(gè)步驟均可使用計(jì)算機(jī)技術(shù)直接編程實(shí)現(xiàn),例如步驟S1和S5的從一個(gè)文件中讀取數(shù)據(jù)并填入對(duì)應(yīng)的數(shù)據(jù)庫(kù)表,可使用各種編程語(yǔ)言來(lái)實(shí)現(xiàn),數(shù)據(jù)庫(kù)也可選用現(xiàn)有的數(shù)據(jù)庫(kù)服務(wù)器實(shí)現(xiàn),對(duì)于文件或數(shù)據(jù)的讀入也是可以使用現(xiàn)有技術(shù)完成的,對(duì)于步驟S4中的各種計(jì)算公式或循環(huán)代碼,同樣可以通過現(xiàn)有的計(jì)算機(jī)技術(shù)實(shí)現(xiàn),本文的目的不是介紹編程技術(shù),而是利用計(jì)算機(jī)來(lái)實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換,因此,這里對(duì)具體如何編程不作贅述。
下面給出三個(gè)具體示例,分別對(duì)應(yīng)著中心線、左邊線(邊線距離為7m,起始點(diǎn)號(hào)為2000)和右邊線(邊線距離為-7m,起始點(diǎn)號(hào)為4000)轉(zhuǎn)換后數(shù)據(jù),見圖2。
圖2 轉(zhuǎn)換后數(shù)據(jù)
將3個(gè)文件用寫字板打開,把內(nèi)容放在一起,直接用SLCAD架空送電線路平斷面圖處理及定位CAD系統(tǒng)打開,顯示如圖2所示。這就完成了數(shù)據(jù)格式的轉(zhuǎn)換,可直接用于電力架空送電線路設(shè)計(jì)排塔。
本方法解決了當(dāng)前轉(zhuǎn)換方法過程繁瑣、耗時(shí)耗力、容易出錯(cuò)等技術(shù)問題,通過利用計(jì)算機(jī)計(jì)算快速準(zhǔn)確的優(yōu)勢(shì),可實(shí)現(xiàn)一步操作,避免復(fù)雜繁瑣的數(shù)據(jù)編輯。
本方法有效的巧用矢量化的大比例尺地形圖作架空送電線路的斷面的數(shù)據(jù)采集,減少了人工到現(xiàn)場(chǎng)作業(yè),減少了外業(yè)工作量的50%,而利用本方法的數(shù)據(jù)轉(zhuǎn)換方法,可節(jié)省內(nèi)業(yè)工作量的80%。大大的提供工作效率。
[1]南方測(cè)繪儀器有限公司.數(shù)字化地形地籍成圖系統(tǒng)CASS5.0 參考手冊(cè)[K].廣州:南方測(cè)繪儀器有限公司,2005.
[2]劉炳文.程序設(shè)計(jì)教程[M].北京:清華大學(xué)出版社,2003.
[3]尹立民,等.Visual Basic6.0 常用編程技巧[M].北京:清華大學(xué)出版社,1999,(8).