劉軍,劉全海,楊志惠,王華
(常州市測(cè)繪院,江蘇常州 213002)
武進(jìn)市政部件普查數(shù)據(jù)采集軟件開發(fā)
劉軍?,劉全海,楊志惠,王華
(常州市測(cè)繪院,江蘇常州 213002)
主要介紹武進(jìn)市政部件普查數(shù)據(jù)采集軟件各功能模塊的特色,并詳細(xì)介紹了各功能模塊開發(fā)思路,并給出了程序的主要代碼。
AutoCAD二次開發(fā);市政部件;功能模塊;XDATA擴(kuò)展屬性;Access數(shù)據(jù)庫(kù);程序源碼
“電子政務(wù)”在現(xiàn)代化城市管理中,對(duì)全面提升城市市政公用設(shè)施安全保障和服務(wù)管理能力,具有重要意義。武進(jìn)區(qū)“市政設(shè)施信息系統(tǒng)”建設(shè)項(xiàng)目于2009年8月份啟動(dòng)。常州市測(cè)繪院負(fù)責(zé)數(shù)據(jù)采集與整理建庫(kù)等工作,廣州城信所負(fù)責(zé)管理系統(tǒng)的開發(fā)與數(shù)據(jù)標(biāo)準(zhǔn)制定等工作。根據(jù)廣州城信所提供的數(shù)據(jù)標(biāo)準(zhǔn)與要求,我院自主研發(fā)了“武進(jìn)市政部件普查數(shù)據(jù)采集軟件系統(tǒng)”。
根據(jù)武進(jìn)市政部件數(shù)據(jù)的標(biāo)準(zhǔn)與要求、作業(yè)人員的工作特點(diǎn)以及整個(gè)項(xiàng)目實(shí)施流程,設(shè)計(jì)了整個(gè)軟件系統(tǒng)的8個(gè)功能模塊。軟件的主要功能包括外業(yè)數(shù)據(jù)采集坐標(biāo)計(jì)算、部件成圖、部件的繪制、部件屬性查詢與修改、面狀與線狀部件屬性值的批量修改、部件屬性批量處理、部件屬性輸出與部件數(shù)據(jù)監(jiān)理等。
整個(gè)系統(tǒng)涵蓋了AutoCAD VBA二次開發(fā)技術(shù)、文件存取技術(shù)、數(shù)據(jù)庫(kù)技術(shù)與COM技術(shù)。各功能模塊如圖1所示。
圖1 武進(jìn)市政部件普查數(shù)據(jù)采集軟件功能模塊
(1)外業(yè)數(shù)據(jù)采集坐標(biāo)計(jì)算功能
處理外業(yè)人員利用儀器采集回來(lái)的市政部件數(shù)據(jù)格式是以“點(diǎn)號(hào)、水平角、豎直角、斜距、棱鏡高”存儲(chǔ)的,所以,需根據(jù)設(shè)站點(diǎn)與后視點(diǎn)的坐標(biāo)計(jì)算出各碎步的坐標(biāo)。計(jì)算成果輸出為文本文件與Excel文件兩種格式,在AutoCAD上展點(diǎn)成圖可以使用任意一種數(shù)據(jù)格式。碎步點(diǎn)坐標(biāo)計(jì)算模塊界面如圖2所示。
圖2 外業(yè)數(shù)據(jù)采集坐標(biāo)計(jì)算
(2)部件成圖
部件成圖功能,即把部件的坐標(biāo)數(shù)據(jù)展繪到Auto-CAD中,用符號(hào)化的方法表示出部件的具體位置與部件的性質(zhì)。需要說(shuō)明的是在數(shù)據(jù)采集過(guò)程中我們已經(jīng)對(duì)各類部件進(jìn)行編碼,點(diǎn)號(hào)中包含了部件的編碼,故成圖軟件根據(jù)唯一的編碼在Access表中的對(duì)應(yīng)塊名展繪出相應(yīng)的符號(hào),如107HF即代表的是郵電井蓋、方形。根據(jù)甲方提供相關(guān)部件屬性數(shù)據(jù)在部件的展繪時(shí)一并添加到其對(duì)應(yīng)位置的XDATA附加屬性中,以備數(shù)據(jù)入庫(kù)使用。這樣大大降低了作業(yè)人員的勞動(dòng)量,提高了生產(chǎn)效率。如圖3所示為展繪的帶有編號(hào)的點(diǎn)位。
圖3 部件成圖
(3)部件的繪制
部件的繪制功能提供外業(yè)人員調(diào)查到的部件人工展繪到AutoCAD中,在AutoCAD屏幕菜單中顯示各類部件,作業(yè)人員根據(jù)類別打開屏幕菜單,找到所需的部件點(diǎn)并使用鼠標(biāo)左鍵單擊,程序會(huì)彈出其屬性對(duì)話框,作業(yè)人員輸入其屬性值完畢即可在AutoCAD工作區(qū)繪制部件符號(hào),如圖4所示。
圖4 部件的繪制與其屬性數(shù)據(jù)輸入
圖5 部件屬性查詢與修改
(4)部件屬性查詢與修改
部件屬性查詢與修改功能模塊為作業(yè)人員提供逐一查看、增加、修改、刪除等編輯部件屬性值功能。點(diǎn)選一個(gè)部件時(shí),程序?qū)棾龃瞬考膶傩詫?duì)話框,作業(yè)人員可以在此對(duì)話框中編輯部件的屬性值,如圖5所示。
(5)面狀與線狀部件屬性值的批量修改
對(duì)于綠地在市政部件中采用面狀符號(hào)表示,其屬性值含有面積值字段,地面管線是以線狀符號(hào)表示,其屬性值中含有長(zhǎng)度值字段,考慮到兩類數(shù)據(jù)的特殊性,單獨(dú)編寫“面狀與線狀部件屬性值的批量修改”功能模塊處理此類數(shù)據(jù),起到事半功倍的效果。此類屬性數(shù)據(jù)一般在數(shù)據(jù)檢查完畢確保面狀地物閉合再進(jìn)行批量處理面積與長(zhǎng)度屬性值。框選所有的市政部件,該功能將自動(dòng)把面狀與線狀部件的面積值與長(zhǎng)度值自動(dòng)添加到其擴(kuò)展屬性中。
(6)部件屬性批量處理
部件屬性批量處理為作業(yè)人員提供同類部件相同屬性的批量處理工具,因?yàn)槭姓考膶傩院芏啵话愕耐考膶傩灾祷鞠嗤?,所以此模塊在市政部件屬性數(shù)據(jù)處理中發(fā)揮了極大作用,解決了手工逐一處理部件屬性的缺點(diǎn)。首先使用pline線繪制需要批量處理屬性部件的范圍,選擇此條線,程序彈出圖6所示的對(duì)話框。作業(yè)人員選擇需要批量處理屬性值的部件,根據(jù)界面提示輸入相應(yīng)的屬性值點(diǎn)擊確定即可。程序自動(dòng)處理線范圍內(nèi)指定的部件屬性值。
圖6 部件屬性批量處理
(7)部件屬性輸出
部件屬性輸出即把AutoCAD中部件的擴(kuò)展屬性值輸出到Excel表中,表格中有對(duì)應(yīng)的字段名稱,供作業(yè)人員檢查各部件的屬性數(shù)據(jù)的錯(cuò)漏問(wèn)題,根據(jù)錯(cuò)漏部件的唯一標(biāo)識(shí)句柄在AutoCAD中查找到對(duì)應(yīng)的部件,使用部件查詢與修改模塊工具修改其屬性值。部件屬性輸出數(shù)據(jù)樣式如圖7所示。
圖7 部件屬性輸出數(shù)據(jù)樣式
(8)部件數(shù)據(jù)監(jiān)理
部件數(shù)據(jù)監(jiān)理檢查市政部件的邏輯錯(cuò)誤,如代碼與塊符號(hào)、屬性的匹配情況以及面狀地物的封閉與否、部件所在的圖層是否正確等。數(shù)據(jù)入庫(kù)前必須經(jīng)過(guò)此模塊檢查,確保數(shù)據(jù)無(wú)邏輯錯(cuò)誤,否則將給后繼工作帶來(lái)不便。
(1)軟件開發(fā)整體構(gòu)思
軟件開發(fā)涉及AutoCAD繪圖軟件與數(shù)據(jù)庫(kù)管理應(yīng)用程序Microsoft Office Access 2003。首先把每一市政部件的基本信息存儲(chǔ)到Access數(shù)據(jù)庫(kù)文件中,在繪制部件與部件檢查等操作時(shí)程序查詢此數(shù)據(jù)庫(kù)文件中的部件屬性數(shù)據(jù),通過(guò)程序把部件的屬性與數(shù)據(jù)庫(kù)聯(lián)系起來(lái),在AutoCAD中實(shí)現(xiàn)市政部件繪圖、數(shù)據(jù)檢查等功能。如根據(jù)部件的唯一國(guó)標(biāo)碼確定市政部件所在的圖層、市政部件的符號(hào)名稱、市政部件的XDATA附加屬性個(gè)數(shù)以及部件是否閉合等等,因此對(duì)數(shù)據(jù)庫(kù)的查詢顯得尤為重要。市政部件屬性數(shù)據(jù)庫(kù)文件樣式如圖8所示。
圖8 市政部件屬性庫(kù)文件樣式
(2)程序主要代碼
本軟件采用DAO連接數(shù)據(jù)庫(kù)模式,在使用DAO對(duì)象之前,需要在AutoCAD的VBA集成開發(fā)環(huán)境中,選擇【工具/引用】菜單項(xiàng),從彈出的對(duì)話框中選中【Microsoft DAO 3.6 Object Library】選項(xiàng),引用DAO的對(duì)象模型。
武進(jìn)市政部件普查數(shù)據(jù)采集軟件在設(shè)計(jì)與開發(fā)過(guò)程中所采用的技術(shù),針對(duì)此類復(fù)雜數(shù)據(jù)的處理過(guò)程,取得了很好的效果;提供了自動(dòng)展點(diǎn)繪制部件與批量處理屬性數(shù)據(jù)的工具;在屬性輸入與查詢對(duì)話框中采用了控件數(shù)組,節(jié)約了控件資源;繪圖軟件與數(shù)據(jù)庫(kù)相結(jié)合,實(shí)現(xiàn)了軟件方便管理,結(jié)構(gòu)緊湊等優(yōu)點(diǎn);程序運(yùn)行穩(wěn)定,功能強(qiáng)大,靈活的功能定制,有效地提高了生產(chǎn)效率,得到了作業(yè)人員的好評(píng)。
[1] 李鳳華.AutoCAD 2002/2000 VBA開發(fā)指南[M].北京:清華大學(xué)出版社,2001
[2] 張帆,鄭立楷等.AutoCAD VBA開發(fā)精彩實(shí)例教程[M].北京:清華大學(xué)出版社,2004
Software Development of Wujin Municipal Components Collection
Liu Jun,Liu QuanHai,Yang ZhiHui,Wang Hua
(Changzhou Serveying and Mapping Institute,Changzhou 213002,China)
This paper details Wujin municipal components collection software features of each functional module;And details the development of ideas of each functional module.The main code of this programme is given.
AutoCAD development;Municipal components;Functional module、XDATA Additional Properties;Access database;program code
1672-8262(2010)06-43-04
P208
B
2010—01—07
劉軍(1978—),男,工程師,主要從事測(cè)繪軟件研發(fā)與測(cè)繪質(zhì)量管理工作。