SW: NaviPac 3.10 and NaviPac 4

Q: How does the runline file look like? Is there a new runline format in NaviPac 4?

A:You can find the file (HD_RunlineFormats.txt) in the folder C:\EIVA\NaviPac\Runlines.

Yes, in NaviPac4 is a .rlxp that has properties such as color etc. 


********Short description of****************************************************


NaviPac HELMSMAN's DISPLAY (HD)

=RLN============================================================================

Simple runline format: .rln

================================================================================

Row based format.

Optional delimiter: [,],[;],[tab],[space]

Decimal point: always a dot [.]

Comments: [#] (not supported for save, e.g. ignored when loaded and discarded when saved)


Support for:

Straight segments with kp


# Header:[1]"name"

# [1]x,        [2]y,        [3]kp

#--------------------------------------------------------------------------------

"name"

500000.00,    6000000.00,    -1.0

500000.00,    6001000.00,    0.0

500000.00,    6002000.00,    1.0

#--------------------------------------------------------------------------------

{header1:name] [optional]

Name of the runline in quotes


{1:x}

Easting coordinate. Unit: [m]


{2:y}

Northing coordinate. Unit: [m]


{3:kp}  [optional]

Kp for coordinate. May be negative and nonlinear (kpfactor not equal to 1.0)


=End RLN========================================================================




=RLX============================================================================

Complex runline format: .rlx (default)

================================================================================

Column based format.

Optional delimiter: [,],[;],[tab],[space]

Decimal point: always a dot [.]

Comments: [#] (not supported for save, e.g. ignored when loaded and discarded when saved)


Support for:

Straight and curved segments with kp and survey status (recommended format).


#Header:[1]"name";[2]Runline type;[3]Layback Distance/Linespace/Offset/Kp/Angle offset;[4]"unitface"

#[1]start x; [2]start y;   [3]end x;    [4]end y;[5]start kp;  [6]end kp;[7]radius/arc length;[8]Status;[9]Segment type;

#--------------------------------------------------------------------------------

"Area1 Part1"; 64; 0.0; "Meter"

447523.980; 6278437.360; 447506.480; 6278742.360; 0.00000000; 0.30550163; 0.0000; 1; 64; ""

447506.480; 6278742.360; 447446.480; 6278884.860; 0.30550163; 0.46315950; -231.0288; 1; 128; ""

447446.480; 6278884.860; 447390.912; 6278945.750; 0.46315950; 0.54559301; 0.0000; 1; 64; ""

447390.912; 6278945.750; 447411.480; 6278927.360; 0.54559301; 1.37323040; 6.0802; 1; 128; ""

447411.480; 6278927.360; 447230.175; 6279059.006; 1.37323040; 1.59728867; 0.0000; 1; 64; ""


# special case with overlength segment (wave); "Meter"

#Header:[1]"name";[2]Linetype;[3]Linespace/Offset/Kp

#[1]start x; [2]start y;   [3]end x;    [4]end y;[5]start kp;  [6]end kp;[7]radius/arc length;[8]Status;[9]Segmenttype;[10]Overlength filename

"overlength"; 64

447523.980; 6278437.360; 447506.480; 6278742.360; 0.00000000; 0.30550163; 0.0000; 1; 64, "Runlines\Filename[W0001].rlx"

#--------------------------------------------------------------------------------


{header1:name}

Name of the runline, e.g. '+100'


{header2:runline type}  [optional]

Type of runline e.g. reference, parallel, cross, etc. Invisible runline if negative.

Is an or'ed value of one or more of the following constants:

LT_REFERENCE        = 0x00000001,        // center/base/reference

LT_STAR            = 0x00000002,

LT_PARALLEL        = 0x00000008,

LT_CROSS        = 0x00000010,

LT_WAYPOINT        = 0x00000020,

LT_STRAIGHT        = 0x00000040,

LT_CIRCLEARC        = 0x00000080,

LT_WAVE            = 0x00000100,

LT_BARGE        = 0x00000200,

LT_ANCHOR        = 0x00000400,

LT_CLIPPED        = 0x00000800,

LT_GREATCIRCLE        = 0x00002000,

LT_RHUMBLINE        = 0x00004000,

LT_SPLIT        = 0x00008000,


{header3:Layback Distance/Linespace/Offset/Kp/Angle offset}  [optional]

Most recent Layback distance/Linespace/Angle offset    (LT_REFERENCE)

Linespace                        (LT_REFERENCE)

Layback distance when barge runline            (LT_BARGE)

Offset when parallel runline                (LT_PARALLEL)

Kp when cross runline                    (LT_CROSS)

Angle offset when star runline                (LT_STAR)


{header4:unitface}

Unit (string) of coordinates. Default: ["Meter"]

"Meter"

"Kilometer"

"Mile (Nautical Int.)"

"Mile (International)"

"Feet (International)"

"Feet (US Survey)"

"Yard (International)"

"Fathom"


{1:start x}

Start easting coordinate. Unit: [m]


{2:start y}

Start northing coordinate. Unit: [m]


{3:end x}

End easting coordinate. Unit: [m]


{4:end y}

End northing coordinate. Unit: [m]


{5:start kp}

Kp for start coordinate. May be negative and nonlinear (kpfactor not equal to 1)


{6:end kp}

Kp for end coordinate. May be negative and nonlinear (kpfactor not equal to 1)


{7:radius/arc length}  [optional]

0: Straight segment

>2PI (numerical): Radius for arc/curve segment. Negative: anti cw.

<2PI (numerical): Arc length for arc/curve segment. Negative: anti cw. Special case for arcs > 180 degrees.


{8:status} [optional]

Survey status.

Is an or'ed value of one or more of the following constants:

SS_PASSIVE        = 0x00000001,

SS_SURVEYEDPARTIAL    = 0x00000010,

SS_SURVEYED        = 0x00000020,


{9:Segment type} [optional]

Segment type/linetype.

Is an or'ed value of one or more of the following constants:

LT_REFERENCE        = 0x00000001,        // center/base/reference

LT_STAR            = 0x00000002,

LT_PARALLEL        = 0x00000008,

LT_CROSS        = 0x00000010,

LT_WAYPOINT        = 0x00000020,

LT_STRAIGHT        = 0x00000040,

LT_CIRCLEARC        = 0x00000080,        // partial circle

LT_CLIPPED        = 0x00000800,        // automatically generated


=End RLX========================================================================



=RLE============================================================================

Complex runline format: .rle (original, but obsolete runline format)

================================================================================

Column based format.

Optional delimiter: [,],[;],[tab],[space]

Decimal point: always a dot [.]

Comments: [#] (not supported for save, e.g. ignored when loaded and discarded when saved)


Support for:

Straight and curved segments with kp


#header:[1]"name"

#[1]start x; [2]start y;    [3]end x;    [4]end y; [5]center x; [6]center y;  [7]start kp;    [8]length;[9]bearing/arc;  [10]end kp;[11]arc radius;        [12];[13];[14];[15];[16];[17];[18];[19];[20];[21];[22]

#--------------------------------------------------------------------------------

"Transit line"

447591.480; 6278432.360;  447646.480; 6278747.360;       0.000;       0.000;   0.00000000; 319.76553911;   0.17286061;   0.31976553;   0.00000000;   0.00000000;   0.00000000;   0.00000000;   1.00000000;   0.00000000;   0.00000000;   0.00000000;   0.00000000;   0.00000000;   0.00000000; 1

447646.480; 6278747.360;  447756.480; 6278887.360;  447831.740; 6278715.013;   0.31976553; 185.47046216;  -0.98621727;   0.50523599; 188.06247658;   0.00000000;   0.00000000;   0.00000000;   1.00000000;   0.00000000;   0.00000000;   0.00000000;   0.00000000;   0.00000000;   0.00000000; 1

#--------------------------------------------------------------------------------


    HD version 2.0+:


    1.        Start easting

    2.      Start northing

    3.        End easting

    4.      End northing

    5.      Arc: Centre easting

    6.      Arc: Centre northing

    7.      Start Kp [km]

    8.      Length [m]

    9.      Straight: Bearing [rad] (following inversion)

        Arc: Arc length, negative if clockwise [rad]

    10.      End Kp [km]

    11.      Arc: Radius [m]

    12.    Crossline: Line spacing [m]

    13.    Crossline: Length of left side of crossline [m]

    14.      Crossline: Length of right side of crossline [m]

    15.      Kp adjust factor

    16.    Crossline: Kp of (first) crossline [km]

    17.    Bargeline arc: Barge heading correction [rad]

        Star: Angle step (linespace) [rad]

    18.      Parallel: Number of lines left of centerline

    19.      Parallel: Number of lines right of centerline

    20.      Parallel: Line spacing [m]

    21.      Parallel: Start offset from reference [m]

        Star: Start angle offset from reference [rad]

    22.    Generic flag/variable


    HD version -1.5:


    1.        Start easting

    2.      Start northing

    3.        End easting

    4.      End northing

    5.      Centre easting

    6.      Centre northing

    7.      Start Kp [km]

    8.      Length [m]

    9.      Bearing [rad] (following inversion),

        Bearing from centre to start of curve (not used in HD)

    10.      End Kp [km]

    11.      Radius, negative if clockwise [m] (negative radius ignored in HD)

    12.    Easting flip/flop centre (not used in HD)

    13.    Northing flip/flop centre (not used in HD)

    14.      Short distance for flip/flop (not used in HD)

    15.      Kp adjust factor

    16.    Bg flip/flop centre to IP (not used in HD)

    17.    Half flip/flop angle (not used in HD)

    18.      Parallel: Number of lines left of centerline

        Crossline: Length of crossline (if negative)

    19.      Parallel: Number of lines right of centerline

        Crossline: Number of crosslines (if negative)

    20.      Spacing between lines [m]


=End RLE========================================================================




=RL2============================================================================

Complex runline format: .rl2

================================================================================

Column based format.

Optional delimiter: [,],[;],[tab],[space]

Decimal point: always a dot [.]

Comments: [#] (not supported for save, e.g. ignored when loaded and discarded when saved)


Support for:

Straight and curved segments with kp and survey status


#[1]start x; [2]start y;   [3]end x;    [4]end y;[5]start kp;  [6]end kp;[7]radius

#--------------------------------------------------------------------------------

447523.980; 6278437.360; 447506.480; 6278742.360; 0.00000000; 0.30550163; 0.0000;

447506.480; 6278742.360; 447446.480; 6278884.860; 0.30550163; 0.46315950; -231.0288;

447446.480; 6278884.860; 447390.912; 6278945.750; 0.46315950; 0.54559301; 0.0000;

447390.912; 6278945.750; 447411.480; 6278927.360; 0.54559301; 1.37323040; 6.0802;

447411.480; 6278927.360; 447230.175; 6279059.006; 1.37323040; 1.59728867; 0.0000;

#--------------------------------------------------------------------------------


{1:start x}

Start easting coordinate. Unit: [m]


{2:start y}

Start northing coordinate. Unit: [m]


{3:end x}

End easting coordinate. Unit: [m]


{4:end y}

End northing coordinate. Unit: [m]


{5:start kp}

Kp for start coordinate. May be negative and nonlinear (kpfactor not equal to 1)


{6:end kp}

Kp for end coordinate. May be negative and nonlinear (kpfactor not equal to 1)


{7:radius}

0: Straight segment

>0 (numerical): Radius for arc/curve segment. Negative: anti cw.


=End RL2========================================================================




=POI============================================================================

Runline format: .poi

================================================================================

Row based format.

Delimiter: [space]

Decimal point: always a dot [.]

Comments: [#] (not supported for save, e.g. ignored when loaded and discarded when saved)


Support for:

Straight and curved segments


# Segment type string

# start x    start y

# end x        end y

# (center x    center y)

#--------------------------------------------------------------------------------

POI

490410.585 6706828.758

490367.791 6707305.394

CIR NEG            <- clockwise circle/arc

490367.791 6707305.394

490427.062 6707671.684

491114.786 6707372.460    <- circle center

POI

490427.062 6707671.684

490475.931 6707784.001

CIR            <- counter clockwise circle/arc

490475.931 6707784.001

490538.200 6708086.300

489788.207 6708083.228    <- circle center

#--------------------------------------------------------------------------------


=End POI========================================================================



********End of description******************************************************



RLXP 

.rlxp is an extended version of RLX (From Helmsman Classic) introduced in Helmsman 4


It is a XML container of the RLX file

<?xml version="1.0" encoding="utf-8"?>
<rlxp VERSION="">
  <ContainerGuid>2c8e9949-f854-4336-b75b-30f9eb7a2560</ContainerGuid>
  <ContainerRev>0</ContainerRev>
  <NMRunline>
    <RUNLINE_ENTRY>
      <NAME>Runline 1</NAME>
      <GUID>1e4ce6d3-9bca-45fa-8481-b6ee0122a410</GUID>
      <RevisionNumber>0</RevisionNumber>
      <ViewSettings>
        <ENMSelectableViewSettings>
          <ViewIndex>0</ViewIndex>
          <VISIBLE>TRUE</VISIBLE>
          <SyncVisibility>TRUE</SyncVisibility>
        </ENMSelectableViewSettings>
      </ViewSettings>
      <Color>255 173 216 230</Color>
      <Weight>2</Weight>
      <PointSize>0.01</PointSize>
      <RuninKP>0</RuninKP>
      <RunoutKP>0</RunoutKP>
      <RuninM>0</RuninM>
      <RunoutM>0</RunoutM>
      <m_DisplayLineStyle>43690</m_DisplayLineStyle>
      <m_RunInOutcolor>255 173 216 230</m_RunInOutcolor>
      <m_DisplayLineWidth>3</m_DisplayLineWidth>
      <ID>1</ID>
      <angleOffset>0</angleOffset>
      <laybackDistance>0</laybackDistance>
      <crosslineKpOffset>0</crosslineKpOffset>
      <linespace>0</linespace>
      <parallelOffset>0</parallelOffset>
      <DrawAttributeWhenClose>FALSE</DrawAttributeWhenClose>
      <DrawDirection>TRUE</DrawDirection>
      <_drawName>FALSE</_drawName>
      <_drawSegmentIDs>FALSE</_drawSegmentIDs>
      <RLXString>"Runline 1"; 65; 0; "Meter"
-70136.304; 144167.605; -70076.172; 144104.314; 0.00000000; 0.08730142; 0.00000000; 1; 64
-70076.172; 144104.314; -70067.961; 144046.981; 0.08730142; 0.14907049; 50.00000000; 1; 128
-70067.961; 144046.981; -70100.127; 143984.462; 0.14907049; 0.21937943; 0.00000000; 1; 64
</RLXString>


One line per segment, semicolon-delimited:

X_start; Y_start; X_end; Y_end; KP_start; KP_end; Radius; StatusFlags; SegmentType

  • Coordinates formatted 0.000 (3 decimals), KP values formatted 0.00000000 (8 decimals)
  • Radius is 0 for straight segments, signed (negative if CCW) for arcs
  • StatusFlags is always 0x00000001 (SS_PASSIVE)
  • SegmentType — the same RunlineTypes bitmask, STRAIGHT/ARC OR'd with the line's PARALLEL/CROSS flags (cleared to REFERENCE + CROSS special-case for reference crosslines)

So in short: .rlxp = XML wrapper (container GUID/revision + a list of runline records with display properties), and inside each record the geometry itself is a legacy .rlx-format string (header + one line per straight/arc segment) — the same format .rlx/.rln/.rle/.rlx2 files use standalone.