<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.ice-online.com/index.php?action=history&amp;feed=atom&amp;title=FEATURE</id>
	<title>FEATURE - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ice-online.com/index.php?action=history&amp;feed=atom&amp;title=FEATURE"/>
	<link rel="alternate" type="text/html" href="https://wiki.ice-online.com/index.php?title=FEATURE&amp;action=history"/>
	<updated>2026-04-10T11:05:17Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>https://wiki.ice-online.com/index.php?title=FEATURE&amp;diff=731&amp;oldid=prev</id>
		<title>ConvertBot: creates a new plot feature and adds it to a plotter</title>
		<link rel="alternate" type="text/html" href="https://wiki.ice-online.com/index.php?title=FEATURE&amp;diff=731&amp;oldid=prev"/>
		<updated>2020-04-27T22:04:40Z</updated>

		<summary type="html">&lt;p&gt;creates a new plot feature and adds it to a plotter&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;creates a new plot feature and adds it to a plotter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;NAME&amp;gt;  The Feature class name or fully qualified class name (rarely used).&lt;br /&gt;
&amp;lt;LABEL&amp;gt; Results label to referencing the object.&lt;br /&gt;
&amp;lt;TABLE&amp;gt; Table of arguments to initialize the object via the setKey interface.&lt;br /&gt;
&amp;lt;PLOT&amp;gt;  The ID of plotter to which to add feature.&lt;br /&gt;
&lt;br /&gt;
This command creates a new Feature object for attaching to a plotter. All the&lt;br /&gt;
positions are in real world coordinates (RWC) in terms of the plotter. If they&lt;br /&gt;
are out of the plotter's bounds, they will not be displayed.&lt;br /&gt;
&lt;br /&gt;
The class name specified by &amp;lt;NAME&amp;gt; specifies a custom Feature subclass.&lt;br /&gt;
Most users will simply leave &amp;lt;NAME&amp;gt; blank and use the default (which is&lt;br /&gt;
documented here). If &amp;lt;NAME&amp;gt; is not a fully qualified class name, a prefix of&lt;br /&gt;
nxm.sys.libg.Feature is assumed.&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;TABLE&amp;gt; is specified, layer.setKey() will be called for each element in the&lt;br /&gt;
table. The following values in the &amp;lt;TABLE&amp;gt; are typically set:&lt;br /&gt;
&lt;br /&gt;
NOTE: Quotes are recommended around table value to prevent collisions with&lt;br /&gt;
      results parameters!!!&lt;br /&gt;
&lt;br /&gt;
  NAME=&amp;quot;&amp;lt;name&amp;gt;&amp;quot;         Sets the name/label of the feature (used by plotter).&lt;br /&gt;
  TYPE=&amp;quot;&amp;lt;type&amp;gt;&amp;quot;         Sets the feature type (mask value) (see below).&lt;br /&gt;
  COLOR=&amp;quot;&amp;lt;color&amp;gt;&amp;quot;       Sets the color of the feature.&lt;br /&gt;
  FILLCOLOR=&amp;quot;&amp;lt;color&amp;gt;&amp;quot;   Sets the fill color for certain feature types (defaults&lt;br /&gt;
                        to COLOR= if this is not set.&lt;br /&gt;
  X=&amp;lt;x&amp;gt;,Y=&amp;lt;y&amp;gt;           Sets the center point of the feature.&lt;br /&gt;
  DX=&amp;lt;dx&amp;gt;,DY=&amp;lt;dy&amp;gt;       Sets the width and height of the feature (where&lt;br /&gt;
                        applicable). Including diameter of CIRCLE features&lt;br /&gt;
  XMINMAX=&amp;lt;x1,x2&amp;gt;       Sets the X and DX values (calculated from given input)&lt;br /&gt;
  YMINMAX=&amp;lt;y1,y2&amp;gt;       Sets the Y and DY values (calculated from given input)&lt;br /&gt;
  T=&amp;lt;t&amp;gt;,DT=&amp;lt;dt&amp;gt;         Sets the parameters for time-based features (see below).&lt;br /&gt;
  SEMIMAJOR=&amp;lt;semimajor&amp;gt; Sets the semi-major for the ELLIPSE features (in meters)&lt;br /&gt;
  SEMIMINOR=&amp;lt;semiminor&amp;gt; Sets the semi-minor for the ELLIPSE features (in meters)&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;LABEL&amp;gt; is specified, a reference to the feature is stored in the results&lt;br /&gt;
table.&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;TABLE&amp;gt; NAME is not specified, the feature is given a unique name.  The name will be &amp;lt;LABEL&amp;gt;, if&lt;br /&gt;
that is available and unique.&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;PLOT&amp;gt; is specified, the feature is added to the named plotter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Types:&lt;br /&gt;
  The feature type is set using: table={TYPE=&amp;lt;type&amp;gt;}&lt;br /&gt;
  Where &amp;lt;type&amp;gt; is one of the following feature types or a combination of the&lt;br /&gt;
  following feature types (e.g. table={TYPE=HLINE|VLINE}).&lt;br /&gt;
&lt;br /&gt;
  All positions are in real world coordinates (RWC). Most sizes are in RWC&lt;br /&gt;
  except for when SYMBOL type is used when drawing features of a fixed&lt;br /&gt;
  pixel size (i.e. their size is constant at all zoom levels). When drawing a&lt;br /&gt;
  feature whose size matches real world coordinates use the all other types such&lt;br /&gt;
  as BOX, CIRCLE, OVAL, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  SYMBOL&lt;br /&gt;
    If the feature is a SYMBOL (TYPE=SYMBOL in &amp;lt;table&amp;gt;) then the parameters of&lt;br /&gt;
    that symbol can be set by putting a LINE={..} entry in the table. The most&lt;br /&gt;
    commonly used symbol settings are:&lt;br /&gt;
      SYMBOL=&amp;lt;sym&amp;gt;&lt;br /&gt;
        Where &amp;lt;sym&amp;gt; is one of the following:&lt;br /&gt;
          CROSS   - A 'x' symbol.       TRIANGLE,  TRI  - A triangle symbol.&lt;br /&gt;
          PLUS    - A '+' symbol.       UTRIANGLE, UTRI - A triangle (up).&lt;br /&gt;
          STAR    - A '*' symbol.       DTRIANGLE, DTRI - A triangle (down).&lt;br /&gt;
          CIRCLE  - A circle symbol.    RTRIANGLE, RTRI - A triangle (right).&lt;br /&gt;
          SQUARE  - A square symbol.    LTRIANGLE, LTRI - A triangle (left).&lt;br /&gt;
          DIAMOND - A diamond Symbol.   ASCII-&amp;lt;str&amp;gt;     - An ASCII string &amp;lt;str&amp;gt;.&lt;br /&gt;
          DOT     - A small dot/pixel.  &amp;lt;single letter&amp;gt; - A single ASCII letter.&lt;br /&gt;
          ARROW   - A block arrow.      NONE            - No symbol used.&lt;br /&gt;
          AERO    - An airplane symbol.&lt;br /&gt;
&lt;br /&gt;
        Note: As of NeXtMidas 2.7.0, an image can be used in place of the pre-&lt;br /&gt;
              defined Symbols above by replacing the symbol name with the file&lt;br /&gt;
              name for the image, (e.g. SYMBOL=&amp;quot;nxm.sys.dat.network.png&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
      SYMBOLSIZE=&amp;lt;size&amp;gt;&lt;br /&gt;
        Sets the symbol size (in pixels).&lt;br /&gt;
&lt;br /&gt;
      SYMBOLFILL=[YES|NO]&lt;br /&gt;
        Indicates if the symbol should be filled in ('yes' or 'no').&lt;br /&gt;
&lt;br /&gt;
      SYMBOLANGLE=&amp;lt;radians&amp;gt;&lt;br /&gt;
      SYMBOLANGLEDEG=&amp;lt;degrees&amp;gt;&lt;br /&gt;
      SYMBOLHEADING=&amp;lt;degrees&amp;gt;&lt;br /&gt;
        Use ONE of these to set the symbol angle.&lt;br /&gt;
          SYMBOLANGLE    - The angle of the symbol (counter-clockwise from east)&lt;br /&gt;
          SYMBOLANGLEDEG - The angle of the symbol (counter-clockwise from east)&lt;br /&gt;
          SYMBOLHEADING  - The angle of the symbol (clockwise from north):&lt;br /&gt;
                             North: 0 or 360     East: 90&lt;br /&gt;
                             South: 180          West: 270&lt;br /&gt;
&lt;br /&gt;
  DATA&lt;br /&gt;
    Highlights the enclosed data. Typically used on a line plot to highlight a&lt;br /&gt;
    portion of interest.&lt;br /&gt;
&lt;br /&gt;
  HBAR    (Since NeXtMidas 3.3.2)&lt;br /&gt;
    Draws horizontal bar (filled box using FILLCOLOR) at Y-DY/2 and Y+DY/2&lt;br /&gt;
    along the *vertical* axis.&lt;br /&gt;
    E.g. this fills in the area between the HLINE type.&lt;br /&gt;
&lt;br /&gt;
  VBAR    (Since NeXtMidas 3.3.2)&lt;br /&gt;
    Draws vertical bar (filled box using FILLCOLOR) at X-DX/2 and X+DX/2.&lt;br /&gt;
    along the *horizontal* axis.&lt;br /&gt;
    E.g. this fills in the area between the VLINE type.&lt;br /&gt;
&lt;br /&gt;
  HLINE&lt;br /&gt;
    Draws two horizontal lines (one at Y-DY/2 and one at Y+DY/2 along the&lt;br /&gt;
    *vertical* axis).&lt;br /&gt;
&lt;br /&gt;
  VLINE&lt;br /&gt;
    Draws two vertical lines (one at X-DX/2 and one at X+DX/2 along the&lt;br /&gt;
    *horizontal* axis).&lt;br /&gt;
&lt;br /&gt;
  XLINE   (Since NeXtMidas 2.9.0)&lt;br /&gt;
    Draws two lines with respect to the Plot's view (one at plot x=X-DX/2 &lt;br /&gt;
    and one at plot x=X+DX/2). In the normal Y vs X plot these lines will be&lt;br /&gt;
    vertical, and in the rotated X vs Y plot these lines will be horizontal. &lt;br /&gt;
    (Note: If DX is zero, only one line will be drawn.)&lt;br /&gt;
&lt;br /&gt;
  YLINE   (Since NeXtMidas 2.9.0)&lt;br /&gt;
    Draws two lines with respect to the Plot's view (one at plot y=Y-DY/2 &lt;br /&gt;
    and one at plot y=Y+DY/2). In the normal Y vs X plot these lines will be&lt;br /&gt;
    horizontal, and in the rotated X vs Y plot these lines will be vertical. &lt;br /&gt;
    (Note: If DY is zero, only one line will be drawn.)&lt;br /&gt;
    &lt;br /&gt;
  BOX&lt;br /&gt;
    Draws a box centered at (X,Y) with height DY and width DX. To fill the box&lt;br /&gt;
    use TYPE=&amp;quot;BOX|FILLED&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
  CIRCLE&lt;br /&gt;
    Draws a circle centered at (X,Y) with diameter of MAX(DY_in_pixels,&lt;br /&gt;
    DX_in_pixels), where the number of pixels for width or height is dependent&lt;br /&gt;
    on the scale for that axis. To fill the circle use TYPE=&amp;quot;CIRCLE|FILLED&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
  OVAL&lt;br /&gt;
    Draws an oval centered at (X,Y) with height DY and width DX. To fill the&lt;br /&gt;
    oval use TYPE=&amp;quot;OVAL|FILLED&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
  ELPS&lt;br /&gt;
    Draws a geodetic ellipse centered at (X,Y) ellipse dimension SEMIMINOR,&lt;br /&gt;
    SEMIMAJOR, and TILT. SEMIMAJOR &amp;amp; SEMIMINOR are in meters. TILT is in&lt;br /&gt;
    cardinal degrees (90 = horizontal). The ellipse will follow the curvature&lt;br /&gt;
    of the Earth.  ELPS is designed for Map views ONLY.&lt;br /&gt;
&lt;br /&gt;
  LTAG,RTAG,TTAG,BTAG&lt;br /&gt;
    Labels the feature with a tag along the left/right/top/bottom axis. The tags&lt;br /&gt;
    are drawn outside of the axis unless IPLT is specified.&lt;br /&gt;
&lt;br /&gt;
  DTAG&lt;br /&gt;
    (NOT USED)&lt;br /&gt;
&lt;br /&gt;
  PEAK&lt;br /&gt;
    (NOT USED)&lt;br /&gt;
&lt;br /&gt;
  IPLT&lt;br /&gt;
    Shows the tags (see LTAG,RTAG,TTAG,BTAG) inside the plot axis.&lt;br /&gt;
&lt;br /&gt;
  VRIDE&lt;br /&gt;
    The vertical position of the feature (Y) should ride along the plot value.&lt;br /&gt;
    Typically used in combination with SYMBOL on a line plot to mark the data&lt;br /&gt;
    value at a given X value.&lt;br /&gt;
&lt;br /&gt;
  OSYMBOL&lt;br /&gt;
    Legacy feature, in most cases it is best to use TYPE=&amp;quot;SYMBOL&amp;quot;,&lt;br /&gt;
    LINE={SYMBOL=&amp;quot;CIRCLE&amp;quot;} in place of this.&lt;br /&gt;
&lt;br /&gt;
  LABEL&lt;br /&gt;
    Same as TEXT. Deprecated since NeXtMidas 2.3.0.&lt;br /&gt;
&lt;br /&gt;
  INVERSE&lt;br /&gt;
    When coloring the feature use the inverse color of the plot data. Typically&lt;br /&gt;
    used over a raster plot to ensure that the feature will stand out regardless&lt;br /&gt;
    of the color of the plot.&lt;br /&gt;
&lt;br /&gt;
  TEXT&lt;br /&gt;
    Show a text label for the feature.&lt;br /&gt;
&lt;br /&gt;
  TRI&lt;br /&gt;
    Legacy feature, in most cases it is best to use TYPE=&amp;quot;SYMBOL&amp;quot;,&lt;br /&gt;
    LINE={SYMBOL=&amp;quot;TRI&amp;quot;,SYMBOLFILL=&amp;quot;ON&amp;quot;} in place of this.&lt;br /&gt;
&lt;br /&gt;
  FILLED&lt;br /&gt;
    Fills a BOX, CIRCLE, or OVAL feature with FILLCOLOR. Note that this has no&lt;br /&gt;
    affect on symbols, which have a separate SYMBOLFILL option (see above).&lt;br /&gt;
&lt;br /&gt;
Time-Based Features:&lt;br /&gt;
  Note: Time-based features are disabled by default by setting dt=-1, they can&lt;br /&gt;
        be enabled by setting dt&amp;gt;=0.&lt;br /&gt;
&lt;br /&gt;
  Time-based features comprise a special class of features. These features are&lt;br /&gt;
  typically used on falling rasters of real-time plots to indicate a time-&lt;br /&gt;
  relevant event. To use a feature as a time-based feature simply set dt to a&lt;br /&gt;
  non-negative value. This will cause the values of y and dy used when plotting&lt;br /&gt;
  the feature to be computed on t and dt rather than using a fixed y and dy.&lt;br /&gt;
  Time-based features &amp;quot;expire&amp;quot; as soon as ANY part of the feature is in the&lt;br /&gt;
  &amp;quot;past&amp;quot; (i.e. outside of the current range of the plot). Once a feature has&lt;br /&gt;
  &amp;quot;expired&amp;quot; it will be drawn over or erased.&lt;br /&gt;
&lt;br /&gt;
  For performance reasons, time-based features with dt &amp;gt; 0 that &amp;quot;wrap around&amp;quot;&lt;br /&gt;
  the plot will not be drawn in &amp;quot;wrapped&amp;quot; form. Please use the line features&lt;br /&gt;
  in place of box features where this may occur.&lt;br /&gt;
&lt;br /&gt;
  Time-based features use the first plot layer (i.e. the first pipe/file) as&lt;br /&gt;
  their time reference. If there are no layers in the plot the features may not&lt;br /&gt;
  be drawn in the correct position.&lt;br /&gt;
&lt;br /&gt;
Changing values in Features:&lt;br /&gt;
  It is possible to update an existing Feature by changing its values. For&lt;br /&gt;
  example, to change the location of a Feature labeled 'fcirc':&lt;br /&gt;
    nM&amp;gt; set fcirc.x 50&lt;br /&gt;
    nM&amp;gt; set fcirc.y 10&lt;br /&gt;
&lt;br /&gt;
  Each of the above commands changes the corresponding Feature value and calls&lt;br /&gt;
  refresh(). If you are updating a many attributes of feature, as of NeXtMidas&lt;br /&gt;
  2.7.2 you can temporarily disable the call to refresh():&lt;br /&gt;
    nM&amp;gt; set reg.idplot.holdRefresh features&lt;br /&gt;
            -  or  -&lt;br /&gt;
    nM&amp;gt; message func=sendw id=idplot name=HOLDREFRESH data=features&lt;br /&gt;
&lt;br /&gt;
  Warning: In order for your updates to take effect and be displayed, you must&lt;br /&gt;
  unblock refresh().&lt;br /&gt;
    nM&amp;gt; set reg.idplot.holdRefresh none&lt;br /&gt;
            -  or  -&lt;br /&gt;
    nM&amp;gt; message func=sendw id=idplot name=HOLDREFRESH data=none&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
  The following examples assume a PLOT command is issued as follows (note that&lt;br /&gt;
  the examples should each be on one line, line breaks added to fit page):&lt;br /&gt;
     nM&amp;gt; plot/bg/id=myplot apenny&lt;br /&gt;
&lt;br /&gt;
  1. Add a CIRCLE to the plot (that has a constant real-world size):&lt;br /&gt;
       nM&amp;gt; feature label=fcirc plot=myplot &amp;amp;&lt;br /&gt;
                   table={NAME=&amp;quot;CIRCLE&amp;quot;,TYPE=CIRC,X=20,Y=20,DX=5,COLOR=YELLOW}&lt;br /&gt;
&lt;br /&gt;
  2. Add a CIRCLE to the plot (that has a constant screen/pixel size).&lt;br /&gt;
     Note that X= and Y= are still in RWC:&lt;br /&gt;
       nM&amp;gt; feature label=fcirc plot=myplot &amp;amp;&lt;br /&gt;
                   table={NAME=&amp;quot;CIRCLE&amp;quot;,TYPE=SYMBOL,X=20,Y=20,DX=5,COLOR=WHITE,&amp;amp;&lt;br /&gt;
                          LINE={SYMBOL=CIRCLE}}&lt;br /&gt;
&lt;br /&gt;
  3. Add a red triangle SYMBOL to the plot:&lt;br /&gt;
       nM&amp;gt; feature label=fsymbol  plot=myplot &amp;amp;&lt;br /&gt;
                   table={NAME=&amp;quot;SYMBOL&amp;quot;,TYPE=SYMBOL,X=20,Y=20,COLOR=RED,&amp;amp;&lt;br /&gt;
                          LINE={SYMBOL=TRI}}&lt;br /&gt;
&lt;br /&gt;
  4. Add a large red triangle SYMBOL to the plot:&lt;br /&gt;
       nM&amp;gt; feature label=fsymbol plot=myplot &amp;amp;&lt;br /&gt;
                   table={NAME=&amp;quot;SYMBOL&amp;quot;,TYPE=SYMBOL,X=20,Y=20,COLOR=RED,&amp;amp;&lt;br /&gt;
                          LINE={SYMBOL=TRI,SYMBOLSIZE=30}}&lt;br /&gt;
&lt;br /&gt;
  5. Add a blue feature to the plot that has horizontal and vertical lines:&lt;br /&gt;
       nM&amp;gt; feature label=flines plot=myplot &amp;amp;&lt;br /&gt;
                   table={NAME=&amp;quot;FLINES&amp;quot;,TYPE=HLINE|VLINE,X=20,Y=20,COLOR=BLUE}&lt;br /&gt;
&lt;br /&gt;
  6. Add an ELLIPSE to the plot tilted -45 degrees.&lt;br /&gt;
       nM&amp;gt; feature label=fellipse plot=myplot &amp;amp;&lt;br /&gt;
                   table={NAME=&amp;quot;ELLIPSE&amp;quot;,TYPE=ELPS,X=20,Y=20,TILT=-45,&amp;amp;&lt;br /&gt;
                          SEMIMAJOR=1700000,SEMIMINOR=800000,COLOR=GREEN}&lt;br /&gt;
&lt;br /&gt;
  7. Remove a feature named &amp;quot;MYFEATURE&amp;quot; from the plot. The name should&lt;br /&gt;
     correspond to the NAME= key in the table used to create the feature.&lt;br /&gt;
     (Note this does not remove the local variable &amp;lt;LABEL&amp;gt; from the results.)&lt;br /&gt;
       nM&amp;gt; invoke junk reg.idplot.removeFeature(&amp;quot;MYFEATURE&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  8. Remove a feature &amp;quot;MYFEATURE&amp;quot; from the plot. (Note this does not remove the&lt;br /&gt;
     local variable &amp;lt;LABEL&amp;gt; from the results.)&lt;br /&gt;
       nM&amp;gt; invoke junk reg.idplot.removeFeature(&amp;quot;*&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Switches:&lt;br /&gt;
  None&lt;br /&gt;
&lt;br /&gt;
See Also: nxm.sys.libg.Feature, nxm.sys.libg.Line, nxm.sys.libg.Symbol&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:NXM_Explain]]&lt;/div&gt;</summary>
		<author><name>ConvertBot</name></author>
		
	</entry>
</feed>