CHT 4017-2012 矢量地图符号制作规范_第1页
CHT 4017-2012 矢量地图符号制作规范_第2页
CHT 4017-2012 矢量地图符号制作规范_第3页
CHT 4017-2012 矢量地图符号制作规范_第4页
CHT 4017-2012 矢量地图符号制作规范_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

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

文档简介

矢量地图符号制作规范国家测绘地理信息局发布I前言 Ⅱ Ⅲ 12术语和定义 13缩略语 34统一建模语言 34.1UML符号 34.2UML模型的构造型 35地图符号图元 45.1基本图元分类 45.2基本图元描述与构成 55.3基础类型 5.4复合图元 6地图符号制作 6.1地图符号描述机制 6.2单位映射 6.3地图符号 6.4地图符号库 7制图表达 7.1点状符号表达机制 7.2线状符号表达机制 7.3面状符号表达机制 8地图符号的制图表达及绘制接口 208.1制图表达与符号绘制 208.2制图表达接口 8.3制图表达结果接口 288.4地图符号绘制接口 附录A(资料性附录)参数及接口名称释义 附录B(资料性附录)符号库示例文档 39Ⅱ本标准的起草规则依据GB/T1.1—2009。本标准由国家测绘地理信息局提出并归口。本标准主要起草单位:武汉大学。Ⅲ地图符号在地理信息表达和可视化应用方面占据着重要地位。现行各个部门之间所采用的地图及地图符号制作软件,在地图符号的制作流程、接口绘制、表达方式上都不尽相同,这就造成了各部门之间的地图及地图符号库自成体系,不利于制图成果的共享。因此,矢量地图符号制作的规范化、标准化势在必行,以确保地理信息感知与认知的一致性和准确性,从而提供更完善的地图服务。矢量地图符号制作规范本标准适用于面向跨平台或网络环境中的地图符号制作与绘制,其他类别的地图也可参照使用。下列术语和定义适用于本文件。点基本图元pointprimarygraphicelement线基本图元lineprimarygraphicelement面基本图元areaprimarygraphicelement由首尾闭合的一系列定位点组成的基本图元。地图符号配置的定位线方向。其正方向为地图符号配置定位线的前进方向。2在X方向和Y方向,不能被切割或变形,但可绕其定位点旋转的基本图元。一系列基本图元的有序集合。对复合图元施加一定配置规则而形成的符号单元。矢量地图符号vectormapsymbol以矢量数据形式表达的地图符号,与栅格地图符号相对应。栅格地图符号rastermapsymbol以栅格数据形式表达的地图符号,与矢量地图符号相对应。地图符号库mapsymbolbase按照预定结构组织成的供地图编制选用的各种地图符号的数据信息的集合。[GB/T16820—2009,定义5.8]用来表示可视为点的地物或现象的符号。符号的大小与地图比例尺无关但具有定位特征。用来表示可视为线的地物或现象的符号。符号沿着某个方向延伸的长度与地图比例尺有关。用来表示呈面状分布的地物或现象的符号。符号的范围同地图比例尺有关。现实世界现象的抽象。对具有相同属性、操作、方法、关系和语义的一组对象的描述。33缩略语下列缩略语适用于本文件。XML可扩展标记语言(extensiblemarkuplanguage)UML统一建模语言(unifiedmodelinglanguage)4统一建模语言4.1UML符号本标准中的图均使用UML静态结构图和活动图来表示。本标准中用到的UML表示法见图1。父类父类子类#1子类#2子类#n组件类#1组件类#2组件类#n初始节点决策节点分支节点连接节点特定数目0..*类类类类类1n组合类组合类组件类#1组件类#2组件类#n结束节点4.2UML模型的构造型UML模型的构造型是对现有UML概念的一种扩展机制,是用来对其他UML元素进行分类(或标记)的模型元素,便于这些UML元素在某些方面起作用,类似于新的、虚拟的或伪元模型类的实例。这些元模型的形式是基于现有基本元模型类的。构造型在封装UML元模型类层次的基础上扩大了分类机制。在本标准中使用了以下构造型:——接口:被拥有接口的对象支持的一组操作定义; 类型:用于规范实例(对象)域构造型的类,包括应用于对象的操作。类型可以具有属性和关系。5地图符号图元5.1基本图元分类5.1.1点基本图元、线基本图元与面基本图元根据基本图元(SymbolCell)*的几何形态、实现方法和操作方法可以将其分为三大类:点基本图元、线基本图元、面基本图元。点基本图元包括:——椭圆弧(含圆弧)(EllipticalArc);——椭圆(含圆)(Ellipse);——扇形(Sector);——矩形(含正方形)(Rectangle);——菱形(Diamond);——三角形(等腰三角形(IsocelesTriangle)和等边三角形(RegularTriangle));——五角星(Pentagram);——正多边形(RegularPolygon)。线基本图元包括:——折线段(Polyline);——直线箭头(Arrow);——贝塞尔曲线(BezierSpline)。面基本图元包括:——椭圆(含圆)(Ellipse);——多边形(Polygon)。5.1.2弹性图元与刚性图元根据基本图元的变形性质可以将其分为刚性图元和弹性图元两大类。刚性基本图元包括:——椭圆弧(含圆弧);——椭圆(含圆);——扇形;——矩形(含正方形);——菱形;——三角形(等腰三角形和等边三角形);——五角星;——正多边形;——贝塞尔曲线。5弹性基本图元包括:——椭圆(含圆);——折线段;——多边形。所有的点基本图元都属于刚性图元;除贝塞尔曲线外,所有的线基本图元和面基本图元都属于弹性图元。5.2基本图元描述与构成5.2.1基本图元描述基本图元是符号的基本单位,是符号库的最小组成单元。基本图元的基本结构如图2所示。图2基本图元基本图元由两部分构成:——图形参数(GraphicsParameters):用来定量地表达基本图元的几何形状及定位信息等几何特征。图形参数包括基本图元的定位点(AnchorPoint)、旋转角度(Angle)等信息。不同的基本图元,其图形参数也不同。 一绘制参数(RenderParameters):用来描述基本图元的填充样式、轮廓样式等渲染信息。绘制参数包括两种:画笔(Pen)和画刷(Brush)。画笔用来表达基本图元的轮廓线样式;画刷则用来表达基本图元的内部填充样式。5.2.2基本图元构成椭圆弧(含圆弧)椭圆弧(含圆弧)基本图元的基本结构如图3所示,CellType用以定义其基本图元类型。+CellType:SymbolCell图3椭圆弧(含圆弧)的基本结构椭圆弧的图形参数由六部分组成:——R(LongRadius):椭圆弧在X方向的半径;—r(ShortRadius):椭圆弧在Y方向的半径; -a(StartAngle):椭圆弧的起始角度;6——β(EndAngle):椭圆弧的终止角度;——φ(RotationAngle):椭圆弧的旋转角度;——P(AnchorPoint):椭圆弧的中心定位点。当R=r时,椭圆弧即为圆弧。椭圆弧的绘制参数由画笔(Pen)组成,用来表达椭圆弧的轮廓线样式。椭圆(含圆)椭圆(含圆)基本图元的基本结构如图4所示,CellType用以定义其基本图元类型。+CellType:SymbolCellTy图4椭圆(含圆)的基本结构椭圆的图形参数由四部分组成:——R(LongRadius):椭圆在X方向的半径;——r(ShortRadius):椭圆在Y方向的半径;——φ(RotationAngle):椭圆的旋转角度;——P(AnchorPoint):椭圆的中心定位点。椭圆的绘制参数由两部分组成:——画笔(Pen):表达椭圆的轮廓线样式。——画刷(Brush):表达椭圆的内部填充样式。椭圆画刷包括两种:空填充和颜色填充。空填充是指椭圆内部填充为空,即镂空;颜色填充是指椭圆内部填充为颜色。扇形扇形基本图元的基本结构如图5所示,CellType用以定义其基本图元类型。+CellType:SymbolCellTy图5扇形的基本结构扇形的图形参数由六部分组成:——R(LongRadius):扇形在X方向的半径; -r(ShortRadius):扇形在Y方向的半径;7 -a(StartAngle):扇形的起始角度;—β(EndAngle):扇形的终止角度;——φ(RotationAngle):扇形的旋转角度;——P(AnchorPoint):扇形所构成的椭圆的中心定位点。扇形的绘制参数由两部分组成:——画笔(Pen):表达扇形的轮廓线样式。——画刷(Brush):表达扇形的内部填充样式。扇形画刷包括两种:空填充和颜色填充。空填充是指扇形内部填充为空,即镂空;颜色填充是指扇形内部填充为颜色。矩形(含正方形)矩形(含正方形)基本图元的基本结构如图6所示,CellType用以定义其基本图元类型。+CellType:SymbolCell图6矩形(含正方形)的基本结构矩形的图形参数由四部分组成:—R(LongRadius):矩形在X方向的边长的一半;—r(ShortRadius):矩形在Y方向的边长的一半;—φ(RotationAngle):矩形的旋转角度;—P(AnchorPoint):矩形的中心定位点。当R=r时,矩形即为正方形。矩形的绘制参数由两部分组成:——画笔(Pen):表达矩形的轮廓线样式。——画刷(Brush);表达矩形的内部填充样式。矩形画刷包括两种:空填充和颜色填充。空填充是指矩形内部填充为空,即镂空;颜色填充是指矩形内部填充为颜色。菱形基本图元的基本结构如图7所示,CellType用以定义其基本图元类型。+CellType:SymbolCell图7萎形的基本结构8菱形的图形参数由四部分组成:——R(LongRadius):菱形在X方向的对角线的一半长度;——r(ShortRadius):菱形在Y方向的对角线的一半长度;——φ(RotationAngle):菱形的旋转角度; P(AnchorPoint);菱形的中心定位点。菱形的绘制参数由两部分组成: 画笔(Pen):表达菱形的轮廓线样式。 画刷(Brush):表达菱形的内部填充样式。菱形画刷包括两种;空填充和颜色填充。空填充是指菱形内部填充为空,即镂空;颜色填充是指菱形内部填充为颜色。三角形.1等腰三角形等腰三角形基本图元的基本结构如图8所示,CellType用以定义其基本图元类型。+CellType:SymbolCell图8等腰三角形的基本结构等腰三角形的图形参数由四部分组成:——R(LongRadius):等腰三角形底边长的一半;——r(ShortRadius):等腰三角形底边的高; φ(RotationAngle);等腰三角形的旋转角度 P(AnchorPoint):等腰三角形底边的中点。等腰三角形的绘制参数由两部分组成: 画笔(Pen):表达等腰三角形的轮廓线样式, 画刷(Brush);表达等腰三角形的内部填充样式。等腰三角形画刷包括两种;空填充和颜色填充。空填充是指等腰三角形内部填充为空,即镂空;颜色填充是指等腰三角形内部填充为颜色。.2等边三角形等边三角形基本图元的基本结构如图9所示,CellType用以定义其基本图元类型。+CellType:SymbolCell图9等边三角形的基本结构9等边三角形的图形参数由三部分组成: R(LongRadius):等边三角形外接圆的半径:——φ(RotationAngle):等边三角形的旋转角度; P(AnchorPoint):等边三角形的中心定位点,等边三角形的绘制参数由两部分组成: 画笔(Pen):表达等边三角形的轮廓线样式。 画刷(Brush);表达等边三角形的内部填充样式。等边三角形画刷包括两种:空填充和颜色填充。空填充是指等边三角形内部填充为空,即镂空;颜色填充是指等边三角形内部填充为颜色。五角星五角星基本图元的基本结构如图10所示,CellType用以定义其基本图元类型。+CellType:SymbolCell图10五角星的基本结构五角星的图形参数由四部分组成: R(LongRadius):五角星的外接圆的半径; (ShortRadius);五角星的内定点组成的圆的半径;——φ(RotationAngle):五角星的旋转角度; P(AnchorPoint):五角星的中心定位点,五角星的绘制参数由两部分组成: 画笔(Pen):表达五角星的轮廓线样式。 画刷(Brush);表达五角星的内部填充样式。五角星画刷包括两种:空填充和颜色填充。空填充是指五角星内部填充为空,即镂空;颜色填充是指五角星内部填充为颜色。正多边形正多边形基本图元的基本结构如图11所示,CellType用以定义其基本图元类型。正多边形的图形参数由四部分组成: N(EdgeNumber):正多边形的边数,为3~100的自然数; φ(RotationAngle):正多边形的旋转角度; P(AnchorPoint):正多边形的中心定位点,正多边形的绘制参数由两部分组成: 画笔(Pen):表达正多边形的轮廓线样式。 画刷(Brush);表达正多边形的内部填充样式。正多边形画刷包括两种:空填充和颜色填充。空填充是指正多边形内部填充为空,即镂空;颜色填充是指正多边形内部填充为颜色。+CellType:SymbolCell图11正多边形的基本结构贝塞尔曲线贝塞尔曲线基本图元的基本结构如图12所示,CellType用以定义其基本图元类型。+CellType:SymbolCell图12贝塞尔曲线的基本结构贝塞尔曲线的图形参数由两部分组成:——一系列有序的定位点(AnchorPoint);——φ(RotationAngle):贝塞尔曲线的旋转角度。贝塞尔曲线的绘制参数由画笔(Pen)组成,用来表达贝塞尔曲线的轮廓线样式。0折线段折线段基本图元的基本结构如图13所示,CellType用以定义其基本图元类型。+CellType:SymbolCell图13折线段的基本结构折线段的图形参数是由一系列有序的定位点(AnchorPoint)组成。折线段的绘制参数由画笔(Pen)组成,用来表达折线段的轮廓线样式。1直线箭头直线箭头基本图元的基本结构如图14所示,CellType用以定义其基本图元类型。+CellType:SymbolCell图14直线箭头的基本结构直线箭头的图形参数由四部分组成:——Ps(StartPoint):箭头始点坐标;——L(Length):箭头的长度;——a(Angle):箭头的夹角。直线箭头的绘制参数由画笔(Pen)组成,来表达直线箭头的轮廓线样式。多边形基本图元的基本结构如图15所示,CellType用以定义其基本图元类型。+CellTvpe:SymbolCelI图15多边形的基本结构多边形的图形参数是由一系列有序的定位点(AnchorPoint)组成。多边形的绘制参数由两部分组成:——画笔(Pen):表达多边形的轮廓线样式。——画刷(Brush);表达多边形的内部填充样式。多边形画刷包括两种:空填充和颜色填充。空填充是指多边形内部填充为空,即镂空;颜色填充是指多边形内部填充为颜色。5.3基础类型5.3.1基本图元类别基本图元类别(SymbolCellTypeEnum)为枚举数据类型,用以区别基本图元的类型,其定义如下。//点基本图元,椭圆弧(含圆弧)//点基本图元,椭圆(含圆)//点基本图元,矩形(含正方形)//点基本图元,菱形//点基本图元,等腰三角形//点基本图元,等边三角形//点基本图元,五角星//点基本图元,正多边形//线基本图元,贝塞尔曲线//线基本图元,折线段//线基本图元,直线箭头//面基本图元,多边形//面基本图元,椭圆(含圆)5.3.2坐标对坐标对是用来确定位置关系的一对数据值集合。坐标对的基本结构如图16所示,其定义如下。doubleX,//坐标对的横轴坐标doubleY//坐标对的纵轴坐标图16数据类型——坐标对5.3.3画笔画笔是用来描述基本图元或符号化结果的轮廓线样式。画笔的基本结构如图17所示,其定义如下。//画笔的样式//画笔的宽度//画笔的自定义样式长度//画笔的自定义样式数组//画笔的颜色图17数据类型——画笔画刷是用来描述基本图元或符号化结果的内部填充样式。画刷的基本结构如图18所示,其定义如下。//画刷的填充颜色//画刷的填充样式//画刷的边界画笔样式5.4复合图元5.4.1复合图元构成复合图元(CompositeSymbolCell)图18数据类型——画刷是一系列基本图元的有序集合。复合图元与基本图元的关系如图19复合图元5.4.2复合图元配置规则复合图元的配置规则分为以下六种:a)点类配置规则,包括:1)符号成员旋转角度;2)符号成员X方向偏移量;3)符号成员Y方向偏移量。b)线类配置规则,包括:1)X方向拉伸属性;2)Y方向拉伸属性;3)微调属性。c)填充点类配置规则,包括:1)X方向间距;2)Y方向间距;3)是否随机;4)边界裁剪规则。d)填充线类配置规则,包括:1)填充间距;2)填充角度。e)填充颜色类配置规则:颜色属性信息。f)填充边界类配置规则,包括:1)X方向拉伸属性;2)Y方向拉伸属性;3)微调属性。点类配置规则适用于点状符号中的复合图元;线类配置规则适用于线状符号中的复合图元;填充点类配置规则、填充线类配置规则、填充颜色类配置规则和填充边界类配置规则适用于面状符号中的复合图元。6地图符号制作6.1地图符号描述机制地图符号库(MapSymbolDataBase)是记录各种地图符号(MapSymbol)的文件集合;地图符号是符号成员(SymbolComponent)的集合;符号成员是对复合图元(CompositeSymbolCell)施加一定的配置规则而形成的符号单元;复合图元是一系列基本图元(SymbolCell)的有序集合;基本图元是构成符号的基本单元,是符号库的基本组成元素;基于制图需要,有些地图符号本身有一定的约束条件(如乡村路的明显拐弯点应为实部),可用本模型所定义的约束参数完成描述;复合图元的配置规则用于描述复合图元之间的空间关系以及各复合图元之间的绘制顺序;图元图形参数用来定量地表达基本图元的几何形状及定位信息等几何特征;图元绘制参数则用来描述基本图元的填充样式、轮廓样式等渲染信息。地图符号库、符号、图元等结构关系如图20所示。图20地图符号描述机制6.2单位映射单位映射(MappingCell)是指符号库的逻辑单位和绘制设备单位之间的映射关系,用单位映射比例f来衡量。为了提高符号表达与绘制时的精度及运算速度,符号库中采用逻辑单位来存储符号的各种参数f=(μ×L)/(o×S×D)f——单位映射比例,单位为逻辑单位/设备单位;μ——逻辑单位与纸面单位(毫米)的转换系数;L——符号库中的逻辑单位;绘制设备单位与纸面单位(毫米)的转换系数;S——比例尺的分母数字;D——绘制设备单位。图21为1:50000国家基本比例尺地形图图式规范图21三角点状符号用大地坐标的单位(米),则σ=1/1000。在1:50000比例尺中即2逻辑单位等于1绘制设备单位(米)。6.3地图符号6.3.1符号继承关系符号(ISymbol)是由符号成员组成的集合,是符号库的组成成员。按照符号的配置方式,符号可以分为三类:点状符号(IPointSymbol)、线状符号(ILineSymbol)、面状符号(IAreaSymbol),三种符号均继承于符号(ISymbol)。点状符号、线状符号、面状符号的继承关系见图22。+Drawinpts:Pointinmappin△+Dmw(mptsPoimt"inmappingUmttName,string+Draw(inpts:Point*,inmappingUnit:doub+Draw(inpts:Point*,inmappingUnit:doub图22符号继承关系6.3.2点状符号点状符号用来描述点状符号的各项参数,包括符号名称(Name)、组成点状符号的基本图元的图形参数和绘制参数、复合图元的配置规则(ConfigParameters)等,以及提供绘制方法(Draw)绘制点状符号本身。点状符号的主要属性和方法见图22中“IPointSymbol”的叙述。6.3.3线状符号线状符号用来描述线状符号的各项参数,包括符号名称、组成线状符号的基本图元的图形参数和绘制参数、复合图元的配置规则等,以及提供绘制方法绘制线状符号本身。线状符号的主要属性和方法见6.3.4面状符号面状符号用来描述面状符号的各项参数,包括符号名称、组成面状符号的基本图元的图形参数和绘制参数、复合图元的配置规则等,以及提供绘制方法绘制面状符号本身。面状符号的主要属性和方法见6.4地图符号库地图符号库是符号和符号库元数据信息的集合。本标准所描述的符号模型是一种结构化、层次性很强的结构,遵循本标准所制作的地图符号库,可采用XML文档存储。存储样例参见附录B。地图符号库由点状符号、线状符号、面状符号三种符号组成,符号库数据类型及点、线、面状符号的关系见图23。PointSymbolL9图23数据类型符号库符号库元数据(Metadata)包括符号库比例尺(Scale)、符号库映射比例(Ratio)、符号库符号数目(DateTime)等符号库基本信息,见图24。图24符号库7制图表达7.1点状符号表达机制点状符号表达机制见图25。业图25点状符号表达机制线状符号表达机制见图26。开始符号化开始符号化立获取线符号中的符号成员V获取基本图元的图形参数)获取基本图元的绘制参数图26线状符号表达机制7.3面状符号表达机制面状符号表达机制见图27。输入面数据从符号库中调取相应面状符号从符号库中调取相应面状符号立获取面符号中的符号成员获取面符号中的符号成员获取复合图元配置参数获获取X、Y方向的间距’填充点填充线填充点获取边界裁剪规则获取随机填充属性)填充边界V获取边界裁剪规则获取随机填充属性)填充边界获取X、Y方向上的拉伸属性业获取复合图元中的基本图元长业获取基本图元的绘制参数获取基本图元的图形参数)获取基本图元的绘制参数获取基本图元的图形参数)绘制面状符号图27面状符号表达机制面状符号中的复合图元配置规则包含以下四类:——填充点类配置规则;——填充线类配置规则;——填充颜色类配置规则;——填充边界类配置规则。当面状符号中选用填充颜色类配置方式时,其所对应的复合图元为空,表达机制见图28。开始符号化’业业绘制面状符号√立业图28面状符号表达机制——填充面8地图符号的制图表达及绘制接口8.1制图表达与符号绘制地图符号的制图表达是将地理要素根据其几何信息和属性信息进行符号化;地图符号的绘制则是指按照地图符号本身的特性,在一定绘制设备环境上将地图符号进行输出显示。8.2制图表达接口8.2.1符号库表达接口符号库表达接口的组成符号库表达接口(ISymbolDataBase)的组成见图29。+LoadSymbolDBFromFile(insymbolDbFilePath:str+SaveSymbolDBToFile(insymbolDbFilePath:str+SaveSymbol(insymbol:ISy图29符号库表达接口符号库表达接口包括六个属性和五个方法:——Ratio:符号库映射比例;——SymbolCount:符号库符号——DateTime:符号库制作时间;——LoadSymbolDBFromFile:加载符号库;——SaveSymbolDBToFile:保存符——GetSymbolByIndex:根据索引获取符号;——GetSymbolByCode:根据符号代码获取符号;——SaveSymbol:保存符号。【接口原型】intLoadSymbolDBFromFile(instringsymbolDbFilePat【功能】【参数说明】【返回值说明】DB_OK:操作成功;DB_ERROE_OPEN_FILE:文件打开错误;DB_ERROE_NOT_ENOUGH_MEM:申请内存失败;DB_ERROE_UN_EXPECTED:意外的失败;DB_ERROE_INVALID_ARG:一个或多个参数无效;DB_ERROE_NO_INTERFACE:不支持此接口;DB_ERROE_NOTIMPL:未实现;DB_ERROE_ACCESS_DENIED:一般性拒绝访问错误;DB_ERROE_FAIL:未指定的失败。【使用方法示例】symbolDb.LoadSymbolDBFromFile(@"/path/s【接口原型】intSaveSymbolDBToFile(in【功能】将符号库及符号库元数据信息保存到文件。【参数说明】symbolDbFilePath:符号库的文件路径。【返回值说明】DB_OK:操作成功;DB_ERROE_OPEN_FILE:文件打开错误;DB_ERROE_FILE_INVALID:文件无效;DB_ERROE_NOT_ENOUGH_MEM:申请内存失败;DB_ERROE_UN_EXPECTED:意外的失败;DB_ERROE_INVALID_ARG:一个或多个参数无效;DB_ERROE_NO_INTERFACE:不支持此接口;DB_ERROE_NOTIMPL:未实现;DB_ERROE_ACCESS_DENIED:一般性拒绝访问错误;DB_ERROE_FAIL:未指定的失败。【使用方法示例】symbolDb.SaveSymbolDBToFile(@"/path/s根据索引获取符号【接口原型】intGetSymbolByIndex(inintsymbollndex,outISymbol*resul【功能】根据符号在符号库中的索引获取符号。【参数说明】symbollndex:符号在符号库中的索引;result:取到的符号。【返回值说明】DB_OK:操作成功;DB_ERROE_OPEN_FILE:文件打开错误;DB_ERROE_FILE_INVALID:文件无效;DB_ERROE_NOT_ENOUGH_MEM:申请内存失败;DB_ERROE_INVALID_ARG:一个或多个参数无效;DB_ERROE_NO_INTERFACE:不支持此接口;DB_ERROE_NOTIMPL:未实现;DB_ERROE_ACCESS_DENIED:一般性拒绝访问错误;DB_ERROE_FAIL:未指定的失败。【使用方法示例】symbolDb.GetSymbolByIndex(i【接口原型】intGetSymbolByCode(inintsymbolCode,out【功能】根据符号在符号库中的符号代码获取符号。【参数说明】result;取到的符号。【返回值说明】DB_OK:操作成功;DB_ERROE_OPEN_FILE:文件打开错误DB_ERROE_INVALID_ARG:一个或多个参数无效;DB_ERROE_ACCESS_DENIED:一般性拒绝访问错误;【使用方法示例】symbolDb.GetSymbolByCode(symbo保存符号【接口原型】intSaveSymbol(inISymbol*symbol)【功能】保存符号。【参数说明】symbol:要保存的符号。【返回值说明】DB_ERROE_NOT_ENOUGH_MEM:申请内存失败;DB_ERROE_UN_EXPECTED:意外的失败DB_ERROE_INVALID_ARG:一个或多个参数无效;DB_ERROE_NO_INTERFACE:不支持此【使用方法示例】8.2.2点状符号表达接口的组成点状符号表达接口(ISymbolizePoint)的组成见图30。图30点状符号表达接口【接口原型】intSymbolizePoint(inPointpt,indoublerotateAngle,inoutISymbolizeResult*symb【功能】传入待符号化的符号定位点、符号旋转角度、符号在X方向上的偏移量、符号在Y方向上的偏移量,将定位点按照给定的符号进行制图表达,得到符号化结果。【参数说明】pt:待符号化的定位点;rotateAngle:符号的旋转角度;xOffset:符号在X方向的偏移量;yOffset:符号在Y方向的偏移量;symbolizeResult:符号化结果。【返回值说明】SYMBOL_OK:符号化成功;SYMBOL_ERROE_INVALID_SYMBOL:符号错误;SYMBOL_ERROE_NOT_ENOUGH_MEM:申请内存失败;SYMBOL_ERROE_UN_EXPECTED:意外的失败;SYMBOL_ERROE_INVALID_ARG:一个或多个参数无效;SYMBOL_ERROE_NO_INTERFACE:不支持此接口;SYMBOL_ERROE_NOTIMPL:未实现;SYMBOL_ERROE_ACCESS_DENIED:一般性拒绝访问错误;SYMBOL_ERROE_FAIL:未指定的失败。【使用方法示例】SymbolizePoint(pt,308.2.3线状符号表达接口线状符号表达接口的组成线状符号表达接口(ISymbolizePolyline)的组成见图31。+SymbolizePolyline(inpts:Point*,inptCount:long,outsymbolizeResult:ISymbolizeRes图31线状符号表达接口普通线状符号表达【接口原型】intSymbolizePolyline(inPoint*pts,inlongptCount,outISym【功能】传入待符号化的折线的点列,将这些点列按照给定的符号进行符号化,得到符号化结果。【参数说明】pts:待符号化的折线段的有序点列;ptCount:构成折线段的点的个数;symbolizeResult:符号化结果。【返回值说明】SYMBOL_OK:符号化成功;符号错误;点列的实际个数和ptCount参数不相同;申请内存失败;意外的失败;一个或多个参数无效;不支持此接口;SYMBOL_ERROE_NOTIMPL:未实现;SYMBOL_ERROE_ACCESS_DENIED:一般性拒绝访问错误;SYMBOL_ERROE_FAIL:未指定的失败。【使用方法示例】ISymbolizeResultresSymbolizePolyline(pts,pt线状河流表达【接口原型】intSymbolizeRiverSystem(inPoint*pts,inlongptsCount,inIRsegCounts,indoubleminWidth,indoublemaxWidth,outISym【功能】按照干流的最小宽度和最大宽度,将这些点列按照河流符号进行符号化,得到符号化结果。【参数说明】pts:整个河流网络定位数据的定位点的集合;ptsCount:河流网络定位点的个数;riverNet:河流网络;segCounts:河流网络中的干流和支流的个数;minWidth:河流网络中干流的最小宽度;maxWidth:河流网络中干流的最大宽度;symbolizeResult:符号化结果。【返回值说明】SYMBOL_OK:符号化成功;SYMBOL_ERROE_INVALID_SYMBOL:符号错误;SYMBOL_ERROE_INVALID_COUNT:河流网络中的干流和支流的实际个数和segCounts参数不相同;SYMBOL_ERROE_NOT_ENOUGH_MEM:申请内存失败;SYMBOL_ERROE_UN_EXPECTED:意外的失败;SYMBOL_ERROE_INVALID_ARG:一个或多个参数无效;SYMBOL_ERROE_NO_INTERFACE:不支持此接口;SYMBOL_ERROE_NOTIMPL:未实现;SYMBOL_ERROE_ACCESS_DENIED:一般性拒绝访问错误;SYMBOL_ERROE_FAIL:未指定的失败。【使用方法示例】ISymbolizeResultresult;SymbolizeRiverSystem(pts,ptsCount,riverNet,segCount,minWidth8.2.4面状符号表达接口面状符号表达接口的组成面状符号表达接口(ISymbolizePolygon)的组成见图32。+SymbolizePolygon(inpts:Point*,inptCount:long,outsymbolizeResult:ISymbolizeResul+SymbolizePolygon(inpts:Point*,inptCount:long,inBaseLinePts:Point*,inBaseLinePtCount:long,outsymbolizeResult:ISymbolizeResul图32面状符号表达接口普通面状符号表达【接口原型】intSymbolizePolygon(inPoint*pts,inlongptCount,outISymboliz【功能】将传入的多边形数据,按照给定的符号进行符号化,得到符号化结果。【参数说明】pts:构成多边形的有序点列;ptCount:构成多边形的有序点列的个数;symbolizeResult:符号化结果。【返回值说明】SYMBOL_OK:符号化成功;SYMBOL_ERROE_INVALID_SYMBOL:符号错误;SYMBOL_ERROE_INVALID_COUNT:pts的实际个数和ptCount参数不相同;SYMBOL_ERROE_NOT_ENOUGH_MEM:申请内存失败;SYMBOL_ERROE_UN_EXPECTED:意外的失败;SYMBOL_ERROE_INVALID_ARG:一个或多个参数无效;SYMBOL_ERROE_NO_INTERFACE:不支持此接口;SYMBOL_ERROE_NOTIMPL:未实现;SYMBOL_ERROE_ACCESS_DENIED:一般性拒绝访问错误;SYMBOL_ERROE_FAIL:未指定的失败。【使用方法示例】SymbolizePolygon(pts,半线半面状符号表达【接口原型】intSymbolizePolygon(inPoint*pts,inlongptinlongbaseLinePtCount,outISymbolizeResult*symbolizeResult)【功能】将传人的多边形数据,根据给定的符号进行地图符号表达,得到符号化结果。【参数说明】pts:构成多边形的有序点列;ptCount:构成多边形的有序点列的个数;baseLinePts:构成定位基线的有序点列;baseLinePtCount:构成定位基线的有序点列的个数;symbolizeResult:符号化结果。【返回值说明】SYMBOL_OK:符号化成功;符号错误;的实际个数和ptCount参数不相同;SYMBOL_ERROE_NOT_ENOUGH_MEM:申请内存失败;SYMBOL_ERROE_UN_EXPECTED:意外的失败;SYMBOL_ERROE_INVALID_ARG:一个或多个参数无效;SYMBOL_ERROE_NO_INTERFACE:不支持此接口;SYMBOL_ERROE_NOTIMPL:未实现;SYMBOL_ERROE_ACCESS_DENIED:一般性拒绝访问错误;SYMBOL_ERROE_FAIL:未指定的失败。【使用方法示例】SymbolizePolygon(pts,ptCount,baseLinePts,baseLin8.3制图表达结果接口8.3.1自定义类型符号化结果.1符号化结果构成符号化结果(ISymbolResult)数据类型是指点、线、面要素分别采用点状符号、线状符号、面状符号进行符号表达之后的结果。各类符号化结果的继承结构见图33。符号化结果按照几何形态划分为四种:——椭圆(含圆)(IEllipse);——折线段(IPolyline);——多边形(IPolygon);——贝塞尔曲线(IBezierSpline)。符号化结果是以上四种符号化结果的有序集合。.2符号化结果——椭圆(含圆)椭圆(含圆)类符号化结果见图34。图34符号化结果——椭圆(含圆)椭圆的几何信息由三部分组成:——R(LongRadius):椭圆在X方向的半径;——r(ShortRadius):椭圆在Y方向的半径;——P(AnchorPoint):椭圆的中心定位点。当R=r时,椭圆即为圆。椭圆的绘制信息由两部分组成:——画笔(Pen):表达椭圆的轮廓线样式;——画刷(Brush):表达椭圆的内部填充样式。.3符号化结果——折线段折线段类符号化结果如图35所示。几何信息由一系列有序的定位点(AnchorPoint)组成,绘制信息由画笔(Pen)组成,来表达折线段的轮廓线样式。图35符号化结果——折线段.4符号化结果多边形多边形类符号化结果见图36。图36符号化结果——多边形多边形的几何信息是由一系列有序的定位点(AnchorPoint)组成。多边形的绘制信息由两部分组成:——画笔(Pen):表达多边形的轮廓线样式;——画刷(Brush):表达多边形的内部填充样式。.5符号化结果——贝塞尔曲线贝塞尔类符号化结果见图37。图37符号化结果——贝塞尔曲线贝塞尔曲线的几何信息由两部分组成:—一系列有序的定位点(AnchorPoint);——旋转角度(Angle)。贝塞尔曲线的绘制信息由画笔(Pen)组成,来表达贝塞尔曲线的轮廓线样式。河网(RiverNet)数据类型是指将表示河流网络的折线,按照干流、支流组织而成的网状结构。河网数据类型见图38,其定义如下:intFatherPoint//河网中某一支流的尾点索引值//河网中某一支流与其上一级干流的交点的索引值//河网中级别最高的干流的索引值//河网中某一支流的定位点起始索引值8.3.2制图表达结果接口制图表达结果接口(ISymbolizeResult)见图39。+AddSymbolizeResult(insymbolizeResult:EnumSy+GetResultStyleCount(outstyleCount+GetStyle(inindex:int,outmsPen:MapSymbolPen,outmsBrush:MapSymbolBru图39制图表达结果接口8.3.3添加符号化结果【接口原型】intAddSymbolizeResult(inEnumSymbolizeResultsymbolizeResult,inMapSymbolPenmsPen,inMapSymbolBrushmsBrush,inPoint*pts,inlongptsCount)【功能】添加符号化结果。【参数说明】symbolizeResult:要添加的符号化结果类型;msPen;要添加的符号化结果的画笔属性;msBrush:要添加的符号化结果的画刷属性;pts:要添加的符号化结果的定位点的集合;ptsCount:要添加的符号化结果的定位点的个数。【返回值说明】ADD_RESULT_OK:添加符号化结果成功;ADD_RESULT_ERROE_INVALID_SYMBOL:符号化结果ADD_RESULT_ERROE_NOT_ENOADD_RESULT_ERROE_INVALID_ARG:一个或多个参数无效;ADD_RESULT_ERROE_NO_INTERFACE:ADD_RESULT_ERROE_ACCESS_DENIED:一般性拒绝访问错误;【使用方法示例】EnumSymbolizeResultrMapSymbolPenmsPen;MapSymbolBrushmsBrush;result.AddSymbolizeResult(resultType,msPen,msBrush,pts,pt【接口原型】intGetResultStyleCount(outlong【功能】获取符号化结果的样式类型数目。【参数说明】styleCount:符号化结果的样式类型数目。【返回值说明】GET_RESULT_ERROE_INVALID_SYMBOL:获取符号化结果失败;GET_RESULT_ERROE_NOT_ENOUGH_MEMGET_RESULT_ERROE_INVALID_ARG:一个或多个参数无效;GET_RESULT_ERROE_NO_INTEGET_RESULT_ERROE_ACCESS_DENIED:一般性拒绝访问错误;GET_RESULT_ERROE_FAIL:未指定的失败。【使用方法示例】result.GetResultStyleCount(styleC【接口原型】intGetStyle(inintindex,outMapSymbolPe【功能】获取某一层符号化结果的样式,包括画笔和画刷。【参数说明】index:要获取的样式的索引;msPen:要获取的样式的画笔属性;msBrush:要获取的样式的画刷属性。【返回值说明】GET_RESULT_OK:获取符号化结果成功;GET_RESULT_ERROE_INVALID_SYMBOL:获取符号化结果失败;GET_RESULT_ERROE_NOT_ENOUGH_MEM:申请内存失败;GET_RESULT_ERROE_UN_EXPECTED:意外的失败;GET_RESULT_ERROE_INVALID_ARG:一个或多个参数无效;GET_RESULT_ERROE_NO_INTERFACE:不支持此接口;GET_RESULT_ERROE_NOTIMPL:未实现;GET_RESULT_ERROE_ACCESS_DENIED:一般性拒绝访问错误;GET_RESULT_ERROE_FAIL:未指定的失败。【使用方法示例】result.GetStyle(index,msPen,msBr8.3.5制图表达结果绘制【接口原型】【功能】绘制符号化结果。【参数说明】hDC:绘制设备的上下文。【返回值说明】DRAW_RESULT_OK:绘制成功;DRAW_RESULT_ERROE_INVALID_SYDRAW_RESULT_ERROE_NOT_ENOU符号化结果失败;申请内存失败;DRAW_RESULT_ERROE_UN_EXPEDRAW_RESULT_ERROE_INVALID意外的失败;一个或多个参数无效;DRAW_RESULT_ERROE_NO_INTERFACE:不支持此接口;DRAW_RESULT_ERROE_NOTIMPL:未实现;DRAW_RESULT_ERROE_ACCESS_DENIED:一般性拒绝访问错误;DRAW_RESULT_ERROE_FAIL:未指定的失败。【使用方法示例】8.4地图符号绘制接口8.4.1点状符号绘制接口点状符号绘制接口(Draw)见图40。Draw(inhDC:int*,inmappingUnit:doubl图40点状符号绘制接口【接口原型】intDraw(inint*hDC,i【功能】绘制点状符号。【参数说明】hDC:绘制设备的上下文;mappingUnit;单位映射比例。【返回值说明】DRAW_POINT_SYMBOL_OK:绘制成功;DRAW_POINT_SYMBOL_ERROE_INVALID_SYMBOL:申请点状符号失败;DRAW_POINT_SYMBOL_ERROE_NOT_ENOUGH_MEM:申请内存失败;DRAW_POINT_SYMBOL_ERROE_UN_EXPECTED:意外的失败;DRAW_POINT_SYMBOL_ERROE_INVALID_ARG:一个或多个参数无效;DRAW_POINT_SYMBOL_ERROE_NO_INTERFACE:不支持此接口;DRAW_POINT_SYMBOL_ERROE_NOTIMPL:未实现;DRAW_POINT_SYMBOL_ERROE_ACCESS_DENIED:一般性拒绝访问错误;DRAW_POINT_SYMBOL_ERROE_FAIL:未指定的失败。【使用方法示例】IpointSymbolpoindoublemappingUpointSymbol.Draw(&.hDC,mappingUni8.4.2线状符号绘制接口线状符号绘制接口(Draw)见图41。+Draw(inhDc:int*,inmappingUnit:doub【接口原型】线状符号绘制接口【功能】【返回值说明】DRAW_LINE_SYMBOL_ERROE_INVALID_SYMBOL:DRAW_LINE_SYMBOL_ERROE_NOT_ENOUGH_MEMDRAW_LINE_SYMBOL_ERROE_UN_EXPECTED:意外的失败;DRAW_LINE_SYMBOL_ERROE_INVALID_ARG:一个或多个参数无效;DRAW_LINE_SYMBOL_ERROE_NOTIMPL:DRAW_LINE_SYMBOL_ERROE_ACCESS_DENIED:一般性拒绝访问错误;DRAW_LINE_SYMBOL_ERROE_FAIL:未指定的失败。【使用方法示例】lineSymbol.Draw(&.hDC,map面状符号绘制接口见图42。+Draw(inhDC:int*,inmappingUnit:dou图42面状符号绘制接口【接口原型】intDraw(inint*hDC,indouble【功能】【参数说明】【返回值说明】DRAW_AREA_SYMBOL_OK:绘制成功;DRAW_AREA_SYMBOLERROE_IDRAW_AREA_SYMBOL_ERROE_NOT_ENOUGH_MDRAW_AREA_SYMBOL_ERROE_UN_EXPECTED:意外的失败;DRAW_AREA_SYMBOL_ERROE_INVALID_ARG:DRAW_AREA_SYMBOL_ERROE_NO_INTERFACE:不支持此接口;DRAW_AREA_SYMBOL_ERROE_NOTIMPL:DRAW_AREA_SYMBOLERROE_ACCESS_DENIED:一般性拒绝访问错误;【使用方法示例】areaSymbol.Draw(&.hDC,m(资料性附录)参数及接口名称释义中文释义添加符号化结果接口椭圆(含圆)(面基本图元)多边形(面基本图元)定位点面状符号画刷,表达基本图元的内部

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论