In version 3.3.0 we completely changed how aircraft coming into the system are defined. We introduced Spawn Patterns. Spawn Patterns provide a simple, consistent way to describe aircraft coming into the system. Spawn Patterns are used for both arrivals and departures. The shape of the data is exactly the same for both, all keys are expected to be passed all the time.
Lets look at some examples before we continue:
// Departures
{
"origin": "KLAS",
"destination": "",
"category": "departure",
"route": "KLAS.BOACH6.HEC",
"altitude": "",
"speed": "",
"method": "random",
"rate": 5,
"airlines": [
["aal", 10],
["ual", 10],
["ual/long", 3]
]
}
// Arrivals
{
"origin": "",
"destination": "KLAS",
"category": "arrival",
"route": "BETHL.GRNPA1.KLAS",
"altitude": [30000, 40000],
"speed": 320,
"method": "cyclic",
"rate": 17.5,
"period": 75,
"offset": 25,
"airlines": [
["aal", 10],
["ual", 10],
["ual/long", 3]
]
}
// Overflights
{
"origin": "",
"destination": "",
"category": "overflight",
"route": "DAG.V21.MLF",
"altitude": 9000,
"speed": 320,
"method": "random",
"rate": 8,
"airlines": [
["aal", 10],
["ual", 10],
["ual/long", 3]
]
}
- (*) denotes a required field
- All keys are required to be present and can be left as an empty string when not used by a particular pattern. ex
"destination": ""
for an arrival pattern.
List of airlines, and their spawn weight. A higher weight will increase the frequency that a particular airline is chosen. Airline selections are random based on weight. Typically, you should use the approximate number of flights that airline would have on that route in a given day.
- Should always be a two-dimensional array
- Should always have a shape of either:
[AIRLINE_ID, FREQUENCY_WEIGHT]
[AIRLINE_ID/AIRLINE_FLEET, FREQUENCY_WEIGHT]
- ICAO identifier of the origin airport
- ICAO identifier of the destination airport
- Must be
arrival
,departure
, oroverflight
.
- Should be in the shape of a routeString.
- For direct routes:
FIXXA..FIXXB..FIXXC..FIXXD
- For complex routes:
FIXXA..FIXXB..ENTRY.PROCEDURE_ID.EXIT
- Prepend a fix name with
@
to hold at that fix[email protected]
- Prepend a three digit heading with
#
to fly that heading until given further instructions
- For direct routes:
Altitude an aircraft spawns at. If a min/max is provided an aircraft will spawn at a random altitude within the range, rounded to the nearest 1,000ft. This should be a number (eg. 18000
), not a string (eg "18000"
).
- Should be a number in MSL altitude.
- Should always have a shape of either:
- a single number
- an array of
[MIN_ALTITUDE, MAX_ALTITUDE]
Speed an aircraft spawns at, expressed in knots of indicated airspeed. This should be a number (eg. 320
), not a string (eg "320"
).
Defines the method used to calculate delay between aircraft spawns.
- Should always be one of:
cyclic, random, surge, wave
See spawnPatternMethodReadme.md for more information
Rate at which aircraft spawn expressed in ACPH (aircraft per hour). This should be a number (eg. 15
), not a string (eg "15"
).