Data Preparation Kit

Data Preparation Kit.

Overview

For proper use, vatSys requires a profile dataset be created and distributed to it’s users.

Each profile dataset should contain the data needed for one or more FIR’s or Air Traffic Systems.

The default vatSys profile (Eurocat Australia), may be viewed here.

Data Definition Hierarchy

The definition of all WAYPOINT, NAVAID, AIRPORT, SID & STAR names referenced by vatSys XML files are searched for in the following order:

  1. Airspace.xml
  2. Navigraph Data

Lat Long Format

vatSys accepts coordinates in any valid ISO 6709 format.

Latitude and Longitude in Degrees:
    ±DD.DDDD±DDD.DDDD         (eg +12.345-098.765)
Latitude and Longitude in Degrees and Minutes:
    ±DDMM.MMMM±DDDMM.MMMM     (eg +1234.56-09854.321)
Latitude and Longitude in Degrees, Minutes and Seconds:
    ±DDMMSS.SSSS±DDDMMSS.SSSS (eg +123456.7-0985432.1)
Latitude, Longitude (in Degrees) and Altitude:
    ±DD.DDDD±DDD.DDDD±AAA.AAA         (eg +12.345-098.765+15.9)
Latitude, Longitude (in Degrees and Minutes) and Altitude:
    ±DDMM.MMMM±DDDMM.MMMM±AAA.AAA     (eg +1234.56-09854.321+15.9)
Latitude, Longitude (in Degrees, Minutes and Seconds) and Altitude:
    ±DDMMSS.SSSS±DDDMMSS.SSSS±AAA.AAA (eg +123456.7-0985432.1+15.9)

Chaining Points Together

Multiple points may be chained by adding each point on a new line followed by the / character.

ELBIS/
IKUMA/
IDOTO/
GUNAM/
NIKOM/
CIN/
POKOS/
VALRA/
+12.345-098.765/
+15.345-123.765

Colours.XML

Colours.xml defines the colours used throughout the entire application. The default IDs are listed below. Additional Custom Colours may be defined for reference by individual maps.

Colour IDs

Colour ID Use
Custom May be defined multiple times to allow custom coloured maps
Window and Control backgrounds
ASDBackground Air Situation Display background
GroundBackground Ground Situation Display background
HighlightedText Selected text
WindowBackgound Generic Window background
InteractiveText Font of interactive items
NonInteractiveText Font of non-interactive items
GenericText Generic font
StripBackground Background of strips
StripText Strip Font
CPDLCMessageBackground Generic CPDLC message background
CPDLCDownlink Downlink Messages and label item
CPDLCUplink Uplink Messages and label item
CPDLCFreetext Freetext Messages
CPDLCSendButton CPDLC Editor Window send button
PopupASDWindowBorderFocused Border colour of focused popup Air/Ground Windows
Maps
PrimaryMap System maps and default
SecondaryMap System2 maps
PRDArea REST_NTZ_DAIW, TDA and Supervisor maps
UserMap Local_Private and Global_Private maps (not currently used)
Infill Filled maps
GroundRunway Ground Situation Displays only
GroundTaxiway Ground Situation Displays only
GroundApron Ground Situation Displays only
GroundBuilding Ground Situation Displays only
GroundOther Ground Situation Displays only
Tracks, labels, strips
Preactive
Jurisdiction
GhostJurisdiction
PostJurisdiction
JurisdictionIQL Quick-looked state
Handover
Announced
NonJurisdictionIQL Quick-looked state
NonJurisdiction
NonJurisdictionLabel
CFLHighlight
IdentFlash SPI
Route
PostJurisdictionFlash
GroundUnknown
GroundArrival
GroundDeparture
GroundLocal
Warning
Emergency
Tools
StaticTools
DynamicTools
Arrival Manager
Frozen reserved for future use
SuperStable reserved for future use
Stable reserved for future use
Unstable reserved for future use
DelayMinor reserved for future use
DelayMajor reserved for future use
VSCS
VSCSHotline
VSCSOpenHotline
VSCSColdline
VSCSOpenColdline
VSCSActiveFrequency
VSCSReceivingFrequency
VSCSButtonSelected
VSCSButtonDepressed
VSCSBackground VSCS Window background
VSCSFrequencyWarning Frequency in error state

Colour Defintion

<Colour id="DynamicTools">
	<Use>Dynamic Tool In Use</Use>
	<Name>OffWhite</Name>
	<R>255</R>
	<G>230</G>
	<B>230</B>
</Colour>

Define the RGB value for a defined colour. Use element is optional and for reference only.

Custom Colours

Custom colours may be defined by using the id="Custom" and ensuring a unique <Name> is assigned.

<Colour id="Custom">
	<Use>Special colour for my very special map</Use>
	<Name>SpecialPlum</Name>
	<R>194</R>
	<G>147</G>
	<B>141</B>
</Colour>

Custom colours may then be referenced by Maps to affect their displayed colour.

Airspace.XML

SystemRunways

This section ‘maps’ the runway selectable by the controller in the strip or label of an aircraft to a SID or STAR defined in data for a particular runway (the DataRunway).

For every controlled airport in australia… we need to add the airport->runways->sidstars

<SystemRunways>
	<Airport Name="YBCG">
		<Runway Name="14" DataRunway="14">
			<SID Name="APAGI\d" Type="Jet"/>
			<SID Name="CUDGN\d" />
			<SID Name="CG\d" Default="True" />
			<STAR Name="[A-Z]{4}\dA" ApproachName="ILSZ"/>
			<STAR Name="[A-Z]{4}\dY" ApproachName="RNVY"/>
		</Runway>
		<Runway Name="32" DataRunway="32">
			<SID Name="APAGI\d" Type="Jet"/>
			<SID Name="BURLI\d" />
			<SID Name="CG\d" Default="True" />
			<STAR Name="[A-Z]{4}\dA" ApproachName="RNVZ"/>
			<STAR Name="[A-Z]{4}\dY" ApproachName="RNVY"/>
		</Runway>
		<Runway Name="14V" DataRunway="14">
			<STAR Name="[A-Z]{4}\dV" />
		</Runway>
		<Runway Name="32V" DataRunway="32">
			<STAR Name="[A-Z]{4}\dV" />
		</Runway>
	</Airport>
</SystemRunways>

What does this all mean?

  • The Name attribute of SID and STAR elements accepts Regex search patterns;
  • eg. If you see the code \d it means any number, so if the APAGI4 becomes APAGI5 the code doesn’t need to change.
  • eg. [A-Z]{4}\dA means the first 4 characters are anything between A-Z, then look for any number then (in this case) Alpha charts. This means the BLAK3A arrival can change to BLAK4A arrival and the code doesn’t need to change.
  • By doing this [A-Z]{4}\dA and ApproachName="ILSZ" we have assigned all Alpha STARs the ILSZ approach and [A-Z]{4}\dY all Yankee STARs to the ApproachName="RNVY" RNAV Yankee approach.
  • We set the default SID to the airport’s radar departure and we set any visual STAR’s under a separate runway called [runwayid]V like 14V. We do this by calling all STARs that end in any number and V for Victor/visual using [A-Z]{4}\dV.
  • The SIDs are written out individually since some are jet and some are non jet.
  • Runway ID cannot be more than 3 characters, so this means for any parallel runways the visual approach is not a seperate runway entry. Applicable to Sydney and Brisbane (#soon).

SIDSTARs

This section defines the routes of SIDs, STARs, Approaches and their Transitions.

SIDs and STARs should be defined for controlled airports whenever you wish to remove reliance on Navigraph defined data.

<SIDSTARs>
	<SID Name="TESTA1" Airport="AAAA" Runways="18,36">
        <Route Runway="36">ROUTE POINT</Route>
        <Route Runway="18">ANTHR RALTO</Route>
        <Route>TESTA</Route>
        <Transition Name="ABCDE">FINSH ABCDE</Transition>
    </SID>
	<STAR Name="TESTA1" Airport="AAAA" Runways="18,36">
		<Transition Name="ABCDE">ABCDE FINSH</Transition>
		<Route>TESTA</Route>
		<Route Runway="36">POINT ROUTE</Route>
		<Route Runway="18">RALTO ANTHR</Route>
	</STAR>
	<Approach Name="RNVZ" Airport="AAAA" Runway="18">
		<Transition Name="ABCDE">ANTHR</Transition>
		<Route>FAFFF AA18T</Route>
	</Approach>
</SIDSTARs>

What does this all mean? SIDs and STARs consist of Route elements that are runway or non runway specific. For a SID, the non-runway specific route will always follow the runway specific route. For a STAR, the reverse is true. Transitions will be applied whenever the transition end point coincides with a point on the flight planned route.

Approaches link a STAR to a runway. Transitions will be applied if they conincide with the STAR end point. Approaches are used only if defined in SystemRunways and are not manually selectable.

Airways

Airways may be defined whenever you wish to remove reliance on Navigraph defined data. Airways are always treated as valid in both directions.

<Airways>
    <Airway Name="A216">
        APUKA/
        MEMIG/
        LOCKA/
        CS
    </Airway>
</Airways>

Intersections

Intersections (Fixes & Navaids) may be defined whenever you wish to remove reliance on Navigraph defined data.

<Intersections>
    <Point Name="ABARB" Type="Fix">-325106.400+1545604.900</Point>
	<Point Name="WP" Type="Navaid" NavaidType="VOR" Frequency="112.800">-124024.800+1415520.900</Point>
</Intersections>	

Duplicates are generally accepted. vatSys will attempt to choose the nearest relevant intersection when parsing to resolve.

Intersection Types

Types
{
	Fix,
	Navaid,
	Airport,
	Unknown
}

Navaid Intersection Types

NavaidTypes
{
	None,
	VOR,
	NDB,
	TAC
}

Airports

Airports may be defined whenever you wish to remove reliance on Navigraph defined data.

<Airport ICAO="YABA" Position="-345636.000+1174832.000" Elevation="233">
		<Runway Name="14" Position="-345639.000+1174835.000">
		<Runway Name="32" Position="-345642.000+1174838.000">
</Airport>

Maps

Maps are what the Air Situation Display uses to display background information to the user of the client.

Each XML file must contain one <Maps> element, which may define multiple <Map> elements. Each <Map> are individually selectable within vatSys.

Folder structure within the vatSys Files\Maps\ directory is preserved by the Maps menu within vatSys.

Map Element

The Map element has the following attributes and children elements.

Type

Each Map element may have one Type attribute from the following:

        {
            System,
            System2,
            Flex,
            Filled, 
            Local_Private,
            Global_Private,
            Supervisor,
            TDA,
            REST_NTZ_DAIW,
            Ground_RWY,
            Ground_TWY,
            Ground_APR,
            Ground_BLD,
            Ground_BAK
        }

The type primarily will affect the colour vatSys uses to paint the map. Colours are defined in Colours.xml.

Name

The title of the Map (as displayed to the user).

Priority

An integer specifying the z-axis layering of the map, 0 being drawn on top of everything else.

PRIORITY_HIGHEST = 0

Center

An approximate center point of the map, used to deconflict in the event of multiple Waypoints with the same name.

Custom Colour Name

The optional attribute CustomColourName="SpecialPlum" will allow display in a colour defined in Colours.xml.

Line Element

Each <Line> element draws a line between all children <Point>'s. Lines may set attribute Pattern to one of the following:

{
    Solid,
    Broken,
    Hash,
    Dashed,
    Dotted,
    None
}

Lines may set attribute Width to any floating value to change the stroke width (in pixels) of the rendered line:

<Line .. Width="1.67">
	...
</Line>

Default stroke width is 1.0.

Airway lines may be coded using a special syntax within <Point>

<Point>STARTFIX.AIRWAYNAME.ENDFIX</Point>

eg. <Point>VALRA.A339.ELBIS</Point>

Symbol Element

Each <Symbol> element must have attribute Type to select one of the following types:

{
	SolidTriangle,
	HollowTriangle,
	HollowTriangleWithBorder,
	SolidTriangleWithBorder,                    
	SolidSquare,
	SolidStar,
	HollowStar,
	MalteseCross,
	HollowSquare,
	Circle,
	DashedCircle,
	DotFillCircle,
	Hexagon,
	Reticle
}

Each <Symbol> can have multiple <Point> children. Each Point InnerText is either an otherwise defined waypoint/navaid/airport or latlong in standard format of where to place the Symbol.

Label Element

Each <Label> element of a map can have attributes HasLeader="bool", LabelOrientation="enum", Alignment="enum" and VerticalAlignment="enum" - these attributes specify if there is a line drawn from the point location to the text label and which compass direction or not, and the alignment of the text.

LabelOrientation
{
	N,
	NE,
	E,
	SE,
	S,
	SW,
	W,
	NW
}

Westerly LabelOrientation directions are Right aligned by default, otherwise default text alignment is Left.

Alignment
{
	Left,
	Center,
	Right
}

Southerly LabelOrientation directions are Top aligned by default, otherwise default text vertical alignment is Bottom.

VerticalAlignment
{
	Top,
	Middle,
	Bottom
}

Each <Label> can have multiple <Point> children. Each Point can have the attribute Name="string" (which is displayed as the label text) and the InnerText is either an otherwise defined waypoint/navaid/airport or latlong in standard format of where to place the label. If you omit Name the name is generated from the InnerText.