




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24GISGIS應(yīng)用開發(fā)應(yīng)用開發(fā)Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET 主講:主講:蘭小機(jī)蘭小機(jī) GISGIS博士、教授博士、教授 Email : E
2、mail : QQ QQ :305333315305333315 課件:課件: 4/ 4/ 江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24蘭小機(jī)簡歷蘭小機(jī)簡歷l主要經(jīng)歷主要經(jīng)歷 19881988年年7 7月月畢業(yè)于南方冶金學(xué)院工程測量專業(yè),獲畢業(yè)于南方冶金學(xué)院工程測量專業(yè),獲學(xué)士學(xué)位學(xué)士學(xué)位,并留校,并留校任
3、教任教 19941994年年6 6月月畢業(yè)于武漢測繪科技大學(xué)工程測量專業(yè),獲畢業(yè)于武漢測繪科技大學(xué)工程測量專業(yè),獲碩士學(xué)位碩士學(xué)位,回,回校任教校任教 20052005年年6 6月月畢業(yè)于南京師范大學(xué)畢業(yè)于南京師范大學(xué)地圖學(xué)與地理信息系統(tǒng)地圖學(xué)與地理信息系統(tǒng)專業(yè),獲專業(yè),獲理學(xué)理學(xué)博士學(xué)位博士學(xué)位,回校任教,回校任教l主要研究方向主要研究方向 GISGIS應(yīng)用開發(fā)應(yīng)用開發(fā) 分布式并行計(jì)算環(huán)境下空間數(shù)據(jù)的存儲管理分布式并行計(jì)算環(huán)境下空間數(shù)據(jù)的存儲管理 空間數(shù)據(jù)庫理論與空間數(shù)據(jù)庫理論與GMLGISGMLGIS GMLGML空間數(shù)據(jù)挖掘空間數(shù)據(jù)挖掘 空間數(shù)據(jù)集成與共享空間數(shù)據(jù)集成與共享江西理工大學(xué)江
4、西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24科研科研項(xiàng)目項(xiàng)目國家自然科學(xué)基金項(xiàng)目國家自然科學(xué)基金項(xiàng)目-面向面向GMLGML的時空關(guān)聯(lián)規(guī)則及序列模式挖掘的時空關(guān)聯(lián)規(guī)則及序列模式挖掘研究研究( (編號:編號:4097123440971234) ) ,3535萬元,主持萬元,主持國家自然科學(xué)基金項(xiàng)目國家自然科學(xué)基金項(xiàng)目-本原本原GMLGML空間數(shù)據(jù)庫理論及空間數(shù)據(jù)庫理論及GMLGISGMLGI
5、S與傳與傳統(tǒng)統(tǒng)GISGIS集成研究集成研究(編號:(編號:4076101740761017) ,1616萬元,主持萬元,主持國家自然科學(xué)基金項(xiàng)目國家自然科學(xué)基金項(xiàng)目 - - GMLGML空間數(shù)據(jù)存儲索引機(jī)制研究空間數(shù)據(jù)存儲索引機(jī)制研究(編號:(編號:4040104540401045) ,2626萬元,排名第二萬元,排名第二地理信息科學(xué)江蘇省重點(diǎn)實(shí)驗(yàn)室開發(fā)基金項(xiàng)目地理信息科學(xué)江蘇省重點(diǎn)實(shí)驗(yàn)室開發(fā)基金項(xiàng)目 - -面向?qū)ο蟮拿嫦驅(qū)ο蟮腉MLGML空間數(shù)據(jù)庫及其應(yīng)用研究空間數(shù)據(jù)庫及其應(yīng)用研究(編號:(編號:JK20050302JK20050302) ,5 5萬元主持萬元主持江西省教育廳科技項(xiàng)目江西省教
6、育廳科技項(xiàng)目GMLGML空間數(shù)據(jù)庫理論及空間數(shù)據(jù)庫理論及GMLGISGMLGIS研究研究,1 1萬萬元,主持元,主持萍鄉(xiāng)市基礎(chǔ)地理信息系統(tǒng)研究與開發(fā),萍鄉(xiāng)市基礎(chǔ)地理信息系統(tǒng)研究與開發(fā),2222萬元,主持萬元,主持城市公眾地理信息服務(wù)系統(tǒng)研究與開發(fā),城市公眾地理信息服務(wù)系統(tǒng)研究與開發(fā),1010萬元,主持萬元,主持江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24教學(xué)目標(biāo)教學(xué)目標(biāo)l
7、GISGIS應(yīng)用開發(fā)應(yīng)用開發(fā)課程是課程是GISGIS研究生重要的研究生重要的專業(yè)課程,通過課程的學(xué)習(xí),專業(yè)課程,通過課程的學(xué)習(xí),了解了解ArcGIS ArcGIS 軟件體系結(jié)構(gòu)及軟件體系結(jié)構(gòu)及ArcObjectsArcObjects (ArcGIS(ArcGIS Engine)Engine)組件構(gòu)成,并能熟練使用組件構(gòu)成,并能熟練使用ArcObjectsArcObjects (ArcGIS(ArcGIS Engine)Engine) 進(jìn)行進(jìn)行應(yīng)用型應(yīng)用型GISGIS開發(fā)開發(fā); ; 掌握應(yīng)掌握應(yīng)用型用型GISGIS開發(fā)的基本思路、技術(shù)方法開發(fā)的基本思路、技術(shù)方法. .江西理工大學(xué)江西理工大學(xué) D
8、eveloping GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24Chap.6 Chap.6 空間數(shù)據(jù)的可視化表達(dá)空間數(shù)據(jù)的可視化表達(dá) (4 4學(xué)時)學(xué)時)l 本章內(nèi)容:本章內(nèi)容: ColorColor對象對象 SymbolSymbol對象對象 符號樣式庫與符號化控符號樣式庫與符號化控件件 制作專題圖制作專題圖 制圖表現(xiàn)制圖表現(xiàn)1. 1. 地圖標(biāo)注地圖標(biāo)注江西理工大學(xué)江西理工大學(xué) Developing GIS Applic
9、ations with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24ArcMapArcMap中空間數(shù)據(jù)符號化方法中空間數(shù)據(jù)符號化方法l 普通的符號化方法普通的符號化方法單一符號單一符號(Single Symbol)(Single Symbol)分類符號分類符號(C(Categoryategory Symbol) Symbol)Unique Values RendererUnique Values Renderer分級符號分級符號(Graduated Symbol)
10、(Graduated Symbol)分級色彩分級色彩(Graduated Color)(Graduated Color)比例符號比例符號(Proportional Symbol)(Proportional Symbol)點(diǎn)值符號點(diǎn)值符號(Dot density)(Dot density)組合符號組合符號(Multivariate Symbol)(Multivariate Symbol)統(tǒng)計(jì)圖形統(tǒng)計(jì)圖形(Statistical Charts)(Statistical Charts)l 制圖表現(xiàn)(制圖表現(xiàn)(RepresentationRepresentation) (9.29.2新增功能)新增功能
11、)江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24l空間數(shù)據(jù)符號化主要元素空間數(shù)據(jù)符號化主要元素符號(對象)符號(對象) 色彩(對象)色彩(對象)著色(對象)著色(對象)l符號(對象)符號(對象)著色(對象)著色(對象)lIGeoFeatureLayer.Renderer IGeoFeatureLayer.Renderer 用于要素圖層的符用于要素圖層的符號化,號化,符號化信息
12、保存在要素圖層中符號化信息保存在要素圖層中。l 制圖表現(xiàn)制圖表現(xiàn)(Representation)(Representation)符號化信息保存在要素類符號化信息保存在要素類(FeatureClass)(FeatureClass)中中。江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/246.1 6.1 顏色對象顏色對象l 顏色(顏色(ColorColor)是所有符號和地圖元素的基本屬
13、性)是所有符號和地圖元素的基本屬性之一。之一。ArcObjectsArcObjects提供了多種顏色模型:提供了多種顏色模型:RGBRGB(紅色、綠色、藍(lán)色)顏色模型:(紅色、綠色、藍(lán)色)顏色模型:RGBColorRGBColorHSVHSV(色調(diào)、飽和度、亮度)顏色模型:(色調(diào)、飽和度、亮度)顏色模型:HSVColor HSVColor CMYKCMYK(青色、洋紅色、黃色、黑色)顏色模型:(青色、洋紅色、黃色、黑色)顏色模型:CmykColor CmykColor 灰度顏色:灰度顏色:GrayColorGrayColorCIELABCIELAB顏色(在顏色(在ArcObjectsArcOb
14、jects中使用,與設(shè)備無關(guān))中使用,與設(shè)備無關(guān))1. 1. 色帶(色帶(ColorRampColorRamp)江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24RGBRGB模型模型江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications wit
15、h ArcObjects using C#.NET2021/7/24CMYKCMYK模型模型 江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24HSVHSV模型模型lhue : 0-360 hue : 0-360 lsaturation : 0-100 saturation : 0-100 lvalue :0-100 value :0-100 江西理工大學(xué)江西理工大學(xué) Devel
16、oping GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/246.1.1 Color6.1.1 Color對象對象l ColorColor對象是一個抽象類,它有對象是一個抽象類,它有5 5個顏色個顏色子類,即子類,即CmykColorCmykColor、RGBColorRGBColor、HSVColorHSVColor、HLSColorHLSColor和和GrayColorGrayColor,它們,它們可以使用可以使用ICol
17、orIColor接口定義的方法設(shè)置顏接口定義的方法設(shè)置顏色對象的基本屬性。色對象的基本屬性。 IColor.RGBIColor.RGB屬性會返回一個屬性會返回一個LONGLONG數(shù)值,而不是數(shù)值,而不是RGBRGB模型模型需要的需要的R R、G G、B B上的三個值,如上的三個值,如白色的白色的 RGBRGB屬性返回值屬性返回值為為1677721516777215,而不是用戶需要的,而不是用戶需要的255255、255255、255255三個值。三個值。如果采用如果采用ArcObjectsArcObjects的顏色選擇對話框選取一個顏色后的顏色選擇對話框選取一個顏色后使用,程序員就必須使用使用
18、,程序員就必須使用 RGBRGB值的寫法。值的寫法。江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24l 下面是兩種數(shù)值方式互相轉(zhuǎn)換的函數(shù)。下面是兩種數(shù)值方式互相轉(zhuǎn)換的函數(shù)。l RGBRGB值轉(zhuǎn)換為值轉(zhuǎn)換為LONGLONG值值private long RGBToLong(int Red, int Green ,int Blue ) private long RGBToLong(i
19、nt Red, int Green ,int Blue ) return Red + (0 x100 return Red + (0 x100 * * Green) + (0 x10000 Green) + (0 x10000 * * Blue); Blue); l LONGLONG值轉(zhuǎn)換為值轉(zhuǎn)換為RGBRGB值值private short LongtoRGB(long RGBlong)private short LongtoRGB(long RGBlong) short pbyte = new short3 ;short pbyte = new short3 ;pbyte0 = (short
20、) (RGBlong % 0 x100) ;pbyte0 = (short) (RGBlong % 0 x100) ;pbyte1 = (short) (RGBlong / 0 x100) % 0 x100);pbyte1 = (short) (RGBlong / 0 x100) % 0 x100);pbyte2 = (short) (RGBlong / 0 x10000) % 0 x100);pbyte2 = (short) (RGBlong / 0 x10000) % 0 x100);return pbyte;return pbyte; 江西理工大學(xué)江西理工大學(xué) Developing GI
21、S Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24lIRgbColor, ICmykColor, IHsvColor, IHlsColor, IRgbColor, ICmykColor, IHsvColor, IHlsColor, 和和IGrayColorIGrayColor接口接口繼承自繼承自IColorIColor接口接口。江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObj
22、ects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24HSVHSV模型顏色構(gòu)造器模型顏色構(gòu)造器l private private IHsvColorIHsvColor HSVColor(int hue , int saturation , int val ) HSVColor(int hue , int saturation , int val ) / /定義一個定義一個IHSVColorIHSVColor類型對象類型對象IHsvColorIHsvColor pHsvColor = n
23、ew HsvColorClass();pHsvColor = new HsvColorClass();/ /設(shè)置它的值設(shè)置它的值pHsvColor.Hue = hue;pHsvColor.Hue = hue;pHsvColor.Saturation = saturation;pHsvColor.Saturation = saturation;pHsvColor.Value = val;pHsvColor.Value = val;return pHsvColor;return pHsvColor; 江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with Arc
24、Objects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24RGBRGB顏色構(gòu)造器顏色構(gòu)造器l private private IRgbColorIRgbColor getRGB(int r,int g,int b) getRGB(int r,int g,int b) IRgbColorIRgbColor pColor = new RgbColorClass(); pColor = new RgbColorClass();pColor.Red = r;pColor.Red = r;pC
25、olor.Green = g;pColor.Green = g;pColor.Blue = b;pColor.Blue = b;return pColor;return pColor; 江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/246.1.2 6.1.2 顏色對話框顏色對話框l ArcObjectsArcObjects中提供了幾種顏色對話框供程序中提供了幾種顏色對話框供程序員
26、使用:員使用:顏色板(顏色板( Colorpalatte Colorpalatte )對象)對象 、顏色選擇器(顏色選擇器( ColorSelector ColorSelector )對象)對象和和顏色顏色瀏覽器(瀏覽器( ColorBrowser ColorBrowser )對象)對象。 Available with ArcGIS DesktopAvailable with ArcGIS Desktop江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications
27、 with ArcObjects using C#.NET2021/7/24顏色板對象顏色板對象 ColorpalatteColorpalattelColorPaletteColorPalette顏色板對顏色板對象一共排列了象一共排列了120120種種顏色供用戶使用,如顏色供用戶使用,如圖所示。圖所示。 ColorPaletteColorPalette類實(shí)現(xiàn)了兩個接口:類實(shí)現(xiàn)了兩個接口:IColorPaletteIColorPalette和和 ICustomColorPaletteICustomColorPalette。江西理工大學(xué)江西理工大學(xué) Developing GIS Applicati
28、ons with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24l IColorPaletteIColorPalette接口定義了接口定義了 ColorColor屬性和屬性和 TrackPopupMenuTrackPopupMenu方法,方法,使用這個接口可以從對話框中獲得一個顏色對象。下面是使用這個接口可以從對話框中獲得一個顏色對象。下面是使用調(diào)色板對象取出一個顏色的例子:使用調(diào)色板對象取出一個顏色的例子: IColorIColor pColor = new Rg
29、bColorClass(); pColor = new RgbColorClass();pColor.RGB = 255 ;pColor.RGB = 255 ; / /新建一個顏色板對象新建一個顏色板對象IColorPaletteIColorPalette pPalette = new ColorPaletteClass(); pPalette = new ColorPaletteClass(); / /定義一個范圍結(jié)構(gòu)定義一個范圍結(jié)構(gòu)tagRECT pRect = new tagRECT() ;tagRECT pRect = new tagRECT() ;pRect.left =10;pRe
30、ct.left =10;pRect.top =10;pRect.top =10;pPalette.TrackPopupMenu(ref pRect, pColor, false, 0);pPalette.TrackPopupMenu(ref pRect, pColor, false, 0); / /獲得新的顏色獲得新的顏色pColor = pPalette.Color;pColor = pPalette.Color;public bool TrackPopupMenu public bool TrackPopupMenu (ref tagRECTrect, (ref tagRECTrect,
31、ref IColorref IColor currentColor, currentColor, ref boolref bool orientation, orientation, ref intref int hParentWnd);hParentWnd);江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24顏色選擇器對象顏色選擇器對象l 顏色選擇器顏色選擇器(ColorSel
32、ector)(ColorSelector)對象提供了一種更精確選對象提供了一種更精確選擇顏色的方法。用戶可以擇顏色的方法。用戶可以點(diǎn)擊對話框上方右邊的小點(diǎn)擊對話框上方右邊的小箭頭,選擇箭頭,選擇RGBRGB、CMYKCMYK、HSVHSV多種顏色模型,通過多種顏色模型,通過拖曳顏色帶或者直接輸入拖曳顏色帶或者直接輸入具體顏色值的方法返回顏具體顏色值的方法返回顏色對象,如圖所示。色對象,如圖所示。江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with
33、 ArcObjects using C#.NET2021/7/24l 下面是一個使用顏色選擇器對象獲取顏色對象的代碼段:下面是一個使用顏色選擇器對象獲取顏色對象的代碼段:/Set the initial color to be diaplyed when the dialog opens/Set the initial color to be diaplyed when the dialog opensIColorIColor pColor = new RgbColorClass(); pColor = new RgbColorClass();pColor.RGB = 255;pColor.R
34、GB = 255;IColorSelectorIColorSelector pSelector = new ColorSelectorClass(); pSelector = new ColorSelectorClass();pSelector.Color = pColor;pSelector.Color = pColor;/ Display the dialog/ Display the dialogif ( if ( pSelector.DoModal(0)pSelector.DoModal(0) ) ) IColorIColor pOutColor = pOutColor = pSele
35、ctor.Color;pSelector.Color; 江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24顏色瀏覽器對象顏色瀏覽器對象l 顏色瀏覽器顏色瀏覽器(ColorBrowser)(ColorBrowser)對對象提供了多種顏色模型象提供了多種顏色模型(RGB, (RGB, CMYK, HSV, HLS, or gray)CMYK, HSV, HLS, or gray)供用
36、供用戶選擇顏色對象,如圖所示。戶選擇顏色對象,如圖所示。江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24l 下面是一個使用顏色瀏覽器對象對象獲取顏色對象的代碼下面是一個使用顏色瀏覽器對象對象獲取顏色對象的代碼段:段:IRgbColorIRgbColor pNewColor; pNewColor;IRgbColorIRgbColor pInitColor = new RgbCol
37、orClass(); pInitColor = new RgbColorClass();/ the dialog will open with red as a default./ the dialog will open with red as a default.pInitColor.Red = 255;pInitColor.Red = 255;IColorBrowserIColorBrowser pColorBrowser = new ColorBrowserClass(); pColorBrowser = new ColorBrowserClass();pColorBrowser.Co
38、lor = pInitColor;pColorBrowser.Color = pInitColor;bool bool bColorSet = pColorBrowser.DoModal(0);bColorSet = pColorBrowser.DoModal(0);if (bColorSet) pNewColor = (IRgbColor) if (bColorSet) pNewColor = (IRgbColor) pColorBrowser.ColorpColorBrowser.Color; ;江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with A
39、rcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/246.1.3 ColorRamp6.1.3 ColorRamp對象對象l制作地圖專題圖的過程中,需要的制作地圖專題圖的過程中,需要的顏色常常不是一種,而是隨機(jī)或有顏色常常不是一種,而是隨機(jī)或有序產(chǎn)生的一個顏色帶。如果某個著序產(chǎn)生的一個顏色帶。如果某個著色對象需要色對象需要100100種顏色,程序員肯定種顏色,程序員肯定不能逐個產(chǎn)生出來,而是可以使用不能逐個產(chǎn)生出來,而是可以使用ArcObjectsArcObjects提供的顏
40、色帶提供的顏色帶( (ColorRampColorRamp) )對象。對象。lColorRampColorRamp類的對象可以產(chǎn)生顏色帶,類的對象可以產(chǎn)生顏色帶,這個類實(shí)現(xiàn)了這個類實(shí)現(xiàn)了IColorRampIColorRamp,定義了,定義了一系列顏色帶的公共方法,如一系列顏色帶的公共方法,如 SizeSize(產(chǎn)生多少種顏色),(產(chǎn)生多少種顏色),ColorsColors(顏色(顏色帶帶 IEnumColorIEnumColor)。)。江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping
41、 GIS Applications with ArcObjects using C#.NET2021/7/24下表是四種顏色帶模型的例子。下表是四種顏色帶模型的例子。RandomColorRampRandomColorRamp使用使用HSVHSV顏色模型來確定一串顏色顏色模型來確定一串顏色PresetColorRampPresetColorRamp預(yù)設(shè)的顏色模式,可存儲預(yù)設(shè)的顏色模式,可存儲1313種顏色種顏色AlgorithmicColorRampAlgorithmicColorRamp 用起始顏色、終止顏色用起始顏色、終止顏色和某種算法和某種算法確確定一個顏色帶定一個顏色帶MultiPar
42、tColorRampMultiPartColorRamp疊加產(chǎn)生顏色帶疊加產(chǎn)生顏色帶Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/
43、7/24AlgorithmicColorRampAlgorithmicColorRamp顏色帶顏色帶lAlgorithmicColorRampAlgorithmicColorRamp是通過起止顏色來確定是通過起止顏色來確定多個在這兩個顏色之間的色帶多個在這兩個顏色之間的色帶。AlgorithmicColorRampAlgorithmicColorRamp類實(shí)現(xiàn)了兩個接口:類實(shí)現(xiàn)了兩個接口:IColorRampIColorRamp和和IAlgorithmicColorRampIAlgorithmicColorRamp,兩個接,兩個接口之間是接口繼承關(guān)系,后者包含了前者所口之間是接口繼承關(guān)系,后者
44、包含了前者所有的方法和屬性。有的方法和屬性。江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24RandomColorRampRandomColorRamp顏色帶顏色帶lRandomColorRampRandomColorRamp對象供程序員產(chǎn)生隨機(jī)顏對象供程序員產(chǎn)生隨機(jī)顏色帶,色帶,RandomColorRampRandomColorRamp也需要設(shè)定一個范也需要設(shè)定一個范圍,但
45、是這個范圍是圍,但是這個范圍是HSVHSV顏色模型的,顏色顏色模型的,顏色將在這個范圍內(nèi)隨機(jī)出現(xiàn)。將在這個范圍內(nèi)隨機(jī)出現(xiàn)。 江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/246.2 Symbol6.2 Symbol對象對象l ArcObjectsArcObjects主要使用主要使用MarkerSymbolMarkerSymbol、 LineSymbolLineSymbol和和Fi
46、llSymbolFillSymbol三種符號來繪制地理要素或圖形元素的三種符號來繪制地理要素或圖形元素的幾何形狀。幾何形狀。 此外還有兩種特殊的符號:一種是此外還有兩種特殊的符號:一種是TextSymbolTextSymbol用于文字標(biāo)注;另一種是用于文字標(biāo)注;另一種是3D ChartSymbol3D ChartSymbol,用,用于顯示餅圖等三維對象。于顯示餅圖等三維對象。l 所有的符號類都實(shí)現(xiàn)了所有的符號類都實(shí)現(xiàn)了ISymbolISymbol和和IMapLevelIMapLevel接口,接口,前者定義了一個符號對象的基本屬性和方法;前者定義了一個符號對象的基本屬性和方法;后后者定義的者定義
47、的MapLevelMapLevel屬性可以確定符號的顯示順序。屬性可以確定符號的顯示順序。江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/246.2.1 MarkerSymbol6.2.1 MarkerSymbol對象對象lMarkerSymbolMarkerSymbol對象是用于修飾點(diǎn)對象是用于修飾點(diǎn)對象的符號,它擁有五個子類,對象的符號,它擁有五個子類,其中不同的子類可以產(chǎn)生不
48、同類其中不同的子類可以產(chǎn)生不同類型的點(diǎn)符號。所有的型的點(diǎn)符號。所有的MarkerSymbolMarkerSymbol類都實(shí)現(xiàn)了類都實(shí)現(xiàn)了IMarkerSymbolIMarkerSymbol接口,這個接口定接口,這個接口定義了點(diǎn)狀符號的公共方法和屬性,義了點(diǎn)狀符號的公共方法和屬性,如角度、顏色、大小和如角度、顏色、大小和XYXY偏移量偏移量等。等。l點(diǎn)狀符號還可以用于構(gòu)建線、面點(diǎn)狀符號還可以用于構(gòu)建線、面符號。符號。 江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applic
49、ations with ArcObjects using C#.NET2021/7/24SimpleMarkerSymbolSimpleMarkerSymbol實(shí)例實(shí)例ISimpleMarkerSymbolISimpleMarkerSymbol pMarkerSymbol = new pMarkerSymbol = new SimpleMarkerSymbolClassSimpleMarkerSymbolClass();();pMarkerSymbol.Style = pMarkerSymbol.Style = esriSimpleMarkerStyleesriSimpleMarkerStyl
50、e. esriSMSCross;. esriSMSCross;pMarkerSymbol.Color = getRGB(60,100,50);pMarkerSymbol.Color = getRGB(60,100,50);pMarkerSymbol.Angle = 60;pMarkerSymbol.Angle = 60;pMarkerSymbol.Size = 6;pMarkerSymbol.Size = 6;pMarkerSymbol.Outline = true;pMarkerSymbol.Outline = true;pMarkerSymbol.OutlineSize = 2;pMark
51、erSymbol.OutlineSize = 2;pMarkerSymbol.OutlineColor = getRGB(166, 122, 166);pMarkerSymbol.OutlineColor = getRGB(166, 122, 166);IPointIPoint pPoint = pPoint = pMapControl.ActiveView.ScreenDisplay.DisplayTransformation.ToMapPoipMapControl.ActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(X, Y)
52、;nt(X, Y);object oMarkerSymbol = pMarkerSymbol;object oMarkerSymbol = pMarkerSymbol;pMapControl.DrawShape(pPoint, ref oMarkerSymbol);pMapControl.DrawShape(pPoint, ref oMarkerSymbol);Constant Value Description esriSMSCircle 0 The marker is a circle. esriSMSSquare 1 The marker is a square. esriSMSCros
53、s 2 The marker is a cross. esriSMSX 3 The marker is an X. esriSMSDiamond 4 The marker is a diamond. 江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24CharacterMarkerSymbolCharacterMarkerSymbol實(shí)例實(shí)例MultiLayerMarkerSymb
54、olMultiLayerMarkerSymbol實(shí)例實(shí)例江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/246.2.2 LineSymbol6.2.2 LineSymbol對象對象l LineSymbolLineSymbol對象是用于修飾線型幾何對象的對象是用于修飾線型幾何對象的符號,符號,ILineSymbolILineSymbol定義了兩個公共屬性,定義了兩個公共屬性,即即Co
55、lorColor和和WidthWidth。l LineSymbolLineSymbol的子類有:的子類有:江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24MarkerLineSymbolMarkerLineSymbol實(shí)例實(shí)例private void DrawSelectedFeature(IPolyline polyline)private void DrawSelected
56、Feature(IPolyline polyline) IArrowMarkerSymbolIArrowMarkerSymbol arrowMarker = new arrowMarker = new ArrowMarkerSymbolClassArrowMarkerSymbolClass();(); arrowMarker.Color = getRGB(255, 255, 255); arrowMarker.Color = getRGB(255, 255, 255); arrowMarker.Length = 10; arrowMarker.Length = 10; arrowMarker.
57、Width = 8; arrowMarker.Width = 8; arrowMarker.Style = arrowMarker.Style = esriArrowMarkerStyle.esriAMSPlainesriArrowMarkerStyle.esriAMSPlain; ; IMarkerLineSymbolIMarkerLineSymbol markerLine = new markerLine = new MarkerLineSymbolClassMarkerLineSymbolClass();(); markerLine.MarkerSymbol = markerLine.M
58、arkerSymbol = arrowMarkerarrowMarker; ; markerLine.Color = getRGB(0, 255, 255); markerLine.Color = getRGB(0, 255, 255); 江西理工大學(xué)江西理工大學(xué) Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24 ILinePropertiesILineProperties lineProperties
59、 = markerLine as lineProperties = markerLine as ILineProperties;ILineProperties; ITemplateITemplate template = new TemplateClass(); template = new TemplateClass(); template.AddPatternElement(30, 10); template.AddPatternElement(30, 10);/ /A pattern element is a mark A pattern element is a mark and a gap value, which is specified in points (approx 1/72 inch). and a gap value, which is specified in points (approx 1/72 inch). template.Interval = 10; template.Interval = 10;/ /Interval is the multiplier that determines the Interval is the multiplier that determines the width of the marks and gaps i
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 協(xié)議書和合同怎么查找
- 租地協(xié)議書合同
- 求兼職主播合同協(xié)議書
- 租房協(xié)議書沒有合同
- 雙人餐飲合同協(xié)議書
- 合同違約協(xié)議書范本
- 運(yùn)費(fèi)協(xié)議書合同
- 種植基地終止合同協(xié)議書
- 男女合同協(xié)議書
- 網(wǎng)絡(luò)員考試題及答案
- 2024年第四季度 國家電網(wǎng)工程設(shè)備材料信息參考價
- 2025年日歷表(A4版含農(nóng)歷可編輯)
- 經(jīng)典導(dǎo)讀與欣賞智慧樹知到期末考試答案2024年
- 江西新定額2017土建定額說明及解釋
- 國家電網(wǎng)有限公司十八項(xiàng)電網(wǎng)重大反事故措施(修訂版)-2018版(word文檔良心出品)
- 語文四年級下冊《失落的一角》繪本閱讀 課件(共61張PPT)
- 附件一∶ 教育部專家實(shí)地評估案頭必備材料
- 余甘果的栽培與加工工藝
- 中考英語雙向細(xì)目表
- (完整版)全usedtodo,beusedtodoing,beusedtodo辨析練習(xí)(帶答案)
- 2002年湖北高考理科數(shù)學(xué)真題及答案
評論
0/150
提交評論