楊 鋒 林春峰 程 昂
(中鐵二院工程集團有限責任公司,四川成都 610031)
基于ObjectArx地形圖數據標準統一軟件的設計與實現
楊 鋒 林春峰 程 昂
(中鐵二院工程集團有限責任公司,四川成都 610031)
基于AutoCAD的ObjectArx二次開發技術,針對不同制圖軟件生產的地形圖數據標準不統一問題,設計并實現了一種地形圖數據標準統一的軟件。首先定義一種制圖數據統一的標準,該標準用于描述當前制圖數據和統一后制圖數據之間的相互關系;然后以AutoCAD軟件為基礎平臺,進行軟件開發,利用配置完成的統一標準對當前制圖數據進行轉換處理,得到統一的地形圖數據。實踐結果表明,該軟件能夠自動、批量完成不同制圖標準的地形圖數據統一。
ObjectArx軟件 插件 設計 實現
在地形圖制圖中,制圖成果一般是AutoCAD軟件所支持的DWG格式。由于勘測方法的不同;可能使用不同的制圖軟件,如JX4、VirtuoZo、MapMatrix等;地形圖數據往往在圖層、實體類型、顏色、線形、線寬等方面呈現出不一致,稱之為地形圖數據標準不統一。在工程項目中,如果地形圖數據標準不統一,則需要將地形圖數據統一化。首先根據應用,明確一種地理幾何實體在圖層、實體類型、顏色、線形、線寬等方面的標準,然后將所有地形圖數據改動到相應標準下。
傳統的地形圖數據統一化主要是依靠人工進行改正,該方法效率低、工作量大、易出錯。提出一種基于AutoCAD的ObjectArx的二次開發技術,針對不同制圖軟件生產的地形圖數據標準不統一的問題,設計并實現了一種地形圖數據標準統一的軟件。首先定義一種制圖數據統一的標準,該標準用于描述當前制圖數據和統一后制圖數據之間的相互關系;然后以AutoCAD軟件為基礎平臺,進行軟件開發,利用配置完成的統一標準對當前制圖數據進行轉換處理,得到統一的地形圖數據。實踐結果表明,該軟件能夠自動、批量的完成不同制圖標準的地形圖數據統一,提高生產效率,降低生產成本,減少出錯率。
為了實現不同制圖數據之間數據統一化,首先定義一種制圖數據統一的標準;制圖數據統一標準用于描述當前制圖數據和統一后的制圖數據之間的相互關系。通過分析得知:不同的地形圖數據只是在圖層、實體類型、顏色、線形、線寬等方面存在差異。因此,設計了一個制圖數據統一標準的數據結構,該數據結構包含了當前幾何實體所在圖層和該實體轉換后的目標圖層、顏色、線形、線寬,并以拓展標記文本格式存儲[1,2]。
文件格式如下:
<地形圖統一標準>
<標準>
<內容 index="1">
內容>
<內容 index="2">
內容>
……
……
標準>
地形圖統一標準>
其中,<線形文件>為實體統一標準后線對象所使用的線形文件;<實體名稱>為對實體的文字性描述信息;<原始圖層>為制圖標準統一前視圖所在圖層;<目標圖層>為實體在統一標準后所在的目標圖層;<顏色>為實體統一標準后的目標顏色;<線形>為線實體的線形;<線寬>為線實體的線寬,其內容“500∶0∶1 000∶0∶2 000∶0∶5 000∶0∶10 000∶0”表示:在各種比例尺下線對象所設置的線寬值。
地形圖制圖成果一般以AutoCAD軟件的DWG格式存儲。本軟件以AutoCAD軟件為基礎平臺,能夠方便地加載、顯示、編輯地形圖制圖成果,其ObjectArx開發技術提供的強大的二次開發接口能夠使得開發人員方便地訪問、繪制數據等,便于程序實現[3-7]。地形圖數據標準統一軟件被當做功能插件加載到AutoCAD軟件中使用。
地形圖數據標準統一軟件遵循AutoCAD提供的插件[8-10]開發規則進行開發。
軟件首先讀取依照上述定義的統一標準數據文件,并以Hash表的形式存儲相應的配置信息,該信息包含了當前幾何實體所在圖層和該實體轉換后的目標圖層、顏色、線形、線寬;然后在AutoCAD平臺中遍歷DWG數據的每一個圖層,通過圖層名在Hash表中取得配置信息;然后在配置信息中獲得目標圖層名,判斷當前DWG中是否存在目標圖層名,如果不存在,則創建該圖層,遍歷當前圖層中每一個實體,依照配置信息改動實體的圖層名、顏色、線形、線寬等。當前圖層中所有實體被遍歷后,刪除當前圖層,這樣就完成了地形圖數據制圖標準統一。流程如圖1所示。

圖1 數據處理流程
軟件以對話框詢問的方式進行交互,當選擇進行制圖統一后,彈出如圖2所示的標準選擇對話框。

圖2 制圖統一標準選擇
選擇不同的統一標準,得到的成果也將不一樣。針對任何標準,只需要增加或者修改配置文件即可實現不同標準的數據生成。在標準選擇時,可以忽略標準中實體的線形、顏色和線寬,這樣就能有選擇性的更改某些屬性,使得軟件更具靈活性。
選擇了制圖標準后,將會彈出如圖3所示的對話框,該對話框提示已經選擇的標準,以及添加數據。

圖3 選擇數據
點擊確定,即可實現數據標準的統一。
以某鐵路設計所需地形圖數據為例,需要將外購的1∶2 000地形圖數據統一到我院地形圖數據標準中。外購的地形圖數據在幾何實體圖層、顏色、線形、線寬等方面與我院地形圖標準不一致。利用設計開發的地形圖數據標準統一軟件,首選新建統一標準配置文件,建立外購數據與我院數據標準的對應關系;然后運行軟件,得到最終結果。圖4為外購數據的圖層及轉換后的圖層;圖5、圖6為制圖標準轉換前后地形圖數據。

圖4 轉換前后的數據圖層

圖5 轉換前的數據

圖6 轉換后的數據
整個測區面積約150 km2,建立了統一標準配置文件后,整個過程批量、自動完成,無需人工交互。經過抽查,統一標準后的數據100%滿足要求。
地形圖數據標準統一軟件綜合了計算機、GIS、測繪等技術,實現了計算機批量、自動、快速的地形圖數據制圖標準統一,效率高、成本低,杜絕了人工操作過程中效率低、工作量大、易出錯等弊端。同時,以配置文件的形式進行制圖標準的配置,極大的增加了軟件的靈活性,便于軟件應用。
[1] 羅思群.基于XML技術的數據轉換[D].北京:中國科學院軟件研究所,2001
[2] 林春峰,黃華平,閔世平.基于AutoCAD平臺的線路橫斷面線提取系統的設計與實現[J].鐵道勘察,2013(4):6-9
[3] 李世國.AutoCAD高級開發技術ARX編程及應用[M].北京:機械工業出版社,1999
[4] 江宏,立偉,等.AutoCAD ObjectARX開發工具及應用[M].北京:清華大學出版社,1999
[5] [作者不詳].AutoCAD ObjectARX程序開發技術[M].北京:國防工業出版社,2005
[6] 劉同成,林愉.基于ObjectARX的AutoCAD二次開發及應用實例[J].自動化技術與應用,2006(5)
[7] 孔國梁,鄭志霖,伍衛凡.ObjectARX拖動技術在鐵路平面交點法選線中的應用[J].鐵道勘察,2008(3):67-70
[8] 李延春.軟件插件技術的原理與實現[J].計算機系統應用,2005(7):24-26
[9] 祖兆研.基于插件技術的軟件架構設計及應用[D].南京:河海大學,2007
[10]劉紅波.基于插件技術的GIS應用框架研究[D].南京:南京師范大學,2008
DesignandImplementationofTopographicMapDataUnifiedSoftwareBasedonObjectArx
YANG Feng LIN Chun-feng CHENG Ang
2014-06-06
楊 鋒(1965—),男,1987年畢業于西南交通大學鐵道航空勘察專業,高級工程師。
1672-7479(2014)05-0005-03
P284.9
: B