GIS应用开发6PPT课件_第1页
GIS应用开发6PPT课件_第2页
GIS应用开发6PPT课件_第3页
GIS应用开发6PPT课件_第4页
GIS应用开发6PPT课件_第5页
已阅读5页,还剩134页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、江西理工大学江西理工大学 Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24GISGIS应用开发应用开发Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET 主讲:主讲:兰小机兰小机 GISGIS博士、教授博士、教授 Email : E

2、mail : QQ QQ :305333315305333315 课件:课件: 4/ 4/ 江西理工大学江西理工大学 Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24兰小机简历兰小机简历l主要经历主要经历 19881988年年7 7月月毕业于南方冶金学院工程测量专业,获毕业于南方冶金学院工程测量专业,获学士学位学士学位,并留校,并留校任

3、教任教 19941994年年6 6月月毕业于武汉测绘科技大学工程测量专业,获毕业于武汉测绘科技大学工程测量专业,获硕士学位硕士学位,回,回校任教校任教 20052005年年6 6月月毕业于南京师范大学毕业于南京师范大学地图学与地理信息系统地图学与地理信息系统专业,获专业,获理学理学博士学位博士学位,回校任教,回校任教l主要研究方向主要研究方向 GISGIS应用开发应用开发 分布式并行计算环境下空间数据的存储管理分布式并行计算环境下空间数据的存储管理 空间数据库理论与空间数据库理论与GMLGISGMLGIS GMLGML空间数据挖掘空间数据挖掘 空间数据集成与共享空间数据集成与共享江西理工大学江

4、西理工大学 Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24科研科研项目项目国家自然科学基金项目国家自然科学基金项目-面向面向GMLGML的时空关联规则及序列模式挖掘的时空关联规则及序列模式挖掘研究研究( (编号:编号:4097123440971234) ) ,3535万元,主持万元,主持国家自然科学基金项目国家自然科学基金项目-本原本原GMLGML空间数据库理论及空间数据库理论及GMLGISGMLGI

5、S与传与传统统GISGIS集成研究集成研究(编号:(编号:4076101740761017) ,1616万元,主持万元,主持国家自然科学基金项目国家自然科学基金项目 - - GMLGML空间数据存储索引机制研究空间数据存储索引机制研究(编号:(编号:4040104540401045) ,2626万元,排名第二万元,排名第二地理信息科学江苏省重点实验室开发基金项目地理信息科学江苏省重点实验室开发基金项目 - -面向对象的面向对象的GMLGML空间数据库及其应用研究空间数据库及其应用研究(编号:(编号:JK20050302JK20050302) ,5 5万元主持万元主持江西省教育厅科技项目江西省教

6、育厅科技项目GMLGML空间数据库理论及空间数据库理论及GMLGISGMLGIS研究研究,1 1万万元,主持元,主持萍乡市基础地理信息系统研究与开发,萍乡市基础地理信息系统研究与开发,2222万元,主持万元,主持城市公众地理信息服务系统研究与开发,城市公众地理信息服务系统研究与开发,1010万元,主持万元,主持江西理工大学江西理工大学 Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24教学目标教学目标l

7、GISGIS应用开发应用开发课程是课程是GISGIS研究生重要的研究生重要的专业课程,通过课程的学习,专业课程,通过课程的学习,了解了解ArcGIS ArcGIS 软件体系结构及软件体系结构及ArcObjectsArcObjects (ArcGIS(ArcGIS Engine)Engine)组件构成,并能熟练使用组件构成,并能熟练使用ArcObjectsArcObjects (ArcGIS(ArcGIS Engine)Engine) 进行进行应用型应用型GISGIS开发开发; ; 掌握应掌握应用型用型GISGIS开发的基本思路、技术方法开发的基本思路、技术方法. .江西理工大学江西理工大学 D

8、eveloping GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24Chap.6 Chap.6 空间数据的可视化表达空间数据的可视化表达 (4 4学时)学时)l 本章内容:本章内容: ColorColor对象对象 SymbolSymbol对象对象 符号样式库与符号化控符号样式库与符号化控件件 制作专题图制作专题图 制图表现制图表现1. 1. 地图标注地图标注江西理工大学江西理工大学 Developing GIS Applic

9、ations with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24ArcMapArcMap中空间数据符号化方法中空间数据符号化方法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)点值符号点值符号(Dot density)(Dot density)组合符号组合符号(Multivariate Symbol)(Multivariate Symbol)统计图形统计图形(Statistical Charts)(Statistical Charts)l 制图表现(制图表现(RepresentationRepresentation) (9.29.2新增功能)新增功能

11、)江西理工大学江西理工大学 Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24l空间数据符号化主要元素空间数据符号化主要元素符号(对象)符号(对象) 色彩(对象)色彩(对象)着色(对象)着色(对象)l符号(对象)符号(对象)着色(对象)着色(对象)lIGeoFeatureLayer.Renderer IGeoFeatureLayer.Renderer 用于要素图层的符用于要素图层的符号化,号化,符号化信息

12、保存在要素图层中符号化信息保存在要素图层中。l 制图表现制图表现(Representation)(Representation)符号化信息保存在要素类符号化信息保存在要素类(FeatureClass)(FeatureClass)中中。江西理工大学江西理工大学 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(红色、绿色、蓝色)颜色模型:(红色、绿色、蓝色)颜色模型:RGBColorRGBColorHSVHSV(色调、饱和度、亮度)颜色模型:(色调、饱和度、亮度)颜色模型:HSVColor HSVColor CMYKCMYK(青色、洋红色、黄色、黑色)颜色模型:(青色、洋红色、黄色、黑色)颜色模型:CmykColor CmykColor 灰度颜色:灰度颜色:GrayColorGrayColorCIELABCIELAB颜色(在颜色(在ArcObjectsArcOb

14、jects中使用,与设备无关)中使用,与设备无关)1. 1. 色带(色带(ColorRampColorRamp)江西理工大学江西理工大学 Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24RGBRGB模型模型江西理工大学江西理工大学 Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications wit

15、h ArcObjects using C#.NET2021/7/24CMYKCMYK模型模型 江西理工大学江西理工大学 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 江西理工大学江西理工大学 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接口定义的方法设置颜接口定义的方法设置颜色对象的基本属性。色对象的基本属性。 IColor.RGBIColor.RGB属性会返回一个属性会返回一个LONGLONG数值,而不是数值,而不是RGBRGB模型模型需要的需要的R R、G G、B B上的三个值,如上的三个值,如白色的白色的 RGBRGB属性返回值属性返回值为为1677721516777215,而不是用户需要的,而不是用户需要的255255、255255、255255三个值。三个值。如果采用如果采用ArcObjectsArcObjects的颜色选择对话框选取一个颜色后的颜色选择对话框选取一个颜色后使用,程序员就必须使用使用

18、,程序员就必须使用 RGBRGB值的写法。值的写法。江西理工大学江西理工大学 Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24l 下面是两种数值方式互相转换的函数。下面是两种数值方式互相转换的函数。l RGBRGB值转换为值转换为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值转换为值转换为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; 江西理工大学江西理工大学 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接口接口。江西理工大学江西理工大学 Developing GIS Applications with ArcObj

22、ects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24HSVHSV模型颜色构造器模型颜色构造器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();/ /设置它的值设置它的值pHsvColor.Hue = hue;pHsvColor.Hue = hue;pHsvColor.Saturation = saturation;pHsvColor.Saturation = saturation;pHsvColor.Value = val;pHsvColor.Value = val;return pHsvColor;return pHsvColor; 江西理工大学江西理工大学 Developing GIS Applications with Arc

24、Objects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24RGBRGB颜色构造器颜色构造器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; 江西理工大学江西理工大学 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江西理工大学江西理工大学 Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications

27、 with ArcObjects using C#.NET2021/7/24颜色板对象颜色板对象 ColorpalatteColorpalattelColorPaletteColorPalette颜色板对颜色板对象一共排列了象一共排列了120120种种颜色供用户使用,如颜色供用户使用,如图所示。图所示。 ColorPaletteColorPalette类实现了两个接口:类实现了两个接口:IColorPaletteIColorPalette和和 ICustomColorPaletteICustomColorPalette。江西理工大学江西理工大学 Developing GIS Applicati

28、ons with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24l IColorPaletteIColorPalette接口定义了接口定义了 ColorColor属性和属性和 TrackPopupMenuTrackPopupMenu方法,方法,使用这个接口可以从对话框中获得一个颜色对象。下面是使用这个接口可以从对话框中获得一个颜色对象。下面是使用调色板对象取出一个颜色的例子:使用调色板对象取出一个颜色的例子: IColorIColor pColor = new Rg

29、bColorClass(); pColor = new RgbColorClass();pColor.RGB = 255 ;pColor.RGB = 255 ; / /新建一个颜色板对象新建一个颜色板对象IColorPaletteIColorPalette pPalette = new ColorPaletteClass(); pPalette = new ColorPaletteClass(); / /定义一个范围结构定义一个范围结构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);江西理工大学江西理工大学 Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24颜色选择器对象颜色选择器对象l 颜色选择器颜色选择器(ColorSel

32、ector)(ColorSelector)对象提供了一种更精确选对象提供了一种更精确选择颜色的方法。用户可以择颜色的方法。用户可以点击对话框上方右边的小点击对话框上方右边的小箭头,选择箭头,选择RGBRGB、CMYKCMYK、HSVHSV多种颜色模型,通过多种颜色模型,通过拖曳颜色带或者直接输入拖曳颜色带或者直接输入具体颜色值的方法返回颜具体颜色值的方法返回颜色对象,如图所示。色对象,如图所示。江西理工大学江西理工大学 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; 江西理工大学江西理工大学 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、供用户选择颜色对象,如图所示。户选择颜色对象,如图所示。江西理工大学江西理工大学 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; ;江西理工大学江西理工大学 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制作地图专题图的过程中,需要的制作地图专题图的过程中,需要的颜色常常不是一种,而是随机或有颜色常常不是一种,而是随机或有序产生的一个颜色带。如果某个着序产生的一个颜色带。如果某个着色对象需要色对象需要100100种颜色,程序员肯定种颜色,程序员肯定不能逐个产生出来,而是可以使用不能逐个产生出来,而是可以使用ArcObjectsArcObjects提供的颜

40、色带提供的颜色带( (ColorRampColorRamp) )对象。对象。lColorRampColorRamp类的对象可以产生颜色带,类的对象可以产生颜色带,这个类实现了这个类实现了IColorRampIColorRamp,定义了,定义了一系列颜色带的公共方法,如一系列颜色带的公共方法,如 SizeSize(产生多少种颜色),(产生多少种颜色),ColorsColors(颜色(颜色带带 IEnumColorIEnumColor)。)。江西理工大学江西理工大学 Developing GIS Applications with ArcObjects using C#.NETDeveloping

41、 GIS Applications with ArcObjects using C#.NET2021/7/24下表是四种颜色带模型的例子。下表是四种颜色带模型的例子。RandomColorRampRandomColorRamp使用使用HSVHSV颜色模型来确定一串颜色颜色模型来确定一串颜色PresetColorRampPresetColorRamp预设的颜色模式,可存储预设的颜色模式,可存储1313种颜色种颜色AlgorithmicColorRampAlgorithmicColorRamp 用起始颜色、终止颜色用起始颜色、终止颜色和某种算法和某种算法确确定一个颜色带定一个颜色带MultiPar

42、tColorRampMultiPartColorRamp叠加产生颜色带叠加产生颜色带Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.江西理工大学江西理工大学 Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/

43、7/24AlgorithmicColorRampAlgorithmicColorRamp颜色带颜色带lAlgorithmicColorRampAlgorithmicColorRamp是通过起止颜色来确定是通过起止颜色来确定多个在这两个颜色之间的色带多个在这两个颜色之间的色带。AlgorithmicColorRampAlgorithmicColorRamp类实现了两个接口:类实现了两个接口:IColorRampIColorRamp和和IAlgorithmicColorRampIAlgorithmicColorRamp,两个接,两个接口之间是接口继承关系,后者包含了前者所口之间是接口继承关系,后者

44、包含了前者所有的方法和属性。有的方法和属性。江西理工大学江西理工大学 Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24RandomColorRampRandomColorRamp颜色带颜色带lRandomColorRampRandomColorRamp对象供程序员产生随机颜对象供程序员产生随机颜色带,色带,RandomColorRampRandomColorRamp也需要设定一个范也需要设定一个范围,但

45、是这个范围是围,但是这个范围是HSVHSV颜色模型的,颜色颜色模型的,颜色将在这个范围内随机出现。将在这个范围内随机出现。 江西理工大学江西理工大学 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用于文字标注;另一种是用于文字标注;另一种是3D ChartSymbol3D ChartSymbol,用,用于显示饼图等三维对象。于显示饼图等三维对象。l 所有的符号类都实现了所有的符号类都实现了ISymbolISymbol和和IMapLevelIMapLevel接口,接口,前者定义了一个符号对象的基本属性和方法;前者定义了一个符号对象的基本属性和方法;后后者定义的者定义

47、的MapLevelMapLevel属性可以确定符号的显示顺序。属性可以确定符号的显示顺序。江西理工大学江西理工大学 Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/246.2.1 MarkerSymbol6.2.1 MarkerSymbol对象对象lMarkerSymbolMarkerSymbol对象是用于修饰点对象是用于修饰点对象的符号,它拥有五个子类,对象的符号,它拥有五个子类,其中不同的子类可以产生不

48、同类其中不同的子类可以产生不同类型的点符号。所有的型的点符号。所有的MarkerSymbolMarkerSymbol类都实现了类都实现了IMarkerSymbolIMarkerSymbol接口,这个接口定接口,这个接口定义了点状符号的公共方法和属性,义了点状符号的公共方法和属性,如角度、颜色、大小和如角度、颜色、大小和XYXY偏移量偏移量等。等。l点状符号还可以用于构建线、面点状符号还可以用于构建线、面符号。符号。 江西理工大学江西理工大学 Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applic

49、ations with ArcObjects using C#.NET2021/7/24SimpleMarkerSymbolSimpleMarkerSymbol实例实例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. 江西理工大学江西理工大学 Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24CharacterMarkerSymbolCharacterMarkerSymbol实例实例MultiLayerMarkerSymb

54、olMultiLayerMarkerSymbol实例实例江西理工大学江西理工大学 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的子类有:的子类有:江西理工大学江西理工大学 Developing GIS Applications with ArcObjects using C#.NETDeveloping GIS Applications with ArcObjects using C#.NET2021/7/24MarkerLineSymbolMarkerLineSymbol实例实例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); 江西理工大学江西理工大学 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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论