freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

[計算機軟件及應用]arcgisengine10開發(fā)手冊word版-在線瀏覽

2025-06-01 05:29本頁面
  

【正文】 圖上顯示數據;矢 量特征由FeatureLayer 對象處理,柵格數據由RasterLayer 對象處理,TIN 數據由TinLayer 對象處理等。但更常見的是圖層擁有一個相關的Renderer 對 象。Renderers 一般使用Display 庫中的symbols 進行 實際繪圖;renderer 只是匹配指定的符號與要繪制的實體的屬性。要素利用幾何體來定義它在地圖或頁面上的位置,以及控制要素顯示的行為。Carto 庫也包含對地圖注記和動態(tài)標注的支持。可通過full 控件的finegrained對象訪問 地理編碼功能,或GeocodeServer 對象提供了一個簡化的API。 線性參考功能提供了添加事件到線性特征的對象,并使用多種繪制方法渲染這些事件。 NetworkAnalysis NetworkAnalysis 庫提供的對象在網絡加載到geodatabase 中時,使用網絡數據和對象populating a geodatabase 來分析網絡。該庫是用于utility 網絡的—— gas lines、electricity supply lines 等。ArcGIS Controls 通過封裝 ArcObjects 和提供一個coarsergrained API,簡化了開發(fā)過程。MapControl 和PageLayoutControl分別封裝了Carto 庫中的Map 和 PageLayout 對象。 如果地圖出版商擁有授權許可,那么開發(fā)者可 以訪問Map 和PageLayout 控件的類似方式訪問內部對象。這些功能在ArcGIS Spatial Analyst和ArcGIS 3D Analyst?庫中使用。要求有ArcGIS Spatial Analyst 或3D Analyst 許可才能使用該庫中的對象。Scene 對象是庫中的主要對象之一,因為它與Map 對象類似,是數據的容器。一個場景(scene)包含一個或多個圖層;這些圖層指定 了場景中的數據和數據怎樣繪制。該控件可以與Controls 庫中的對 象聯(lián)合使用。使用該庫中的對象需要3D Analyst 許可 。Globe 對象是庫中的主要對象之一,因為它與Map 對象類似,是數據的容器。Globe 可以有一個或多個圖層;這些圖層指定了Globe 上 的數據和數據怎樣繪制。 二.和 ArcGIS Engine 開發(fā)相關的 C知識 接口編程 使用 ArcGIS Engine,也就意味著使用里面的接口,那么什么是接口呢?在面向對象的編程中,我們都會 接觸到這個玩意兒,我們知道面向對象有三大特性 封裝,繼承,多態(tài),相信很多人在學習多態(tài)的時候, 會接觸接口。 using 。 namespace InterfaceTest { interface IPeople { void gender()。同理我定義兩個類,分別實現(xiàn)這個接口。 using 。 using 。}}}using System。 using 。 namespace InterfaceTest { class Girl:IPeople { public void gender() { (I’m a girl.)。 我們運行一下這個,看一下效果 using System。 using 。 namespace InterfaceTest { class Program { static void Main(string[] args) { IPeople Person。 // 實例化,接口變量中存放對象的引用 ()。 // 實例化,接口變量中存放對象的引用 ()。 } }}運行結果如下: C接口的例子 快速掌握 OMD 我們已經知道使用 ArcGIS Engine 開發(fā),也就意味著我們要和接口打交道,ArcGIS Engine 中提供的接口 和類加起來估計上萬,但是用過 ArcGIS Engine 的人,知道這個數字不為過。 下面圖示中,便是貫穿本節(jié)的對象模型圖的鑰匙。 對象模型圖中提供的信息非常多,是對象瀏覽器中信息的重要補充。所以,對象模型圖是非常有利于讀者對 ArcInfo 組件的理解的! 本書使用 UML 來描述 ArcInfo 組件,即 ArcObjects,并描述你能夠創(chuàng)建的數據模型。 1. 類和對象 在 UML 圖中有三種類型的類:抽象類(abstract class)、組件類(CO class)與普通類(instantiable class)。子類繼承其定義的接口。 普通類:不能創(chuàng)建,從別的對象獲得實例。 組件類:可以直接創(chuàng)建實例的類,在 C中,用 New 關鍵字。 2. 關聯(lián) 在抽象類、可創(chuàng)建類和可實例化類之間,有幾種存在的關聯(lián)(或稱關系)。在兩端的類中可以定義多重性( Multiplicity)關聯(lián)。 多重性關聯(lián)就是限制對象類與其它對象關聯(lián)的數目關系。 上圖說明 primary line 和 secondary line 是 line 的一種類型。 pole 對象有一個方法能夠創(chuàng)建 transformer 對象。 一個 transformer bank 正好有 3 個 transformer 。 組成(Composition)是一種更為強壯的聚合方式,此種方式下,“整體”對象控制著“部分”對象的生存時間。在這個圖中當 pole 被移除后,Crossarm 就不能再使用了。 在 OMD 圖中,我們不僅僅能看到類之間的相互關系,還可以得到屬性的一些信息,如下圖: 屬性和方法: 屬性:啞鈴狀的圖標,Read(左側的實心啞鈴)和 write(右側的實心啞鈴) 屬性除了我們常說的類型,還有一種屬性,這個屬性本身就是一個對象,符號,空心的啞鈴 方法:指向左側的箭頭。類之間有類型繼承(Typelnheritance)關系,接口之間有互相調用(Querylnterface)及相互繼承 (Interfacelnheritance)關系。ArcObjcets 中有三類 class,分別是 、組件類(CoClass)和普通類(Class)。一個組件類 對象可以被直接創(chuàng)建,普通類對象雖然不能直接創(chuàng)建,但它可以可以作為其它類的一個屬性或者從其它類 的實例化來創(chuàng)建。類 實現(xiàn)了接口中的方法。接口定義了能做什么,而定義了該怎么做(The interfacedefines what an object can do, and the class ,在 AO 開發(fā)的時候,和對象間的通信是通過接口完 成的,而不是我們在一些其他面向對象語言如(Java)中和對象的通信是通過對象完成的. 接口查詢(QueryInterface) 一個類可以有多個接口,聲明了接口變量并且指向一個對象的時候,這個變 量只能使用該接口內的方法和屬性,而不能訪問其他接口中的方法和屬性,如: Dim pMap as IMap Set pMap = New Map ‘這里會產生錯誤此時的 pMap 只能使用 IMap 接口中定義的方法和屬性,比如獲取 圖層的個數,添加圖層等,但是不能清空視圖上的內容(因為這個方法是在 IActiveView 中定義的) QueryInterface(QI)很方便的讓我們在一個類的不同接口間進行切換: Dim pView as IActiveView set pView= pMap ‘QI 現(xiàn)在 mView 就可以使用 IActiveView 中定義的方法了. 類類型繼承類型繼承是指類之間的接口類型的繼承,而不是繼承其實現(xiàn)。比如 ShpfileWorkspaceFactry 和 AccessWorkspaceFactry 都繼承 WorkspaceFactry , 而他們的打開(OpenFromFile)方法卻不一樣,ShpfileWorkspaceFactry 的(OpenFromFile)方法需要一個 文件目錄位置作為參數,而 AccessWorkspaceFactry 的(OpenFromFile)方法需要一個數據庫(mdb)位置 作為參數。 快速理解 QI C+QI 的例子 COM 中,和我們打交道的是接口,也就是說類對我們是隱形的,那么我們要做開發(fā),要使用這些功能,我 們只能通過接口,通過接口暴露出來的方法,COM 是一種服務器端/客戶端架構,服務器端定義了操作的方 法,客戶端通過接口調用這些方法。在 COM 中,接口定義了方法,類實現(xiàn)了接口中定義的方法,而一個接口 只能使用自己內部定義的方法,而不能越界,就好比一個班級一樣,這個班級內有班長,有學習委員,有 體育委員,每位干部各司其職,每一位干部負責自己職權范圍之內的事情,各位干部相互協(xié)作,解決班級 內的事情,這班級內的每一位干部就相當于一個接口,而這個班級就相當于實現(xiàn)了這些接口的類。 我定義了兩個接口 using System。 using 。 namespace QITest { interface IFavoriteFood { void Food()。 using 。 using 。}} 然后定義了一個Cat的類實現(xiàn)這里面的方法 using System。 using 。 namespace QITest { class Cat:IFavoriteFood ,IVoice { public void Food() { (我喜歡的食物是老鼠.)。 } }}這個Cat類的功能就是實現(xiàn)兩個接口的方法,貓最喜歡的事物是老鼠,而他的聲音是“喵,喵, 喵”。 using 。 using 。 ()。這個就會報錯,因為 IVoice 接口中沒有這個方法的定義 IFavoriteFood pFavoriteFood = pVoice as IFavoriteFood。//只能調用IFavoriteFood定義的方法 ()。AxLicenseControl 是許可控件,一般 GIS 系統(tǒng)中都必須 添加,否則無法使用。許可控件是首選的,否則無法使用 添加完這幾個控件后,VS 會自動為我們添加一些引用 4)添加地圖文檔(Map 控件右鍵屬性) 5)Toolbar 控件和 Toc 控件與 Map 控件的關聯(lián)(設置 Buddy 屬性) 6)在 Toolbar 中進行設置(Toolbar 控件右鍵屬性Itmes 選項) 7)添加工具命令 在 Toolbar control 上右鍵—屬性在 items 選項卡中添加幾個工具命令 8)運行我們的應用程序,發(fā)現(xiàn)下面的錯誤 出現(xiàn)這個問題的原因是因為 ArcGIS 10 發(fā)生了變化,將下面的語句添加到使用 AO 對象的前面: ()。 在上面,當我們將這些空間拖到窗體中的時候,會自動加載一些 dll,我們知道 ArcGIS Engine 編程,也就意味著和 COM 對象接觸。我們添加一個按鈕: 在這個按鈕的單擊事件中填寫如下代碼: OpenFileDialog OpenMXD = new OpenFileDialog()。 = E:。 if (() == ) { string MxdPath = 。}控件的 LoadMxFile 是用來加載地圖文檔的 我們將剛才寫的代碼封裝成一個函數 public string OpenMxd() { string MxdPath = 。 = 打開地圖。 = Map Documents (*.mxd)|*.mxd。}return MxdPath。 OpenFileDialog OpenShpFile = new OpenFileDialog()。 = E:。 if (() == ) { string ShapPath = 。 string FilePath = (0,Position)。 ShpFile[0] = FilePath。}return ShpFile。 TOCControl 控件和 ToolbarControl 控件分別對應 ArcMap 中的 Table of Con
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1