首页> 中国专利> ArcGIS共享CorelDraw点状符号方法

ArcGIS共享CorelDraw点状符号方法

摘要

本发明公开了一种ArcGIS共享CorelDraw点状符号的方法,具体步骤包括:(1)构建开放式点状符号结构,该结构兼容CorelDraw与ArcGIS点状符号结构,(2)CorelDraw图形向开放式点状符号数据转换:读取CorelDraw点状符号图形数据,并进行符号描述信息的定制与定位点变换,然后基于XML将CorelDraw点状符号图形数据进行开放式输出,利用CorelDraw点状符号图形的坐标单位、几何数据、轮廓数据以及填充数据的转换方法,将CorelDraw点状符号图形转换为开放式点状符号,(3)开放式点状符号向ArcGIS点状符号转换:将开放式点状符号数据转换为ArcGIS符号库文件,并利用ArcGIS点状符号绘制扩展将开放式点状符号绘制至ArcGIS平台。本发明着重突出不同系统间符号数据的共享方法,为ArcGIS共享CorelDraw点状符号提供了一条新的技术路线。

著录项

  • 公开/公告号CN104851118A

    专利类型发明专利

  • 公开/公告日2015-08-19

    原文格式PDF

  • 申请/专利权人 滁州学院;

    申请/专利号CN201510271985.6

  • 发明设计人 陈泰生;陈梦琳;王本林;

    申请日2015-05-25

  • 分类号

  • 代理机构南京知识律师事务所;

  • 代理人李媛媛

  • 地址 239000 安徽省滁州市丰乐大道1528号

  • 入库时间 2023-12-18 10:36:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-06-16

    授权

    授权

  • 2015-09-16

    实质审查的生效 IPC(主分类):G06T11/20 申请日:20150525

    实质审查的生效

  • 2015-08-19

    公开

    公开

说明书

技术领域

本发明涉及地理信息共享与地图制图领域,具体涉及一种ArcGIS共享CorelDraw点状符 号方法。

背景技术

符号是地图的图解语言,是地理信息表达的基本形式,符号系统也是GIS系统的核心组 成部分,然而不同系统符号模型不同,符号的组织与结构差异较大,导致相互之间符号难以共 享,地理信息难以有效传输。

在地图制图领域,制图人员常利用CorelDraw与ArcGIS软件进行地图的设计与制作,与 GIS面向空间数据的组织与分析不同,CorelDraw以图形为中心,主要面向矢量图形设计与绘 制,大量符号资源以图形形式存在于此类图形系统之中。然而由于CorelDraw图形结构与 ArcGIS平台符号结构的差异,导致ArcGIS软件难以共享CorelDraw系统中的点状符号图形, 利用CorelDraw设计的点状符号资源难以应用至ArcGIS软件,虽然CorelDraw环境中能够将 点状符号图形转换为栅格图像格式,并利用ArcGIS的图片标记符号间接使用这些符号资源, 但此种方式将CorelDraw符号原有的矢量数据转换为了ArcGIS符号的栅格数据,导致大量点 状符号信息的丢失,同时ArcGIS在渲染栅格点状符号时,相对矢量点状符号绘制效率较慢, 因此此种方式难以实现GIS共享CorelDraw点状符号资源。

为了解决不同系统间符号共享的问题,目前普遍采用符号描述标准、数据格式转换、符号 格式转换、TrueType字体库、符号对应表等几种方法,但由于CorelDraw与ArcGIS底层点状 符号结构或图形结构存在较大差异,现有方法难以支撑ArcGIS共享CorelDraw点状符号。

名称为“AutoCAD图块与基于路径的点状符号交换方法”(申请号201019026028.1,公开 号101783023B)、名称为“TrueType符号与基于路径的点状符号交换方法”(申请号 201019026034.7,公开号101799933B)、名称为“图元法点状符号与基于路径的点状符号交换 方法”(申请号201019026026.2,公开号101751683B)的专利,公开了AutoCAD图块、TrueType 符号以及图元法点状符号与基于路径的点状符号交换方法,但它们均未涉及ArcGIS共享 CorelDraw点状符号方法。

发明内容

本发明的目的在于克服现有GIS软件难以共享图形系统点状符号方面存在的缺陷,提供 一种ArcGIS共享CorelDraw点状符号的方法,实现ArcGIS环境下对CorelDraw点状符号的 最大化共享。

本发明的技术方案为一种ArcGIS共享CorelDraw点状符号的方法,包括构建开放式点状 符号结构(OpenMapSymbol)、CorelDraw图形向开放式点状符号数据转换与开放式点状符号 向ArcGIS点状符号转换三个部分。

其中,所述开放式点状符号结构(OpenMapSymbol,简称OMS),用于定义点状符号,兼 容CorelDraw与ArcGIS点状符号结构,包括以下几个步骤:

步骤1字符点状符号图层设计,用于描述TrueType字符构建的点状符号,兼容ArcGIS软 件中的字符标记符号结构;

步骤2路径点状符号图层构建,用于描述由几何图形构建而成的点状符号,兼容CorelDraw 环境的点状符号图形结构以及ArcGIS软件的简单标记符号与箭头标记符号结构;

步骤3栅格图像点状符号图层建立,用于描述通过栅格图像定义而成的点状符号,兼容 CorelDraw环境中栅格图片符号与ArcGIS软件的图片标记符号。

所述CorelDraw图形向开放式点状符号数据转换包括以下几个步骤:

步骤1CorelDraw点状符号图形数据读取:用于读取CorelDraw点状符号图形数据,包括 读取CorelDraw符号图形的几何数据,解析CorelDraw符号图形的轮廓与填充数据;

步骤2CorelDraw点状符号描述信息定制:用于对CorelDraw点状符号的符号名称、符号 编码、符号类别与符号比例尺属性进行设置;

步骤3CorelDraw点状符号定位点变换:用于对CorelDraw图形组成的点状符号进行定位 点转换,通过包围盒中心点计算方式或定位点定制方式设置CorelDraw点状符号定位点;

步骤4CorelDraw点状符号图形数据XML输出:用于对CorelDraw点状符号图形数据利用 XML进行开放式输出;

步骤5CorelDraw图形单位转换:用于对构成CorelDraw点状符号的几何数据进行单位换 算,将CorelDraw图形的几何单位转换为开放式点状符号的毫米单位;

步骤6CorelDraw图形几何数据转换:用于对CorelDraw环境中点状符号图形的几何数据 进行转换,将CorelDraw图形的几何数据转换至开放式点状符号的几何路径图层;具体是指: 将CorelDraw点状符号曲线类型中的直线段转换为开放式点状符号直线路径,曲线类型中的曲 线段转换为开放式点状符号贝塞尔曲线路径;CorelDraw矩形类型中的矩形与圆角矩形数据分 别转换为开放式点状符号矩形路径与圆角矩形路径;CorelDraw椭圆类型中的椭圆与圆弧数据 分别转换为开放式点状符号椭圆与圆弧路径,圆饼数据转换为开放式点状符号圆弧与直线路径 集合;CorelDraw点状符号的正多边形数据转换为开放式点状符号正多边形路径,五角星数据 转换为开放式点状符号首尾相连的直线路径;

步骤7CorelDraw图形轮廓数据转换:用于对CorelDraw点状符号的轮廓数据进行转换, 将构成CorelDraw点状符号图形的轮廓信息转换为开放式路径点状符号图层的笔画数据;具体 是指:将CorelDraw点状符号中线轮廓属性转换为开放式点状符号笔画属性,其中依据边界线 轮廓类型,将轮廓颜色的RGB或CMYK数据转换至开放式点状符号笔画中对应颜色属性;将 轮廓样式依据实线与虚线的不同类型,分别转换为不同数据;对于实线,直接将宽度、端头类 型、轮廓角类型以及斜接限制数据转换为开放式点状符号笔画宽度、端头样式、连接样式以及 斜接限制属性,对于虚线,在上述转换方法基础上,将虚线的实段与虚段长度转换为开放式点 状符号笔画虚实模式中对应实段与虚段值;

步骤8CorelDraw图形填充数据转换:用于对CorelDraw点状符号的填充数据进行转换, 将图形的填充数据转换为开放式路径点状符号图层的填充数据;具体是指:对于CorelDraw点 状符号均匀填充,将均匀填充的RGB或CMYK颜色数据转换为开放式点状符号简单填充对应 颜色属性,对于CorelDraw点状符号渐变填充,将渐变填充的类型与RGB或CMYK颜色数据 转换为开放式点状符号渐变填充对应属性,对于CorelDraw点状符号图形的图样填充、底纹填 充、PostScript填充,将其通过栅格图像的方式转换为开放式点状符号的栅格图像点状符号图 层;

所述开放式点状符号向ArcGIS点状符号转换包括以下几个步骤:

步骤1开放式点状符号数据转换:用于将开放式点状符号数据转换为ArcGIS点状符号, 并将开放式点状符号数据存储至ArcGIS符号库文件;具体是指,将开放式点状符号中路径点 状符号图层的几何数据、笔画数据与填充数据序列化至ArcGIS符号库文件,将开放式点状符 号字符点状符号图层中的字符数据以及栅格图像点状符号图层中的栅格图像及属性数据转换 为ArcGIS点状符号中的字符标记符号数据与图片标记符号数据;

步骤2ArcGIS点状符号绘制扩展:用于对ArcGIS点状符号绘制方式进行扩展,支持开放 式点状符号的绘制接口;具体是指,基于ArcGIS符号自定义设计模式,将开放式点状符号的 绘制接口及绘制方法应用至ArcGIS标记符号的绘制接口。

本发明的方法着重突出不同系统间符号数据的共享方法,为ArcGIS共享CorelDraw点状 符号提供了一条新的技术路线。利用该方法,能够在ArcGIS平台中使用CorelDraw软件制作 的点状符号,实现ArcGIS共享CorelDraw点状符号,提高符号的使用效率,从而减少符号制 作的不必要重复劳动,提高地图产品的制图效率。

附图说明

图1为本发明的开放式点状符号结构示意图;

图2为本发明的ArcGIS共享CorelDraw点状符号示意图;

图3为本发明的CorelDraw点状符号XML输出文件结构示意图;

图4为本发明的CorelDraw图形几何数据转换为开放式点状符号路径数据示意图;

图5为本发明的CorelDraw图形轮廓转换为开放式点状符号笔画示意图;

图6为本发明的CorelDraw图形填充转换为开放式点状符号填充示意图;

图7为本发明的开放式点状符号共享至ArcGIS示意图。

具体实施方式

下面结合附图与实施例对本发明做进一步说明。

如图2所示,本发明ArcGIS共享CorelDraw点状符号方法,该方法包括开放式点状符号 结构、CorelDraw图形向开放式点状符号数据转换与开放式点状符号向ArcGIS点状符号转换 三个部分,以下分别说明各部分实现,以供实施参考。

本实例以Windows 7为操作系统环境,Microsoft visual studio 2010为开发环境,C++、VBA 为开发语言,CorelDraw X6为CorelDraw平台,ArcGIS10.0为ArcGIS平台,CorelDraw点状 符号以cdr文件方式存储,ArcGIS以style文件方式存储。

开放式点状符号结构包括以下几个步骤:

步骤1字符点状符号图层设计,

步骤2路径点状符号图层构建,

步骤3栅格图像点状符号图层建立。

具体实施步骤如下:

步骤1字符点状符号图层设计,是指针对GIS平台大多利用TrueType字符构建的点状符 号数据共享,字符点状符号图层利用操作系统字体文件的字符构建点状符号,图层包括字体名 称、字符编码、字符大小、字符颜色、字符样式、倾斜角度等属性。

步骤2路径点状符号图层构建,是面向利用几何图元构建的点状符号数据共享,图层采用 几何路径的构图方式描述点状符号,图层由路径、笔画样式与填充样式构成,如图1所示,将 路径分解为直线路径、贝塞尔曲线路径、圆弧路径、B样条曲线路径、三角形路径、圆(椭圆) 路径、矩形路径、圆角矩形路径、B样条曲线路径、扇形路径、弦形路径、星形路径、正多边 形路径等路径类型;针对描述点状符号边界轮廓的样式,建立颜色笔画、渐变笔画与纹理笔画; 针对点状符号内部填充样式,构建简单填充、纹理填充与渐变填充。

步骤3栅格图像点状符号图层建立,是面向栅格类点状符号的数据共享,图层基于栅格图 片构建点状符号,包括特定栅格图片的文件路径与图片的放缩比例、旋转角度、位置偏移等图 层属性。

CorelDraw图形向开放式点状符号的转换方法包括以下几个步骤:

步骤1CorelDraw点状符号图形数据读取,

步骤2CorelDraw点状符号描述信息定制,

步骤3CorelDraw点状符号定位点变换,

步骤4CorelDraw点状符号图形数据XML输出,

步骤5CorelDraw图形单位转换,

步骤6CorelDraw图形几何数据转换,

步骤7CorelDraw图形轮廓数据转换,

步骤8CorelDraw图形填充数据转换。

具体实施步骤如下:

步骤1CorelDraw点状符号图形数据读取,是指将*.cdr格式的CorelDraw图形文件中的点 状符号图形数据加载至计算机内存,共分为两类方法,第一类方法是直接读取CorelDraw图形 文件中的点状符号图形数据,此方法限定条件为每个图形文件中仅存在单个点状符号,第二类 方法是在CorelDraw平台中打开点状符号的图形文件,利用VBA构建的点状符号选取工具, 逐个选取每个点状符号,并读取该符号的图形数据,将数据加载至内存。

步骤2CorelDraw点状符号描述信息定制,是指对CorelDraw类型的点状符号定制符号名 称、符号编码、符号类别、符号比例尺四个属性数据,在点状符号数据转换过程中,通过VBA 点状符号选择工具,选择需要定制描述信息的点状符号,在此基础上,利用VBA符号共享工 具的点状符号元数据设置页面,设定该符号的符号名称、符号编码、符号类别与符号比例尺。

步骤3CorelDraw点状符号定位点变换,是指将CorelDraw点状符号图形设置定位点,并 将定位点变换为开放式点状符号定位点,分为两类方法,第一类方法是自动计算CorelDraw点 状符号图形的包围盒中心点,该方法的限定条件为需要转换的点状符号定位点与中心点一致; 第二类方法是对CorelDraw点状符号定位点进行定制,利用VBA构建点状符号选取工具在 CorelDraw界面中选取需要定制的符号图形,然后点击变换工具,设定该点状符号定位点。

步骤4CorelDraw点状符号图形数据XML输出,是指将加载至当前计算机内存的 CorelDraw点状符号数据存储为XML文件,如图3所示CorelDraw点状符号XML文件包括点 状符号节点、形状节点、几何节点、边界线节点、填充节点,几何节点包括直线段节点、曲线 段节点、矩形节点、圆角矩形节点、椭圆节点、圆弧节点、圆饼节点、正多边形节点以及星形 节点。

步骤5CorelDraw图形单位转换,是指将CorelDraw图形长度单位转换为开放式点状符号 毫米单位,单位转换如表1所示。

步骤6CorelDraw图形几何数据转换,是指将输出的CorelDraw点状符号XML文件中的 图形几何数据转换为开放式点状符号中路径点状符号图层的几何路径数据,其中依据 CorelDraw图形的类型将CorelDraw点状符号图形几何数据分为曲线、矩形、椭圆、多边形等 类型,依据几何数据的类型将点状符号图形几何数据转换为对应的开放式点状符号几何路径, 转换方法如下:

(1)曲线类几何数据转换:

CorelDraw点状符号曲线由单个或多个子路径构成,子路径由单个或多个段组成,段可以 是直线段、曲线段或由直线与曲线组合而成的混合段,CorelDraw直线段由起始节点与终止节 点定义,因此将直线段数据转换为开放式路径点状符号图层中的直线段路径,CorelDraw贝塞 尔曲线由起始节点、终止节点、起始控制点与终止控制点定义,将贝塞尔曲线的节点与控制点 几何数据转换为开放式点状符号中路径点状符号图层的贝塞尔曲线路径。

(2)矩形类几何数据转换:

CorelDraw矩形类图形由矩形与圆角矩形两种图形构成,矩形图形通过左上角点坐标、矩 形宽度与高度定义,圆角矩形在上述参数基础上通过圆角半径定义圆角形状,按照不同的几何 类型,将CorelDraw点状符号图形的矩形与圆角矩形分别转换为开放式点状符号中路径点状符 号图层的矩形与圆角矩形路径。

(3)椭圆类几何数据转换:

CorelDraw椭圆类图形由椭圆、圆弧、圆饼三种类型图形构成,其中椭圆利用中心点坐标、 长半径与短半径参数定义,圆弧与圆饼除上述参数外,使用起始角度、终止角度、弧段方向等 参数描述,对于椭圆类型,将CorelDraw椭圆图形的几何数据转换为开放式路径点状符号图层 中椭圆路径的中心点与椭圆半径数据,对于圆弧类型,将CorelDraw圆弧中的几何参数转换为 开放式点状符号中的中心点、长短半径、起始角、终止角以及方向属性;对于圆饼类型,将 CorelDraw圆饼图形转换为由直线与圆弧首尾相连的路径。

(4)多边形类几何数据转换:

CorelDraw多边形类图形由正多边形与星形两类图形构成,对于正多边形将多边形的边数、 外接矩形尺寸转换为开放式路径点状符号图层中正多边形几何路径的边数与尺寸数据;对于星 形,将CorelDraw星形图形依据锐度,计算其星形的节点坐标,将其转换为开放式点状符号的 路径点状符号图层中首尾相连的直线段路径。

步骤7CorelDraw图形轮廓数据转换,是指将输出的CorelDraw点状符号XML图形轮廓 数据转换为开放式点状符号中路径点状符号图层的的笔画数据,如图5所示,对于CorelDraw 图形轮廓的颜色与宽度属性,将其转换为开放式点状符号简单笔画的颜色与宽度对应数据;对 于样式数据,读取虚线的实段与虚段长度,将其转换为开放式点状符号简单笔画的虚实模式属 性;对于CorelDraw图形轮廓端头、轮廓角类型、斜接限制等轮廓形状,将其分别转换为开放 式点状符号简单笔画的端头样式、连接样式以及斜接限制属性数据。

步骤8CorelDraw图形填充数据转换,是指将输出的CorelDraw点状符号XML文件中的 图形填充数据转换为开放式点状符号中路径点状符号图层的填充数据,依据CorelDraw图形类 型将CorelDraw点状符号图形填充数据分为均匀填充、渐变填充、图样填充、底纹填充和 PostScript填充等类型,对于CorelDraw符号图形的均匀填充,将其颜色转换为开放式路径点 状符号图层的简单填充对于颜色数据;对于CorelDraw符号图形的渐变填充,将其渐变色数据 转换为开放式路径点状符号图层的渐变填充;对于CorelDraw符号图形的图样填充、底纹填充 和PostScript填充,将其转换为开放式路径点状符号图层的纹理填充。

开放式点状符号向ArcGIS点状符号转换包括以下几个步骤:

步骤1开放式点状符号数据转换,

步骤2ArcGIS点状符号绘制扩展。

具体实施步骤如下:

步骤1开放式点状符号数据转换,是指将开放式点状符号数据转换为ArcGIS点状符号, 共分为两类方法,第一类方法是针对开放式利用字符构建的点状符号与利用图片构建的栅格图 像点状符号,对于两种符号类型,分别将开放式字符点状符号图层中的字符数据以及栅格图像 点状符号图层中的栅格图像及属性数据转换至ArcGIS点状符号中的字符标记符号与图片标记 符号;第二类方法是针对开利用几何路径构建的开放式点状符号,对于此类符号,继承ArcGIS 标记符号接口,实现标记符号接口的相关函数,生成能够在ArcGIS环境下使用的开放式点状 符号封装类,利用基于ArcObject的符号转换工具新建ArcGIS符号库,遍历符号库资源,在 标记符号类别中利用开放式点状符号封装类的序列化工具将开放式点状符号数据存储于 ArcGIS符号库。

步骤2ArcGIS点状符号绘制扩展,是指将开放式点状符号的绘制接口共享至ArcGIS标记 符号绘制函数,针对ArcGIS的开放式点状符号封装类,在绘制函数中调用开放式点状符号的 绘制方法。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号