




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、PIESDKForDonetV5.0二次開發(fā)指南PIESDKForDonetV5.0二次開發(fā)指南北京航天宏圖信息技術(shù)股份有限公司2018年08月目錄TOC o 1-5 h z HYPERLINK l bookmark4 1PIE的體系結(jié)構(gòu)10 HYPERLINK l bookmark6 PIE產(chǎn)品概述10 HYPERLINK l bookmark8 PIE二次開發(fā)說明11 HYPERLINK l bookmark10 PIESDK組件庫(kù)13 HYPERLINK l bookmark12 Utility庫(kù)14 HYPERLINK l bookmark14 SystemUI庫(kù)14 HYPERLIN
2、K l bookmark16 Geometry庫(kù)14 HYPERLINK l bookmark18 Display庫(kù)14 HYPERLINK l bookmark20 DataSource庫(kù)15 HYPERLINK l bookmark22 Carto庫(kù)15 HYPERLINK l bookmark24 AxControls庫(kù)15 HYPERLINK l bookmark26 Controls庫(kù)16 HYPERLINK l bookmark28 ControlsUI庫(kù)16 HYPERLINK l bookmark30 SystemAlgo庫(kù)16 HYPERLINK l bookmark32 C
3、ommonAlgo庫(kù)17 HYPERLINK l bookmark34 ImagePreProcess庫(kù)17 HYPERLINK l bookmark36 ImageTransform庫(kù)17 HYPERLINK l bookmark38 Framework庫(kù)17 HYPERLINK l bookmark40 PIESDK中的控件18 HYPERLINK l bookmark42 地圖控件介紹18 HYPERLINK l bookmark44 IMapControl接口19 HYPERLINK l bookmark98 IMapControlEvents接口29 HYPERLINK l book
4、mark100 IPmdContents接口30 HYPERLINK l bookmark118 圖層樹控件介紹32 HYPERLINK l bookmark120 ITOCControl接口32 HYPERLINK l bookmark126 制圖控件介紹34 HYPERLINK l bookmark128 IPageLayoutControl接口35 HYPERLINK l bookmark160 IPageLayoutControlEvents接口40 HYPERLINK l bookmark162 IPmdContents接口403.4控件應(yīng)用實(shí)例40地圖管理(添加圖層、刪除圖層、移動(dòng)
5、圖層)40地圖操作(地圖放大、地圖縮小、地圖平移、全圖顯示)44繪制圖形(繪制點(diǎn)、繪制線、繪制面、繪制矩形對(duì)象)48鷹眼圖功能實(shí)現(xiàn)51數(shù)據(jù)查詢和選擇(點(diǎn)選、矩形選擇、清除選擇、名稱選擇)543.4.6圖層樹控件和地圖控件關(guān)聯(lián)583.4.7圖層樹控件右擊查看圖層信息603.4.8制圖控件的地圖及制圖操作613.4.9圖層樹控件右鍵菜單693.4.10地圖控件右鍵菜單73 HYPERLINK l bookmark164 4地圖組成76 HYPERLINK l bookmark166 4.1地圖的雙重身份76 HYPERLINK l bookmark168 IMap接口77 HYPERLINK l
6、bookmark206 IActiveView接口84 HYPERLINK l bookmark296 IActiveViewEvents接口101 HYPERLINK l bookmark314 IGraphicsContainer接口104 HYPERLINK l bookmark368 IGraphicsContainerEvents接口116 HYPERLINK l bookmark386 4.1.6應(yīng)用案例118 HYPERLINK l bookmark390 4.2地圖以層劃分119 HYPERLINK l bookmark392 ILayer接口120 HYPERLINK l b
7、ookmark418 IFeatureLayer接口124 HYPERLINK l bookmark436 IRasterLayer接口126 HYPERLINK l bookmark446 IMultiLayer接口128 HYPERLINK l bookmark466 IGraphicLayer接口131 HYPERLINK l bookmark468 IGroupLayer接口131 HYPERLINK l bookmark482 IArcGISImageTiledLayer接口134 HYPERLINK l bookmark484 IBingMapsTiledLayer接口134 HY
8、PERLINK l bookmark490 ICustomerOnlineTiledLayer接口135 HYPERLINK l bookmark498 IHTHTTiledLayer接口136 HYPERLINK l bookmark506 LayerFactory類138 HYPERLINK l bookmark518 4.2.12應(yīng)用案例141 HYPERLINK l bookmark532 4.3地圖顯示幕后推手144 HYPERLINK l bookmark534 IDisplayTransformation接口145 HYPERLINK l bookmark556 ITransfo
9、rmEvents接口149 HYPERLINK l bookmark570 4.3.3應(yīng)用案例150 HYPERLINK l bookmark574 4.4地圖排版151 HYPERLINK l bookmark576 IPageLayout接口151 HYPERLINK l bookmark646 IPage接口166 HYPERLINK l bookmark678 IPageEvents接口173 HYPERLINK l bookmark688 IBackground接口174 HYPERLINK l bookmark704 IBorder接口177 HYPERLINK l bookmar
10、k720 IFrameElement接口179 HYPERLINK l bookmark726 IFrameProperties接口181 HYPERLINK l bookmark734 IMapFrameElement接口181 HYPERLINK l bookmark738 IPaper接口182 HYPERLINK l bookmark746 IPrinter接口183 HYPERLINK l bookmark778 IRulerSettings接口188 HYPERLINK l bookmark784 IShadow接口189 HYPERLINK l bookmark800 ISymb
11、olBackground接口192 HYPERLINK l bookmark806 ISymbolBorder接口193 HYPERLINK l bookmark812 ISymbolShadow接口193 HYPERLINK l bookmark818 IMapSurround接口194 HYPERLINK l bookmark844 IMapSurroundFrame接口198 HYPERLINK l bookmark852 IMarkerNorthArrow接口200 HYPERLINK l bookmark856 INorthArrow接口200 HYPERLINK l bookmar
12、k866 5幾何對(duì)象和空間參考202 HYPERLINK l bookmark868 Geometry對(duì)象202 HYPERLINK l bookmark870 IGeometry接口204 HYPERLINK l bookmark890 ITransform2D接口210 HYPERLINK l bookmark898 Envelope對(duì)象212 HYPERLINK l bookmark900 IEnvelope接口212 HYPERLINK l bookmark926 5.2.2應(yīng)用案例217 HYPERLINK l bookmark930 5.3點(diǎn)對(duì)象217 HYPERLINK l bo
13、okmark932 IPoint接口218 HYPERLINK l bookmark940 5.3.2應(yīng)用案例220 HYPERLINK l bookmark944 5.4線對(duì)象221 HYPERLINK l bookmark946 ICurve接口221 HYPERLINK l bookmark958 IPointCollection接口224 HYPERLINK l bookmark982 IPolyline接口231 HYPERLINK l bookmark984 IArc接口231 HYPERLINK l bookmark1008 ISplineCurve接口234 HYPERLINK
14、 l bookmark1010 IRing接口234 HYPERLINK l bookmark1016 應(yīng)用案例235 HYPERLINK l bookmark1024 面對(duì)象238 HYPERLINK l bookmark1026 ISurface接口238 HYPERLINK l bookmark1034 IEllipse接口240 HYPERLINK l bookmark1050 IPolygon接口242 HYPERLINK l bookmark1066 應(yīng)用案例246 HYPERLINK l bookmark1072 集合接口248 HYPERLINK l bookmark1074
15、IGeometryCollection接口248 HYPERLINK l bookmark1088 IMultiPoint接口251 HYPERLINK l bookmark1112 IMultiPolyline接口257 HYPERLINK l bookmark1114 IMultiPolygon接口257 HYPERLINK l bookmark1116 應(yīng)用案例258 HYPERLINK l bookmark1124 關(guān)系運(yùn)算260 HYPERLINK l bookmark1130 ISpatialRelation接口263 HYPERLINK l bookmark1148 拓?fù)潢P(guān)系26
16、7 HYPERLINK l bookmark1152 ISpatialTopological接口270 HYPERLINK l bookmark1174 應(yīng)用案例275 HYPERLINK l bookmark1178 5.9空間坐標(biāo)系及變換275 HYPERLINK l bookmark1180 ISpatialReference接口278 HYPERLINK l bookmark1210 IGeographicCoordinateSystem接口283 HYPERLINK l bookmark1246 ISpheroid接口289 HYPERLINK l bookmark1256 IDat
17、um接口290 HYPERLINK l bookmark1262 IPrimeMeridian接口290 HYPERLINK l bookmark1268 IAngularUnit接口291 HYPERLINK l bookmark1274 IProjectedCoordinateSystem接口291 HYPERLINK l bookmark1310 IProjection接口297 HYPERLINK l bookmark1324 ILinearUnit接口298 HYPERLINK l bookmark1330 ICoordinateTransformation接口298 HYPERLI
18、NK l bookmark1340 5.9.11應(yīng)用案例300 HYPERLINK l bookmark1344 6地圖顯示302 HYPERLINK l bookmark1346 6.1地圖標(biāo)注302 HYPERLINK l bookmark1348 IAnnotateLayerProperties接口302 HYPERLINK l bookmark1362 6.2符號(hào)和符號(hào)庫(kù)303 HYPERLINK l bookmark1364 IMarkerSymbol接口303 HYPERLINK l bookmark1384 IArrowMarkerSymbol接口307 HYPERLINK l
19、bookmark1394 ICharacterMarkerSymbol接口308 HYPERLINK l bookmark1404 ISimpleMarkerSymbol接口310 HYPERLINK l bookmark1418 IPictureMarkerSymbol接口312 HYPERLINK l bookmark1430 IMultiLayerMarkerSymbol接口314 HYPERLINK l bookmark1462 ILineSymbol接口321 HYPERLINK l bookmark1482 ICartographicLineSymbol接口324 HYPERLIN
20、K l bookmark1496 ISimpleLineSymbol接口327 HYPERLINK l bookmark1504 IMarkerLineSymbol接口328 HYPERLINK l bookmark1518 IPictureLineSymbol接口331 HYPERLINK l bookmark1532 IMultiLayerLineSymbol接口333 HYPERLINK l bookmark1554 IFillSymbol接口339 HYPERLINK l bookmark1568 ISimpleFillSymbol接口342 HYPERLINK l bookmark1
21、576 IMarkerFillSymbol接口343 HYPERLINK l bookmark1588 ILineFillSymbol接口345 HYPERLINK l bookmark1602 IPictureFillSymbol接口347 HYPERLINK l bookmark1628 IMultiLayerFillSymbol接口350 HYPERLINK l bookmark1654 ITextSymbol接口356 HYPERLINK l bookmark1678 IFormattedTextSymbol接口360 HYPERLINK l bookmark1716 ICallout
22、接口365 HYPERLINK l bookmark1718 IBalloonCallout接口365 HYPERLINK l bookmark1728 ITextBackground接口367 HYPERLINK l bookmark1744 StyleGallery類370 HYPERLINK l bookmark1750 6.2.25應(yīng)用案例372 HYPERLINK l bookmark1788 Element對(duì)象395 HYPERLINK l bookmark1786 IElement接口395 HYPERLINK l bookmark1826 IMarkerElement接口403
23、 HYPERLINK l bookmark1830 ILineElement接口403 HYPERLINK l bookmark1834 ICurveElement接口404 HYPERLINK l bookmark1838 IPolygonElement接口404 HYPERLINK l bookmark1842 IEllipseElement接口404 HYPERLINK l bookmark1846 ICircleElement接口405 HYPERLINK l bookmark1850 IRectangleElement接口405 HYPERLINK l bookmark1854 IP
24、ictureElement接口405 HYPERLINK l bookmark1864 ITextElement接口407 HYPERLINK l bookmark1870 IArrowElement接口407 HYPERLINK l bookmark1876 ILineArrowElement接口408 HYPERLINK l bookmark1882 6.3.13應(yīng)用案例408 HYPERLINK l bookmark1900 7空間數(shù)據(jù)管理418 HYPERLINK l bookmark1902 7.1空間數(shù)據(jù)組織管理418 HYPERLINK l bookmark1920 IDatas
25、et接口419 HYPERLINK l bookmark1968 IFeatureDataset接口421 HYPERLINK l bookmark2008 IFeatureClass接口430IFeatureClassEvents接口439 HYPERLINK l bookmark2016 IFeature接口439IFields接口444IField接口451 HYPERLINK l bookmark2080 IQueryFilter接口453 HYPERLINK l bookmark2144 IEditor接口455 HYPERLINK l bookmark2110 IEditEvent
26、s接口458 HYPERLINK l bookmark2122 IEditProperties接口459 HYPERLINK l bookmark2138 IEditSketch接口461IEditTrace接口462 HYPERLINK l bookmark2160 ISnapEnviroment接口463 HYPERLINK l bookmark2170 IRasterDataset接口467 HYPERLINK l bookmark2240 IRasterBand接口483 HYPERLINK l bookmark2272 IColorTable接口490 HYPERLINK l boo
27、kmark2284 IColorEntry接口492 HYPERLINK l bookmark2286 DatasetFactory類493 HYPERLINK l bookmark2308 DataSourceUtil類498 HYPERLINK l bookmark2316 7.1.20應(yīng)用案例501 HYPERLINK l bookmark2340 7.2空間數(shù)據(jù)顯示管理517 HYPERLINK l bookmark2342 7.2.1IFeatureRender接口518 HYPERLINK l bookmark2354 IFeatureSimpleSymbolRender接口520
28、 HYPERLINK l bookmark2366 IFeatureUniqueValueRender接口522 HYPERLINK l bookmark2410 IFeatureClassBreaksRender接口530 HYPERLINK l bookmark2440 IRasterRender接口535 HYPERLINK l bookmark2458 IRasterRGBRender接口539 HYPERLINK l bookmark2480 IRasterStretchColorRampRender接口541 HYPERLINK l bookmark2488 IRasterColo
29、rmapRender接口542 HYPERLINK l bookmark2498 IRasterClassifyColorRampRender接口544 HYPERLINK l bookmark2510 IRasterUniqueValueRender接口545 HYPERLINK l bookmark2532 IRasterDiscreteColorRender接口548 HYPERLINK l bookmark2536 IUniqueValues接口548 HYPERLINK l bookmark2548 RenderFactory類551 HYPERLINK l bookmark2558
30、 7.2.14應(yīng)用案例553 HYPERLINK l bookmark2578 8插件管理562 HYPERLINK l bookmark2580 8.1ICommand接口562 HYPERLINK l bookmark2582 ITool接口563 HYPERLINK l bookmark2584 ICommandControl接口563 HYPERLINK l bookmark2586 8.4應(yīng)用案例566PIESDKForDonetV5.0二次開發(fā)指南 1PIE的體系結(jié)構(gòu)PIE的全稱是PixelInformationExpert,中文是像素信息專家。它是北京航天宏圖信息技術(shù)股份有限公司
31、自主研制的完全自主知識(shí)產(chǎn)權(quán)的一套產(chǎn)品,可提供從數(shù)據(jù)準(zhǔn)備、數(shù)據(jù)處理、監(jiān)測(cè)產(chǎn)品提取與分析到專題圖表生成的一體化解決方案。1.1PIE產(chǎn)品概述圖1-1PIE產(chǎn)品家族PIE是一款遙感圖像處理軟件,其致力于遙感工程化應(yīng)用,是一套高度自動(dòng)化、簡(jiǎn)單易用的遙感工程化應(yīng)用平臺(tái)(能夠?qū)崿F(xiàn)從數(shù)據(jù)準(zhǔn)備到專題圖生產(chǎn)的一體化解決方案,在遙感工程化應(yīng)用過程中,強(qiáng)調(diào)多源多時(shí)相異構(gòu)數(shù)據(jù)源的相互支撐性、上下文完整性和歷史持續(xù)性)。新一代的PIE產(chǎn)品可隨心所欲的擴(kuò)展新功能,底層統(tǒng)一由C+進(jìn)行編寫,對(duì)外提供C+和.NET的二次開發(fā)包,PIE桌面和C+SDK實(shí)現(xiàn)了跨平臺(tái)的應(yīng)用,支持Windows、Linux、中標(biāo)麒麟等操作系統(tǒng),同時(shí)也
32、實(shí)現(xiàn)了方便、快捷的國(guó)際化多語(yǔ)言支持。新一代的PIE產(chǎn)品實(shí)現(xiàn)了遙感和GIS的一體化結(jié)合,提供強(qiáng)大的GIS功能,同時(shí)也提供了豐富、穩(wěn)定、專業(yè)的遙感圖像處理算法及信息智能提取工具,全面提升了影像價(jià)值。1.2PIE二次開發(fā)說明PIESDK是一套PIE的可重用的通用的二次開發(fā)組件集,其采用“微內(nèi)核+插件”式架構(gòu),功能模塊之間低耦合,交互方便,PIE的程序員們利用PIESDK將不同的GIS功能結(jié)合各種圖形處理算法開發(fā)了PIE這套軟件。PIESDK是PIE軟件的核心,從理論上講,如果水平足夠高,也可以利用PIESDK開發(fā)出一套PIE軟件。石14300.7314J35207B.3032HIV4匸莖藺試用飯F(tuán)J
33、lftSd中心IE丈中心環(huán):-V灣営會(huì)城市擊hp區(qū)亠主爲(wèi)話再主郭淄咖V沱主要河海由P肚圜維中囲胡泊擊hp-匣注就行政區(qū)托hp*導(dǎo)lapVCN54iH9a.0Da至靈曲E*WbSSttTB隣対讀更卿贈(zèng)祜閩-七BkFW5&再HSE鈿縣示1:15示后一峑席圖1-2PIE桌面產(chǎn)品主界面PIESDK目前包含C+和.Net兩個(gè)版本。兩個(gè)版本都支持插件式開發(fā)和組件式開發(fā)。插件式開發(fā)方式插件式開發(fā)簡(jiǎn)單,用戶不用搭建界面,可直接應(yīng)用PIE桌面應(yīng)用程序的界面。用戶需要了解PIE桌面軟件的插件規(guī)則就可以把自己的插件集成到PIE桌面軟件中,這種方式解放了開發(fā)者對(duì)應(yīng)用程序界面的搭建,使得開發(fā)者擁有更多的時(shí)間去完成算法和
34、插件的開發(fā)工作。組件式開發(fā)方式組件式開發(fā)允許用戶自定義應(yīng)用程序界面,開發(fā)難度相對(duì)插件式開發(fā)要大,適合對(duì)應(yīng)用程序界面具有較高要求的用戶。本教程主要介紹組件式二次開發(fā),組件式二次開發(fā)掌握了,插件式二次開發(fā)就不在話下了。2PIESDK組件庫(kù)PIESDK米用分層架構(gòu)的設(shè)計(jì)方式,PIE中包含了眾多的接口、類、方法、類型(統(tǒng)稱為對(duì)象),這些對(duì)象很多在功能上是相似或者相近的,為了更好的管理這些對(duì)象,PIE的設(shè)計(jì)者們把他們放置在了不同的組件庫(kù)中(從.Net的角度來(lái)看,他們被組織到同一個(gè)命名空間中)。1FrameworkPIEApplication一算法層丿.廣S、A1L./插件層.通用層基礎(chǔ)層在學(xué)習(xí)PIE的二
35、次開發(fā)過程中,需要不斷了解這些庫(kù)本身及庫(kù)與庫(kù)之間的關(guān)系,下面將對(duì)這些組件庫(kù)做簡(jiǎn)要的介紹:Utility庫(kù)Utility庫(kù)主要放在PIE.Utility.dll中,是PIE框架中最底層的一個(gè)庫(kù),提供了可以被其他組件庫(kù)應(yīng)用的一些對(duì)象。如PIE基礎(chǔ)對(duì)象類PIEObject、通用數(shù)學(xué)運(yùn)算類、數(shù)值單位轉(zhuǎn)換等。SystemUI庫(kù)SystemUI庫(kù)主要存放在PIE.SystemUI.dll中,其定義了一些被PIE用戶界面組件所使用的對(duì)象,如ICommand、ITool、ICommandControl、ITrackerCancel等。Geometry庫(kù)Geometry庫(kù)主要存放在PIE.Geometry.dl
36、l中,其包含了核心的幾何形體對(duì)象,如點(diǎn)、線、面等。即PIE中要素和圖形要素的幾何形體都可以在這個(gè)組件庫(kù)中找到。除此之外,該庫(kù)還包含了空間參考對(duì)象,包括GeographicCoordinateSystem(幾何坐標(biāo)系統(tǒng))、ProjectedCoordinateSystem(投影坐標(biāo)系統(tǒng))和CoordinateTransformation(地理變換對(duì)象)等。幾何形體對(duì)象和空間參考內(nèi)容是PIE中比較重要的部分,后續(xù)會(huì)有專門的章節(jié)對(duì)此進(jìn)行介紹。Display庫(kù)Display庫(kù)主要存放在PIE.Display.dll中,其包含了在設(shè)備上顯示圖形所需要的對(duì)象。包括Symbol對(duì)象和DisplayTrans
37、formation對(duì)象。Symbol對(duì)象是用于修飾幾何形體對(duì)象的,任何一種幾何形體都必須使用某種Symbol才能顯示在視圖上。DisplayTransformation對(duì)象是地圖顯示的“幕后推手”,它直接管理了地圖數(shù)據(jù)的繪制和顯示。其內(nèi)容會(huì)在后續(xù)的章節(jié)中做詳細(xì)的介紹。DataSource庫(kù)DataSource庫(kù)主要存放在PIE.DataSource.dll中,其包含的對(duì)象是用于讀取和操作地理數(shù)據(jù)庫(kù)的。這個(gè)庫(kù)中包含了核心的地理數(shù)據(jù)對(duì)象,如FeatureDataset、FeatureClass、Feature、Fields、Field、RasterDataset、RasterBand、ColorE
38、ntry、ColorTable等。這些對(duì)象由于種類眾多,而且在PIE中占有重要的地位,本教程會(huì)在后續(xù)的章節(jié)中做詳細(xì)的介紹。Carto庫(kù)Carto庫(kù)主要存放在PIE.Carto.dll中,其包含了為數(shù)據(jù)顯示而服務(wù)的各種組件對(duì)象,如MapDocument、PageLayout、Map、Layer、Render、Element等。Carto庫(kù)中包含的對(duì)象種類繁多,地位突出,本教程會(huì)在后續(xù)中對(duì)其進(jìn)行詳細(xì)的介紹。AxControls庫(kù)AxControls庫(kù)主要存放在PIE.AdapterUICLR.dll、PIE.AdapterUI.dll中。它包含了在程序開發(fā)中可以使用的可視化組件對(duì)象,如PIE.Ad
39、apterUICLR.dll中主要包含了MapControl、PageLayoutControl控件,這兩個(gè)對(duì)象是地圖顯示的重點(diǎn);而PIE.AdapterUI.dll中主要包含了TOCContro1控件,本教程后續(xù)章節(jié)會(huì)對(duì)其進(jìn)行詳細(xì)的講解。Controls庫(kù)Contro1s庫(kù)主要放在PIE.Contro1s.d11、PIE.Contro1sEx.d11中,其主要定義了一些PIE已經(jīng)實(shí)現(xiàn)的Command、Tool和Control,如地圖縮放、元素繪制、量算、矢量編輯的創(chuàng)建矢量數(shù)據(jù)、編輯矢量數(shù)據(jù)、編輯要素節(jié)點(diǎn)等常用功能和工具。其中PIE.Contro1s.dll中的對(duì)象是和界面相關(guān)的而不依賴應(yīng)用程
40、序框架的,而PIE.Contro1sEx.dll中的對(duì)象是和界面無(wú)關(guān)的。ControlsUI庫(kù)ControlsUI庫(kù)主要放在PIE.Contro1sUI.dll中,其主要定義了PIE一些已經(jīng)實(shí)現(xiàn)的與界面框架相關(guān)的Command和Control,如打開地圖文檔、保存地圖文檔、元素字體、顏色控件等。因此PIE.ControlsUI.dll中的對(duì)象是和界面相關(guān)的而依賴應(yīng)用程序框架的,不是我們組件式二次開發(fā)的主要內(nèi)容,在此不做詳細(xì)介紹。SystemAlgo庫(kù)SystemAlgo庫(kù)主要存放在PIE.SystemAlgo.dll中,其主要定義了ISystemAlgo接口和AlgoFactory,主要服務(wù)于
41、圖像處理功能的開發(fā),ISystemAlgo接口是算法的基礎(chǔ)接口,AlgoFactory對(duì)象主要完成對(duì)各種算法的同步或異步執(zhí)行的管理。其在后面的章節(jié)中也會(huì)有更詳細(xì)的介紹。CommonAlgo庫(kù)CommonAlgo庫(kù)主要存放在PIE.CommonAlgo.dll中,其包含了PIE桌面版中幾乎所有的圖像處理的算法。ImagePreProcess庫(kù)ImagePreProcess庫(kù)主要存放在PIE.ImagePreProcess.dll中,其包含了PIE桌面版中圖像預(yù)處理的相關(guān)算法界面和算法CommandoImageTransform庫(kù)ImageTransform庫(kù)主要存放在PIE.ImageTrans
42、form.dll中,其包含了PIE桌面版中圖像轉(zhuǎn)換的相關(guān)算法界面和算法CommandoFramework庫(kù)Framework庫(kù)主要存放在PIE.Framework.dll中,其包含了PIE桌面版中用戶應(yīng)用程序架構(gòu)設(shè)計(jì)的相關(guān)內(nèi)容,如Application、ICommandManager等,這些不作為本教程的重點(diǎn)。3PIESDK中的控件為了快速的搭建一個(gè)GIS應(yīng)用程序,PIESDK給開發(fā)者提供了一些可視化的控件,如地圖控件MapControl、圖層樹控件TOCControl、制圖控件PageLayoutControl等。MapControl控件主要用于地圖數(shù)據(jù)的顯示和分析,TOCControl主要
43、用于顯示數(shù)據(jù)的組織結(jié)構(gòu),PageLayoutControl主要用于地圖制圖與專題圖的輸出。3.1地圖控件介紹MapControl控件封裝了一個(gè)Map對(duì)象,并提供了其他屬性、方法和事件,用于管理控件的外觀、顯示屬性、圖層屬性、管理數(shù)據(jù)圖層、加載地圖文檔等。MapControl實(shí)現(xiàn)的接口包括:IMapControl、IMapControlEvents、IPmdContents。IMapControl接口IMapControl接口是地圖控件的基礎(chǔ)接口,當(dāng)MapControl控件拖放到容器上時(shí),會(huì)自動(dòng)創(chuàng)建一個(gè)mapControl對(duì)象,該對(duì)象全部繼承父類接口的方法和屬性,當(dāng)需要使用這個(gè)接口的時(shí)候可以通過
44、以下方法來(lái)完成:IMapControlmapControl=null;mapControl=mapControl1;classAxControlsinterfaceIMapControl+AddLayerFromFile(System:Stringint):bool+AddLayer(PIE:Carto:ILayerA,int):void+LoadPmdile(System:StringA):void+CenterAt(PIE:Geometry:IPointA):void+ClearLayers():void+DeleteLayer(int):void+GetLayer(int):PIE:Ca
45、rto:ILayerA+MoveLayerTo(int,int):void+DrawShape(PIE:Geometry:IGeometryA,PIE:Display:ISymbolA):void+DrawText(PIE:Geometry:IGeometryA,System:StringA,PIE:Display:ITextSymbolA):void+FlashShape(PIE:Geometry:IGeometryA,int,int,PIE:Display:ISymbolA):void+FromMapPoint(PIE:Geometry:IPointA,int%,int%):void+To
46、MapPoint(int,int):PIE:Geometry:IPointA+PartialRefresh(PIE:Carto:ViewDrawPhaseType):void+ForceRefresh():voidproperty+FocusMap():PIE:Carto:IMapA+ActiveView():PIE:Carto:IActiveViewA+Extent():PIE:Geometry:IEnvelopeA+FullExtent():PIE:Geometry:IEnvelopeA+MapScale():double+MapUnits():PIE:SystemUI:PieUnits+
47、SpatialReference():PIE:Geometry:ISpatialReferenceALoadPmdFile方法函數(shù)原型:voidLoadPmdFile(StringpmdPath);函數(shù)說明:該方法用于在當(dāng)前地圖顯示控件中加載工程文檔,參數(shù)為目標(biāo)文檔路徑。參數(shù)說明:名稱說明pmdPath目標(biāo)工程文檔路徑AddLayerFromFile方法函數(shù)原型:boolAddLayerFromFile(StringfilePath,inttolndex);函數(shù)說明:該方法用于在當(dāng)前地圖顯示控件中通過文件路徑添加圖層,參數(shù)為目標(biāo)文件路徑及添加到的索引值。參數(shù)說明:名稱說明filePath目標(biāo)文
48、件路徑toIndex目標(biāo)文件所要添加到的索引值返回值添加成功時(shí)為true,否則為falseAddLayer方法函數(shù)原型:voidAddLayer(ILayerlayer,inttoIndex);函數(shù)說明:該方法用于在當(dāng)前地圖顯示控件中添加圖層,參數(shù)為目標(biāo)圖層對(duì)象及所要添加到的索引值。參數(shù)說明:名稱說明layer目標(biāo)圖層對(duì)象tolndex目標(biāo)圖層所要添加到的索引值MoveLayerTo方法函數(shù)原型:voidMoveLayerTo(intfromlndex,inttolndex);函數(shù)說明:該方法用于移動(dòng)當(dāng)前地圖顯示控件中某個(gè)圖層,參數(shù)分別為該圖層原來(lái)位置索引值及目標(biāo)位置索引值。參數(shù)說明:名稱說明
49、fromIndex目標(biāo)圖層原來(lái)位置索引值toIndex目標(biāo)圖層所要移動(dòng)位置的索引值DeleteLayer方法函數(shù)原型:voidDeleteLayer(intindex);函數(shù)說明:該方法用于刪除當(dāng)前地圖顯示控件中某個(gè)圖層,參數(shù)為該目標(biāo)圖層索引。參數(shù)說明:名稱說明index目標(biāo)圖層索引值ClearLayers方法函數(shù)原型:voidClearLayers();函數(shù)說明:該方法用于清除當(dāng)前地圖顯示控件中所有圖層GetLayer方法函數(shù)原型:ILayerGetLayer(intindex);函數(shù)說明:該方法用于獲得當(dāng)前地圖顯示控件中某個(gè)圖層,參數(shù)為目標(biāo)圖層索引值。參數(shù)說明:名稱說明index目標(biāo)圖層索
50、引值返回值獲得的目標(biāo)圖層對(duì)象DrawShape方法函數(shù)原型:voidDrawShape(IGeometryshape,ISymbolsymbol);函數(shù)說明:該方法用于在當(dāng)前地圖顯示控件中繪制圖形,參數(shù)為所要繪制的幾何圖形對(duì)象及符號(hào)樣式對(duì)象。參數(shù)說明:名稱說明shape目標(biāo)幾何圖形對(duì)象symbol目標(biāo)符號(hào)樣式對(duì)象DrawText方法函數(shù)原型:voidDrawText(IGeometrygeometry,Stringtext,ITextSymbolsymbol);函數(shù)說明:該方法用于在當(dāng)前地圖顯示控件中繪制文字,參數(shù)為目標(biāo)幾何圖形要素、目標(biāo)文字及目標(biāo)文字符號(hào)樣式。參數(shù)說明:名稱說明geometr
51、y目標(biāo)幾何圖形對(duì)象text目標(biāo)文字symbol目標(biāo)符號(hào)樣式對(duì)象TrackLine方法函數(shù)原型:IPolylineTrackLine();函數(shù)說明:該方法用于在當(dāng)前地圖顯示控件中繪制Line,線類型幾何圖形及符號(hào)樣式。參數(shù)說明:名稱說明返回值獲得的線幾何對(duì)象TrackCircle方法函數(shù)原型:IEllipseTrackCircle();函數(shù)說明:該方法用于在當(dāng)前地圖顯示控件中繪制圓,圓類型幾何圖形及符號(hào)樣式。參數(shù)說明:名稱說明返回值獲得的圓幾何對(duì)象TrackPolygon方法函數(shù)原型:【PolygonTrackPolygon();函數(shù)說明:該方法用于在當(dāng)前地圖顯示控件中繪制多邊形對(duì)象,多邊形類型
52、幾何圖形及符號(hào)樣式。參數(shù)說明:名稱說明返回值獲得的多邊形幾何對(duì)象TrackRectangle方法函數(shù)原型:【EnvelopeTrackRectangle();函數(shù)說明:該方法用于在當(dāng)前地圖顯示控件中繪制矩形對(duì)象的包絡(luò)范圍,矩形類型幾何圖形及符號(hào)樣式。參數(shù)說明:名稱說明返回值獲得的矩形對(duì)象的包絡(luò)范圍FlashShape方法函數(shù)原型:voidFlashShape(IGeometryshape,intnFlashes,intflashinterval,ISymbolsymbol);函數(shù)說明:該方法用于當(dāng)前地圖顯示控件中圖形閃現(xiàn),參數(shù)為目標(biāo)幾何圖像要素、顯示的次數(shù)、每次顯示的間隔及目標(biāo)符號(hào)樣式。參數(shù)說
53、明:名稱說明shape目標(biāo)幾何圖形對(duì)象nFlashes顯示的次數(shù)flashinterval每次顯示的間隔symbol目標(biāo)符號(hào)樣式對(duì)象FromMapPoint方法函數(shù)原型:voidFromMapPoint(IPointpt,refintx,refinty);函數(shù)說明:該方法用于將當(dāng)前地圖顯示控件中某個(gè)地圖點(diǎn)轉(zhuǎn)化為屏幕點(diǎn),參數(shù)為目標(biāo)地圖點(diǎn)對(duì)象及對(duì)應(yīng)的屏幕點(diǎn)X、Y坐標(biāo)值。參數(shù)說明:名稱說明pt目標(biāo)地圖點(diǎn)對(duì)象屏幕點(diǎn)X坐標(biāo)值y屏幕點(diǎn)Y坐標(biāo)值ToMapPoint方法函數(shù)原型:IPointToMapPoint(intx,inty);函數(shù)說明:該方法用于將當(dāng)前地圖顯示控件中某個(gè)屏幕點(diǎn)轉(zhuǎn)化為地圖點(diǎn),參數(shù)為該屏幕
54、點(diǎn)的X、Y坐標(biāo)值。參數(shù)說明:名稱說明屏幕點(diǎn)X坐標(biāo)值屏幕點(diǎn)Y坐標(biāo)值返回值轉(zhuǎn)化完成的地圖點(diǎn)對(duì)象CenterAt方法函數(shù)原型:voidCenterAt(IPointcenterPoint);函數(shù)說明:該方法用于將當(dāng)前地圖顯示控件以某點(diǎn)為中心顯示,參數(shù)為該目標(biāo)點(diǎn)對(duì)象。參數(shù)說明centerPoint目標(biāo)中心點(diǎn)對(duì)象PartialRefresh方法函數(shù)原型:voidPartialRefresh(ViewDrawPhaseTypedpType);函數(shù)說明:該方法用于刷新當(dāng)前地圖顯示控件,參數(shù)為刷新類型。參數(shù)說明:名稱說明dpType刷新類型ForceRefresh方法函數(shù)原型:voidForceRefresh
55、();函數(shù)說明:該方法用于強(qiáng)制刷新當(dāng)前地圖顯示控件。FocusMap屬性獲取或者設(shè)置當(dāng)前地圖顯示控件的焦點(diǎn)地圖ActiveView屬性獲取或者設(shè)置當(dāng)前地圖顯示控件的活動(dòng)視圖。Extent屬性獲取或者設(shè)置當(dāng)前地圖顯示控件的范圍。FullExtent屬性獲取或者設(shè)置當(dāng)前地圖顯示控件的全圖范圍。SpatialReference屬性獲取或者設(shè)置當(dāng)前地圖顯示控件的空間參考。MapScale屬性獲取或者設(shè)置當(dāng)前地圖顯示控件的地圖比例尺。MapUnits屬性獲取或者設(shè)置當(dāng)前地圖顯示控件的地圖單位。IMapControlEvents接口IMapControlEvents接口是一個(gè)事件接口,它定義了MapCon
56、trol能夠處理的全部事件,如OnKeyDownEvent、OnKeyUpEvent、OnMouseDownEvent、OnMouseUpEvent、OnMouseMoveEvent、OnMouseEnterEvent、OnDoubleClickEvent等。IPmdContents接口IPmdContents接口是用來(lái)管理地圖工程文檔及制圖模板的基礎(chǔ)接口。它扮演者地理數(shù)據(jù)顯示和地理數(shù)據(jù)容器的雙重身份,通過文檔對(duì)象的ActiveView屬性獲得Map的數(shù)據(jù)顯示身份,而FocusMap屬性獲得當(dāng)前正在使用的數(shù)據(jù)容器身份。一個(gè)文檔對(duì)象可能擁有多個(gè)Map對(duì)象,但是在同一時(shí)刻內(nèi)僅僅只能有一份地圖處于使
57、用狀態(tài)。通過該接口還可獲取和設(shè)置當(dāng)前工具CurrentTool等,該接口的方法和屬性如下。GetMaps方法函數(shù)原型:System.Collections.Generic.IListvIMapGetMaps();函數(shù)說明:該方法用于獲得制圖顯示控件里所有的地圖對(duì)象。參數(shù)說明:名稱說明返回值地圖對(duì)象集合GetControlHandle方法函數(shù)原型:intGetControlHandle。;函數(shù)說明:該方法用于獲得當(dāng)前控件的Handle。參數(shù)說明:名稱說明返回值當(dāng)前控件的HandleActiveView屬性獲取活動(dòng)視圖對(duì)象。FocusMap屬性獲取或設(shè)置焦點(diǎn)地圖對(duì)象。PageLayout屬性獲取或
58、設(shè)置制圖PageLayout對(duì)象。CurrentTool屬性獲取或設(shè)置當(dāng)前工具。Customerproperty屬性獲取或設(shè)置當(dāng)前用戶屬性。TrackerCancel屬性獲取或設(shè)置TrackerCancel對(duì)象。3.2圖層樹控件介紹SRUlle-BTIkn曲代田Fiffiwftm*MapEl-SShfflp_&D.#iDIfcfel銚確F.B底STt1fll理asIB鷺需監(jiān)-!=口口口口口口|1;3L3SID27|03W72.5SILMZSTOCControl用來(lái)管理圖層的可見性和編輯標(biāo)簽。TOCControl需要一個(gè)“伙伴控件”,伙伴控件可以是MapControl、PageLayoutCon
59、trol?!盎锇榭丶笨梢酝ㄟ^SetBuddyControl方法來(lái)設(shè)置。TOCControl主要實(shí)現(xiàn)了ITOCControl接口。classAdapterUIUserControlTOCControl+TOCControl()+Initialize。:bool+HitTest(int,int,PIETOCNodeType*,IMap*,ILayer*,object*,object*):void+SetBuddvControl(PIECartoIPmdContents):voidITOCControl接口ITOCControl方法包括Initial和HitTest,Initial方法用于TOCC
60、ontrol的初始化,HitTest方法用于測(cè)試對(duì)應(yīng)的位置所選擇的地圖、圖層、渲染對(duì)象等。classAdapterUIinterfaceITOCControl+Initialize。:bool+HitTest(int,int,PIETOCNodeType*,IMap*,ILayer*,object*,object*):void+SetBuddyControl(PIE.Carto.lPmdContents):voidSetBuddyControl方法函數(shù)原型:voidSetBuddyControl(IPmdContentsbuddy);函數(shù)說明:該方法用于設(shè)置當(dāng)前TOC控件的關(guān)聯(lián)對(duì)象。參數(shù)說明:
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療工程施工合同范例
- 原料代理采購(gòu)合同范例
- 廚房櫥柜工程合同范例
- 臨時(shí)合伙合同范例
- 人員租聘合同范例
- 公交宣傳合同范例
- 儲(chǔ)罐借用合同范例
- 廠房承包建筑合同范例
- 加工機(jī)械租賃合同范例
- 三輪車及司機(jī)租賃合同范例
- 慢性腎衰竭的護(hù)理病例討論
- 醫(yī)療機(jī)構(gòu)醫(yī)療廢物管理規(guī)范考試試題及答案
- 鐵路基礎(chǔ)知識(shí)題庫(kù)單選題100道及答案解析
- 小學(xué)家長(zhǎng)及學(xué)生投訴處理制度
- 江蘇省連云港市2024-2025學(xué)年高三上冊(cè)開學(xué)摸底考英語(yǔ)試題(附答案)
- 新時(shí)代青年的使命與擔(dān)當(dāng)7
- 四年級(jí)語(yǔ)文下冊(cè)第六單元【集體備課】(教材解讀+教學(xué)設(shè)計(jì))
- 2024版義務(wù)教育小學(xué)科學(xué)課程標(biāo)準(zhǔn)
- 八年級(jí)學(xué)生學(xué)情分析-20211031092110
- 健身健美課件
- 2024關(guān)于教師的民主評(píng)議個(gè)人年度工作總結(jié)
評(píng)論
0/150
提交評(píng)論