电子海图开发第二十五篇,s52显示标准,海图的符号绘制方法(共一百篇)

海图矢量格式符号使用虚构的“笔”在“画布”(屏幕的区域)上绘制。画布上的位置由二维笛卡尔坐标(x,y)引用。坐标始终在0到32767单位范围内。每个单位代表屏幕上的0.01毫米。坐标的原点(位置0,0)在二维画布的左上角。因此,x坐标向右延伸,y坐标向下延伸。

点符号,复杂线型和填充图案的定义由多条指令组成。矢量格式描述的矢量符号定义在指令查找表中定义。矢量格式使用以下附加说明: 分号将指令彼此分开。每条指令必须以分号终止。 逗号将指令的参数彼此分开。如果指令没有任何参数,则指令后不能使用逗号。 符号指令如下表

 

向量指令

参数

描述

SP

颜色

SP指令选择某种颜色的笔。该参数是标识颜色标记的单个字母。所使用的颜色标记在“颜色参考”字段中定义,该字段将单个字母定义映射到标准颜色标记之一。SP指令一直有效,直到选择了新的笔。因此,以下所有说明均使用选定的笔颜色执行。

ST

透明度

ST指令定义了当前所选颜色的透明度。透明度以25%的比例给出。透明度仅影响多边形填充指令(请参阅FP),而其他指令(AA,CI,EP,PD)生成不透明图形。

SW

宽度

SW指令参数定义画笔宽度,单位为0.3毫米。如果定义了一个点(笔向下移动且笔未移动,则笔向上移动),则将使用当前线宽作为直径绘制一个点,或使用当前宽度绘制一个正方形。(标准像素直径)。

PU

x坐标,y坐标

PU指令抬起笔,然后将其移动到绝对的x,y坐标。因此,PU指令不会画线。

PD

x坐标,y坐标[xy... xy]

PD指令将笔降低到当前位置,然后将其移动到x,y坐标。因此,PD指令将绘制当前颜色(参见SP)和宽度(参见SW)的线。

CI

半径

CI指令绘制指定半径的圆。半径决定了圆的大小。当前笔的位置是圆的中心。CI指令包括一个隐式笔下降功能。当使用CI指令时,笔抬起,从圆心移动到圆周上的起点,放下笔,绘制圆,然后用笔返回圆心。使用当前的笔颜色(请参见SP)和笔宽(请参见PW)绘制圆圈。

PM

ñ

PM指令将命令指多边形定义模式。在这种模式下,您可以使用其他指令(PU,PD和CI)构造多边形。这些指令存储在多边形缓冲区中。在完全定义多边形之前,它们不会执行。为了绘制多边形,它必须用FP指令填充和/或用EP指令概述。要定义多边形,请将笔移动到所需的起始位置(请参见PU或PD)。然后执行PM 0进入多边形模式,并指定适当的指令以定义多边形的形状。如果要定义子多边形,请以PM 1指令结束形状并定义下一个形状;否则,请参见图1。执行PM 2退出多边形模式。PM 0之前的当前笔位置是多边形的第一个点(顶点)。可以使用笔向上或向下定义顶点(请参见PU,PD)。但是,如果要使用EP指令勾勒多边形,请注意,EP仅会绘制用笔向下定义的点。另一方面,FP指令填充多边形,而不管笔的上/下状态如何。

EP

 

EP指令概述了先前已存储在多边形缓冲区中的所有多边形(请参见PM)。只有用笔向下定义的顶点才有边。使用当前笔的颜色(请参阅SP)和笔的宽度(请参见PW)对它们进行描边。完成EP指令后,将恢复笔的原始位置和状态。

 

FP

 

 

FP指令填充先前已放置在多边形缓冲区中的多边形(请参见PM)。使用当前的笔颜色(请参见SP)和透明度(请参见ST)填充多边形。FP指令完成后,将恢复笔的原始位置和状态(上下笔)。

 

SC

符号名称,方向

SC指令调用另一个符号定义。方向指定被调用的符号是垂直绘制(orientation = 0)还是旋转到最后一个笔移动指令的方向(orientation = 1),还是旋转90度到符号位置的符号边缘的切线(方向= 2)。符号的枢轴点将放置在当前笔位置上。SC指令完成后,将恢复原始笔的位置和状态(上下笔)。

参考文章:电子海图 电子海图数据抽取 电子海图sdk

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
电子海图项目是一种基于计算机技术和地理信息系统的海图应用,它将传统的纸质海图数字化,并结合了实时数据更新、船舶定位、航行规划等功能。下面是一个电子海图项目开发实例: 项目名称:海图导航系统 项目概述:该项目旨在开发一款功能强大的电子海图导航系统,为船舶提供准确、实时的海图信息,帮助船舶进行航行规划和安全导航。 开发流程: 1. 需求分析:与用户进行需求沟通,明确系统功能和性能要求。确定系统需要支持的海图数据格式、船舶定位方式、航行规划算法等。 2. 数据采集与处理:收集海图数据,包括海底地形、水深、航标、航线等信息。对采集到的数据进行处理和整理,生成电子海图数据库。 3. 系统设计:根据需求分析结果,进行系统架构设计和模块划分。确定系统的主要功能模块,如海图显示模块、船舶定位模块、航行规划模块等。 4. 开发实现:根据系统设计,进行具体的编码实现。使用合适的编程语言和开发框架,实现各个功能模块,并进行集成测试。 5. 测试与优化:对系统进行功能测试、性能测试和稳定性测试,发现并修复存在的问题。根据用户反馈和测试结果,进行系统的优化和改进。 6. 部署与上线:将开发完成的系统部署到目标环境中,进行系统的安装和配置。确保系统能够正常运行,并提供给用户使用。 7. 维护与更新:定期对系统进行维护和更新,保证系统的稳定性和安全性。根据用户需求和技术发展,进行功能扩展和升级。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电子海图(微信lvxin6136)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值