ARCMAp實例培訓(xùn)課件(共58張PPT)_第1頁
ARCMAp實例培訓(xùn)課件(共58張PPT)_第2頁
ARCMAp實例培訓(xùn)課件(共58張PPT)_第3頁
ARCMAp實例培訓(xùn)課件(共58張PPT)_第4頁
ARCMAp實例培訓(xùn)課件(共58張PPT)_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

GIS軟件開發(fā)

(1)*日期課程說明理論課時:22,實驗課時:10授課過程教材對應(yīng)章節(jié)課時分配1AO程序設(shè)計入門1、2章22COM類、接口及編程技巧3、4,5,6章23ArcGIS控件開發(fā)實例10、11章24OMD與ArcObjects編程資源9章25創(chuàng)建自定義工具11、12章26地圖操作補充,12章27地圖提示補充,13章28坐標系與投影補充29專題地圖制作補充2*日期第一講AO程序設(shè)計入門1GIS開發(fā)模式3ArcgisEngine類庫概述2Arcgis軟件開發(fā)平臺4建立開發(fā)環(huán)境開始使用AE*日期GIS軟件類型GIS平臺軟件提供全部的地理信息系統(tǒng)處理功能,完成數(shù)據(jù)處理、空間分析、信息查詢、專題地圖制作等功能如:ArcGIS,MapInfoProfessional,MAPGISGIS應(yīng)用軟件針對不同的應(yīng)用領(lǐng)域和行業(yè),綜合電子地圖和信息管理系統(tǒng)的特點如:鄭州市公交查詢系統(tǒng),XX市綜合管線地理信息系統(tǒng)等*日期1GIS開發(fā)模式1.1獨立開發(fā)模式1.2宿主型開發(fā)模式1.3GIS組件開發(fā)模式1.4GIS組件產(chǎn)品及功能1.5ActiveX控件的組成*日期1.1獨立開發(fā)模式不依賴于任何GIS工具軟件,從空間數(shù)據(jù)的采集、編輯到數(shù)據(jù)的處理分析及結(jié)果輸出,所有的算法都由開發(fā)者獨立設(shè)計,然后選用某種程序設(shè)計語言,如VisualC++、Delphi等,在一定的操作系統(tǒng)平臺上編程實現(xiàn)。開發(fā)周期長,軟件功能相對簡單,對開發(fā)者要求高,用于購買軟件的費用相對節(jié)省*日期1.2宿主型開發(fā)模式基于GIS平臺軟件,進行應(yīng)用系統(tǒng)開發(fā)多數(shù)GIS平臺軟件都提供了可供用戶進行二次開發(fā)的腳本語言,用戶以原GIS軟件為開發(fā)平臺,利用這些腳本語言,開發(fā)出自己的針對不同應(yīng)用領(lǐng)域的應(yīng)用程序。如ArcView中的Avenue語言,ArcGIS中VBA,MapInfoProfessional的MapBasic語言開發(fā)較為容易;功能較弱所開發(fā)的系統(tǒng)不能脫離GIS平臺;是解釋執(zhí)行的,運行效率低;用戶界面受平臺軟件的限制*日期1.3GIS組件開發(fā)模式建立在組件技術(shù)基礎(chǔ)上的GIS功能組件,實現(xiàn)了地理信息系統(tǒng)的各種功能,這些組件都具備GIS的基本功能。開發(fā)人員可以基于通用軟件開發(fā)工具,尤其是可視化開發(fā)工具,如:VisualC++、VisualBasic、VisualC#、PowerBuilder等為開發(fā)平臺,進行二次開發(fā),實現(xiàn)GIS功能。大多數(shù)GIS軟件廠商都提供商業(yè)化的GIS組件。如ESRI公司的MapObjects、ArcGISEngine、MapInfo公司的MapX等*日期GIS開發(fā)模式的選擇獨立開發(fā)難度太大宿主型二次開發(fā)受GIS平臺所提供的腳本語言的限制GIS組件開發(fā)模式結(jié)合了GIS平臺軟件與可視化開發(fā)平臺的組件開發(fā)模式的優(yōu)點,是GIS應(yīng)用開發(fā)主要方向。利用GIS組件實現(xiàn)對空間數(shù)據(jù)庫的管理、分析功能,又可以利用其它可視化開發(fā)平臺提供的豐富的、功能強大的編程組件和環(huán)境,不僅能大大提高應(yīng)用系統(tǒng)的開發(fā)效率,而且使用可視化軟件開發(fā)工具開發(fā)出來的應(yīng)用程序具有更好的用戶界面,更強大的數(shù)據(jù)庫功能??煽啃院?、易于移植、便于維護,學(xué)習(xí)周期較短,容易上手。*日期1.4GIS產(chǎn)品及其功能空間數(shù)據(jù)獲取坐標轉(zhuǎn)換圖形編輯數(shù)據(jù)存儲數(shù)據(jù)查詢數(shù)據(jù)分析制圖表示…….可以想象要把這些所有的功能放在一個控件中幾乎是不可能的,即使實現(xiàn)也會帶來系統(tǒng)效率上的低下。一般可以認為GIS構(gòu)件的設(shè)計主要遵循應(yīng)用領(lǐng)域的需求。例如ESRI的Arcobjects就是以空間數(shù)據(jù)訪問、查詢、制圖為主要目標的GIS構(gòu)件。*日期GIS組件產(chǎn)品GIS組件的代表作MapObjects由全球最大的GIS廠商ESRI(美國環(huán)境系統(tǒng)研究所)推出;ESRI(美國環(huán)境系統(tǒng)研究所)在9.0之后推出ArcGISEngine組件美國MapInfo公司推出的MapX。北京超圖公司的SuperMap組件*日期1.5ActiveX控件的組成-PME模型

PME模型Property屬性Method方法Event事件

桌面用的、基于COM的組件叫做ActiveX控件。一個ActiveX控件由它的一些成員組成:屬性,方法以及事件P:屬性是用來描述和反映對象特征的參數(shù),用來保存對象的數(shù)據(jù)M:方法是控件內(nèi)部可調(diào)用的用以完成特定操作的過程或函數(shù)E:事件是VB預(yù)先定義的對象能識別的動作。*日期*日期MapControl屬性MapControl涉及了20多個屬性,內(nèi)容包括地圖控件的當(dāng)前視圖,圖層,圖層數(shù),顯示范圍,地圖單位等。例如:

(1)ActiveView(2)Map(3)MapScale(4)Extent(5)FullExtent(6)Layer(7)LayerCount*日期MapControl方法Mapcontrol提供了一整套完整的地圖操作方法,通過這些方法,開發(fā)人員可以完成對地圖的多種操作和加工處理,例如改變地圖的顯示范圍,Mapcontrol控件所提供的方法共有9大類22種,他們都是通過相應(yīng)的方法處理函數(shù)實行其各自的功能。下圖是Mapcontrol的方法分類:*日期*日期Mapcontrol事件

Mapcontrol提供的事件共有6大類15個,它們既包括了鼠標、鍵盤的消息,也包括圖層重畫等消息。各類消息分類的說明如下圖:*日期*日期消息事件的具體功能*日期2Arcgis開發(fā)平臺2.1ArcgisDesktop開發(fā)平臺2.2ArcGISEngine開發(fā)平臺2.3DeskTop和Engine的開發(fā)平臺比較*日期2.1ArcgisDesktop開發(fā)平臺ArcGIS系列桌面產(chǎn)品是一系列整合的GIS應(yīng)用程序的總稱,包括ArcInfo,ArcEditor和ArcView。通過協(xié)調(diào)一致地調(diào)用桌面應(yīng)用和界面,可以實現(xiàn)從簡單應(yīng)用到完成復(fù)雜GIS功能的任務(wù),包括制圖、地理分析、數(shù)據(jù)編輯、數(shù)據(jù)管理、可視化和空間處理。ArcGISDesktop是可以滿足各種類型用戶的可伸縮的產(chǎn)品,用戶可根據(jù)需要定制、配置自己的GIS應(yīng)用系統(tǒng),主要包括下列完整的GIS功能:*日期(1)制圖和三維(3D)可視化(2)矢量和柵格數(shù)據(jù)編輯(3)空間處理(4)在復(fù)雜的信心模型和框架下進行地理數(shù)據(jù)管理,包括數(shù)據(jù)管理與維護,拓撲、完整性規(guī)則和豐富的GIS行為,地圖和投影變換,空間處理工具和模型,元數(shù)據(jù)、目錄和數(shù)據(jù)庫管理(5)數(shù)據(jù)互操作能力(可以使用多種文件,格式以及數(shù)據(jù)大小無限制)(6)在事務(wù)模式下的數(shù)據(jù)更新、維護與共享(7)支持GIS互操作標準(8)Web服務(wù),包括地圖發(fā)布,數(shù)據(jù)發(fā)布和分發(fā),編輯,空間處理*日期Desktop提供的三種層次的開發(fā)方式(1)定制ArcGISDesktop(2)在自己的應(yīng)用系統(tǒng)中嵌ArcGISControls(3)擴展ArcObjects,以動態(tài)庫或控件形式供第三方使用*日期2.2ArcGISEngine開發(fā)平臺ArcGISEngine是用于構(gòu)建定制應(yīng)用的一個完整的嵌入式GIS組件庫,它可以為用戶提供針對GIS解決方案的定制應(yīng)用。利用ArcGISEngine,開發(fā)者可以將ArcGIS功能集成到一些應(yīng)用軟件中。

對于開發(fā)者來講,它并不是一個最終的產(chǎn)品,而是一組被稱作ArcObjects的軟件開發(fā)包

ArcGISEngine可以在Windows,UNIX和Linux桌面上運行,并支持一系列的應(yīng)用開發(fā)平臺,例.net,Java,com和C++。*日期為什么使用ArcGISEngine許多用戶要求有特定的輕量級的GIS應(yīng)用:可以是獨立的應(yīng)用,或是將GIS功能嵌入到其他應(yīng)用中,在這種開發(fā)中,用戶需要的GIS功能比ArcView弱,但仍需要在應(yīng)用實現(xiàn)復(fù)雜的GIS邏輯ArcGISEngine為此提供了一個低成本、輕量級的選擇,同時,選擇ArcGISEngine進行開發(fā)還有幾個關(guān)鍵特征:*日期(1)標準的GIS架構(gòu)(2)高效使用(3)可視化開發(fā)控件(4)跨平臺特性(5)支持多種開發(fā)語言(6)可擴展選項(7)豐富的開發(fā)資源*日期ArcGISEngine的功能ArcGISEngine可以實現(xiàn)的功能:空間數(shù)據(jù)顯示、查詢檢索、編輯和分析創(chuàng)建各種專題圖和統(tǒng)計報表高級的制圖和輸出功能空間數(shù)據(jù)的管理和維護……ArcGISEngine的擴展選項:空間分析選項三維選項Geodatabase更新選項網(wǎng)絡(luò)分析選項*日期2.3DeskTop和Engine的開發(fā)平臺比較從三方面的比較:

類庫比較程序擴展比較開發(fā)模式比較*日期類庫比較通過教材20頁表2.1,可以發(fā)現(xiàn):(1)Desktop提供了56個類庫,而Engine提供21個類庫,Engine包含的類庫是Desktop提供類庫的一個子集。(2)ArcGISEngine提供的類庫集中在界面和控件以及分析等方面(3)Engine提供的類庫中幾乎沒有以“UI”結(jié)尾的類庫(除了SystemUI)。這意味著,在ArcGISEngine開發(fā)環(huán)境中,沒有多少界面組件可供使用,比如在ArcMap中用于瀏覽和選擇數(shù)據(jù)的GxDialog,在ArcGISEngine中是無法使用的。*日期程序擴展比較擴展模塊DesktopEngine3D顯示擴展3DAnalyst√√GlobeCore√√空間分析擴展SpatialAnalyst√√StreetMap擴展√√從下表可看出,兩者可用程序擴展完全相同*日期開發(fā)模式比較Desktop支持兩種開發(fā)模式:

(1)VBA定制開發(fā)模式(2)獨立應(yīng)用開發(fā)模式ArcGISEngine有一種開發(fā)模式:

開發(fā)獨立應(yīng)用程序或者作為GIS組件嵌入到其他應(yīng)用系統(tǒng)中。*日期3ArcgisEngine類庫概述ArcGISEngine提供的類庫集中包含一下幾類:界面和控件類庫3個:System,SystemUI,controls可視化顯示5個:Carto,Display,Geometry,GolobeCore,SpatialAnalyst。數(shù)據(jù)訪問5個:DataSourceFile,DataSourceGDB,GeoDatabase

DataSourcesRaster,GeoDatabaseDistributed分析3個:3DAnalyst,GeoAnalyst,NetworkAnalyst共21個,AE類庫的體系結(jié)構(gòu)圖如下:*日期*日期*日期類庫:(1)System庫:System庫是ArcGIS結(jié)構(gòu)中最低級的對象庫。該庫包含了揭示ArcGIS中其他對象庫所使用的服務(wù)的組件,如AoInitialize、Filename、UID等。(2)SystemUI庫:SystemUI庫主要定義了ArcGIS系統(tǒng)中所使用的用戶界面組件的類型,如SystemFont等。(3)Geometry庫:Geometry庫包含了核心幾何對象,如點、多邊形、線及其幾何類型和定義等,如Point、Polyline、Polygon、Envelope等。(4)Display庫:Display庫包含了支持向輸出裝置繪制符號體系的組件,如Color、Symbol等。(5)Server庫:Server庫包含了用于獲取到ArcGISServer的連接的對象。該連接通過本庫中的對象進行管理。如SeverObject等。*日期(6)Output庫:Output庫包含了生成輸出所必需的對象,通常是從地圖或頁面布局輸出到打印機、繪圖儀,或?qū)С龅轿募?。如Paper,Printer,Export等。(7)Geodatabase庫:Geodatabase庫包含了所有與數(shù)據(jù)訪問相關(guān)的定義的類型,如WorkspaceFactory等。(8)GISClient庫:GISClient庫包含了操作遠程GIS服務(wù)的對象。ArcIMS或ArcGISServer都可以提供這些服務(wù)。(9)DataSourcesFile庫:DataSourcesFile庫包含了適用于地理數(shù)據(jù)庫應(yīng)用程序接口(APIs)所支持的矢量數(shù)據(jù)格式的工作空間工廠和工作空間。如ShapefileWorkspacefactory。(10)DataSourcesGDB庫:DataSourcesGDB庫包含了適用于存儲在RDBMS中的地理數(shù)據(jù)庫所支持的矢量和柵格數(shù)據(jù)格式的工作空間工廠和工作空間,如AccessWorkspacefactory,SdeWorkspacefactory。(11)GeoDatabseDistributed庫:GeoDatabseDistributed庫包含了支持分布式地理數(shù)據(jù)庫的檢出/檢入操作所必需的對象。*日期(12)DataSourcesOleDB庫:DataSourcesOleDB庫提供了操作“基于對象連接和嵌入數(shù)據(jù)庫”(OLE_DB-based)的數(shù)據(jù)源的工作空間。如TextFileWorspacefactory。(13)DataSourcesRaster庫:DataSourcesRaster庫包含了適用于基于文件的柵格數(shù)據(jù)格式的工作空間工廠和工作空間(14)Carto庫:Carto庫包含了用于顯示數(shù)據(jù)的對象。如FeatureRenderer、Layer、Map、PageLayout等。(15)Location庫:Location庫包含了與位置數(shù)據(jù)操作相關(guān)的對象。位置數(shù)據(jù)可以是路徑事件,或者地理編碼的位置。(16)NetworkAnalysis庫:NetworkAnalysis支持應(yīng)用網(wǎng)絡(luò)的創(chuàng)建和分析,如FlagDisplay等。(17)Controls庫:Controls庫包含了用于應(yīng)用軟件開發(fā)的控制器,包括通過控制器來使用的命令和工具。如Mapcontrol、ToolbarControl、TOCControl等。*日期(18)GeoAnalyst庫:GeoAnalyst庫包含了核心空間分析的操作,這些操作可以通過空間分析和3D分析擴展模塊來使用。如RasterAnalysis。(19)3Danalyst庫:3Danalyst庫包含了用于進行數(shù)據(jù)3D分析以及支持3D數(shù)據(jù)顯示的對象。該庫中有一控制器可供開發(fā)人員使用,并且操作該庫中的對象需要一個3D分析擴展授權(quán)。如3DProperties、3DSymbol等。(20)GlobeCore庫:GlobeCore庫包含用于進行球體數(shù)據(jù)分析以及支持球體數(shù)據(jù)顯示的對象。該庫中有一控制器可供開發(fā)人員使用,并且操作該庫中的對象需要一個3D分析擴展授權(quán)。如GlobeLayer,GlobeCamara等(21)SpatialAnalyst庫:SpatialAnalyst庫包含了用于進行柵格與矢量數(shù)據(jù)空間分析的對象。操作該庫中的對象需要一個空間分析授權(quán),如RasterDistanceOP,RasterHydrologyOP*日期4建立開發(fā)環(huán)境開始使用AE4.1系統(tǒng)要求4.2安裝VB6和AE4.3認識VB+AE的開發(fā)環(huán)境*日期4.1系統(tǒng)要求硬件:IntelPentuim計算機512M以上內(nèi)存軟件:Windows2000/XP;VisualBasic6和AE控件*日期4.2安裝VB6和AE(1)安裝VB6.0(2)安裝AE,配置正確的license文件*日期STEP2:安裝完成后,在光盤目錄VB6-SP6B中找到SetupSP6.exe,將VB6升級到最新版本。SP6是微軟公司對其產(chǎn)品VB6的第6次更新,修正了以前的一些問題*日期4.3開始在VB中使用AE認識VB6的集成開發(fā)環(huán)境在VB6中加載ESRI

MapControl控件添加控件及數(shù)據(jù)*日期認識VB6的集成開發(fā)環(huán)境VB集成開發(fā)環(huán)境*日期設(shè)置VB選項,明確變量類型在準備開始一個工程時,應(yīng)該在確保VB的工程中使用到的變量的類型都是明確聲明的,這樣可以減少發(fā)生錯誤的可能性,這是一個很好的編程習(xí)慣。OptionExplicit*日期VB6中常用的控件庫*日期在VB6中加載AE控件STEP1:啟動VisualBasic6,在開始出現(xiàn)的向?qū)е羞x擇新建工程(標準EXE).確定STEP2:在工具欄上點右鍵(工具欄位于VB窗口的左邊),在出現(xiàn)的右鍵菜單中點擊”部件”命令.*日期拖放:在窗體上放置MapControl控件調(diào)整控件的大小及位置選中*日期建立包含MapControl控件的缺省工程保存工程模板:將窗文件(.frm)及工程文件(.vbp)保存到C:\ProgramFiles\MicrosoftVisualStudio\VB98\Template\ProjectsMap控件*日期在VB環(huán)境中加載Mapcontrol的步驟第一步:首先透過“部件”在form工具箱中添加MapControl控件,然后通過拖動雙擊map控件的方法,將控件添加到form窗體之上,并調(diào)整大小。*日期選擇將要顯示在地圖上的數(shù)據(jù)你可以通過地圖控件的屬性頁上的屬性設(shè)置功能,指定將被顯示在地圖上的數(shù)據(jù).第二步:在地圖控件上方點擊右鍵,出現(xiàn)右鍵菜單.在出現(xiàn)的右鍵菜單中選擇“Properties…”命令,以顯示控件的屬性頁。*日期第三步:點擊圖層列表框中的圖層,然后點擊“屬性”??蓪D層的屬性進行設(shè)置添加地圖文檔文件*日期第四步:運行工程在工具欄上點擊運行按鈕測試你的程序,如果要停止程序運行在VB工具欄上點擊停止按鈕

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論