skip to main content
Programmer's documentation > Programming with JViews Maps for Defense > Symbology > Creating and managing APP-6a symbols
 
Creating and managing APP-6a symbols
Describes how to create and manage APP-6a symbols.
*APP-6a symbols
*Describes APP-6a symbols.
*Symbol identification coding scheme
*Describes the symbol identification coding scheme.
*Symbol modifiers
*Describes symbol modifiers.
*SDM design and APP-6a symbols
*Provides typical code for displaying symbols.
*Developing with APP-6a symbols
*Describes the classes that control the appearance of APP-6a symbols and a symbol manager for editing or creating a new symbol. The complete source code for an APP-6a demonstration can be found at <installdir> /jviews-maps-defense/samples/app6a/index.html.
APP-6a symbols
APP-6a standard is a subset of the MIL-STD-2525B standard. The standard provides common warfighting symbology for Command, Control, Communications, Computer, and Intelligence (C4I) systems development, operations, and training.
A tactical symbol is composed of a frame, fill, and icon and may include text and/or graphic modifiers that provide additional information.
The following figure shows an example of a tactical symbols.
APP-6a symbol schematic
The frame attributes, that is, affiliation, battle dimension, and status, determine the type of frame for a given symbol. Fill color is a redundant indication of the affiliation of the symbol (frame shape also indicates affiliation, see Symbol modifiers).
Symbol identification coding scheme
An APP-6a symbol ID code is a 15-character alphanumeric identifier that provides the information necessary to display a tactical symbol.
You can use the NATO Symbol Manager (for example, in the Map Builder) to hierarchically retrieve the ID code prototype or construct it from its base elements.
The positions of the symbol ID code are described below. Since many symbols do not have an entry in every code position, a dash (-) is used to fill each unused position.
An asterisk (*) indicates positions that are user-defined, based on specific symbol circumstances such as affiliation or echelon/mobility.
*Position 1: the “Coding Scheme” indicates which overall symbology set a symbol belongs to:
 
S
WARFIGHTING
G
TACTICAL GRAPHICS
W
METOC
I
INTELLIGENCE
M
MAPPING
O
MILITARY OPERATIONS
Rogue Wave® JViews provides only WARFIGHTING Symbols.
*Position 2: “Affiliation” indicates the affiliation of the symbol:
 
P
PENDING
U
UNKNOWN
A
ASSUMED FRIEND
F
FRIEND
N
NEUTRAL
S
SUSPECT
H
HOSTILE
J
JOKER
K
FAKER
O
NONE SPECIFIED
*Position 3: “Battle Dimension” indicates the battle dimension of the symbol:
 
P
SPACE
A
AIR
G
GROUND
S
SEA SURFACE
U
SEA SUBSURFACE
F
SOF
X
OTHER (No frame)
*Position 4: “Status” indicates the planned or present status of the symbol:
 
A
ANTICIPATED/PLANNED
P
PRESENT
*Positions 5 through 10: “Function ID” identifies a symbol’s function. Each position indicates an increasing level of detail and specialization. For example:
 
US----
COMBAT SERVICE SUPPORT
USM---
COMBAT SERVICE SUPPORT (MEDICAL)
USMP--
COMBAT SERVICE SUPPORT (MEDICAL PSYCHOLOGICAL)
USMPC-
COMBAT SERVICE SUPPORT (MEDICAL PSYCHOLOGICAL CORPS)
*Positions 11 and 12: “Symbol Modifier Indicator” identifies indicators present on the symbol such as echelon, feint/dummy, installation, task force, headquarters staff, and equipment mobility:
 
--
NULL
-A
TEAM/CREW
-B
SQUAD
-C
SECTION
-D
PLATOON/DETACHMENT
-E
COMPANY/BATTERY/ TROOP
-F
BATTALION/SQUADRON
-G
REGIMENT/GROUP
-H
BRIGADE
-I
DIVISION
-J
CORPS/MEF
-K
ARMY
-L
ARMY GROUP/FRONT
-M
REGION
 
 
A-
HEADQUARTERS (HQ)
AA
HQ TEAM/CREW
AB
HQ SQUAD
AC
HQ SECTION
AD
HQ PLATOON/DETACHMENT
AE
HQ COMPANY/BATTERY TROOP
AF
HQ BATTALION/SQUADRON
AG
HQ REGIMENT/GROUP
AH
HQ BRIGADE
AI
HQ DIVISION
AJ
HQ CORPS/MEF
AK
HQ ARMY
AL
HQ ARMY GROUP/FRONT
AM
HQ REGION
 
 
B-
TASK FORCE (TF) HQ
BA
TF HQ TEAM/CREW
BB
TF HQ SQUAD
BC
TF HQ SECTION
BD
TF HQ PLATOON/DETACHMENT
BE
TF HQ COMPANY/BATTERY/TROOP
BF
TF HQ BATTALION/SQUADRON
BG
TF HQ REGIMENT/GROUP
BH
TF HQ BRIGADE
BI
TF HQ DIVISION
BJ
TF HQ CORPS/MEF
BK
TF HQ ARMY
BL
TF HQ ARMY GROUP/FRONT
BM
TF HQ REGION
 
 
C-
FEINT DUMMY (FD) HQ
CA
FD HQ TEAM/CREW
CB
FD HQ SQUAD
CC
FD HQ SECTION
CD
FD HQ PLATOON/DETACHMENT
CE
FD HQ COMPANY/BATTERY/TROOP
CF
FD HQ BATTALION/SQUADRON
CG
FD HQ REGIMENT/GROUP
CH
FD HQ BRIGADE
CI
FD HQ DIVISION
CJ
FD HQ CORPS/MEF
CK
FD HQ ARMY
CL
FD HQ ARMY GROUP/FRONT
CM
FD HQ REGION
 
 
D-
FEINT DUMMY/TASK FORCE (FD/TF) HQ
DA
FD/TF HQ TEAM/CREW
DB
FD/TF HQ SQUAD
DC
FD/TF HQ SECTION
DD
FD/TF HQ PLATOON/DETACHMENT
DE
FD/TF HQ COMPANY/BATTERY/TROOP
DF
FD/TF HQ BATTALION/SQUADRON
DG
FD/TF HQ REGIMENT/GROUP
DH
FD/TF HQ BRIGADE
DI
FD/TF HQ DIVISION
DJ
FD/TF HQ CORPS/MEF
DK
FD/TF HQ ARMY
DL
FD/TF HQ ARMY GROUP/FRONT
DM
FD/TF HQ REGION
 
 
E-
TASK FORCE (TF)
EA
TF TEAM/CREW
EB
TF SQUAD
EC
TF SECTION
ED
TF PLATOON/DETACHMENT
EE
TF COMPANY/BATTERY/TROOP
EF
TF BATTALION/SQUADRON
EG
TF REGIMENT/GROUP
EH
TF BRIGADE
EI
TF DIVISION
EJ
TF CORPS/MEF
EK
TF ARMY
EL
TF ARMY GROUP/FRONT
EM
TF REGION
 
 
F-
FEINT DUMMY (FD)
FA
FD TEAM/CREW
FB
FD SQUAD FC
FD
SECTION
FD
FD PLATOON/DETACHMENT
FE
FD COMPANY/BATTERY/TROOP
FF
FD BATTALION/SQUADRON
FG
FD REGIMENT/GROUP
FH
FD BRIGADE
FI
FD DIVISION
FJ
FD CORPS/MEF
FK
FD ARMY
FL
FD ARMY GROUP/FRONT
FM
FD REGION
 
 
G-
FEINT DUMMY/TASK FORCE (FD/TF)
GA
FD/TF TEAM/CREW
GB
FD/TF SQUAD
GC
FD/TF SECTION
GD
FD/TF PLATOON/DETACHMENT
GE
FD/TF COMPANY/BATTERY/TROOP
GF
FD/TF BATTALION/SQUADRON
GG
FD/TF REGIMENT/GROUP
GH
FD/TF BRIGADE
GI
FD/TF DIVISION
GJ
FD/TF CORPS/MEF
GK
FD/TF ARMY
GL
FD/TF ARMY GROUP/FRONT
GM
FD/TF REGION
 
 
H-
INSTALLATION
HB
FEINT DUMMY INSTALLATION
 
 
M-
MOBILITY EQUIPMENT
MO
MOBILITY WHEELED/LIMITED CROSS COUNTRY
MP
MOBILITY CROSS COUNTRY
MQ
MOBILITY TRACKED
MR
MOBILITY WHEELED AND TRACKED
MS
MOBILITY TOWED COMBINATION
MT
MOBILITY RAIL
MU
MOBILITY OVER THE SNOW
MV
MOBILITY SLED
MW
MOBILITY PACK ANIMALS
MX
MOBILITY BARGE
MY
MOBILITY AMPHIBIOUS
 
 
NS
TOWED ARRAY (SHORT)
NL
TOWED ARRAY (LONG)
*Positions 13 and 14: “Country Code” identifies the country with which a symbol is associated, for example:
 
CA
CANADA
US
UNITED STATES
*Position 15: “Order of Battle” provides additional information about the role of a symbol in the battle space. For example, a bomber that has nuclear weapons on board could be designated as strategic force related:
 
A -
AIR OB
C -
CIVILIAN OB
G -
GROUND OB
N -
MARITIME OB
S -
STRATEGIC FORCE RELATED
Symbol modifiers
The standard defines a set of modifiers that provides optional additional information about a symbol. Modifier information is represented around the central frame.
The following figure shows a schematic of the symbol modifier information.
APP-6a symbol modifiers
The following table provides descriptions of these modifiers.
APP-6a symbol modifiers 
Code
Modifier
Description
A
Symbol Indicator
The innermost part of a symbol that represents a warfighting object.
B
Echelon
Graphic modifier in a unit symbol that identifies the command level.
C
Quantity
A text modifier in an equipment symbol that identifies the number of items present.
D
Task Force Indicator
A graphic modifier in a unit symbol that identifies a unit as a task force.
E
Frame Shape Modifier
Graphic modifiers that help determine the affiliation and/or battle dimension of an object (“U,”“?,”“J,” and“K”).
F
Reinforced or Reduced
A text modifier in a unit symbol that should be (+) for reinforced, (-) for reduced, (+/-) reinforced and reduced.
G
Staff Comments
A text modifier for units, equipment and installations.
H
Additional Information
A text modifier for units, equipment, and installations.
J
Evaluation Rating
A text modifier for units, equipment, and installations that consists of a one-letter reliability rating and a one-letter credibility rating.
Reliability Ratings:
A-completely reliable
B-usually reliable
C-fairly reliable
D-not usually reliable
E-unreliable
F-reliability cannot be judged
Credibility Ratings:
1-confirmed by other sources
2-probably true
3-possibly true
4-doubtfully true
5-improbable
6-truth cannot be judged
K
Combat Effectiveness
A text modifier for units and equipment that indicates unit effectiveness or installation capability.
L
Signature Equipment
A text modifier for hostile equipment; “!” indicates detectable electronic signatures.
M
Higher Formation
A text modifier for units that indicates the number or title of a higher echelon command (corps are designated by Roman numerals).
N
Hostile (Enemy)
A text modifier for equipment; letters "ENY" denote hostile symbols.
P
IFF/SIF
A text modifier displaying IFF/SIF Identification modes and codes.
Q
Direction of Movement Indicator
A graphic modifier for units, equipment, and installations that identifies the direction of movement or intended movement of an object.
R
Mobility Indicator
A graphic modifier for equipment that depicts the mobility of an object.
R2
SIGINT Mobility Indicator
M = Mobile, S = Static, or U = Uncertain.
S
Headquarters Staff Indicator/Offset location indicator
Headquarters staff indicator: A graphic modifier for units, equipment, and installations that identifies a unit as a headquarters location.
Offset location indicator: A graphic modifier for units, equipment, and installations used when placing an object away from its actual location.
T
Unique Designation
Text modifier for units, equipment, and installations that uniquely identifies a particular symbol; track number.
Identifies acquisition number when used with SIGINT symbology.
V
Type
A text modifier for equipment that indicates the type of equipment.
W
Date/Time Group (DTG)
A text modifier for units, equipment and installations that displays traditional military Date/Time Group format DDHHMMSSZMONYY.
X
Altitude/Depth
A text modifier for units, equipment, and installations that displays the altitude portion of GPS: flight level for aircraft, depth for submerged objects, height in feet of equipment or structures on the ground.
Y
Location
A text modifier for units, equipment, and installations that displays the location of a symbol in degrees, minutes, and seconds (or in UTM or other applicable display format).
Z
Speed
A text modifier for units, equipment, and installations that displays velocity as described in MIL-STD-6040.
AA
Special C2 Headquarters
A text modifier for units; the indicator contained inside the frame contains the name of the special C2 headquarters.
AB
Feint/Dummy Indicator
Feint or dummy indicator: A graphic modifier for units, equipment, and installations that identifies an offensive or defensive unit intended to draw the attention of the enemy away from the area of the main attack.
AC
Installation
A graphic modifier for units, equipment, and installations used to show that a particular symbol denotes an installation.
The following figure shows some examples of APP-6a symbols:
Example APP-6a symbols
SDM design and APP-6a symbols
APP-6a Symbols are a specialized use of JViews Diagrammer capabilities and take advantage of JViews Diagrammer technology. The coding of the APP-6a standard in a set of java classes provides even greater performance than the (more flexible) output of the Symbol Editor. APP-6a Symbols. The symbols are nodes of a diagrammer data model that are rendered into the graphical view with styling information contained in a Cascading Style Sheet. (See also Basic Concepts in Introducing JViews Diagrammer).
Using symbols and maps in the Map Builder
The Symbols view in the Map Builder provides a way to edit an APP-6a symbol model. You can add, remove or modify objects from this model but, by default, it does not provide persistence for these symbols.
Symbol rendering is based on Cascading Style Sheet (CSS) files that provide the basic rules to build graphic objects from the symbol model.
Providing the Map Builder with a different CSS ( data/app6.css file) can change the way APP-6a symbols appear. The APP-6a model content, however, is hard coded, so you need to use the same model properties in the new CSS as are used in the default file.
There are a few classes inside the Map Builder that deal with symbols. You can change these to better suit your model by using the JViews Diagrammer SDK.
Storing symbols
You can use a default SDM Model to store your symbols such as:
 
IlvSDMEngine engine = new IlvSDMEngine();
engine.setGrapher((IlvGrapher)view.getManager());
engine.setReferenceView(view);
Displaying symbols
In order to display APP-6a Symbols on your map, you need to use IlvApp6aGraphic graphic objects. These manage all the complexity of rendering the correct symbol from the provided properties.
In order to pass parameters between the model and the CSS engine, the symbols provide a this property that can be used to transfer all APP-6a properties and ID code to the IlvApp6aGraphic in a single line of code. An APP-6a CSS file can then be something like:
 
node {
      class : "ilog.views.maps.defense.symbology.app6a.IlvApp6aGraphic" ;
      symbol : @this;
      visible : "@visible";
      highContrast : "true" ;
      iconAntialiasing : "true" ;
      displayModifiers : "true" ;
      displayDirection : "true" ;
}
The other settings in this example are options of the IlvApp6aGraphic that determine the parts of the graphic to be rendered. The example settings display all of the optional data but, for performance and decluttering reasons, it may be necessary to hide the modifiers, or the direction line.
Developing with APP-6a symbols
Describes the classes that control the appearance of APP-6a symbols and a symbol manager for editing or creating a new symbol. The complete source code for an APP-6a demonstration can be found at <installdir> /jviews-maps-defense/samples/app6a/index.html.
*The IlvApp6aSymbol class
*Describes the IlvApp6aSymbol class
*Symbol properties
*Lists the constants that identify the symbol properties and the part of the symbol they control.
*Displaying a symbol
*Explains how to display a symbol.
*The IlvApp6aSymbologyTreeViewActions class
*Describes the use of the IlvSymbologyTreeView bean.
The IlvApp6aSymbol class
The IlvApp6aSymbol class implements the representation for war fighting symbols. Its appearance is rendered using an IlvApp6aGraphic class. As with any other JViews graphic, an IlvApp6aGraphic can be customized through individual CSS declarations that refer to properties of the data model (usually IlvApp6aSymbol nodes). However, they also have a special declaration that simplifies the syntax for APP-6a applications. You can simply declare the entire IlvApp6aSymbol instance as a data model property for the IlvApp6aGraphic using the following syntax:
 
node {
  class: "ilog.views.maps.defense.symbology.app6a.IlvApp6aGraphic";
  symbol: @this;
}
In keeping with the APP-6a standard, these IlvApp6aSymbol are defined by a set of predefined properties:
*An ID code to identify the symbol.
*Modifiers that are displayed around the symbol frame.
Symbol properties
Rogue Wave® JViews constructs all the other graphical indicators automatically from the ID_CODE property.
The following table contains a list of constants that identify the symbol properties and the part of the symbol they control.
APP-6a symbol properties 
Property
Code
Modifier
MODIFIER_QUANTITY_OF_EQUIPMENT
C
Quantity
MODIFIER_REINFORCED_OR_DETACHED
F
Reinforced or Reduced
MODIFIER_STAFF_COMMENTS
G
Staff Comments
MODIFIER_ADDITIONAL_INFORMATION
H
Additional Information
MODIFIER_EVALUATION_RATING
J
Evaluation Rating
MODIFIER_COMBAT_EFFECTIVENESS
K
Combat Effectiveness
MODIFIER_SIGNATURE_EQUIPMENT
L
Signature Equipment
MODIFIER_HIGHER_FORMATION
M
Higher Formation
MODIFIER_HOSTILE
N
Hostile (Enemy)
MODIFIER_IFF_SIF
P
IFF/SIF
MODIFIER_DIRECTION_OF_MOVEMENT_INDICATOR
Q
Direction of Movement Indicator
MODIFIER_UNIQUE_DESIGNATION
T
Unique Designation
MODIFIER_TYPE_OF_EQUIPMENT
V
Type
MODIFIER_DATE_OR_TIME_GROUP
W
Date/Time Group (DTG)
MODIFIER_ALTITUDE_OR_DEPTH
X
Altitude/Depth
MODIFIER_LOCATION
Y
Location
MODIFIER_SPEED
Z
Speed
MODIFIER_SPECIAL_C2_HEADQUARTERS
AA
Special C2 Headquarters
Displaying a symbol
To display a symbol:
1. Create the symbol, giving it a latitude and longitude location.
 
IlvApp6aSymbol symbol = new IlvApp6aSymbol ("SUGPUSTA-------",
Math.toRadians
(-180), Math.toRadians(0));
2. Then you can set the properties as shown in the following code sample:
 
// set modifiers that are defined for the symbol
symbol.setProperty(IlvApp6aSymbol.MODIFIER_DIRECTION_OF_MOVEMENT_INDICATOR,
   "241");
symbol. setProperty (IlvApp6aSymbol.MODIFIER_STAFF_COMMENTS, "Very
hostile");
3. Once you created the symbol, it must be added to the SDM engine, so that the symbol appears on the map:
 
engine.getModel().addObject(symbol, null, null);
The IlvApp6aSymbologyTreeViewActions class
If you want to use an IlvSymbologyTreeView bean in your code to manage APP-6a symbols, you need to create an instance of IlvApp6aSymbologyTreeViewActions. This object is then responsible for displaying the APP-6a symbol manager when editing or creating a new symbol.
 
IlvSymbologyTreeView treeView=new IlvSymbologyTreeView(engine);
IlvApp6aSymbologyTreeViewActions actions=new
   IlvApp6aSymbologyTreeViewActions();
actions.setView(treeView);
treeView.setSymbologyTreeViewActions(actions);

Copyright © 2018, Rogue Wave Software, Inc. All Rights Reserved.