版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> AbstractII</p><p><b> 第一章 緒論1</b></p><p> 1.1論文的研究目的1</p><p&g
2、t; 1.2本文的結(jié)構(gòu)安排1</p><p> 第二章 數(shù)字地圖質(zhì)量管理系統(tǒng)2</p><p> 2.1 數(shù)字地圖的概念和應(yīng)用2</p><p> 2.2 數(shù)字地圖質(zhì)量管理系統(tǒng)3</p><p> 2.2.1數(shù)字地圖數(shù)據(jù)的檢查驗收3</p><p> 2.2.2數(shù)字地圖質(zhì)量檢查的主要內(nèi)容4&
3、lt;/p><p> 2.2.3系統(tǒng)設(shè)計目標(biāo)5</p><p> 2.2.4系統(tǒng)設(shè)計原則5</p><p> 第三章 VBA FOR AUTOCAD開發(fā)技術(shù)7</p><p> 3.1 CAD的二次開發(fā)環(huán)境7</p><p> 3.2 VBA FOR AUTOCAD 的主要特點和VB的主要區(qū)別8&l
4、t;/p><p> 3.3 VBA的基礎(chǔ)知識及編程基礎(chǔ)9</p><p> 3.3.1用VBA開發(fā)AutoCAD所涉及的一些概念9</p><p> 3.3.2 VBA編程基礎(chǔ)11</p><p> 第四章 基于VBA FOR AUTOCAD開發(fā)技術(shù)的面交叉檢查功能開發(fā)13</p><p> 4.1算
5、法實現(xiàn)13</p><p> 4.2程序流程圖14</p><p> 4.3程序原代碼14</p><p> 4.4程序運行界面18</p><p><b> 第五章 小結(jié)20</b></p><p><b> 致 謝21</b></p>
6、<p><b> 參考文獻22</b></p><p><b> 附錄23</b></p><p> 附錄一.模塊一(加載菜單程序原代碼)23</p><p> 附錄二.模塊二(窗體顯示程序原代碼)24</p><p><b> 摘 要</b>&
7、lt;/p><p> 本文在對數(shù)字地圖質(zhì)量管理系統(tǒng)的主要內(nèi)容、設(shè)計原則和設(shè)計目的進行討論的基礎(chǔ)上,采取利用VBA對AUTO CAD 進行二次開發(fā)的方法進行數(shù)字地圖質(zhì)量管理。文章分析了AUTO CAD 的二次開發(fā)環(huán)境,VBA FOR AUTOCAD 的主要特點和VB的主要區(qū)別;重點研究了數(shù)字地圖質(zhì)量管理的一個模塊即面交叉問題的檢查的實現(xiàn),并通過例子驗證利用該模塊能夠檢查出在同一層中是否有交叉區(qū)域,并且在圖上的相應(yīng)位置
8、以圓的形式顯示出來,以便進行修改。</p><p> 關(guān)鍵字:數(shù)字地圖質(zhì)量管理 面交叉 VBA</p><p><b> Abstract</b></p><p> This article to the digital map quality control system's primary coverage, the prin
9、ciple of design and the design goal carries on discussion's foundation, adopts carries on the re-development using VBA to AUTO CAD the methods to carry on the digital map quality control. The article has analyzed the
10、 AUTO CAD re-development environment, the VBA FOR AUTOCAD main feature and the VB main difference; Studied a digital map quality control module namely to deliver in person the fork question with emphas</p><p&g
11、t; Key words Digital map quality control Delivers in person the fork VBA</p><p><b> 第一章 緒論</b></p><p> 1.1論文的研究目的</p><p> 隨著AUTO CAD和GIS 在各行各業(yè)的廣泛應(yīng)用,目前,數(shù)字地圖已成為測繪保障
12、部門的主要測繪產(chǎn)品,規(guī)模、體制都在不斷擴大。各測繪單位在大量生產(chǎn)數(shù)字地圖產(chǎn)品的同時,出現(xiàn)了大量生產(chǎn)數(shù)字產(chǎn)品和數(shù)字產(chǎn)品質(zhì)量控制這對矛盾。數(shù)字地圖看不見、摸不著,這就給模擬地圖查圖的老辦法造成了很大困難,如:單一從繪圖輸出的樣圖上查不出要素的屬性,也看不見拓?fù)鋽?shù)據(jù)是否形成等。所以,如何針對這一對矛盾,促進數(shù)字地圖生產(chǎn)的發(fā)展,生產(chǎn)出高質(zhì)量、高精度的數(shù)字產(chǎn)品是我們亟待解決的問題。</p><p> 我們感到要解決這一問
13、題,就必須立足現(xiàn)有設(shè)備,研制開發(fā)能夠有一定自動化程度的數(shù)字地圖質(zhì)量檢查軟件,用計算機代替人工查圖.</p><p> 本文從這一目的出發(fā),分析了數(shù)字地圖質(zhì)量管理的研究現(xiàn)狀,討論了數(shù)字地圖質(zhì)量管理的要求、內(nèi)容等,并開發(fā)了面交叉檢查的模塊。</p><p> 1.2本文的結(jié)構(gòu)安排</p><p> 考慮到目前數(shù)字地圖的迅速發(fā)展和數(shù)字地圖質(zhì)量管理問題層出不窮的情況,
14、論文對數(shù)字地圖質(zhì)量管理系統(tǒng)進行了比較全面的分析和討論。</p><p> 論文的第二章著重討論了數(shù)字地圖質(zhì)量管理系統(tǒng)的主要內(nèi)容、設(shè)計目標(biāo)和設(shè)計原則。第三章則詳細(xì)分析了VBA:分析了CAD的二次開發(fā)環(huán)境,并重點陳述了VBA的基礎(chǔ)知識及編程基礎(chǔ)。第四章是文章的核心部分,部分理論上的構(gòu)思在這一部分得以實現(xiàn),這一部分詳細(xì)的從程序算法,程序流程,原代碼和運行結(jié)果四個方面展示了程序?qū)崿F(xiàn)的理論基礎(chǔ)和實際的運行效果。</
15、p><p> 第二章 數(shù)字地圖質(zhì)量管理系統(tǒng)</p><p> 2.1 數(shù)字地圖的概念和應(yīng)用</p><p> 長期以來,地圖作為了解客觀地理環(huán)境的手段,一直是紙質(zhì)地圖的形式廣泛應(yīng)用著.它清晰直觀,易讀易懂,在國民經(jīng)濟建設(shè)中發(fā)揮著重要的作用。隨著科學(xué)技術(shù)的發(fā)展,出現(xiàn)了一種新型的地圖,數(shù)字地圖。</p><p> 數(shù)字地圖是用數(shù)字形式表示
16、地圖信息,獨立于固定的符號系統(tǒng),以數(shù)據(jù)和數(shù)據(jù)結(jié)構(gòu)為信息傳遞語言,不強調(diào)信息的符號化,注重計算機對信息的理解和識別,主要在計算機環(huán)境中使用,在計算機中的表示和存儲形式主要是一組數(shù)據(jù),由坐標(biāo)位置,屬性編碼和一定的數(shù)據(jù)值所組成,在計算機屏幕上和輸出設(shè)備上表現(xiàn)為色彩鮮艷,符號化的地圖(如圖1)。</p><p><b> 圖1 數(shù)字地圖</b></p><p> 目前,數(shù)
17、字地圖廣泛應(yīng)用與國民建設(shè)的各個方面,在測繪行業(yè),數(shù)字地圖提供了基礎(chǔ)資料,主要體現(xiàn)在城市基礎(chǔ)地理信息系統(tǒng)建設(shè)上,數(shù)字化測繪技術(shù)的迅速發(fā)展,使得城市規(guī)劃的測繪部門獲得了整個城市的大部分基礎(chǔ)數(shù)字地圖[1]。相對于紙質(zhì)地圖這些地圖更加易于保存,并且也更具實效性。</p><p> 2.2 數(shù)字地圖質(zhì)量管理系統(tǒng)</p><p> 系統(tǒng)的作用是為了使數(shù)字地圖質(zhì)量合理性、完備性、可靠性、簡便性、自動
18、性,同時也使數(shù)據(jù)在精度上得到提高。</p><p><b> 它的主要功能有:</b></p><p> 1)分層與編碼檢查—檢查各層編碼是否正確、有無漏層;各層間是否重復(fù)要素 公共邊是否拷貝到各層中。 2) 圖形質(zhì)量檢查 檢查線劃的光滑、粗細(xì)、清晰情況是否滿足需要;要素間的關(guān)系是否合理,有無地理性矛盾;符號配置、圖面整飾、注記是否正確無誤。
19、 3) 屬性及拓?fù)潢P(guān)系檢查 逐層檢查每一個屬性表,檢查屬性項的名稱、類型、長度、順序是否符合規(guī)定要求,有無遺漏:檢查屬性值是否正確。檢查每個層是否建立了相應(yīng)的拓樸關(guān)系。 4) 方向問題檢查 檢查有向點、有向線的方向是否正確。 5) 面狀要素檢查</p><p> 2.2.1數(shù)字地圖數(shù)據(jù)的檢查驗收</p><p> 數(shù)字地圖檢查驗收的內(nèi)容有形式檢查和內(nèi)容檢查[1
20、0];</p><p> 1、形式檢查:就是對作業(yè)用圖、檢查繪圖、數(shù)字化數(shù)據(jù)以及各種文檔是否完整、齊全,其格式是否正確等的檢查。</p><p> 2、內(nèi)容檢查:就是對數(shù)據(jù)進行深層的檢查。對于一幅全要素數(shù)字地圖來講要對以下十三個要素層進行檢查,測量控制點、獨立地物、居民地、交通、管線與垣柵、境界與政區(qū)、水系、地貌、等高線、土質(zhì)、植被、地名、圖外信息等,具體內(nèi)容分以下五個方面。</
21、p><p><b> (1)位置精度</b></p><p> ①數(shù)字化的圖廓點、測量控制點與其相應(yīng)的理論值或?qū)崪y值的符合程度。</p><p> ?、跀?shù)字化地圖各要素的幾何位置與數(shù)字化底圖上相應(yīng)要素的符合程度。</p><p><b> ?。?)屬性精度</b></p><p&
22、gt; 屬性數(shù)據(jù)是否正確表達了數(shù)字化底圖要素的分類、分級等質(zhì)量及數(shù)量特征。</p><p><b> (3)數(shù)據(jù)的完整性</b></p><p> 數(shù)字化地圖的內(nèi)容是否完整、有無遺漏、有無重復(fù)。</p><p> (4)數(shù)據(jù)邏輯的一致性</p><p> 同一要素層或不同要素層之間、數(shù)字化目標(biāo)的相關(guān)位置關(guān)系是否
23、正確;重疊要素幾何位置是否一致其屬性描述是否正確;相鄰圖幅的接邊目標(biāo),幾何上是否自然連接,屬性描述是否一致。</p><p> (5)拓?fù)潢P(guān)系正確性</p><p> 拓?fù)潢P(guān)系中的同名結(jié)點是否匹配,弧段無不必要的假結(jié)點;面域是否閉合,有無內(nèi)部唯一標(biāo)識;拓?fù)鋽?shù)據(jù)是否正確表達目標(biāo)之間的鄰接連通、包含關(guān)系。</p><p> 2.2.2數(shù)字地圖質(zhì)量檢查的主要內(nèi)容&l
24、t;/p><p> (1)各要素層的交互接邊</p><p> 在實際生產(chǎn)中出現(xiàn)問題最多的就是相鄰圖幅的接邊問題,只能利用檢查繪圖互相接邊來檢查,如存在沒接邊的問題時,就只能用采集軟件打開一幅圖數(shù)據(jù),在屏幕上大致地編輯,而實際接邊差的數(shù)值,還需要再接邊,編輯、繪圖輸出,對照接邊反復(fù)多次,既費時又費力,同時也白白消耗了不少紙張。</p><p> 基于此,我們在研制
25、軟件時,應(yīng)重點解決要素接邊問題,并應(yīng)設(shè)法對交通、水系、境界與政區(qū)、植被、等高線、管線與垣柵、居民地、土質(zhì)、地貌等九個要素層的接邊工作,利用各要素層的地理坐標(biāo)經(jīng)緯度直接在屏幕上進行上、下、左、右四個方向的自動接邊,對幾何位置不準(zhǔn)、屬性錯誤的數(shù)據(jù)利用交互式修改或在文件上標(biāo)注出來。該系統(tǒng)是對數(shù)據(jù)進行直接操作,并提供了方便快捷的檢查和編輯修改功能,對點誤差為零,避免了過去利用檢查繪圖進行接邊誤差較大的現(xiàn)象發(fā)生。</p><p
26、> (2)拓?fù)浣Y(jié)構(gòu)化檢查</p><p> 數(shù)字地圖的優(yōu)點只有按拓?fù)浣Y(jié)構(gòu)組織起來,才能有效地予以利用。作為地圖各要素的抽象代表的點、線、面具備拓?fù)湫再|(zhì),所以拓?fù)潢P(guān)系就是點、線,面元素之間的關(guān)系。地圖上主要的拓?fù)潢P(guān)系有關(guān)聯(lián)關(guān)系,臨接關(guān)系和包含關(guān)系</p><p> 關(guān)聯(lián)關(guān)系:指存在于空間圖形的不同類元素之間的關(guān)系</p><p> 鄰接關(guān)系:指存在于空間
27、圖形的同類元素之間的關(guān)系。</p><p> 包含關(guān)系:指存在于空間圖形的同類但不同級的元素之間的關(guān)系。分為簡單包含、多層包含和等價包含。</p><p> 數(shù)據(jù)拓?fù)浣Y(jié)構(gòu)的檢查工作是比較復(fù)雜的,本系統(tǒng)對拓?fù)浣Y(jié)構(gòu)化檢查主要包括面拓?fù)浜途€拓?fù)涞臋z查,我們對居民地、交通、水系、境界與政區(qū)、地貌、土質(zhì)、植被等七個要素層中的面、線拓?fù)溥M行編程檢查。重點在同名結(jié)點是否匹配,是否有不必要的假結(jié)點,面
28、域是否有唯一的標(biāo)識,是否閉合等幾個方面進行檢查[4]。</p><p> (3)要素屬性的檢查</p><p> 對要素屬性的檢查是針對任一要素層的主碼、識別碼、描述碼和參數(shù)碼等的檢查。同時對那些主碼、識別碼、描述碼之間具有唯一推導(dǎo)關(guān)系的要素,參數(shù)碼和領(lǐng)碼等進行自動檢查,如果出現(xiàn)其它碼即認(rèn)為非法,在錯誤記錄文件中標(biāo)出。比如:在數(shù)字地圖數(shù)據(jù)中有四種參數(shù)碼,寬度參數(shù)、相對高參數(shù)、長度參數(shù)、
29、其它參數(shù)。領(lǐng)碼依次為工00, 200, 300, 400,如果在其它參數(shù)中輸入高程值后會自動形成400領(lǐng)碼,如將其輸在相對高參數(shù)中形成的領(lǐng)碼為300,這就說明高程值的輸入項不正確,應(yīng)在其它參數(shù)中輸入,形成領(lǐng)碼為400的才正確。</p><p> (4)要素坐標(biāo)位置值域的檢查</p><p> 值域的檢查主要是對作業(yè)員在采集數(shù)據(jù)時,一是在定位精度不符合要求時,強行進入采集軟件中進行采集數(shù)
30、據(jù),這時形成的數(shù)據(jù)不僅位置精度不夠,同時有數(shù)據(jù)超出范圍之外。二是作業(yè)員在采集數(shù)據(jù)時將點采在圖幅范圍外。三是在數(shù)據(jù)編輯過程中,將數(shù)據(jù)點位移動,超出范圍。</p><p> 可以采用入庫的地理坐標(biāo)數(shù)據(jù)與圖幅范圍的地理坐標(biāo)值作比較,對超出范圍的數(shù)據(jù)自動修改,并將錯誤記錄在文件中。如1: 25萬數(shù)字地圖的圖幅范圍:縱坐標(biāo)Ymin=O,Ymax=14400,橫坐Xmin=O,Xmax=21600,以秒為單位,圖幅數(shù)據(jù)和其
31、比較,X<0或X>Xmax和Y<0或Y>Ymax的數(shù)值即為超限[9]。</p><p> (5)等高線要素層的檢查</p><p> 作業(yè)員在作業(yè)過程中重點是高程值的檢查,出現(xiàn)錯誤最多的也是高程值賦錯。而且利用繪圖檢查也存在弊病,等高線稀疏的圖幅還可以,如果山勢比較陡,等高線稠密,繪出圖后的等高線幾乎分不清楚,所以也無法套片查圖。</p><
32、p> 編程解決的辦法可以是將編輯賦值后的等高線圖形文件疊加在原始掃描圖像文件上,檢查是否有變形、移位、丟漏等錯誤。</p><p> 2.2.3系統(tǒng)設(shè)計目標(biāo)</p><p> 主要目標(biāo)是通過該系統(tǒng)使數(shù)字地圖的數(shù)據(jù)更具獨立性、合理性、完備性、可靠性、簡便性、自動性,同時也在數(shù)據(jù)精度上得到提高,從以下幾個方面進行:</p><p> 1)交通、水系、境界與
33、政區(qū)、植被、等高線、管線與垣柵、居民地、土質(zhì)、地貌等九個要素層的接邊情況檢查及交互式修改。</p><p> 2)交通、水系、境界與政區(qū)、植被、居民地、土質(zhì)、地貌、圖外信息等要素層的拓?fù)浣Y(jié)構(gòu)化檢查及修改。</p><p> 3)測量控制點、獨立地物、居民地、交通、水系、境界與政區(qū)、管線與垣柵、地貌、土質(zhì)、植被、等高線、地名等要素層的坐標(biāo)數(shù)據(jù)值域檢查及修改。</p><
34、;p> 4)所有要素層要素屬性的檢查及修改。</p><p> 5)等高線要素層的高程值檢查及修改。</p><p> 最終達到數(shù)字地圖質(zhì)量管理的要求,從而大大提高了效率和減輕了以往繁雜的工作量。</p><p> 2.2.4系統(tǒng)設(shè)計原則</p><p><b> 1)獨立性</b></p>
35、<p> 系統(tǒng)各模塊相互獨立,各自具備一套完整齊備的檢查功能、處理功能。而且功能相互獨立,針對不同的要素層或要素進行不同項目的檢查和處理,重復(fù)度小。</p><p><b> 2)合理性</b></p><p> 系統(tǒng)的功能模塊的劃分要以系統(tǒng)的總體設(shè)計目標(biāo)相符,以系統(tǒng)的設(shè)計思想為指導(dǎo),合理地進行集成和區(qū)分,功能特點清楚邏輯清晰,設(shè)計合理。</p
36、><p><b> 3)完備性</b></p><p> 根據(jù)系統(tǒng)的應(yīng)用目的要求,功能齊全,適用各種應(yīng)用目的和范圍。</p><p><b> 4)可靠性</b></p><p> 各功能模塊的穩(wěn)定性好,在檢查操作過程中可靠實用,數(shù)據(jù)處理方法簡便、科學(xué)、實用。</p><p&
37、gt;<b> 5)簡便性</b></p><p> 各功能模塊的操作方便、簡單、明了、宜于學(xué)習(xí)和使用,容易掌握。</p><p><b> 6)自動性</b></p><p> 各功能模塊在檢查數(shù)據(jù)過程中,自動化程度較高,部分要素在檢查出錯后自動修改,數(shù)據(jù)修改后自動回存更新。</p><p&g
38、t;<b> 7)高精度性</b></p><p> 檢查修改后的數(shù)據(jù)精度高,符合數(shù)字地圖數(shù)據(jù)采集規(guī)范和標(biāo)準(zhǔn)的要求。</p><p> 第三章 VBA FOR AUTOCAD開發(fā)技術(shù)</p><p> 3.1 CAD的二次開發(fā)環(huán)境</p><p> AutoCAD的主要特色在于其支持用戶的二次開發(fā),即用戶可以
39、將它設(shè)計和擴展成自己的專用軟件。</p><p> AutoCAD 2000面市以來,其開發(fā)途徑更加廣闊。除了使用傳統(tǒng)的AutoLISP及基于C語言的ObjectARX等開發(fā)工具外,用戶還可以使用Visual Basic、AutoCAD VBA 、Visual LISP及J++集成開發(fā)環(huán)境來開發(fā)定制AutoCAD,特別是AutoCAD 2000已經(jīng)將AutoCAD VBA 、Visual LISP集成在系統(tǒng)的內(nèi)
40、部,用戶使用更加方便。</p><p> AutoLISP是AutoCAD內(nèi)嵌的一種解釋語言。它是一種很好的交互式語言,很適合于CAD這類交互性很強的應(yīng)用軟件。LISP語言的特點是程序和數(shù)據(jù)都采用符號表達式的形式,即一個LISP程序可以把另一個LISP程序作為它的數(shù)據(jù)進行處理。因此使用LISP語言編程十分靈活,看起來,是一個一個的函數(shù)調(diào)用。利用Auto LISP開發(fā)AutoCAD的一個典型應(yīng)用是實現(xiàn)參數(shù)化繪圖的
41、程序設(shè)計。利用參數(shù)化繪圖方法可以在較短的時間里快速、高質(zhì)量地完成多方案對比設(shè)計,也可建立各種零部件的圖形庫,給出一些必要的參數(shù)即可直接繪出圖形,由此可見Auto LISP的強大功能之所在[6]。</p><p> 但是,隨著計算機技術(shù)的發(fā)展,AutoCAD編程更加復(fù)雜,代碼越來越龐大,AutoLISP的缺點亦愈未愈明顯。主要表現(xiàn)是:功能單一,綜合處理能力差;解釋執(zhí)行,程序運行速度慢;缺乏很好的保護機制,軟件質(zhì)量
42、不易保證。</p><p> ADS (AutoCAD C語言開發(fā)環(huán)境)是AutoCAD R11開始支持的一種基于C語言的靈活的開發(fā)環(huán)境。ADS程序的隱藏錯誤往往導(dǎo)致AutoCAD,乃至操作系統(tǒng)的崩潰;要編譯才能運行,不易見到代碼的效果;同樣功能C語言的ADS程序一般比AutoLISP程序的源代碼要長不少,比較繁冗。</p><p> ARX (AutoCAD運行時間擴展)是Auto
43、CAD R13之后推出的一個全新的面向?qū)ο蟮拈_發(fā)環(huán)境,也是AutoCAD第一次直接提供面向?qū)ο蟮亩伍_發(fā)工具??梢哉fAutoLISP著眼于應(yīng)用程序的交互性,ADS C/C++著眼于應(yīng)用程序的綜合性,而ARX則著眼于應(yīng)用程序的智能性。</p><p> 然而,ARX應(yīng)用程序比ADS程序具備更大的危險性和破壞性。ARX程序設(shè)計比ADS要復(fù)雜得多。ARX程序設(shè)計的錯誤,經(jīng)常導(dǎo)致AutoCAD崩潰,甚至操作系統(tǒng)的崩潰
44、。程序員需要有很高的素質(zhì),才能編制好ARX應(yīng)用程序。</p><p> Vlsual LISP是AutoLISP的換代產(chǎn)品,已經(jīng)集成在AutoCAD 2000之中。它與AutoLISP完全兼容,并提供它所有的功能,同時它能訪問新的多文檔設(shè)計環(huán)境。COM/ActiveX用戶界面、事件響應(yīng)器等。Visual LISP同時提供了新的編程環(huán)境。該環(huán)境提供括號匹配、跟蹤調(diào)試、源代碼和語法檢查等工具,方便了創(chuàng)建和調(diào)試LI
45、SP程序[7]。</p><p> 用戶和開發(fā)者可以充分利用完全集成在AutoCAD內(nèi)部的LISP開發(fā)環(huán)境。作為一個完整的用戶化開發(fā)環(huán)境,Visual LISP可以迅速而方便地建立自己的高效解決方案。</p><p> AutoCAD 2000包含了VBA (Microsoft Visual Basic for Applications)應(yīng)用程序開發(fā)應(yīng)用語言。VBA在集成開發(fā)
46、環(huán)境中提供了高質(zhì)量的用戶化編程能力。它能夠使得AutoCAD數(shù)據(jù)與其它VBA應(yīng)用程序直接共享,如Microsoft Office 97軟件。最重要的是VBA的加入,擴展了AutoCAD集成用戶化工具的集成能力。它集成了AutoL1SP、Visual LISP和ObjectARX API等工具。這樣,就為訪問AutoCAD 2000軟件的多種技術(shù)框架提供了新的選擇和新的開放機會,可以按所需求的工作方式用戶化應(yīng)用程序,也可以從戰(zhàn)略上考
47、慮開發(fā)基于AutoCAD的應(yīng)用程序。</p><p> 總之,雖然Auto CAD 2000的開發(fā)方法很多,Auto CAD中的大部分組件也都可以由用戶自己定義或定制,但很多的功能只需要編輯一些AutoLISP 程序就可以完成了。所以AutoLISP編程開發(fā)Auto CAD是基礎(chǔ)。</p><p> 3.2 VBA FOR AUTOCAD 的主要特點和VB的主要區(qū)別</p>
48、;<p> VBA可作為空間容器,允許在VBA窗體設(shè)置控件,同時,VBA支持自動化控制。VBA提供了一個綜合開發(fā)環(huán)境,具有完整的容錯功能,對象瀏覽器,屬性窗口和工程窗口。使用VBA,用戶可以用ACTIVEX AUTOMATION所提供的對象來拓展(二次開發(fā))AUTOCAD的功能,建立自己的解決方案。</p><p> 到底是用VBA還是用VB來控制AUTOCAD好呢?可以從運行速度,功能等方面做
49、一個比較</p><p> 1、應(yīng)用程序的運行速度</p><p> VBA是一個內(nèi)嵌式的控制器,可以更好的與AUTOCAD溝通,運行速度快,并且,AUTOCAD和AUTOCAD共享內(nèi)存空間,明顯節(jié)約了空間,提高了運行速度。同時它提供了應(yīng)用程序和其他VBA程序的溝通路徑,當(dāng)使用其他程序的對象類型庫是,AUTOCAD可以作為該程序的AUTOMATION客戶程序,而不僅僅是AUTOCAD本
50、身。</p><p> 當(dāng)AUTOCAD被外部的VB程序或外部的VBA應(yīng)用程序控制時,其運行速度明顯降低,因為外部應(yīng)用程序要通過WINDOWS系統(tǒng)與CAD溝通。</p><p><b> 2、程序功能</b></p><p> 雖然VBA沒有VB含有的其他部件和功能(例如外部數(shù)據(jù)引擎和報表輸出等功能)以及VB所提供建立可執(zhí)行的原代碼編譯器
51、,但是VBA提供了一個文件中心模型,能讓代碼程序以應(yīng)用程序的格式應(yīng)用起來。</p><p><b> 3、投資</b></p><p> VBA是主應(yīng)用程序提供的一個部件,隨應(yīng)用程序本身一起提供,不需要單獨購買,而 VB 是一個單獨軟件需要另外購買</p><p> 總體而言,兩者各有所長,使用VBA進行AUTOCAD二次開發(fā)的優(yōu)勢體現(xiàn)在
52、下面幾個方面:</p><p> 1)開發(fā)環(huán)境和VB類似,而VB編程環(huán)境易學(xué)易用。CAD VBA是自動嵌入在CAD應(yīng)用程序中的,所以不必編程來建立與CAD的連接,而VB必須通過編程來建立與CAD的連接。</p><p> 2)VBA運行在與CAD相同的處理空間,從而提供了一個高效的編程環(huán)境,而獨立的VB與ACTIVEX AUTOMATION的接口需要通過IPC驅(qū)動AUTOCAD,因而V
53、BA比VB 更具明顯的性能優(yōu)勢AutoCAD VBA在AutoCAD應(yīng)用程序進程內(nèi)運行,程序運行速度比較快。</p><p> 3)可以利用VBA進行可視化界面設(shè)計,允許快速開發(fā)程序和及時得到設(shè)計的反饋,例如,可以快速構(gòu)建對話框。</p><p> 4)工程可以單獨存在,亦可以嵌入在圖形中允許程序隨圖形文件一起存儲(R14版本不支持),這使開發(fā)者在發(fā)行應(yīng)用程序時有極大的靈活性。<
54、/p><p> 5)VBA還可以同其他使用VBA的應(yīng)用程序集成,共享系統(tǒng)資源,例如,用戶可以創(chuàng)建一個應(yīng)用程序,自動提取屬性信息,把結(jié)果直接插入Excel數(shù)據(jù)表以及執(zhí)行任意數(shù)據(jù)轉(zhuǎn)換。</p><p> 6)支持事件過程:允許工程文件加密。</p><p> 總之,AutoCAD VBA是一個非??春玫拈_發(fā)工具,現(xiàn)在全球已經(jīng)有超過80萬家AutoCAD二次開發(fā)商使用A
55、utoCAD VBA進行程序開發(fā)</p><p> 3.3 VBA的基礎(chǔ)知識及編程基礎(chǔ)</p><p> 3.3.1用VBA開發(fā)AutoCAD所涉及的一些概念</p><p> 面向?qū)ο蠹夹g(shù)目前被廣泛地應(yīng)用于計算機的各個領(lǐng)域,其中最直接、最基本的應(yīng)用就是用于軟件的開發(fā)過程中,形成了包含面向?qū)ο蟮姆治?OOA)、面向?qū)ο蟮脑O(shè)計(OOD)和面向?qū)ο蟮某绦蛟O(shè)引(O
56、OP)的所謂面向?qū)ο蟮能浖_發(fā)方法(OOSD) .</p><p><b> 1、類和對象</b></p><p> 面向?qū)ο蟮某绦蛟O(shè)計不同于早期的過程化程序設(shè)計,它允許抽象化、模塊化的分層結(jié)構(gòu),具有多態(tài)性、繼承性和封裝性。面向?qū)ο蟮某绦蛟O(shè)計中最主要的概念是類和對象。類決定了對象的特征以及對象外觀和行為。比如鑄造砂模和鑄件之間的關(guān)系,鑄造砂模是類,它確定了每個鑄件
57、(對象)的特征,比如大小和形狀。用類創(chuàng)建對象,對象就是鑄件。在VBA中,對象就是由類創(chuàng)建,或者說對象是類的一個實例。類的描述保存在類型庫中,而且通過VBA集成開發(fā)環(huán)境(VBA IDE)中的對象瀏覽器可以查看。對象代表應(yīng)用程序中的元素,比如,AutoCAD 圖形文件中的直線、圖層、文字、塊等等。在VBA的程序中,在使用對象的任一方法或改變它的屬性值之前,必須先識別對象。對象集合則是一個包含幾個其他對象的對象,而這些對象通常但并不總是相同的
58、類型。例如,在AutoCAD中的文檔集合對象(Documents)包含了所有己經(jīng)打開的文檔對象(Document)。</p><p> 2、屬性、方法和事件</p><p> 在VBA中,屬性定義了應(yīng)用程序中對象的特征,例如AutoCAD中圖元的大小、顏色或位置,或某一方面的行為,例如圖元對象是否有激活或可見的。通過修改對象的屬性值可以改變對象的特征。方法指的是對象能執(zhí)行的動作。例如,
59、AutoCAD個文檔集合對象的Add方法,它可以在當(dāng)前打開的文檔之上增加一個新的文檔對象。事件是一個對象可以辨認(rèn)的動作,像單擊鼠標(biāo)或按下某鍵等,并且可以寫某些代碼針對此類動作來做出響應(yīng)。用戶的操作或程序代碼的結(jié)果可能導(dǎo)致事件的發(fā)生,或是由系統(tǒng)引發(fā)。在VBA中,AutoCAD中的對象有三種級別的事件:</p><p> 應(yīng)用程序級(Application)、文檔級(Document)和圖元對象級(Object)事
60、件。應(yīng)用程序級(Application)事件:當(dāng)AutoCAD本身的環(huán)境被改變時,就觸發(fā)該類事件。例如,創(chuàng)建、打開、保存、關(guān)閉或打印圖形文件時;使用AutoCAD命令時:加載或卸載ARX或LISP應(yīng)用程序時:改變系統(tǒng)變量時;以及改變主窗體尺寸時等等。文檔級(Document)事件:當(dāng)一個指定的圖形文件(DWG文件)自身或其內(nèi)容發(fā)生變化時,就觸發(fā)該類要件。例如,添加、刪除或修改圖形文件中的對象時;快捷菜單激活時:選擇集被改變時:圖形文件窗
61、口被改變時:以及重新生成圖形文件數(shù)據(jù)時等等。此外,該類事件還對應(yīng)著一個圖形文件的打開、關(guān)閉以及打印、加載或卸載ARX和LISP應(yīng)用程序等操作。圖元對象級(Object)事件:當(dāng)圖形數(shù)據(jù)庫中的圖元對象被修改時,觸發(fā)該事件AutoCAD ActiveX中,具有Modified一種圖元對象級事件,該事件在圖形數(shù)據(jù)庫中的圖元對象被修改或被觸發(fā)。</p><p> 3、過程和過程關(guān)鍵字</p><p&
62、gt; 過程是包含VBA代碼的單位。它包含一系列的語句和方法,以執(zhí)行操作或計算數(shù)值。在VBA中,有兩種過程:子過程和函數(shù)過程(通常簡單地稱為函數(shù))。子過程執(zhí)行一個操作或一系列的運算,但是不返回值。子過程的聲明使用Sub關(guān)鍵字,并用End Sub語句來結(jié)束。函數(shù)過程將返回一個值,可以在表達式中使用。函數(shù)過程的聲明使用Function關(guān)鍵字,并用End Function語句來結(jié)束。VBA包含許多內(nèi)置函數(shù),用戶也可以創(chuàng)建自己的自定義函數(shù)。S
63、ub和函數(shù)過程都可以接受參數(shù)。</p><p> 在VBA中,在Sub和Function前面的關(guān)鍵字Public和Private是用來表示作用域的。關(guān)鍵字Public表示該過程或函數(shù)在整個工程中是公用的,任何窗體、模塊都可以調(diào)用該過程。關(guān)鍵字Private表示該過程或函數(shù)不能被任何其他窗體、模塊和應(yīng)用程序(如AutoCAD)調(diào)用,只能在自身的過程中運行。</p><p><b>
64、; 4、宏與工程</b></p><p> 用過Office產(chǎn)品的人都知道“宏”這個概念,宏就是VBA的程序語句代碼的集合。宏是指一個或多個操作的集合,其中每個操作實現(xiàn)特定的功能。在VBA中,可以認(rèn)為與過程等同。工程(或工程文件)是VBA對其開發(fā)中的應(yīng)用程序的稱呼。它包含了很多功能單元,如窗體、模塊和過程及其代碼等等。在AutoCAD VBA中,工程文件被保存為擴展名為“dvb”的文件[5]。&l
65、t;/p><p><b> 5、窗體與模塊</b></p><p> 窗體是為方便人機交互而提供的圖形界面。在窗體上可以放置各種控件。在AutoCAD VBA中,窗體可以被保存為“.frm”文件。模塊是將VBA聲明過程作為一個單元進行保存的集合。模塊有兩種基本類型:類模塊和標(biāo)準(zhǔn)模塊。模塊中的每一個過程都可以是一個函數(shù)過程或一個子程序。在AutoCAD VBA中,類模塊
66、通常都含有新對象定義的模塊。新建一個類實例時,也就創(chuàng)建了新的對象。模塊中定義的任何過程都會變成該對象的屬性和方法。類模塊可以被保存為“.c1S”文件。標(biāo)準(zhǔn)模塊包含的是子過程和函數(shù)過程,這些過程不與任何對象相關(guān)聯(lián),可以被保存為“.bas”文件[2]。</p><p><b> 6、事件處理器</b></p><p> 事件處理器是事件被觸發(fā)后,程序?qū)χ憫?yīng)的一段代碼
67、。也被稱為事件過程。</p><p> 3.3.2 VBA編程基礎(chǔ)</p><p><b> 1)變量</b></p><p> 在VBA中,變量用來臨時存儲數(shù)據(jù)。它可以是數(shù)字、文本字符串或日期,也可以是一個對象,比如控件。變量包括名字(用來引用變量所包含的值的詞)和數(shù)據(jù)類型(確定變量能夠存儲的數(shù)據(jù)的種類)。</p><
68、;p> (1)變量的數(shù)據(jù)類型</p><p> VB可以處理14種標(biāo)淮變量類型,如Integer, Long, Decimal, Single, Double,String, Boolean, Object, Byte, Data以及Variant等數(shù)據(jù)類型,Variant數(shù)據(jù)類型是所有沒被顯式聲明(用如Dim, Private, Public或Static等語句)為其他類型變量的數(shù)據(jù)類型。Varian
69、t數(shù)據(jù)類型并沒有類型聲明字符。Variant是一種特殊的數(shù)據(jù)類型,除了定長String數(shù)據(jù)及用戶定義類型外,可以包含任何種類的數(shù)據(jù)。Variant也可以包含EmPty, Error, Nothing及Null特殊值??梢杂肰arType函數(shù)或TYpeName函數(shù)來決定如何處理Variant中的數(shù)據(jù)。另外也允許用戶自定義變量類型,用戶自定義數(shù)據(jù)類型可以是任何用Type語句定義的數(shù)據(jù)類型。用戶自定義類型可包含一個或多個某種數(shù)據(jù)類型的數(shù)據(jù)元素
70、、數(shù)組或一個先前定義的用戶自定義類型。</p><p><b> (2)變量的聲明</b></p><p> 在使用變量之前,用戶必須先對變量進行聲明。變量聲明有顯式聲明和隱式聲明兩種。顯式聲明是用Dim, Private, Public或Static關(guān)鍵字聲明的。變量的隱式聲明是指在給變量賦初值時,在變量的結(jié)尾處使用特定的字符對其進行類型聲明,常用的有:<
71、/p><p> Integer類型聲明字符是百分比符號(%);</p><p> String的類型聲明字符為美圓號($);</p><p> Long的類型聲明字符為和號(&):</p><p> Single的類型聲明字符(!):</p><p> Double的類型聲明字符是數(shù)字符號(#)。<
72、/p><p> (3)變量的作用域和存活期</p><p> 變量有三個級別的:過程的級別、私有模塊級別和公有模塊級別。</p><p> 過程的級別:用Dim語句在過程中聲明的私有變量,只在其被定義的過程中有效。</p><p> 私有模塊級別:用Dim語句在模塊級聲明的變量,在該模塊的所有過程中有效,但對工程中的其他模塊無效。<
73、/p><p> 公有模塊級別:用Public關(guān)鍵字在模塊級聲明的變量,在工程的所有模塊、模塊中的所有過程及工程中的所有窗體均有效。</p><p> 變量保留其值的這段時間稱為存活期。變量的值可能在整個存活期都在改變,但它仍然保留著一些值。當(dāng)變量失去了范圍之后,它也就不再保留著任一個值。Dim語句聲明過程的級別變量將保留一個值,直到此過程退出為止。如果該過程調(diào)用其他的過程,則在這些過程正在
74、運行的同時,屬于調(diào)用者過程的變量也保留它的值。如果過程的級別變量是用Static關(guān)鍵字來聲明的,則只要代碼正在任何模塊中運行此變量仍會保留它的值。而當(dāng)所有的代碼都完成運行后,變量會失去它的范圍和它的值。所以它的存活期和模塊級別的變量是一樣的。如果在Sub或Function語句前加上Static關(guān)鍵字,則在此過程中所有過程級別的變量的值被保留在調(diào)用期間。</p><p><b> (4)對象變量<
75、/b></p><p> 創(chuàng)建一個對象變量需要先聲明對象變量,然后指定對象變量到一對象。對象變量聲明可以使用Dim語句或其他的聲明語句(如Public. Private或Static)。引用對象的變量則必須是Variant或則Object數(shù)據(jù)類型,或是一個對象的指定類型。當(dāng)需等到過程運行A知道指定的對象類型時,可以利用Object數(shù)據(jù)類型來聲明。使用Object數(shù)據(jù)類型來創(chuàng)建對任何對象的一般的引用<
76、/p><p> 2)VBA的語法與語句(略)</p><p> 第四章 基于VBA FOR AUTOCAD開發(fā)技術(shù)的面交叉檢查功能開發(fā)</p><p> 所謂面交叉,是指兩個面域存在重疊部分(如圖2所示),面交叉的檢查屬于第二章提到的拓?fù)潢P(guān)系的檢查??紤]到CAD中層的應(yīng)用,這里的兩個面域是指同一層中的面域,否則檢查出來的結(jié)果并不具有現(xiàn)實的意義。</p>
77、;<p> 圖2 面交叉功能界面</p><p><b> 4.1算法實現(xiàn)</b></p><p> 在 AUTOCAD 中實體對象的 INTERSETWITH 方法存在著查詢兩個實體交點的功能,可直接利用,該方法可返回實體包括其延長線的所有交點,該方法的語法為[8]:</p><p> IntersetWith(Inte
78、rsetObject,ExtentOption)</p><p> 取值為下列4個常數(shù):</p><p> 兩個實體都不延長:AcExtendNone(0)</p><p> 延長發(fā)出求交要求的實體: AcExtendThisEntity(1)</p><p> 延長被求交的實體: AcExtendOtherEntity(2)<
79、/p><p> 兩個實體都延長AcExtend: AcExtendBoth(3)</p><p><b> 4.2程序流程圖</b></p><p><b> 程序流程圖如下:</b></p><p><b> 圖3 程序流程圖</b></p><p&g
80、t;<b> 4.3程序原代碼</b></p><p><b> 程序原代碼如下:</b></p><p> Dim objyuan(0 To 1000) As Object</p><p> Private Sub CommandButton1_Click()</p><p> Dim
81、layerObj As AcadLayer</p><p> Set layerObj = ThisDrawing.Layers.Add("jmd")</p><p> Dim color As AcadAcCmColor layerObj.color = acRed Dim selseta As AcadSelectionSet '定義選擇集a&l
82、t;/p><p> Set selseta = ThisDrawing.SelectionSets.Item("selseta")</p><p> selseta.Delete '清空選擇集</p><p> If VarType(selecta) = vbEmpty Then</p>
83、;<p> Set selseta = ThisDrawing.SelectionSets.Add("selseta") '創(chuàng)建選擇集a(在確信選擇集已經(jīng)為空的前提下)</p><p><b> End If</b></p><p> Dim FilterType(2) As Integer</p>&
84、lt;p> Dim FilterData(2) As Variant</p><p> FilterType(0) = 0</p><p> FilterData(0) = "POLYLINE"</p><p> FilterType(1) = 62</p><p> FilterData(1) = 256
85、</p><p> FilterType(2) = 8</p><p> FilterData(2) = "JMD"</p><p> Dim mode As Integer</p><p> Dim corner1(0 To 2) As Double</p><p> Dim corne
86、r2(0 To 2) As Double</p><p> mode = acSelectionSetCrossing</p><p> corner1(0) = 0: corner1(1) = 0: corner1(2) = 0</p><p> corner2(0) = 10000000: corner2(1) = 10000000: corner2(2)
87、 = 0</p><p> selseta.Select mode, corner1, corner2, FilterType, FilterData</p><p> ‘ 用SELECT 的方法向選擇集中添加實體,</p><p> 對象必須是多義線,紅色,在居民地層上</p><p> Dim ent As Object</
88、p><p> Dim i, j As Integer</p><p> Dim obja(0 To 1000) As Object</p><p> '將選擇集中的實體置于obja中</p><p><b> j = 0</b></p><p> For Each ent In se
89、lseta</p><p> Set obja(j) = ent</p><p><b> j = j + 1</b></p><p><b> Next</b></p><p> Dim gettwopoint As Variant</p><p> Dim en
90、try As AcadEntity</p><p><b> '定義相關(guān)變量</b></p><p> Dim entObjectID As Long</p><p> Dim objCount As Integer</p><p> Dim mspaceObja As AcadObject</p&
91、gt;<p> Dim mspaceObjb As AcadObject</p><p> objCount = ThisDrawing.ModelSpace.Count</p><p><b> '創(chuàng)建輔助圓層</b></p><p> Dim layerObjb As AcadLayer</p>
92、<p> Set layerObjb = ThisDrawing.Layers.Add("輔助圓")</p><p> Set color= AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.16") </p><p> '給輔助圓層設(shè)置顏色</p>&
93、lt;p> Call color.SetRGB(80, 100, 244)</p><p> layerObjb.TrueColor = color</p><p> n = j '將上面的j值賦給n(為該選擇集即該層中實體的個數(shù))</p><p> For ii = 0 To n</p><p> Set
94、mspaceObja = obja(ii)</p><p> Set entry = mspaceObja</p><p> gettwopoint = entry.Coordinates '求實體坐標(biāo)</p><p> On Error Resume Next '?</p><p><
95、;b> 'p為ii次級循環(huán)</b></p><p> For p = ii + 1 To n - 1</p><p> '跳過已判斷過的情況</p><p> If ii = p Then</p><p> ppp = 0 ‘跳過</p><p><b> E
96、lse</b></p><p> j = 0 </p><p> Set mspaceObjb = obja(p)</p><p> Dim intPoints As Variant</p><p><b> '求兩個實體的交點</b></p><p> i
97、ntPoints = mspaceObja.IntersectWith(mspaceObjb, acExtendNone)</p><p> If VarType(intPoints) <> vbEmpty Then '如果交點不為空(即存在交點)</p><p> For i = LBound(intPoints) To UBound(intPoints
98、)</p><p><b> q = 0</b></p><p> For q = LBound(gettwopoint) To UBound(gettwopoint)</p><p> If gettwopoint(q) = intPoints(i) Then GoSub aaa </p><p> &
99、#39;如果實體坐標(biāo)和交點坐標(biāo)一致則跳出</p><p><b> Next q</b></p><p> Dim centerPt(0 To 2) As Double</p><p> Dim radius As Double</p><p> centerPt(0) = intPoints(j): cente
100、rPt(1) = intPoints(j + 1): centerPt(2) = intPoints(j + 2) '圓心</p><p> radius=30 </p><p><b> '半
101、徑</b></p><p> Set circleObj = ThisDrawing.ModelSpace.AddCircle(centerPt, radius)</p><p> circleObj.Layer = "輔助圓"</p><p> circleObj.color = acbule</p><p
102、> cnamber = cnamber + 1</p><p> Set objyuan(cnamber) = circleObj</p><p> Dim center(0 To 2) As Double</p><p> Dim magnification As Double</p><p> magnification
103、= 50</p><p><b> i = i + 2</b></p><p><b> j = j + 3</b></p><p><b> k = k + 1</b></p><p><b> Next i</b></p><
104、;p><b> i = 0</b></p><p><b> j = 0</b></p><p><b> k = 0</b></p><p><b> End If</b></p><p><b> End If</b&g
105、t;</p><p><b> Next p</b></p><p><b> aaa:</b></p><p><b> Next ii</b></p><p> On Error Resume Next</p><p> If cnambe
106、r = "" Then cnamber = " 0 "</p><p> nnnn = "共有" & cnamber & "個交點"</p><p> MsgBox nnnn, , "IntersectWith Example"</p><p>
107、 cnamber = 0</p><p><b> End Sub</b></p><p> Private Sub CommandButton2_Click()</p><p> Dim selseta As AcadSelectionSet</p><p> Dim selsetb As AcadSelect
108、ionSet</p><p> Set selseta = ThisDrawing.SelectionSets.Add("selseta")</p><p> Set selsetb = ThisDrawing.SelectionSets.Add("selsetb")</p><p><b> End Sub&
109、lt;/b></p><p> Private Sub CommandButton3_Click()</p><p><b> End</b></p><p><b> End Sub</b></p><p><b> 4.4程序運行界面</b></p>
110、;<p><b> 程序運行界面如下:</b></p><p> 圖4 面交叉功能運行界面一</p><p><b> 左擊“面交叉”:</b></p><p> 圖5 面交叉功能運行界面二</p><p><b> 檢查結(jié)果:</b></p>
111、;<p> 圖6 面交叉功能運行界面三</p><p><b> 第五章 小結(jié)</b></p><p> 本文集中筆墨討論了數(shù)字地圖質(zhì)量管理的內(nèi)容,方法,質(zhì)量管理系統(tǒng)的設(shè)計原則和設(shè)計目標(biāo)。然后結(jié)合現(xiàn)代軟件技術(shù)的發(fā)展,提出了自己解決問題的思路——應(yīng)用VBA技術(shù)即VB FOR APPLICATION。VBA是目前比較流行的應(yīng)用程序開發(fā)語言,功能非常強大
112、。用VBA編程技術(shù)可以在AUTO CAD環(huán)境中結(jié)合開發(fā)人員的需要開發(fā)出多種實用的功能。</p><p> 論文所設(shè)計的程序只是前文所提到的數(shù)字地圖質(zhì)量管理的一個小小的方面——面交叉問題。 這個程序雖然很小原理也比較簡單,卻能很實用的檢查出數(shù)字地圖中存在的面交叉現(xiàn)象,并且能在圖上顯示出來交叉點。</p><p> 論文需要解決的問題還有很多,主要有:在CAD 界面下利用已經(jīng)打開的文件菜單
113、直接打開待檢查的數(shù)字地圖;對面交叉的地物進行合理化判別;對不符合地形圖圖式的面交叉地物進行自動修正,以真正實現(xiàn)數(shù)字地圖質(zhì)量管理的目標(biāo)。</p><p> 數(shù)字地圖質(zhì)量檢查系統(tǒng)有著巨大的開發(fā)空間,由于學(xué)識和時間的限制,只能做其中小小的部分,希望日后能進一步開發(fā)。</p><p><b> 致 謝</b></p><p> 本文是在導(dǎo)師余潔
114、教授的悉心指導(dǎo)下進行的。余老師學(xué)識淵博,思維敏捷,態(tài)度嚴(yán)謹(jǐn),在設(shè)計過程中給予我嚴(yán)格的要求,引導(dǎo)我認(rèn)識問題分析問題解決問題,使我受益匪淺,終身受用。在此畢業(yè)設(shè)計完成之際,向幫助我、指導(dǎo)我的老師及同學(xué)致以由衷的感謝和敬意。在以后的學(xué)習(xí)和工作當(dāng)中,我會秉承師風(fēng),繼續(xù)努力,不斷創(chuàng)新,以取得更好的成績。</p><p> 感謝我的同學(xué),謝謝他們對我的支持和幫助。</p><p> 感謝我的同學(xué)、
115、朋友和家人,是他們在生活上和精神的不斷鼓勵和支持,使得我在工作、學(xué)業(yè)和生活中保持積極樂觀的態(tài)度,不斷進取。</p><p> 謹(jǐn)以此文,表達我最誠摯的謝意!</p><p><b> 參考文獻</b></p><p> [1] 史文中,王樹良.GIS數(shù)據(jù)之屬性不穩(wěn)定性的研究[J].中國圖形圖象學(xué)報,2001,(9):918-924.<
116、;/p><p> [2] 童小華,劉大杰等.GIS數(shù)據(jù)化數(shù)據(jù)的平差模型及軟件實現(xiàn)[J].同濟大學(xué)學(xué)報,1998(6),27-28.</p><p> [3] 劉大杰,史文中.GIS空間數(shù)據(jù)的精度分析和質(zhì)量控制[M].上海:上海科學(xué)技術(shù)文獻出版社.1999,156-206.</p><p> [4] 王衛(wèi)安,孫春紅.地理信息系統(tǒng)的質(zhì)量控制[J].測繪通報,1999,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文——數(shù)字地圖質(zhì)量管理研究
- 畢業(yè)論文——數(shù)字地圖質(zhì)量管理研究
- 畢業(yè)論文范文——數(shù)字地圖質(zhì)量管理研究
- 畢業(yè)論文范文——數(shù)字地圖質(zhì)量管理研究 (2)
- 數(shù)字測圖論文數(shù)字地圖論文
- 數(shù)字地圖質(zhì)量控制的探討
- 質(zhì)量管理畢業(yè)論文
- gis與數(shù)字地圖制圖研究
- 畢業(yè)論文項目質(zhì)量管理研究
- 數(shù)字地圖水印技術(shù).pdf
- 畢業(yè)論文---建筑質(zhì)量管理
- 數(shù)字地圖特征透明加密研究.pdf
- 數(shù)字地圖與路徑規(guī)劃.pdf
- 論建筑質(zhì)量管理畢業(yè)論文
- 畢業(yè)論文--全面質(zhì)量管理
- 施工項目質(zhì)量管理畢業(yè)論文
- 畢業(yè)論文--全面質(zhì)量管理
- 畢業(yè)論文---表面組裝質(zhì)量管理
- 矢量數(shù)字地圖水印技術(shù)的研究.pdf
- 建筑施工項目質(zhì)量管理研究畢業(yè)論文
評論
0/150
提交評論