欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

电子海图开发第二十六篇。s57,s52标准电子海图,复杂矢量线型符号的渲染(共一百篇)

程序员文章站 2024-03-20 11:12:16
...

复杂的线型由重复的符号形成。线型的符号定义与点符号的符号定义非常相似,并使用上一节中定义的笛卡尔坐标。线型符号具有自己的枢轴点,围绕它旋转。方向由 要绘制的线段的两个顶点之间的方向指定。

为了符号化某些线,使用了复杂线型的复合类型,其中该单元由一系列水平线和符号组成,这些线和符号沿着线对象串在一起以形成线型单元

为了绘制复杂的线型,请首先沿要符号化的边缘定位起点和终点。然后沿着起点和终点之间的边缘绘制复杂的线型,必要时重复进行。如果需要在线中嵌入符号,则必须确定相对于线段的旋转角度。下图显示了如何从线型及其嵌入符号创建复合符号。

电子海图开发第二十六篇。s57,s52标准电子海图,复杂矢量线型符号的渲染(共一百篇)

 

复合复杂线型符号的示例符号库格式

以下示例符号库序列说明了从“单一符号”线型到“复合”类型的步骤,复杂线型LC(ACHRES51) 绘制指令如下所示:

Complex Linestyle achres51.lin:
    LNST 10LS03354NIL
    LIND 38ACHRES51001080081002729005030044600572
    LXPO 64boundary of an area where anchoring is prohibited or restricted^_
    LCRF 6ACHMGD
    LVCT 29SPA;SW1;PU446,810;PD747,810;
    LVCT 24PU595,810;SCVLINEMAG,2;
    LVCT 25PU1208,810;SCNOANCHOR,2;
    LVCT 31SPA;SW1;PU1655,810;PD1957,810;
    LVCT 25PU1808,810;SCVLINEMAG,2;
    LVCT 31SPA;SW1;PU2248,810;PD2552,810;
    LVCT 25PU2404,810;SCVLINEMAG,2;
    LVCT 31SPA;SW1;PU2874,810;PD3175,810;
    LVCT 25PU3024,810;SCVLINEMAG,2;

     Symbol noanchor.sym:
     SYMB 7SY00000
     SYMD 39NOANCHORV012070084800431005030098700572
     SXPO 36Anchor symbol with a line through it
     SCRF 6ACHMGD
     SVCT 32SPA;SW1;PU1208,572;PD1208,1074;
     SVCT 31SPA;SW1;PU1052,721;PD1356,721;
     SVCT 55SPA;SW1;PU1005,971;PD1111,1075;PD1309,1075;PD1407,974;
     SVCT 31SPA;SW1;PU1418,640;PD987,1071;

     Symbol vlinemag.sym:
     SYMB 7SY00000
     SYMD 39VLINEMAGV005950081000010000100059500810
     SXPO 28Vertical Chart-Magenta Line
     SCRF 6ACHMGD
     SVCT 29SPA;SW1;PU595,810;PD595,970;

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

相关标签: 电子海图