一种基于QGIS电子海图开放式图示表达方法技术

技术编号:38486848 阅读:19 留言:0更新日期:2023-08-15 17:02
本发明专利技术涉及一种基于QGIS电子海图开放式图示表达方法,通过用GDAL库将电子海图数据构造为OpenGIS几何模型,同时读取几何模型对应的属性信息;为含有属性信息的每一类要素配置QML文件;最终通过渲染引擎使用QML和SVG对电子海图数据进行正常显示。本发明专利技术针对IHO电子海图符号化规则开放性不足的问题,采用QGIS及其QML样式语言实现对电子海图的标准化显示,为建立以电子海图为底图的海洋地理信息系统提供了有效途径。提供了有效途径。提供了有效途径。

【技术实现步骤摘要】
一种基于QGIS电子海图开放式图示表达方法


[0001]本专利技术属于地理信息
,尤其是一种基于QGIS电子海图开放式图示表达方法。

技术介绍

[0002]海图作为海上各类要素的承载体,是认知海洋的“眼睛”,是开发海洋必不可少的工具。与常见的陆地地图相比,海图也是通过符号语言来表达现实世界,但是其符号自成体系,具有较强专业性。按照载体不同,海图符号主要分为纸质海图符号和电子海图符号。对于纸质海图符号而言,目前各海图生产国基本遵照国际海道测量组织(IHO)制定的国际海图规范(标准代号S

4),但是有的国家会根据本国情况进行适当的调整;对于电子海图符号而言,世界各国普遍采用IHO制定的S

52规范(具体符号库名称为Preslib),其符号样式与纸质海图符号有不少差异。电子海图为各类海洋地理信息系统提供了重要基础信息,但是其S

52显示规范相对封闭、资料难以获取、门槛较高,需要专门开发相应的信息系统方能实现标准化显示,一定程度上限制了海洋地理信息系统的技术发展与行业应用。
[0003]针对现有电子海图规范不易使用的问题,涉及符号图元和符号化指令两部分内容,近些年已有多篇文献探讨研究开放式解决思路,取得一定的效果。在符号图元方面,现有S

52使用HPGL指令,构造与解析复杂,极少有软件支持,改进方法有TrueType、PostScript、SVG等;在符号化指令方面,S

52标准化显示包括基本符号化和条件符号化两部分内容,前者是一组能够直接实现“要素

符号”的映射规则,后者则是一组通过较为复杂的嵌套/跳转函数才能实现的映射规则,现有文献主要探索利用SLD进行改造,然而都只关注基本符号化,忽略了条件符号化,且SLD本身的符号化表达能力相对有限。

技术实现思路

[0004]本专利技术的目的在于克服现有技术的不足,提出一种基于QGIS电子海图开放式图示表达方法,采用QGIS及其QML样式语言实现对电子海图的标准化显示,为建立以电子海图为底图的海洋地理信息系统提供了有效途径。
[0005]本专利技术解决其技术问题是采取以下技术方案实现的:
[0006]一种基于QGIS电子海图开放式图示表达方法,包括以下步骤;
[0007]步骤1、用GDAL库将电子海图数据构造为OpenGIS几何模型,同时读取几何模型对应的属性信息;
[0008]步骤2、为含有属性信息的每一类要素配置QML文件;
[0009]步骤3、通过渲染引擎使用QML和SVG对电子海图数据进行正常显示。
[0010]而且,所述步骤2的具体实现方法为:首先对电子海图数据进行预处理,然后将预处理的电子海图数据根据点线面的分类,分别利用S

52标准进行基本符号化处理,之后对条件符号化进行处理。
[0011]而且,所述预处理的具体实现方法为:将电子海图数据海图符号SVG原始文件中的
变量替换为实际值,其中变量存储在svgStyle.css文件中,所述电子海图数据海图符号SVG原始文件从IHO网站下载。
[0012]而且,所述利用S

52标准进行基本符号化处理包括:处理点物标、线物标、面物标和文本注记,其中处理点物标包括无属性点物标和有属性点物标,
[0013]无属性点物标的处理过程为:
[0014]①
、符号化类型选择Single symbol;
[0015]②
、在Symbol layer marker中选择SVG marker;
[0016]③
、按照符号化指令要求,选择Embed File,导入.svg符号;
[0017]④
、设置符号大小Width和Height,当属性条件中有ORIENT属性时,在Rotation中选择Edit,进行编辑,按照ORIENT进行符号旋转;
[0018]⑤
、在advanced

Symbol Levels中设置符号等级;
[0019]有属性点物标的处理过程为:
[0020]①
、符号化类型选择Rule

based;
[0021]②
、根据条件个数添加相同的符号数;
[0022]③
、按照属性条件的不同,进行符号化,每个符号的符号化方法同无属性点状物标;
[0023]④
、当属性条件中有ORIENT属性时,在Rotation中选择Edit,进行编辑,按照ORIENT进行符号旋转;
[0024]⑤
、在Symbol Levels中设置符号等级。
[0025]而且,所述处理线物标包括无属性线物标和有属性线物标,
[0026]其中,无属性线物标的处理过程为:
[0027]①
、符号化类型选择Single symbol;
[0028]②
、根据线命令LS或LC的不同分别进行符号化;
[0029]③
、在advanced

Symbol Levels中设置符号等级;
[0030]有属性线物标的处理过程为:
[0031]①
、符号化类型选择Rule

based;
[0032]②
、根据条件个数添加相应的符号数;
[0033]③
、根据线命令LS或LC的不同分别进行符号化;
[0034]④
、在Symbol Levels中设置符号等级。
[0035]而且,所述根据线命令LS进行符号化的具体是实现方法为:
[0036]LS命令在Symbol layer marker中选择Simple line,设置符号颜色、宽度和类型;
[0037]根据线命令LC进行符号化的具体是实现方法为:
[0038]LC命令按照线状符号文件xml格式进行配置,LC文件中包括dash和symbol两类数据,dash数据在Symbol layer marker中选择Simple line,dash的长度设计在dash pattern中进行,symbol在Symbol layer marker中选择Marker line选择,符号选择SVG marker,设置符号大小。
[0039]而且,所述处理面物标包括无属性面物标和有属性面物标,
[0040]无属性面物标的处理过程为:
[0041]①
、符号化类型选择Single symbol;
[0042]②
、根据面命令AC或AP的不同分别进行符号化;
[0043]③
、在advanced

Symbol Levels中设置符号等级;
[0044]有属性面物标的处理过程为:
[0045]①
、符号化类型选择Rule
...

【技术保护点】

【技术特征摘要】
1.一种基于QGIS电子海图开放式图示表达方法,其特征在于:包括以下步骤;步骤1、用GDAL库将电子海图数据构造为OpenGIS几何模型,同时读取几何模型对应的属性信息;步骤2、为含有属性信息的每一类要素配置QML文件;步骤3、通过渲染引擎使用QML和SVG对电子海图数据进行正常显示。2.根据权利要求1所述的一种基于QGIS电子海图开放式图示表达方法,其特征在于:所述步骤2的具体实现方法为:首先对电子海图数据进行预处理,然后将预处理的电子海图数据根据点线面的分类,分别利用S

52标准进行基本符号化处理,之后对条件符号化进行处理。3.根据权利要求2所述的一种基于QGIS电子海图开放式图示表达方法,其特征在于:所述预处理的具体实现方法为:将电子海图数据海图符号SVG原始文件中的变量替换为实际值,其中变量存储在svgStyle.css文件中,所述电子海图数据海图符号SVG原始文件从IHO网站下载。4.根据权利要求2所述的一种基于QGIS电子海图开放式图示表达方法,其特征在于:所述利用S

52标准进行基本符号化处理包括:处理点物标、线物标、面物标、文本注记,其中处理点物标包括无属性点物标和有属性点物标,无属性点物标的处理过程为:

、符号化类型选择Single symbol;

、在Symbol layer marker中选择SVG marker;

、按照符号化指令要求,选择Embed File,导入.svg符号;

、设置符号大小Width和Height,当属性条件中有ORIENT属性时,在Rotation中选择Edit,进行编辑,按照ORIENT进行符号旋转;

、在advanced

Symbol Levels中设置符号等级;有属性点物标的处理过程为:

、符号化类型选择Rule

based;

、根据条件个数添加相同的符号数;

、按照属性条件的不同,进行符号化,每个符号的符号化方法同无属性点状物标;

、当属性条件中有ORIENT属性时,在Rotation中选择Edit,进行编辑,按照ORIENT进行符号旋转;

、在Symbol Levels中设置符号等级。5.根据权利要求4所述的一种基于QGIS电子海图开放式图示表达方法,其特征在于:所述处理线物标包括无属性线物标和有属性线物标,其中,无属性线物标的处理过程为:

、符号化类型选择Single symbol;

、根据线命令LS或LC的不同分别进行符号化;

、在advanced

Symbol Levels中设置符号等级;有属性线物标的处理过程为:

、符号化类型选择Rule

based;

、根据条件个数添加相应的符号数;

、根据线命令LS或LC的不同分别进行符号化;

、在Symbol Levels中设置符号等级;所述根据线命令LS进行符号化的具体是实现方法为:LS命令在Symbol layer marker...

【专利技术属性】
技术研发人员:陈长林
申请(专利权)人:中国人民解放军九二八五九部队
类型:发明
国别省市:

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

1