ArcGISEngine二次開發(fā)入門.ppt
GIS工程設(shè)計(jì)開發(fā)綜合實(shí)習(xí),張文、黃長青 武漢大學(xué)遙感信息工程學(xué)院,基于C#.NET和AO/AE的GIS設(shè)計(jì)與開發(fā),2,Part 5:,ArcGIS Engine二次開發(fā)入門,ArcGIS Engine二次開發(fā)入門,3,5.1 ArcGIS Engine簡介 5.2 ArcGIS Engine開發(fā)起步 5.3 屬性查詢 5.4 空間查詢 5.5 BaseCommand開發(fā)實(shí)例 5.6 BaseTool開發(fā)實(shí)例 5.7 通過代碼添加圖層 5.8 構(gòu)建一個簡單的GIS應(yīng)用 5.9 問題解決方法及幫助文檔的使用,5.6 BaseTool開發(fā)實(shí)例,11,12,14,5.7通過代碼添加圖層,22,5.8 構(gòu)建一個簡單的GIS應(yīng)用,58,59,60,61,62,63,64,5.9 問題解決方法及GIS幫助文檔的使用,65,66,67,68,69,IFeatureClass Interface 這表明IFeatureClass接口是包含在ESRI.ArcGIS.Geodatabase這個類庫中,在編程的時候,如果想使用IFeatureClass接口,則需要首先添加“ESRI.ArcGIS.Geodatabase”的引用,也就是加上“Imports ESRI.ArcGIS.Geodatabase”之類的引用。這樣,當(dāng)您需要使用別的接口時,首先就需要查詢幫助,并將您需要的引用添加到程序中,這也是我們之前編寫程序需要添加一些不同引用的原因。 標(biāo)題下面的第一行是“Provides access to members that control the behavior and properties of a feature class.”,這表明,IFeatureClass接口提供了訪問控制要素類行為和屬性成員的的方法。類似這樣的話能夠讓您迅速明白某個接口的作用。 “Product Availability”指的是產(chǎn)品的使用范圍,這里從緊接這的介紹可以清晰地看到,在ArcGIS Engine,ArcGIS Desktop和ArcGIS Server中都可以使用。 “When To Use”指的是使用這個接口的場合,也可以算接口的綜述。從緊跟著的介紹性文字可以得出,“IFeatureClass接口是獲得和設(shè)置要素類屬性的主要接口。例如,使用IFeatureClass接口能夠得到要素集的類型,獲得滿足某種查詢條件的要素數(shù)量,或者是在要素集中創(chuàng)建一個新的要素。IFeatureClass接口從IObjectClass接口繼承而來?!?“Members”指的是接口下的成員,這包括屬性、方法等。這里我們不能一一給您列舉出來,而是挑選一個作為例子講解。 例如我們看到“Search”成員,這是一個方法,通過對“Search”的描述,我們可以得到,“Search”方法將“返回一個object cursor,其中包含經(jīng)過特定的查詢條件得到的要素對象”。通過這個描述,我們可以大概得出,通過“Search”方法,我們可以從一個要素集中按照一定的查詢條件得到一些特定的要素,供后續(xù)使用。為了獲得更加詳細(xì)的描述,我們點(diǎn)擊,70,71,72,回到IFeatureClass的幫助,在“Members”之后是“Inherited Interfaces”和“Classes that implement IFeatureClass”,分別標(biāo)明了IFeatureClass接口是從何繼承而來以及實(shí)現(xiàn)了IFeatureClass接口的類,根據(jù)COM的標(biāo)準(zhǔn),您可以通過COM原理中的QueryInterface,從IFeatureClass接口查詢得到實(shí)現(xiàn)了該接口的其他接口。 后面的“See Also”代表了與此相關(guān)的一些接口,“Example”(如果有的話)就是具體的示例代碼,通過這些示例,相信您能更快的熟悉接口的使用。 請您參照幫助系統(tǒng),熟悉IMapControl2,IActiveView,IFeatureLayer,IFeatureClass,ISpatialFilter,IFeatureCursor,IFeature,IGeometry等接口,以及這些接口中的屬性、方法等涉及到的其他接口。熟悉和掌握這些常用接口的使用,對您熟悉ArcObjects與迅速掌握ArcObjects的開發(fā)是極有幫助的。,73,如上圖所示,對象模型圖展示了每個對象內(nèi)的各類之間的接口,繼承、派生關(guān)系,屬性及方法之間的聯(lián)系等,是對整個對象最完整的定義。對象模型圖可視化的表達(dá)了ArcObjects的繼承關(guān)系,因而您能識別關(guān)鍵對象,查看哪些對象之間具有聯(lián)系(如對象的創(chuàng)建關(guān)系),理解接口繼承和派生類型的定義,并且找出實(shí)現(xiàn)了一個類所實(shí)現(xiàn)的全部接口。參考對象模型圖與參看幫助系統(tǒng)中具體的接口所獲得的信息是一致的,只不過查看具體的接口信息將更方便獲得具體的使用方法,屬性設(shè)置方法等,而參看對象模型圖是從全局來把握整個對象,更容易找出各接口之間的聯(lián)系和調(diào)用方式等。 對象模型圖的放置路徑為“X:Program FilesArcGISDeveloperKitDiagrams”(X代表ArcGIS安裝所在的盤符)。 對象模型圖的書寫類似于UML圖,對象模型圖中也對其基本規(guī)則也有所解釋,因而UML的具體語法規(guī)則、定義等這里不再贅述,如果需要更加詳細(xì)的信息,您可以參考UML方面的相關(guān)書籍,或者參考Exploring ArcObjects中的相關(guān)章節(jié)。,74,End, Thanks!,