为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于MapObjects的特殊点符号制作和旋转

2018-01-17 8页 doc 60KB 32阅读

用户头像

is_668482

暂无简介

举报
基于MapObjects的特殊点符号制作和旋转基于MapObjects的特殊点符号制作和旋转 Jun., 2008 2008 年 6 月 地 理 空 间 信 息第 6 卷第 3 期 GEOSPATIAL INFORMATION Vol. 6, No. 3 MapObjects 基于 的特殊点符号制作和旋转 1121张成才 ,马玉荣 ,李 健 ,赵东保 (1. 郑州大学 环境与水利学院,河南 郑州 450001;2. 武汉大学 遥感信息工程学院,湖北 武汉 470072 ) 摘 要:结合研究项目 “河南省内河航道基础地理信息系统”,利用 Visual Basic ...
基于MapObjects的特殊点符号制作和旋转
基于MapObjects的特殊点符号制作和旋转 Jun., 2008 2008 年 6 月 地 理 空 间 信 息第 6 卷第 3 期 GEOSPATIAL INFORMATION Vol. 6, No. 3 MapObjects 基于 的特殊点符号制作和旋转 1121张成才 ,马玉荣 ,李 健 ,赵东保 (1. 郑州大学 环境与水利学院,河南 郑州 450001;2. 武汉大学 遥感信息工程学院,湖北 武汉 470072 ) 摘 要:结合研究项目 “河南省内河航道基础地理信息系统”,利用 Visual Basic 和 MapObjects 开发了航道系统专门的符号 库,使用 FontCreator 字体软件制作所需符号,然后根据点符号旋转算法,利用渲染方法实现了有向点符号不同角度的旋转。关键词:地理信息系统;MapObjects;地图符号;符号旋转 () 中图分类号:P208 文献标志码: B 文章编号: 1672-4623 200803-0004-03 Creating and Rotating of Special Point Symbol Based on MapObjects 1121 ZHANG Chengcai,MA Yurong,LI Jian,ZHAO Dongbao ( 1. School of Environment and Water Conservancy, Zhengzhou University, Zhengzhou 450001, China; )2. School of Remote Sensing and Information Engineering, Wuhan University, Wuhan 470072, China Abstract: Using the language of Visual Basic and ActiveX component named MapObjets, the paper studies on the method of the creation and rotation of special point symbol of waterway system. User-defined symbol was created by FontCreator software. The rotation angle of different point symbol was calculated based on arithmetic, and then rotation was realized by ValueRenderer method of MapObjects. Key words:GIS;MapObjects; map symbol; symbol rotation 地图符号是地图的语言,是用来表示自然或人文层要素:点图层、线图层和面图层:可以用不同的着现象的各种图形,它是表达地理现象和发展的基本手 色对象加以表现,着色对象有可以包含多种符号对象。 [][]31符号对象用于描述要绘制和显示的符号的属性 。 段 。地图符号是由形状不同、大小不一和色彩有别 的图形和文字组成。根据地图符号的制图特性及其所 总体来说,MO 中可以使用的符号有两类。一类 是系统自带的缺省的符号:使用Symbol 属性或者Symbol 表示的地物与地理现象的分布特征,地图符号分为点 符号、线符号、面符号三种类型。 []4点符号是一种表达不能依比例尺表示的小面积事 对象 :,其种类和数量有限:点状四种、线状五种、 () () 物 如码头等和点 如控制点所采用的符号。地图 面状十一种:。符号类型和值分别通过 Style 和 Symbol- 有向点符号是地图点状符号的一个分支,除具有 Type 属性来设置。这类符号不可能满足实际应用系统 []2点符号的所有特征之外,还包含着方向角信息 。地 对符号表现多样性的要求。另一类是利用 Windows 系 图有向点符号是目前研究的一个重要方面。 统内部的 TrueType 字体:预定义或自定义的符号:。用 河南省航道基础地理信息系统利用 Visual Basic 和 Font 属性设置字体或者符号库,用 CharacterIndex 属性 MapObjects:简称 MO:进行二次集成开发。但 MO 中 设置符号索引,这种方法比第一类种类和数量多,有 的符号显示和绘制的种类和数量有限,不能满足航道 更大的适用性。 系统特定符号和特定显示方式的要求,必须建立航道 MO 提供了几个常用的图形符号库:常用字符符 系统特定的符号库。 号、交通与市政符号:ESRI Transportation & Municipal:、 常用图形符号:Wingdings:等:,这些符号都是针对点 符号的。更多可用的TrueType 字体我们可以在系统Win- 1 基于 MO 点符号的制作 dows 文件夹下的 Fonts 文件下找到,然后用 Symbol 的 Font 属性来设置字体。注意必须把 Symbol 的 Style 属 MO 中地图符号的显示是通过多个自动化对象间 性设置为 moTrueTypeMarker。当然我们也可以建立 的合作来完成的。Map 控件中包含很多地理图层,每 收稿日期: 2007-10-10 项目来源:水利部黄河泥沙重点实验室 2007 年度开放课题基金资助项目(2007005) 5 第 6 卷第 3 期 张成才等:基于 MapObjects 的特殊点符号制作和旋转 []5) TrueType 字体文件,将其添加到符号库中 。我们通 1根据向量关系判断一个点 pt2 与直线段 pt1pt3 的位置关系 点与线段的位置关系分为点与线段共线和过字体编辑软件 FontCreator 制作自己的点符号库,使 不共线 其符合航道部门的专业符号要求。如航道起止点、可 通航枢纽、不可通航枢纽、过河建筑物、码头、临河 两种,其中不共线又分为在线段的左边和右边两种,如 设施、枢纽、港口、坝闸等符号都有自己特定的符号 图 1 所示。 表示。自定义地图符号使地图内容更加清晰易读。通 pt 2 过软件提供的符号编辑器每个符号样式对应惟一的索 []6引号 ,打开文件后可以修改、删除、增加各种符号 样式,最后把编辑好的符号文件保存到自己的工作空 pt 3 pt 1 间,供地图显示和制图时使用。 制作自定义符号的具体做法如下: 图 1 点 pt2 与线段 pt1pt3 关系图 1:新建一个 TrueType 字体,并给该字体命名:如 根据矢量叉积的几何意义可知,如果叉积 命名为 HangDao:。 () ()pt3-pt1× pt2-pt1 :1: 2:利用 FontCreator 自身提供的基本字形绘制组成 为零,则点 pt2 与线段 pt1pt3 共线,否则不共线。叉积 所需要点符号。 []8结果是一个矢量,其大小可以用坐标计算 ,即 把所选的基本字形拖放到字体符号编辑窗体中, 12 12 然后进行修改编辑;也可以用 Import Image 命令导入大 FXY = :2: ,, 小合适的 Image 图像,在此基础上进行修改。 1 3 13 () () 3:注册字体符号。 即 FXY = pt2. Y - pt1. Y* pt3. X - pt1. X- 字体符号完成后,可以通过 Font 菜单下 InStall 来 () () :3: pt3. Y - pt1. Y* pt2. X - pt1. X安装字体,这样所创建的 TrueType 字体会自动安装到 如果 FXY=0,则点与线段共线,如果 FXY>0,则 系统 Windows 下的 Font 中;也可以先把该字体保存到 点 pt2 在线段 pt1pt3 的左边,如果 FXY<0,则点 pt2 在 一个地方,然后人为地把它复制到系统文件夹的Windows []9线段 pt1pt3 右边 。 下的 Font 文件夹下。 ) ,根据三点的位置关系确定旋转的角度 4:在地图中显示自定义符号。代码如下: ()() Dim Sym as New MapObjects2. Symbol k1 = Angle pt1, pt2k2 = Angle pt2, pt3 Sym. Style = moTrueTypeMaker 注:pt1, pt2, pt3 为所在线上的连续三点,这里定 (Sym. Font =“HangDao” 义公用函数 Public Function Angle pt1 As Point, pt2 As )Point,其功能是计算向量 pt1pt2 的方向,返回值范围 []0,360。 在这里,点垂直于线:多段线:认为是:起点垂 直于第一段线,终点垂直于最后一段线,中间点是该 处角帄分线方向,方向均指向外。有向点符号的方向 计算流程图与公式如图 2 所示。 Sym. CharacterIndex = 90 '90 是所制作符号 的索引号 2 有向点符号的旋转 地图制图用到某个图形符号时,如果按图面布置 需要该符号的方位与行业标准一致时,则可直接采用; 如果根据图面布置的要求,所用符号的方位与行业标 准不一致,可通过旋转得到满足要求的符号。符号旋 []7转有旋转方向和旋转角度两个要素 。目前,用程序 实现有向点符号不同角度的旋转的研究还不多。 在 MO 中符号默认的显示方式是同一图层的所有 符号显示是一样的,这就不能满足航道系统特定的符 号标识。譬如航道起止点符号必须和所在航道垂直,可 图 2 有向点符号的方向计算流程图通航枢纽必须和所在航道垂直且从上游指向下游等。为 由于 MO 中的有向点符号默认方向是 90 ?,所以 了实现此功能,创建了符号旋转模块。具体的实现步 点符号旋转的角度 k = k - 90。 骤如下: ) 3旋转方法的实现 (此功能用公用过程 Public Sub RotationSymbol lay1 6 第 6 卷第 3 期 地理空间信息 As MapLayer, lay2 As MapLayer, fontName As String, . ValueCount = pStats. Count + 1 ) fontIndex As Integer, fontSize As Integer来实现,其中 (). Symbol l. Rotation = k lay1 是点层,lay2 是线层,lay1 围绕 lay2 旋转。点符 End With 号旋转流程图:见图 3:和主要代码如下: l = l+1 rec1. MoveNext Loop 在河南省航道基础地理系统中,符号旋转后的效 果如图 4 所示。 图 4 符号旋转后的效果图及其放大图 图 3 点符号旋转流程图 3 结 语 主要代码: Do While Not rec1. EOF 地图符号是地图的语言,是可视化表达地理环境 ()的基本手段。地图符号决定了地图的内容是否充分表 Set point1 = rec1. Fields "Shape". Value (达、地图是否便于阅读使用以及地图对地理信息的传 strSearch = "航道代码 = " & "'" & rec1. Fields " 输效果。本文主要研究特定点符号的制作及其旋转,大 )航道代码". Value & "'" 大提高了地图内容的表达程度,且与实际航道系统要 () '找 Set rec2 = lay2. SearchExpression strSearch求的符号一致,使地图的查看和打印输出更加美观实 到点所在的线 用。应用表明符号旋转模块具有一定通用性,对其他 系统点符号旋转具有一定的借鉴意义。 rec2. MoveFirst If Not rec2. EOF Then () Value Set line2 = rec2. Fields "Shape". 参考文献Set linePoints = New Points [][]1 龚健雅. 地理信息系统基础M. 北京:科学出版社,2005 () '使线:多段线: For Each pt In line2. Parts 0[][]2 毛凯,龙毅. 基于旋转预处理的地图符号识别方法J. 测绘 的点添加到 Points 对象 ()信息与工程学报,2004,295:14-16 [][]3 薛伟. MapObjects地-理信息系统程序设计M. 北京:国防工 linePoints. Add pt 业出版社,2004 Next pt [][] 4 熊卫东. 组件 GIS 中地图符号制作系统的设计与实现D武 End If 汉:武汉大学,2003 '通过地图渲染的方法来实现各个点符号实现不同 []5 罗庆洲, 张卫民, 李先华.在常用 GIS 软件中实现自定义地图 角度的旋转 []()符号J. 测绘通报,20031:44-45 [][]6 韦建华,李志荣. 电气图用图形符号的方位和旋转J. 电气时 With m_pRenderer ()代,200011:25 . SymbolType = moPointSymbol [][]张小望. 基于点的构网算法及等值线追踪设计J. 测绘 7 (). Symbol l. CharacterIndex = fontIndex ()通报,19989:21-24 (). Symbol l. Size = fontSize [][]8 周秋声. 建立数字地面模型的算法研究J.测绘工程,2001, ()101:14-18 . Field = "FeatureID" (Set pStats = lay1. Records. CalculateStatistics " 第一作者简介:张成才,教授,博士研究生导师,主要研究方)FeatureID" 向为遥感与地理信息系统。
/
本文档为【基于MapObjects的特殊点符号制作和旋转】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索