一种基于QGIS的跨平台矢量地图要素符号渲染方法及装置制造方法及图纸

技术编号:24331190 阅读:27 留言:0更新日期:2020-05-29 19:39
本发明专利技术公开了一种基于QGIS的跨平台矢量地图要素符号渲染方法及装置,包括以下步骤:建立基本要素库,将每个基本要素映射为对应的语义描述并存储到所述基本要素库中;所述语义描述用于组建对应的基本要素及该基本要素对应的参数值;根据用户所输入的符号设计指令获取对应的基本要素的语义描述生成对应符号的符号描述并保存至符号库中,所述符号描述由基本要素的语义描述构成;获取需要绘制的符号的符号描述并根据符号描述以及地图参数信息进行符号渲染。该方法基于QGIS的符号渲染框架,利用QGIS强大的渲染逻辑和图层管理机制,将符号设计和渲染完全分开,通过符号描述的方式来设计符号,可以做到单独设计和编辑符号,独立性好、跨平台能力强。

A method and device of cross platform vector map feature symbol rendering based on QGIS

【技术实现步骤摘要】
一种基于QGIS的跨平台矢量地图要素符号渲染方法及装置
本专利技术涉及计算机地图制图领域,尤其涉及一种基于QGIS的跨平台矢量地图要素符号渲染方法及装置。
技术介绍
地图符号是表达地图内容的基本手段,它不仅能表示事物的空间位置、形状、质量和数量特征、而且还可以表示各事物之间的相互联系及区域总体特征,它是地图的语言。符号设计是地图制图成图至关重要的一步,符号设计系统主要包括基本符号的定义、组合方式的定义、以及符号的渲染等关键技术的设计。目前市面上的许多的符号设计系统,均将符号分为点、线、面三类分开设计,其中点状符号由尺寸、颜色、形状等参数决定其样式;线状符号由宽带、虚线间隔等参数决定;面状符号由轮廓线和填充两部分组成。为了表示复杂的现实世界,地图符号也有千千万万种,符号设计系统一般利用简单的点组合成为复杂的点、简单的线组合为复杂的线、简单的面组合为复杂的面,以满足各种地图符号的设计。但各系统又存在局限性,各大符号设计系统均采用的是“利用简单符号构成复杂符号”的原理,对简单符号的选择是各大符号设计系统的最主要的区别。在ArcGIS中点状符号分为3D标记符号、3D简单标记符号、3D字符标记符号、简单标记符号、箭头标记符号、图片标记符号和字符标记符号七种类型;在QGIS中则是使用大量的基础矢量符号作为基本符号,基本符号类型多。线和面的分类也大相径庭,其次符号组合方式、渲染方法等也各不相同。因此,利用一个系统或平台设计的符号难以在其他平台使用,使用不同的平台制图,均需要重新设计制作符号。
技术实现思路
为了克服现有技术的不足,本专利技术的目的之一在于提供一种基于QGIS的跨平台矢量地图要素符号渲染方法,其基于QGIS的符号渲染框架,利用QGIS强大的渲染逻辑和图层管理机制,将符号设计和渲染完全分开,通过符号描述的方式来设计符号,可以做到单独设计和编辑符号,独立性好、跨平台能力强。本专利技术的目的之二在于提供一种电子设备,其基于QGIS的符号渲染框架,利用QGIS强大的渲染逻辑和图层管理机制,将符号设计和渲染完全分开,通过符号描述的方式来设计符号,可以做到单独设计和编辑符号,独立性好、跨平台能力强。本专利技术的目的之三在于提供一种计算机可读存储介质,该存储介质中的计算机程序运行时可实现基于QGIS的符号渲染框架,利用QGIS强大的渲染逻辑和图层管理机制,将符号设计和渲染完全分开,通过符号描述的方式来设计符号,可以做到单独设计和编辑符号,独立性好、跨平台能力强。本专利技术的目的之一采用如下技术方案实现:一种基于QGIS的跨平台矢量地图要素符号渲染方法,包括以下步骤:建立基本要素库,将每个基本要素映射为对应的语义描述并存储到所述基本要素库中;所述语义描述用于组建对应的基本要素及该基本要素对应的参数值;所述基本要素包括点、简单线、点划线、宽度渐变线、双线、简单面、填充点以及填充线;根据用户所输入的符号设计指令获取对应的基本要素的语义描述生成对应符号的符号描述并保存至符号库中,所述符号描述由基本要素的语义描述构成;所述符号设计指令包括:基本要素选择指令、基本要素参数设置指令以及基本要素叠加指令;获取需要绘制的符号的符号描述并根据符号描述以及地图参数信息进行符号渲染。进一步地,所述根据用户所输入的符号设计指令获取对应的基本要素的语义描述生成对应符号的符号描述具体为:根据所述基本要素选择指令和基本要素参数设置指令获取对应的基本要素的语义描述以生成当前层的子符号描述;根据基本要素叠加指令,将各个层的子符号描述进行叠加生成对应符号的符号描述。进一步地,各层的子符号描述包含了当前层的基本要素的子颜色属性,子符号描述进行叠加后生成的符号描述包含主颜色属性,所述子颜色属性用于设置对应的基本要素的颜色,所述主颜色属性用于设置组成当前符号的所有未设置颜色的基本要素的颜色。进一步地,各层的子符号描述还包含了该基本要素的坐标属性,所述坐标属性用于定位当前基本要素在待绘制符号中所处的位置。进一步地,每个符号的符号描述均对应于一个唯一性编码进行保存。进一步地,所述获取需要绘制的符号的符号描述并根据符号描述以及地图参数信息进行符号渲染具体为:根据需要绘制的符号的唯一性编码查找对应的符号描述,通过基本语义规则对符号描述中的各个子符号描述进行识别解析得到各个基本要素以及各个基本要素的参数,根据各个基本要素的参数使用GDI构建对应Pen或Brush进行符号渲染。本专利技术的目的之二采用如下技术方案实现:一种电子设备,包括处理器和存储器,所述存储器存储有可执行计算机程序,所述处理器可读取所述存储器中的计算机程序并运行以实现如上所述的基于QGIS的跨平台矢量地图要素符号渲染方法。本专利技术的目的之三采用如下技术方案实现:一种计算机可读存储介质,所述计算机可读存储介质存储有可执行计算机程序,所述计算机程序运行时可实现如上所述的基于QGIS的跨平台矢量地图要素符号渲染方法。相比现有技术,本专利技术的有益效果在于:该基于QGIS的跨平台矢量地图要素符号渲染方法基于QGIS的符号渲染框架,利用QGIS强大的渲染逻辑和图层管理机制,将符号设计和渲染完全分开,可以做到单独设计和编辑符号,独立性好、跨平台能力强;通过符号描述的方式来设计符号,将设计好的符号的符号描述存储在符号库中,需要进行绘制符号时则可直接从符号库中获取对应的符号描述即可进行符号渲染。附图说明图1为本专利技术提供的一种基于QGIS的跨平台矢量地图要素符号渲染方法的流程示意图;图2为图1中的一种基于QGIS的跨平台矢量地图要素符号渲染方法的逻辑示意图图3为根据本专利技术所提供的基于QGIS的跨平台矢量地图要素符号渲染方法来进行线段的参数设置的示例图;图4为根据本专利技术所提供的基于QGIS的跨平台矢量地图要素符号渲染方法的符号设计页面中的符号定位点示意图;图5为根据本专利技术所提供的基于QGIS的跨平台矢量地图要素符号渲染方法来通过坐标属性设置多段线的示例图;图6为根据图5的示例图所生成的效果图;图7为本专利技术所提供的基于QGIS的跨平台矢量地图要素符号渲染方法来绘制虚线渐变线的示例图。具体实施方式下面,结合附图以及具体实施方式,对本专利技术做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。请参阅图1和图2,一种基于QGIS的跨平台矢量地图要素符号渲染方法,包括以下步骤:S1、建立基本要素库,将每个基本要素映射为对应的语义描述并存储到所述基本要素库中;所述语义描述用于组建对应的基本要素及该基本要素对应的参数值;所述基本要素包括点、简单线、点划线、宽度渐变线、双线、简单面、填充点以及填充线;基本要素都是通过语义描述进行映射,每种元素都映射为对应的描述语义,元素中的参数同样映射为对应的描述语义;通过对描述语义的解析可以组建出基本要素及其参本文档来自技高网
...

【技术保护点】
1.一种基于QGIS的跨平台矢量地图要素符号渲染方法,其特征在于,包括以下步骤:/n建立基本要素库,将每个基本要素映射为对应的语义描述并存储到所述基本要素库中;所述语义描述用于组建对应的基本要素及该基本要素对应的参数值;所述基本要素包括点、简单线、点划线、宽度渐变线、双线、简单面、填充点以及填充线;/n根据用户所输入的符号设计指令获取对应的基本要素的语义描述生成对应符号的符号描述并保存至符号库中,所述符号描述由基本要素的语义描述构成;所述符号设计指令包括:基本要素选择指令、基本要素参数设置指令以及基本要素叠加指令;/n获取需要绘制的符号的符号描述并根据符号描述以及地图参数信息进行符号渲染。/n

【技术特征摘要】
1.一种基于QGIS的跨平台矢量地图要素符号渲染方法,其特征在于,包括以下步骤:
建立基本要素库,将每个基本要素映射为对应的语义描述并存储到所述基本要素库中;所述语义描述用于组建对应的基本要素及该基本要素对应的参数值;所述基本要素包括点、简单线、点划线、宽度渐变线、双线、简单面、填充点以及填充线;
根据用户所输入的符号设计指令获取对应的基本要素的语义描述生成对应符号的符号描述并保存至符号库中,所述符号描述由基本要素的语义描述构成;所述符号设计指令包括:基本要素选择指令、基本要素参数设置指令以及基本要素叠加指令;
获取需要绘制的符号的符号描述并根据符号描述以及地图参数信息进行符号渲染。


2.如权利要求1所述的基于QGIS的跨平台矢量地图要素符号渲染方法,其特征在于,所述根据用户所输入的符号设计指令获取对应的基本要素的语义描述生成对应符号的符号描述具体为:
根据所述基本要素选择指令和基本要素参数设置指令获取对应的基本要素的语义描述以生成当前层的子符号描述;根据基本要素叠加指令,将各个层的子符号描述进行叠加生成对应符号的符号描述。


3.如权利要求2所述的基于QGIS的跨平台矢量地图要素符号渲染方法,其特征在于,各层的子符号描述包含了当前层的基本要素的子颜色属性,子符号描述进行叠加后生成的符号描述包含主颜色属性,所述子颜色属性用于设置对应的基本要素的颜色,所述主颜色属性用于设置组成...

【专利技术属性】
技术研发人员:黄海锋闫志愿丁永祥文述生王江林李宁周光海肖浩威黄劲风马原徐丹龙杨艺马然闫少霞庄所增潘伟锋张珑耀刘国光郝志刚陶超韦锦超赵瑞东潘军兆陈奕均
申请(专利权)人:广州南方卫星导航仪器有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1