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

        ?

        基于AutoCAD實(shí)現(xiàn)數(shù)字化地形圖的動態(tài)管理

        2014-06-26 07:39:54姚小榮
        城市勘測 2014年1期
        關(guān)鍵詞:圖庫圖幅程序

        姚小榮

        (漳州市測繪設(shè)計研究院,福建 漳州 363000)

        1 前 言

        作為城市測繪單位,不僅擔(dān)負(fù)著整個城市地理數(shù)據(jù)的采集工作,同時還要為城市的規(guī)劃部門、建設(shè)單位等提供快捷、準(zhǔn)確的地理信息數(shù)據(jù)。面對整個城市如此龐大的地理數(shù)據(jù),作為數(shù)據(jù)管理者不僅要負(fù)責(zé)采集數(shù)據(jù)的整合與更新,同時還要負(fù)責(zé)數(shù)據(jù)的分發(fā),以供其他生產(chǎn)部門使用。若采用傳統(tǒng)的大圖塊拼接調(diào)用圖形的方式,不僅因為數(shù)據(jù)量大會造成系統(tǒng)運(yùn)行速度慢,影響工作效率,而且會因為數(shù)據(jù)版本問題給數(shù)據(jù)管理者的工作帶來很大煩惱。而對于目前先進(jìn)的GIS 基礎(chǔ)空間數(shù)據(jù)管理技術(shù),雖然它可以實(shí)現(xiàn)基礎(chǔ)空間數(shù)據(jù)的快速查詢、統(tǒng)計、分析、數(shù)據(jù)管理等功能,但是,由于GIS軟件和AutoCAD 軟件對于圖形幾何類型的表達(dá)方式不同,使得目前無法將GIS 數(shù)據(jù)100%正確導(dǎo)出CAD數(shù)據(jù)。這樣對于以CAD 數(shù)據(jù)生產(chǎn)為主的測繪單位來說,使用GIS 技術(shù)管理數(shù)字化地形圖數(shù)據(jù)也會給工作帶來很大不便。

        為此,筆者通過VBA 技術(shù)對AutoCAD 進(jìn)行了二次開發(fā),增加了“圖庫管理”功能。通過AutoCAD 直接對分幅地形圖進(jìn)行管理,解決了大圖塊拼接調(diào)用圖形速度慢、工作效率低的不足。同時,也避免了CAD 數(shù)據(jù)到GIS 數(shù)據(jù)之間相互轉(zhuǎn)化的過程,減少了數(shù)據(jù)因轉(zhuǎn)換產(chǎn)生的遺失、變形等。

        2 VBA 技術(shù)簡介[1]

        VBA 的全稱是Visual Basic for Application,是AutoCAD 的一種二次開發(fā)工具。VBA 將AutoCAD 和Visual Basic 的功能結(jié)合在一起,能夠快速創(chuàng)建出符合用戶要求的程序,大大提高了用戶的工作效率。Auto-CAD VBA 的開發(fā)使用的是AutoCAD ActiveX 技術(shù),這種技術(shù)使用戶能夠從AutoCAD 的內(nèi)部或外部以編程的方式來操作AutoCAD。

        3 工作流程

        從外業(yè)數(shù)據(jù)的采集到內(nèi)業(yè)數(shù)據(jù)的編輯、整飾、分幅、入庫,再到使用“圖庫管理”功能對入庫數(shù)據(jù)進(jìn)行管理的整個工作流程如圖1所示。

        圖1 工作流程圖

        4 功能設(shè)計

        4.1 程序的加載和運(yùn)行

        VBA 程序的加載包括設(shè)計過程中的自動加載和使用中的自動加載[1]。前者需要通過AutoCAD 原有的菜單項(即【工具/加載應(yīng)用程序】)配置所需的工程程序,其中所加載的工程文件可以任意命名,后綴名為.dvb。而后者則必須將工程文件命名為acad.dvb并且將其放置在AutoCAD 安裝路徑的Support 文件夾中,當(dāng)AutoCAD 啟動時會搜索并加載acad.dvb。本程序采用后者進(jìn)行程序的自動加載。

        4.2 “圖庫管理”菜單的加載

        當(dāng)啟動了AutoCAD,系統(tǒng)會自動搜索并加載acad.dvb 工程,同時由程序編制的“圖庫管理”菜單也會自動加載到AutoCAD 的菜單欄,加載后的效果如圖2所示:

        圖2 “圖庫管理”菜單

        其中,菜單加載所用到的關(guān)鍵代碼如下:

        ’獲得當(dāng)前的菜單組

        Dim currMenuGroup As AcadMenuGroup

        Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)

        ’創(chuàng)建“圖庫管理”新菜單

        Dim newMenu As AcadPopupMenu

        On Error Resume Next

        Set newMenu=currMenuGroup.Menus.Add("圖庫管理")

        ’添加“圖上指定點(diǎn)”菜單項

        Dim macro As String

        Dim newMenuItem As AcadPopupMenu

        macro=Chr(vbKeyEscape)+Chr(vbKeyEscape)

        Set newMenuItem=newMenu.AddSubMenu(newMenu.Count+1,Chr(Asc("&"))& "圖上指定點(diǎn)")

        ’菜單項“圖上指定點(diǎn)”下面的“1∶ 500”子菜單

        Dim submenuitem As AcadPopupMenuItem

        Set submenuitem = newMenuItem.AddMenuItem(newMenu.Count+1,Chr(Asc("&"))& "1∶ 500",macro & " -vbarun" +Chr(32)+"ThisDrawing.insertblock" +Chr(32)

        4.3 “圖上指定點(diǎn)”功能

        不同城市對分幅地形圖的圖幅命名習(xí)慣和命名方式有可能不同。但是,要將不同圖幅命名方式的分幅地形圖用AutoCAD 進(jìn)行統(tǒng)一管理,則必須將AutoCAD下的實(shí)地坐標(biāo)和圖幅建立對應(yīng)關(guān)系。下面以某市1∶ 1 000比例尺圖幅為例說明該功能的實(shí)現(xiàn)。

        圖3 圖幅號表

        如圖3所示,用Access 數(shù)據(jù)庫組織管理該市1∶ 1 000比例尺分幅圖的圖幅號。其中,坐標(biāo)分幅號(15.5 -3.0)、標(biāo)準(zhǔn)分幅號(A-A)為該市1∶ 1 000比例尺分幅圖所采用的圖幅命名方式。AutoCAD 運(yùn)行環(huán)境下,當(dāng)在以路網(wǎng)圖為背景的地形圖上任選一點(diǎn)時,程序可根據(jù)該點(diǎn)的X、Y 坐標(biāo)自動推算出該點(diǎn)所在的坐標(biāo)分幅號(15.5 -3.0),并通過以下代碼連接Access數(shù)據(jù)庫,在數(shù)據(jù)庫中找出該坐標(biāo)分幅號對應(yīng)的標(biāo)準(zhǔn)分幅號(A-A)。

        Dim daodb1 As DAO.Database ’數(shù)據(jù)庫對象

        Dim daors1 As DAO.Recordset ’記錄集對象

        ’打開數(shù)據(jù)庫

        Set daodb1 =OpenDatabase(ThisDrawing.Path & " 數(shù)據(jù)庫.mdb")

        ’打開記錄集

        Set daors1 =daodb1.OpenRecordset("圖幅號對照表",2)

        當(dāng)數(shù)據(jù)庫中存在該圖幅,程序則通過加載塊的方式將該圖幅準(zhǔn)確定位到當(dāng)前路網(wǎng)圖中,若不存在該圖幅,程序則會跳出提示對話框,提示該圖幅不存在。當(dāng)用戶調(diào)用的圖幅存在多個版本時,程序則把該圖幅所涉及的所有版本羅列出來,用戶可根據(jù)自己的需要選擇對應(yīng)版本的圖幅。

        使用“圖上指定點(diǎn)”功能的前提是,用戶必須對測區(qū)的大概位置有所了解。當(dāng)掌握了測區(qū)的大概位置后,再在路網(wǎng)圖上調(diào)用所需要的圖幅。這種操作方式既方便又快捷。但對于不了解測區(qū)位置的用戶來說,這一功能也許就不那么好用。為了滿足不同用戶對象的需求,該程序增加了“調(diào)用窗體輸入”功能。

        4.4 “調(diào)用窗體輸入”功能

        該功能主要適用于不清楚測區(qū)的大概位置,但有該測區(qū)地形圖某圖幅號或某一點(diǎn)坐標(biāo)的記錄。用戶可根據(jù)自己所掌握資料的情況,在圖4界面里選擇一種合適的調(diào)用方式。

        圖4 “調(diào)用窗體輸入”界面

        “輸入標(biāo)準(zhǔn)圖幅號”即輸入以標(biāo)準(zhǔn)分幅號命名的圖幅號(如A-A)。

        “輸入坐標(biāo)圖幅號”即輸入以坐標(biāo)分幅號命名的圖幅號(如15.5 -3.0)。

        “輸入任意坐標(biāo)”即輸入地形圖上的任意一點(diǎn)坐標(biāo),程序通過自動推算、查找,找到所需的圖幅號(坐標(biāo)分幅號或標(biāo)準(zhǔn)分幅號)。

        假設(shè)輸入或換算后的圖幅號用變量tufuhao 表示,那么程序通過下面這段代碼將該圖幅準(zhǔn)確地定位到道路路網(wǎng)圖上。

        Set blockRefObj=ThisDrawing.ModelSpace.insertblock(pnt,

        ThisDrawing.Path & "地形圖" & tufuhao & ".dwg",1,1,1,0)

        4.5 “保存圖塊”功能

        用戶可以對當(dāng)前打開的分幅圖進(jìn)行添加、修改、刪除等操作,當(dāng)操作完成后可使用該功能對當(dāng)前操作進(jìn)行任意保存。所保存的數(shù)據(jù)可以是完整一幅圖,也可以是一幅圖的部分?jǐn)?shù)據(jù),同時也可以是多幅圖合并后的圖形數(shù)據(jù)。

        5 地形圖數(shù)據(jù)的更新

        地形圖數(shù)據(jù)能否體現(xiàn)城市地形、地貌的真實(shí)性、現(xiàn)勢性。取決于地形圖數(shù)據(jù)是否能夠得到及時的更新和維護(hù)。目前數(shù)字化地形圖的更新方式有兩種[3]:一種是對同一數(shù)據(jù)的不同版本進(jìn)行更新,即基于版本的數(shù)據(jù)更新;另一種是對變化的地理要素進(jìn)行更新,即基于基態(tài)修正的數(shù)據(jù)更新。本程序采用二者結(jié)合的方式進(jìn)行更新,即在同一年內(nèi),只對變化的地理要素進(jìn)行更新(圖上最好附上更新范圍線,以標(biāo)記更新的范圍),圖幅另存時則在圖幅號后備注該年年份。若在同一年內(nèi),同一圖幅的同一范圍經(jīng)過多次更新,那么該圖幅另存時應(yīng)增附更新的月份。對于下一年度更新的圖幅,圖幅號后則備注下一年的年份,實(shí)現(xiàn)數(shù)據(jù)的版本更新。這樣既保證了數(shù)據(jù)的現(xiàn)勢性,又保存了歷史數(shù)據(jù)。

        6 結(jié) 語

        筆者開發(fā)的“圖庫管理”功能主要服務(wù)于數(shù)字化地形圖測繪生產(chǎn)單位,其優(yōu)越性主要體現(xiàn)在:該功能是基于測繪生產(chǎn)單位熟悉的AutoCAD 平臺進(jìn)行的二次開發(fā)。使用該平臺,不僅開發(fā)成本低,而且對于數(shù)字化地形圖管理者來說,簡單易學(xué)、操作便捷。

        “圖庫管理”功能分別在多尺度地形圖的管理和數(shù)字化地形圖的更新兩方面加入了筆者的創(chuàng)新。首先,不同的用戶對象通過該功能可以實(shí)現(xiàn)多尺度、多版本數(shù)字化地形圖數(shù)據(jù)的編輯,并且可以做簡單的疊加分析;其次,通過版本更新和基態(tài)修正更新相結(jié)合的方式進(jìn)行數(shù)字化地形圖數(shù)據(jù)庫的更新,體現(xiàn)地形圖數(shù)據(jù)的現(xiàn)勢性和歷史性。

        該程序經(jīng)過多年的使用和完善,已在城市數(shù)字化地形圖數(shù)據(jù)管理方面取得了一定的效果,大大提高了數(shù)據(jù)管理者的工作效率和工作準(zhǔn)確率。但是,它僅局限于空間數(shù)據(jù)的管理,而對屬性數(shù)據(jù)管理方面的功能還比較薄弱。因此,今后在不斷完善空間數(shù)據(jù)管理功能的同時,還要不斷改進(jìn)和提高,完成在AutoCAD 環(huán)境下屬性數(shù)據(jù)的管理。

        [1]張帆,鄭立楷,王華杰.AutoCAD VBA 開發(fā)精彩實(shí)例教程[M].北京:清華大學(xué)出版社,2004.

        [2]鄭阿奇,曹弋.Visual Basic 實(shí)用教程(第2 版)[M].北京:電子工業(yè)出版社,2004.

        [3]李宗華.城市地理基礎(chǔ)空間數(shù)據(jù)庫更新方法研究[J].城市勘測,2006(1):6 ~8..

        [4]林遠(yuǎn)清.基于VB6.0 的地形圖管理信息系統(tǒng)設(shè)計與開發(fā)[J].城市勘測,2008(3):20 ~22..

        [5]黃達(dá)藩.地形圖數(shù)據(jù)庫建設(shè)與數(shù)據(jù)共享有關(guān)問題的探討[J].城市勘測,2005(5):14 ~16..

        [6]楊永崇,秦寬.地圖管理系統(tǒng)設(shè)計與開發(fā)[J].城市勘測,2007(1):35 ~37.

        猜你喜歡
        圖庫圖幅程序
        金山農(nóng)民畫矢量圖庫的建設(shè)與應(yīng)用
        試論我國未決羈押程序的立法完善
        “程序猿”的生活什么樣
        視圖庫在AI浪潮里的發(fā)展應(yīng)用
        Photoshop CC圖庫面板的正確打開方法
        英國與歐盟正式啟動“離婚”程序程序
        基于EXCEL的地形圖圖幅號轉(zhuǎn)換查詢方法
        創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
        圍繞“四個全面”戰(zhàn)略布局 譜寫偉大復(fù)興宏偉篇章
        基于ArcMap的圖幅接合表快速生成方法研究
        成av人片一区二区三区久久| 国产无套视频在线观看香蕉| 亚洲啊啊啊一区二区三区| 日本人妻97中文字幕| 国产欧美性成人精品午夜| 久久久精品2019免费观看| 色婷婷久久免费网站| 成人大片在线观看视频| 人人做人人爽人人爱| 国模无码视频一区| 五月天婷婷一区二区三区久久| 丁香婷婷六月综合缴清| 日本少妇高潮喷水xxxxxxx | 丰满熟妇乱又伦精品| 亚洲国产成人久久一区www| 国产久视频| 国产熟女自拍av网站| 国产美女做爰免费视频| 人与嘼av免费| 成人免费视频自偷自拍| 国产日韩精品中文字幕| 久久久久久国产精品mv| 久久久久亚洲精品天堂| 国产成人av三级三级三级在线| 国产毛多水多高潮高清| 亚洲综合色成在线播放| 亚洲一区二区三区在线观看蜜桃| 亚洲一区二区三区精品| 亚洲中文字幕在线观看| 国产短视频精品区第一页| 青青草手机在线免费视频| 97精品国产一区二区三区| 久久亚洲sm情趣捆绑调教| 伊人久久婷婷综合五月97色| 精品福利一区二区三区蜜桃| 国产麻豆精品久久一二三| 国产未成女年一区二区| 中文字幕女同人妖熟女| 国产福利精品一区二区| 日本丰满妇人成熟免费中文字幕| 美女被躁到高潮嗷嗷免费观看|