XGEOPLOT
Jump to navigation
Jump to search
ALPHA! - An incomplete drop-in replacement for X-Midas XGEOPLOT
<SITE> - Site file <SV> - State Vectors for platform A <UNKNOWN> - <REFTIME> - Reference time of interest in seconds (initial) This primitive is NOT COMPLETE but is the start of a replacement for the X-Midas XGEOPLOT primitive. Messages: NAME - DESCRIPTION (Note: all messages are INcoming) ----------------------------------------------------------------------- OVERLAY - General Information: This message is used to overlay a file onto the current file. If an overlay message arrives which specifies a file that has already been loaded, that file will be reread. To set additional arguments or to update the viewable area of the plot when opening, use the optional message field QUALS=<table>. For more details, see the plot explain file. INFO = 3-layers 4-events DATA = <filename.ext> - Optional Fields: QUALS = {OUTERLIMITS={}, VIEWLIMITS={}} T5REC - General Information: This message is a somewhat raw method of altering a LAYERT5 record. All type 5000 files are stored internally with a record structure closely resembling the T5REC message fields. INFO = modmask (i.e. bitmask of fields to modify). Note: This information can also be supplied in String form by having a MODMASK key in the DATA table (MODMASK Data Field/Table entry will override INFO). Only those items whose bit in the modmasks field is set will be updated when the message is received. For short, modmask=0 modifies nothing, modmask=-1 modifies everything. Bits are numeric starting at 1 for alt, 2 for lat, and so on. Bit 0 is unused. Example modmasks: 14=alt,lat,lon 16=name 224=azim,elev,roll 1792=r,a,b 2048=color 12288=symbol,size 49152=cone,invert - Required Data Fields: L:LAYER - The <layer> refers to the layer number associated with the type5000 data. If <layer> is negative, it is the index counting from the last, backward. (i.e. -1 is the last, -2 is 2nd from the last) If <layer> = 0, it refers to the marker record and index is ignored. L:INDEX - The <index> refers to the record index within the layer. If <index> is negative, it is the index counting from the last, backward. If <index> = 0, it refers to the entire layer. - Optional Data Fields: D:ALT - Altitude (Geodetic coordinates of the point) D:LAT - Latitude D:LON - Longitude D:NAME - 8 character label for the point D:R - Meaning varies and affects interpretation of other fields as well (see next section) S:MODMASK- String representation of bit mask (fields that are listed will be modified). Full list: |ALT|LAT|LON|NAME|AZIM|ELEV|ROLL|R|A|B|COLOR| SYMBOL|SIZE|CONE|INVERT| Flag fields: L:COLOR - T5 Color number: 1 - Gray (MPlot.T5_INDEX_GRAY) 2 - dark green (MPlot.T5_INDEX_DARK_GREEN) 3 - red (MPlot.T5_INDEX_RED) 4 - yellow (MPlot.T5_INDEX_YELLOW) 5 - green (MPlot.T5_INDEX_GREEN) B:SYMBOL - 1:DOT, 2:CIRCLE, 3:PLUS, 4:CROSS, 5:UTRI, 6:DTRI B:SIZE - diameter of symbol in pixels B:CONE - specifies the type of conic to plot: -9: uses XGEOPLOTs current/default CONELEV -1: map cone to intersection with geosphere 0: off - no conic N: number of sections (rings) along cone centerline B:INVERT - the cone is inverted, ie. the base of the cone and the vertex are swapped. (saved, but not used at this time) - Optional Data Fields Where Interpretation depends value of R: [R > 1 or not specified case - WARNING: Currently Unimplemented]: D:AZIM - Azimuth | Used along with ELEV and ROLL to apply D:ELEV - Elevation | a coordinate reorientation at the D:ROLL - Roll | geodetic position. If all are zero, Z | points up, X points east, and Y north. | Conics are formed along the Z axis. D:R - Height of the conic D:A - Major half angle for the cone (saved, but not used at this time) D:B - Minor half angle for the cone (saved, but not used at this time) R = -1 case (cone): D:AZIM - ALT2 | Used along with LAT2 and LON2 to define D:ELEV - LAT2 | a second point. If any flag data fields are D:ROLL - LON2 | set, this point is the position the cone is | originating from (the viewer) and the first | point is the target location (the point the | viewer is looking at). If no flag fields | are set, the points are reversed (this point | is the target and the first point the | viewer) R = 0 case (error ellipses): D:AZIM - ellipse orientation | An error ellipse is a D:A - ellipse major radius | special case of a conic. D:B - ellipse minor radius | T5TEXT - General Information: This is a special case of the T5REC used to plot text strings. INFO = modmask (i.e. bitmask of fields to modify). Note: This information can also be supplied in String form by having a MODMASK key in the DATA table (MODMASK Data Field/Table entry will override INFO). Only those items whose bit in the modmasks field is set will be updated when the message is received. For short, modmask=0 modifies nothing, modmask=-1 modifies everything. Bits are numeric starting at 1 for alt, 2 for lat, and so on. Bit 0 is unused. Example modmasks: 14=alt,lat,lon 16=name 32=text 64=color 384=symbol,size - Required Data Fields: L:LAYER - The <layer> refers to the layer number associated with the type5000 data. If <layer> is negative, it is the index counting from the last, backward. (i.e. -1 is the last, -2 is 2nd from the last) If <layer> = 0, it refers to the marker record and index is ignored. L:INDEX - The <index> refers to the record index within the layer. If <index> = 0, it refers to the entire layer. If <index> is negative, it refers to the last index. (NOT IMPLEMENTED: If <index> is negative, it is the index counting from the last, backward.) - Optional Data Fields: D:ALT - Altitude (Geodetic coordinates of the point) D:LAT - Latitude D:LON - Longitude D:NAME - 8 character label for the point S:TEXT - text string (saved, but not displayed) [Also NOT implemented: An "@" in the text is treated as a CR/LF and the remaining text is displayed on the next line.] S:MODMASK- String representation of bit mask (fields that are listed will be modified). Full list: |ALT|LAT|LON|NAME|TEXT|COLOR|SYMBOL|SIZE|CONE| INVERT| T5LAYER - General Information: This message is used to modify the structure of a type 5000 layer INFO = layer number - Data Fields: S:ACTION - "DELETE" deletes points indexed P1 through P2 P2 = -1 refers to the last point <TODO> "COPY" copies point index P1 to P2 <p2> = 0 appends the point to the end <TODO> "CREATE" creates a layer with P1 points INFO=0 is one after the last layer L:P1 - first point (1 indexed) / number of points L:P2 - second point (inclusive & 1 indexed) / <not used> SETVIEW - General Information: Set the view INFO = View: 1: LATLON 2: PERSP <unsupported> 3: SVA <unsupported> 4: SVB <unsupported> negative: split mode <unsupported> - Required Data Fields: D:VAL1 = longitude min D:VAL2 = longitude max D:VAL3 = latitude min D:VAL4 = latitude max - Optional Data Fields <UNSUPPORTED> eyelat/lon/dis = viewing lat/lon/distance for perspective mode Examples: 1. Use T5REC message to add/merge Point 1 with Error Ellipse component on Layer 2. (uses String MODMASK) message FUNC=SEND ID=^XGEOID INFO=0 NAME="T5REC" & DATA={Layer=2,INDEX=1,& ModMask="ALT|LAT|LON|R|AZIM|A|B|COLOR|CONE|NAME|SYMBOL|SIZE", & ALT=45.0,LAT=0.5,LON=0.5,R=0,AZIM=15.0,A=300000.0,B=70000.0,COLOR=2, & CONE=-9, SYMBOL=5,SIZE=3,NAME=PNT1REC} 2. Use T5REC message to add/merge Point 2 with Cone component on Layer 3 (uses String MODMASK) invoke red nxm.sys.libg.MColor.T5_INDEX_RED message FUNC=SEND ID=^XGEOID INFO=0 NAME="T5REC" & DATA={Layer=3,INDEX=2, & ModMask="ALT|LAT|LON|R|AZIM|ELEV|ROLL|COLOR|CONE|NAME|SYMBOL|SIZE",& ALT=1000000.0,LAT=1,LON=5,R=-1,AZIM=7.0,ELEV=5.0,ROLL=0.0,COLOR=^red, & CONE=-9, SYMBOL=5,SIZE=3,NAME=PNT2REC} 4. Use T5REC message to modify all points in the Layer to have Longitude 6.0 and have the color gray. (uses INFO for modmask) invoke gray nxm.sys.libg.MColor.T5_INDEX_GRAY message FUNC=SEND ID=^XGEOID INFO=72 NAME="T5REC" & DATA={Layer=4,INDEX=0,LON=6.0,COLOR=1} 5. Use T5TEXT message to add Point with TEXT/NOTE component on third LayerT5 message FUNC=SEND ID=^XGEOID INFO=-1 NAME="T5TEXT", DATA={Layer=4,INDEX=3, & ModMask="ALT|LAT|LON|NAME|COLOR|SYMBOL|TEXT|SIZE|INVERT",ALT=55.0,LAT=2, & LON=2,COLOR=4,SYMBOL=2,SIZE=3,INVERT=1,NAME=PNT3TEXT, TEXT=NoteToDisplay} 6. Use T5LAYER ACTION=CREATE message to create a LayerT5 message FUNC=SEND ID=^XGEOID INFO=1 NAME="T5LAYER" & DATA={ACTION="CREATE",P1=1} 7. Use T5LAYER ACTION=DELETE message to delete Points 1 to 2 in Layer 1 message FUNC=SEND ID=^XGEOID INFO=1 NAME="T5LAYER" & DATA={ACTION="DELETE",P1=1,P2=2} 8. Use T5LAYER ACTION=DELETE message to delete Points 4 to the end in the layer defined as citiesLayer set L:layNum ^citiesLayer message FUNC=SEND ID=^XGEOID INFO=^layNum NAME="T5LAYER" & DATA={ACTION="DELETE",P1=4,P2=-1} 9. Use T5LAYER ACTION=COPY to make Point 1 a copy of Point 3 message FUNC=SEND ID=^XGEOID INFO=3 NAME="T5LAYER" & DATA={ACTION="COPY",P1=3,P2=1} 10. Use T5LAYER ACTION=COPY to append copy of Point 3 to the existing points message FUNC=SEND ID=^XGEOID INFO=3 NAME="T5LAYER" & DATA={ACTION="COPY",P1=3,P2=0} 11. Use SETVIEW to zoom in set box {MINLON=-1,MAXLON=8,MINLAT=-3,MAXLAT=5} message FUNC=SEND ID=^XGEOID INFO=1 NAME="SETVIEW" & DATA={VAL1=^box.minLon,VAL2=^box.maxLon,VAL3=^box.minLat,VAL4=^box.maxLat} 12. Use OVERLAY message to add a file to the current file. message FUNC=SEND ID=^XGEOID NAME=OVERLAY INFO=3 DATA="temp_xgeo_cities" QUALS={OUTERLIMITS={x1=-100}} Switches: /DEBUG - Switch description /XN - Window title /MTAG - Switch description /MSGID - Switch description