@@ -0,0 +1,2 @@
|
||||
__pycache__
|
||||
eatcdev.ini
|
||||
+356
-307
@@ -1,307 +1,356 @@
|
||||
# Custom airport file (experimental!)
|
||||
# Save a copy of example.txt before editing it, and keep this file as a guide.
|
||||
# On Windows, place the txt file in the /locations/ folder of the game.
|
||||
# On android (4.4+), place the txt file in /Android/data/com.dirgtrats.endlessatc/files/.
|
||||
# Copy, edit and use and share airport files at your own risk!
|
||||
|
||||
# This example file has lots of comments (#), to use it as a guide. Uncomment the 'code = ' item in the [airport1] section below to make the airport appear in-game.
|
||||
|
||||
# This file has several [sections] (but most are optional), namely:
|
||||
# [airspace]: various general properties
|
||||
# [airport1]: main airport
|
||||
# [airport2]: optional secondary airports
|
||||
# [area1]: optional restricted areas
|
||||
# [configurations]: optional runway usage configurations
|
||||
# [transition1]: optional runway transition routes
|
||||
# [planetypes]: optional custom plane types
|
||||
# [scenario]: optional nonrandom traffic
|
||||
|
||||
# Each section can have multiple items, each item with one or more properties. The format/order of properties are explained after a double hashtag (##) in this file.
|
||||
# Properties are comma separated. Multi-line properties (lists) must start with a tab or space at the beginning of each line.
|
||||
# Properties in this file that are explained between <brackets> are optional properties (do not include the brackets themselves).
|
||||
# If the game fails to load a property, or you omit, #comment, or zero an (optional) property, a default value may be automatically used instead.
|
||||
# Positions must be given either in x, y coordinates (in nautical miles NM), with 0, 0 being the center of the screen, and 20.1, 12.82 being somewhere at the top left,
|
||||
# or, in latitude, longitude coordinates, which must always start with a N/W/S/E prefix, for example N40.7128, W74.0060 or S049.43.45.000, E002.09.51.000 (DMS notation).
|
||||
# Lat/long coordinates (and true headings) are rotated automatically when a magnetic variance is defined; this is to align the radar display with the magnetic north,
|
||||
# because heading 360 is a vertical line on the radar screen.
|
||||
# X, y coordinates are screen coordinates; they are not rotated.
|
||||
# Either way, all positions consist of two values, seperated by a comma. Whether you want to use x,y or latlong coordinates is up to you.
|
||||
# For real world data it is probably easier to search the internet for the actual latlong coordinates, while for text labels on the screen x,y positions are more convenient.
|
||||
# Press the left Ctrl key in the sim to display the current coordinates of the mouse. These values are also copied into the Windows clipboard.
|
||||
|
||||
|
||||
##############################################################
|
||||
[airspace]
|
||||
##############################################################
|
||||
|
||||
radius = 30 ; airspace radius in NM
|
||||
zoom = 7.0 ; default zoom level, increase to zoom in
|
||||
elevation = 13 ; ground altitude in feet
|
||||
floor = 1500 ; minimum selectable altitude
|
||||
descendaltitude = 7000 ; minimum initial altitude for arrivals
|
||||
ceiling = 9000 ; maximum selectable altitude in feet
|
||||
above = 12000 ; SID top altitude in feet (above ceiling)
|
||||
transitionlevel = 18001 ; lowest altitude in feet to be displayed as flight level
|
||||
speedrestriction = 15, 220 ; radius in NM, and speed in knots
|
||||
usa = true ; American-style callsign pronunciation and runway names
|
||||
metric = false ; display altitudes in metres instead of feet
|
||||
center = N50.1234, E2.0060 ; lat/long location of center of radar display (required when using lat/long coordinates elsewhere in this file)
|
||||
magneticvar = 2.0 ; magnetic variance; east = positive (used to rotate lat/long coordinates if defined below)
|
||||
|
||||
|
||||
beacons =
|
||||
vor, 0, -3, 0, main v-o-r
|
||||
bco, 18.6, 6.8, 090, beacon two
|
||||
trd, N50.0, E2.1, -090, the third one
|
||||
## name, position, <holdingheading>, <pronunciation>
|
||||
# the first given beacon will be the default beacon for arrivals inbound the main airport
|
||||
# when holdingheading is 0 or omitted, planes will hold there using the plane's current heading
|
||||
# when a holdingheading is given, planes will fly that heading (or magnetic course) on the inbound leg when holding
|
||||
# when holdingheading is negative, planes will make left-hand turns instead of right-hand
|
||||
|
||||
|
||||
line1 =
|
||||
10, 10
|
||||
10, 40
|
||||
40, 40
|
||||
40, 10
|
||||
10, 10
|
||||
## positions
|
||||
# pointlist of optional green (coast)line.
|
||||
|
||||
line2 =
|
||||
-15, 0
|
||||
-22, 0
|
||||
-22, -12.23
|
||||
-15, -14
|
||||
-15, 0
|
||||
|
||||
|
||||
##############################################################
|
||||
[airport1]
|
||||
##############################################################
|
||||
|
||||
name = Example Airport ; name of the main airport
|
||||
#code = EXAM ; four letter code, displayed in airport menu (required)
|
||||
|
||||
runways =
|
||||
rwy1, 36, -4.3, 3.23, 360.0, 11400, 0, 0, 100, 3, 360.0, 3, 180.0, YY, 8.0, ZZ, 8.5
|
||||
## identifier, name, position, true_heading, <length>, <displaced>, <displaced2>, <elevation>, <glideslope>, <localizer>, <glideslope2>, <localizer2>, <beaconname, distance>, <beaconname2, distance2>
|
||||
# where identifier is a unique name used to define a runway usage configuration below
|
||||
# name is one or two digits, optionally suffixed with an L, R or C character
|
||||
# position is the location of the beginning of the runway (including displaced threshold)
|
||||
# length is in feet
|
||||
# displaced threshold length in feet (for landings), displaced2 is for the other end of the runway
|
||||
# elevation is in feet, and must be within 1000 feet difference from the airspace ground elevation defined above
|
||||
# glideslope is the angle in degrees; the default value is 3
|
||||
# localizer is the true heading in degrees of the ILS until touchdown; by default it's the same as runway true heading, but a small offset is allowed
|
||||
# beacon is a point on the localizer at a certain distance (NM) from the threshold
|
||||
# second beacon is a point on the localizer when runway is used in opposite direction (rev)
|
||||
|
||||
climbaltitude = 5000 ; maximum initial climb altitude in feet for departures
|
||||
|
||||
sids =
|
||||
north, 0, 25, northbound
|
||||
south, 0, -25, southbound
|
||||
bco
|
||||
## name, position, <pronunciation>
|
||||
# you may also give just the name of a beacon from the beacon list
|
||||
|
||||
entrypoints =
|
||||
090
|
||||
270, bco
|
||||
## true_heading, <beacon>
|
||||
# this is where new arrivals enter at the boundary (approximately), e.g. 090 means planes will enter from the east, heading 270 (westbound)
|
||||
# inbound beacon is optional; choose a beacon name from the beacon list above; otherwise the first beacon from that list is chosen automatically
|
||||
|
||||
airlines =
|
||||
air, 3, a333/e175, airliner, w
|
||||
air, 2, dh8d, airliner, e
|
||||
ph-abc, 1, c271, 0, nwe
|
||||
n-123ab,1, f200
|
||||
## name, amount, planetype, pronunciation, <direction>
|
||||
# name is the 3 letter airline code, or a private regristration (with a land code, dash(-), and then the format)
|
||||
# amount determines the relative likelihood of appearance (e.g. 0=never, 1=occasionally, 10=frequently, etc)
|
||||
# planetype determines plane characteristics, put a dash (/) between multiple types for random type selection
|
||||
# pronuniation is the callsign, used for airlines
|
||||
# direction lets the plane arrive/depart in (more or less) the specified direction:
|
||||
# give the direction as a string containing one or more of the letters nwse, for north west south east,
|
||||
# but make sure there are actually entrypoints defined at those directions (approximately); w needs an entrypoint near 270
|
||||
|
||||
##############################################################
|
||||
[airport2]
|
||||
##############################################################
|
||||
|
||||
name = Secondary Airport ; name of secondairy airport
|
||||
code = SC ; two letter code, will be added to the runways and plane tags
|
||||
|
||||
runways =
|
||||
rwy2, 06, 6.7, -3.5, 60.0, 1.88, 0, 0, 100, 3,0,3,0, WL, 8.0
|
||||
## identifier, name, position, true_heading, <length>, <displaced>, <displaced2>, <elevation>, <glideslope>, <localizer>, <glideslope2>, <localizer2>, <beaconname, distance>, <beaconname2, distance2>
|
||||
# identifier must be unique to all other runways defined in this file
|
||||
|
||||
traffic = 5 ; average time between airplanes per active runway, in minutes (but this decreases at higher skill values)
|
||||
inboundbeacon = bco ; beacon name, for arrivals (choose one from the beacon list above)
|
||||
entrypoints =
|
||||
300
|
||||
330
|
||||
# headings only
|
||||
|
||||
airlines =
|
||||
jet, 2, b735, jetliner
|
||||
n-12345, 1, c271
|
||||
|
||||
climbaltitude = 3000 ; maximum initial climb altitude in feet for departures
|
||||
|
||||
sids =
|
||||
north
|
||||
south
|
||||
west, -25, 0, westbound
|
||||
bco
|
||||
## name, position, <pronunciation>
|
||||
# you may also give just the name of a beacon from the beacon list, or the name of a sid from the airport1 sid list
|
||||
|
||||
# You can add more airports sections if needed ([airport3], etc).
|
||||
|
||||
##############################################################
|
||||
[area1]
|
||||
##############################################################
|
||||
shape = circle ; circle or polygon
|
||||
altitude = 3000 ; minimum allowed altitude in feet
|
||||
name = SC ; <name, if omited then only planes inbound the main airport may enter this area>
|
||||
radius = 6 ; radius of circle in NM
|
||||
position = 7, -3.6 ; position of circle center
|
||||
labelpos = 6, 0 ; <position of label>
|
||||
draw = 0, 5.9 ; <start and end angle of visible arc, in radians, omit for a full circle>
|
||||
|
||||
|
||||
##############################################################
|
||||
[area2]
|
||||
##############################################################
|
||||
shape = polygon ; circle or polygon
|
||||
altitude = 3500 ; minimum allowed altitude in feet
|
||||
#name = X ; <name, if omited then planes inbound the main airport may enter this area>
|
||||
draw = 1 ; <number of invisible lines at the end of the polygon, omit for a full polygon>
|
||||
labelpos = -3.1, 10.9 ; <position of label>
|
||||
points =
|
||||
-8.1, 13.3
|
||||
0, 13
|
||||
-1, -4
|
||||
-7.6, -4
|
||||
-9.0, 10
|
||||
## positions
|
||||
# the last point will be automatically connected to the first point
|
||||
# note: the polygon must be convex, for example a rectangle, for it to work correctly
|
||||
# you may need to split up non-convex shapes into simpler convex polygons with some invisible lines
|
||||
# each polygon must have its own [area] section
|
||||
|
||||
|
||||
##############################################################
|
||||
[configurations]
|
||||
##############################################################
|
||||
|
||||
config1 =
|
||||
0, rwy1, landstart
|
||||
7, rwy1, startland, 020, nosid
|
||||
8, rwy2, startlandrev
|
||||
## score, identifier, use, <offsetheading>, <nosid>
|
||||
# score is the score (skill) at which the runway will be activated
|
||||
# identifier is a unique runway name specified earlier
|
||||
# use is a string (without spaces) that may contain these words: start, land, rev, int, track
|
||||
# where rev means reversed use (opposite direction), int means intersection departure (takeoffs begin 30% down the rwy), track means backtrack after landing
|
||||
# offsetheading means planes will fly a specific heading just after takeoff (especially useful for allowing parallel takeoffs with divergent headings)
|
||||
# nosid option means planes will depart on the given offsetheading, with SID mode disabled
|
||||
# when rwy configurations are omited, two configs are automatically created, one for each rwy direction, with all runways active
|
||||
|
||||
config2 =
|
||||
0, rwy1, landstartrev
|
||||
7, rwy1, startlandrev, 200, nosid
|
||||
8, rwy2, startland
|
||||
|
||||
|
||||
##############################################################
|
||||
[transition1]
|
||||
##############################################################
|
||||
|
||||
runway = rwy1, rev ; runway identifier, <reversed use>
|
||||
beacon = lima, 1, 18, 0, lima ; selectable beacon to enable NAV mode; define a beacon, or choose a name from beacon list above
|
||||
route1 =
|
||||
100
|
||||
-3, 22, 5500, 210
|
||||
1, 22
|
||||
1, 18, 4000
|
||||
-3, 18, 0, 180
|
||||
10.5, 3000, 200
|
||||
# first item of the route is the bearing from the plane towards the beacon; if there are multiple routes defined, the closest bearing defines which route is selected.
|
||||
# next lines are optional waypoints: ## location, <maximum altitude>, <maximum speed>
|
||||
# last line is the interception point on the ILS: ## distance (NM) from the threshold, <maximum altitude>, <maximum speed>
|
||||
|
||||
route2 =
|
||||
240
|
||||
1, 18, 4000
|
||||
-3, 18, 0, 180
|
||||
10.5, 3000, 200
|
||||
|
||||
route3 =
|
||||
020
|
||||
1, 10
|
||||
1, 18, 4000
|
||||
-3, 18, 0, 180
|
||||
10.5, 3000, 200
|
||||
|
||||
# multiple [transition] sections can be used for the same runway
|
||||
|
||||
|
||||
##############################################################
|
||||
[planetypes]
|
||||
##############################################################
|
||||
types =
|
||||
f200, 5, 140, 230, 2.9, 3.2, 1400, 1600, 115, 125, 1.1, 1.2, big jet
|
||||
c271, 6, 90, 120, 2.9, 3.2, 1400, 1600, 90, 105, 1.1, 1.2, singleprop
|
||||
## type, category, minspeed, maxspeed, minturnrate, maxturnrate, mindescendrate, maxdescendrate, minaccelrate, maxaccelrate, <manufacturer>
|
||||
# custom plane types, useful when specified custom types in the airline lists above, or to override default type properties
|
||||
# category is the weight category: 1 to 6, meaning superheavy=1, upperheavy, lowerheavy, uppermedium, lowermedium, light=6
|
||||
# turnrate is in degrees per second
|
||||
# descendrate is in feet per minute
|
||||
# accelrate is in knots per second
|
||||
# manufacturer name is optional, only used for private callsign pronunciation in usa mode
|
||||
|
||||
|
||||
##############################################################
|
||||
[scenario]
|
||||
##############################################################
|
||||
finish = 2 ; amount of planes to land to finish the scenario
|
||||
|
||||
events =
|
||||
0, config, 1
|
||||
0, score, 6
|
||||
0, wind, 180, 10
|
||||
0, cloud, -1, 25
|
||||
0, cloud, -2, 24
|
||||
0, cloud, -4, 24
|
||||
0, dep, rwy1, north, f200
|
||||
0, elapse, 20
|
||||
0, arr, 230, vor, f200
|
||||
0, elapse, 100
|
||||
5, arr, 90, bco, f200
|
||||
40, dep, rwy1, north, f200
|
||||
70, dep, rwy1, south, a333
|
||||
20, score, 8
|
||||
90, dep, rwy1, north
|
||||
0, wind, 200, 8
|
||||
0, cloud, 19, -26.5
|
||||
50, dep, rwy1, west, f200
|
||||
1, text, Hello!
|
||||
5, arr, 210, vor, a333, 15000, 6000, 300, 0, 0, 1, air
|
||||
10, arr, 090, 0, 0, 0, 0, 0, 0, 0, 0, 0, sc
|
||||
10, dep, rwy2, north
|
||||
## elapsed time after previous event in seconds, eventtype, properties
|
||||
# available eventtypes: arr, dep, score, elapse, wind, cloud, config, text
|
||||
## arr: entrypoint, <beacon>, <planetype>, <altitude>, <targetaltitude>, <speed>, <delaytimer>, <fuel>, <emergency>, <callsign>, <destination> ; arrival (fuel counts up; lowfuel from 5000+, emergency=1 for medical, 2 for engine, destination is the two letter code of a secondary airport)
|
||||
## dep: runwayidentifier, sid, <planetype>, <emergency>, <callsign> ; departure
|
||||
## score: score ; set higher score/skill to open more runways, or lower to close runways
|
||||
## elapse: seconds ; elapse simulation time between events (only use this to build traffic before the start, so at time 0)
|
||||
## wind: heading, speed ; set wind (preferably in small steps when changing the wind)
|
||||
## cloud: position ; add cloud with radius of 1 NM (preferably just outside the airspace boundary, to avoid incidents, unless time is 0)
|
||||
## config: entry ; change to different runway config, as specified in the rwy configurations section
|
||||
## text: message ; display yellow text at the top of screen
|
||||
# Custom airport file
|
||||
# Save a copy of example.txt before editing it, to keep this file as a guide.
|
||||
# On Windows, place the txt file in the /locations/ folder of the game.
|
||||
# On android, place the txt file in /Android/data/com.dirgtrats.endlessatc/files/.
|
||||
# Copy, edit and use and share airport files at your own risk!
|
||||
|
||||
# This example file has lots of comments (#), to use it as a guide. Uncomment the 'code = ' item in the [airport1] section below to make the airport appear in-game.
|
||||
|
||||
# This file has several [sections] (but most are optional), namely:
|
||||
# [airspace]: various general properties
|
||||
# [airport1]: main airport
|
||||
# [airport2]: optional secondary airports
|
||||
# [area1]: optional restricted areas
|
||||
# [configurations]: optional runway usage configurations
|
||||
# [departure1]: optional runway departure routes
|
||||
# [approach1]: optional runway approach routes
|
||||
# [planetypes]: optional custom plane types
|
||||
# [scenario]: optional nonrandom traffic
|
||||
|
||||
# Each section can have multiple items, each item with one or more properties. The format/order of properties are explained after a double hashtag (##) in this file.
|
||||
# Properties are comma separated. Multi-line properties (lists) MUST start with a tab or space at the beginning of each line.
|
||||
# Properties in this file that are explained between <brackets> are optional properties (do not include the brackets themselves).
|
||||
# If the game fails to load a property, or you omit, #comment or zero an (optional) property, a default value may be automatically used instead.
|
||||
# Positions must be given either in x, y coordinates (in nautical miles, NM), with 0, 0 being the center of the screen, and 20.1, 12.82 being somewhere at the top left,
|
||||
# or, in latitude, longitude coordinates, which must always start with a N/W/S/E prefix, for example N40.7128, W74.0060 or S049.43.45.000, E002.09.51.000 (DMS notation).
|
||||
# Lat/long coordinates (and true headings) are rotated automatically when a magnetic variance is defined; this is to align the radar display with the magnetic north,
|
||||
# to make a heading of 360 degreees a vertical line on the radar screen.
|
||||
# X, y coordinates are simple screen coordinates; they are not rotated.
|
||||
# Either way, all positions consist of two values, seperated by a comma. Whether you want to use x,y or latlong coordinates is up to you.
|
||||
# For real world data it is probably easier to search the internet for the actual latlong coordinates.
|
||||
# Press the left Ctrl key in the sim to display the coordinates of the mouse position. These values are also copied into the Windows clipboard, to be easily pasted into a file.
|
||||
|
||||
|
||||
##############################################################
|
||||
[airspace]
|
||||
##############################################################
|
||||
|
||||
radius = 30 ; airspace radius in NM
|
||||
zoom = 7.0 ; default zoom level, increase to zoom in
|
||||
elevation = 13 ; ground altitude in feet
|
||||
floor = 1500 ; minimum selectable altitude
|
||||
descendaltitude = 7000 ; minimum initial altitude for arrivals
|
||||
ceiling = 9000 ; maximum selectable altitude
|
||||
above = 12000 ; maximum departure altitude when SID is enabled (must be above ceiling)
|
||||
transitionaltitude = 18000 ; highest altitude displayed in feet instead of flight level
|
||||
speedrestriction = 15, 220 ; radius in NM, and speed in knots
|
||||
localizerspeed = 30, 200 ; distance to touchdown in NM, speed restriction in knots on localizers
|
||||
usa = true ; American-style callsign pronunciation and runway names
|
||||
metric = false ; display altitudes in metres instead of feet
|
||||
separation = 3 ; minimum allowed distance between aircraft in NM
|
||||
center = N50.1234, E2.0060 ; lat/long location of center of radar display (required when using lat/long coordinates elsewhere in this file)
|
||||
magneticvar = 2.0 ; magnetic variance; east = positive (used to rotate lat/long coordinates if used elsewhere in this file)
|
||||
|
||||
|
||||
beacons =
|
||||
vor, 0, -3, 0, main v-o-r
|
||||
bco, 18.6, 6.8, 090, beacon two
|
||||
trd, N50.0, E2.1, -090, the third one
|
||||
## name, position, <holdingheading>, <pronunciation>
|
||||
# the first given beacon will be the default beacon for arrivals inbound the main airport
|
||||
# when holdingheading is 0 or omitted, planes will hold there using the plane's current heading
|
||||
# when a holdingheading is given, planes will fly that heading (or magnetic course) on the inbound leg when flying the holding
|
||||
# when holdingheading is negative, planes will make left-hand turns instead of right-hand
|
||||
|
||||
boundary =
|
||||
-25, -22
|
||||
25, -22
|
||||
25, 22
|
||||
-25, 22
|
||||
## positions
|
||||
# pointlist of optional airspace boundary polygon; this will override the default (circular) airspace radius.
|
||||
# last point is automatically connected to first point
|
||||
|
||||
line1 =
|
||||
10, 10
|
||||
10, 40
|
||||
40, 40
|
||||
40, 10
|
||||
10, 10
|
||||
## positions
|
||||
# pointlist of optional green (coast)line.
|
||||
|
||||
line2 =
|
||||
-15, 0
|
||||
-22, 0
|
||||
-22, -12.23
|
||||
-15, -14
|
||||
-15, 0
|
||||
|
||||
|
||||
##############################################################
|
||||
[airport1]
|
||||
##############################################################
|
||||
|
||||
name = Example Airport ; name of the main airport, <pronunciation>
|
||||
#code = EXAM ; four letter code, displayed in airport menu (required; remove the #)
|
||||
|
||||
runways =
|
||||
rwy1, 36, -4.3, 3.23, 360.0, 11400, 0, 0, 100, 3, 360.0, 3, 180.0, YY, 8.0, ZZ, 8.5
|
||||
## identifier, name, position, true_heading, <length>, <displaced>, <displaced2>, <elevation>, <glideslope>, <localizer>, <glideslope2>, <localizer2>, <beaconname, distance>, <beaconname2, distance2>
|
||||
# where identifier is a unique name used to define a runway usage configuration later in this file
|
||||
# name is one or two digits, optionally suffixed with an L, R or C character
|
||||
# position is the location of the beginning of the runway (including displaced threshold)
|
||||
# length is in feet
|
||||
# displaced threshold length in feet, displaced2 is for the other end of the runway
|
||||
# elevation is in feet, and must be within 1000 feet difference from the airspace ground elevation defined above
|
||||
# glideslope is the angle in degrees; the default value is 3.0
|
||||
# localizer is the true heading in degrees of the ILS until touchdown; by default it's the same as runway true heading, but a small offset is allowed
|
||||
# beacon is a point on the localizer at a certain distance (NM) from the (displaced) threshold
|
||||
# second beacon is a point on the localizer when runway is used in opposite direction (rev)
|
||||
|
||||
climbaltitude = 5000 ; maximum initial climb altitude in feet for departures
|
||||
|
||||
sids =
|
||||
north, 0, 25, northbound
|
||||
south, 0, -25, southbound
|
||||
bco
|
||||
## name, position, <pronunciation>
|
||||
# you may also give just the name of a beacon from the beacon list
|
||||
|
||||
entrypoints =
|
||||
090
|
||||
270, bco
|
||||
## true_heading, <beaconname>
|
||||
# this is where new arrivals enter at the boundary (approximately), e.g. 090 means planes will enter from the east, heading 270 (westbound)
|
||||
# inbound beacon is optional; choose a beacon name from the beacon list above; otherwise the first beacon from that list is chosen automatically
|
||||
|
||||
airlines =
|
||||
air, 3, e175, airliner, w
|
||||
air, 2, a333, airliner
|
||||
air, 1, dh8d/f200, airliner, e
|
||||
ph-abc, 1, c271, 0, nwe
|
||||
n-123ab,1, f200
|
||||
## name, amount, planetype, pronunciation, <direction>
|
||||
# name is the 3 letter airline code, or a private regristration (with a land code, dash(-), and then the format)
|
||||
# amount determines the relative likelihood of appearance (e.g. 0=never, 1=occasionally, 10=frequently, etc)
|
||||
# planetype determines the plane characteristics (optionally put a dash (/) between multiple types)
|
||||
# pronuniation is the callsign, used for airlines
|
||||
# direction lets the plane arrive/depart in (roughly) a preferred direction:
|
||||
# give the direction as a string containing one or more of the letters nwse, for north west south east,
|
||||
# but make sure there are actually entrypoints defined at those directions (approximately); w needs an entrypoint near 270
|
||||
# note that you can add the same airline multiple times, for example with different planetypes, in order to get different likelihoods per planetype
|
||||
|
||||
##############################################################
|
||||
[airport2]
|
||||
##############################################################
|
||||
|
||||
name = Secondary Airport, secondary airport ; name of secondary airport, <pronunciation>
|
||||
code = SC ; two letter code, which will be added to the runways and plane tags
|
||||
|
||||
runways =
|
||||
rwy2, 06, 6.7, -3.5, 60.0, 1.88, 0, 0, 100, 3,0,3,0, WL, 8.0
|
||||
## identifier, name, position, true_heading, <length>, <displaced>, <displaced2>, <elevation>, <glideslope>, <localizer>, <glideslope2>, <localizer2>, <beaconname, distance>, <beaconname2, distance2>
|
||||
# identifier must be unique to all other runways defined in this file
|
||||
|
||||
traffic = 5 ; average time between airplanes per active runway, in minutes (but this decreases at higher skill values)
|
||||
inboundbeacon = bco ; beacon name; the default initial beacon for arrivals (choose one from the beacon list above)
|
||||
entrypoints =
|
||||
300
|
||||
330, trd
|
||||
## true_heading, <beaconname>
|
||||
|
||||
airlines =
|
||||
jet, 2, b735, jetliner
|
||||
n-12345, 1, c271
|
||||
## name, amount, planetype, pronunciation, <direction>
|
||||
|
||||
climbaltitude = 3000 ; maximum initial climb altitude in feet for departures
|
||||
|
||||
sids =
|
||||
north
|
||||
south
|
||||
west, -25, 0, westbound
|
||||
bco
|
||||
## name, position, <pronunciation>
|
||||
# you may also give just the name of a beacon from the beacon list, or the name of a sid from the airport1 sid list
|
||||
|
||||
# You can add more airports sections if needed ([airport3], etc).
|
||||
|
||||
##############################################################
|
||||
[area1]
|
||||
##############################################################
|
||||
shape = circle ; circle or polygon
|
||||
altitude = 3000 ; minimum allowed altitude in feet
|
||||
name = SC ; <name, if omited then only planes inbound the main airport may enter this area>
|
||||
radius = 6 ; radius of circle in NM
|
||||
position = 7, -3.6 ; position of circle center
|
||||
labelpos = 6, 0 ; <position of label>
|
||||
draw = 0, 5.9 ; <start and end angle of visible arc, in radians (orientated to the left), omit for a full circle>
|
||||
|
||||
|
||||
##############################################################
|
||||
[area2]
|
||||
##############################################################
|
||||
shape = polygon ; circle or polygon
|
||||
altitude = 3500 ; minimum allowed altitude in feet
|
||||
#name = X ; <name, if omited then planes inbound the main airport may enter this area>
|
||||
draw = 1 ; <number of invisible lines at the end of the polygon, omit for a full polygon>
|
||||
labelpos = -3.1, 10.9 ; <position of label>
|
||||
points =
|
||||
-8.1, 13.3
|
||||
0, 13
|
||||
-1, -4
|
||||
-7.6, -4
|
||||
-9.0, 10
|
||||
## positions
|
||||
# the last point will be automatically connected to the first point
|
||||
|
||||
|
||||
##############################################################
|
||||
[configurations]
|
||||
##############################################################
|
||||
|
||||
config1 =
|
||||
0, rwy1, landstart
|
||||
7, rwy1, startland, 020, nosid
|
||||
8, rwy2, startlandrev
|
||||
## score, identifier, usage, <offsetheading>, <nosid>
|
||||
# score is the score (skill) at which the runway will be activated
|
||||
# identifier is a unique runway name specified earlier
|
||||
# usage is a string (without spaces) that may contain these words: start, land, rev, int, track
|
||||
# where rev means reversed use (opposite direction), int means intersection departure (takeoffs begin 30% down the rwy), track means backtrack after landing
|
||||
# offsetheading means planes will fly a specific heading just after takeoff (especially useful for allowing parallel takeoffs with divergent climbout headings)
|
||||
# nosid option means planes will depart on the given offsetheading, with SID mode disabled
|
||||
# when rwy configurations are omited, two configs are automatically created, one for each rwy direction, with all runways active
|
||||
|
||||
config2 =
|
||||
0, rwy1, landstartrev
|
||||
7, rwy1, startlandrev, 200, nosid
|
||||
8, rwy2, startland
|
||||
|
||||
|
||||
##############################################################
|
||||
[departure1]
|
||||
##############################################################
|
||||
|
||||
runway = rwy2 ; runway identifier, <reversed use>
|
||||
route1 =
|
||||
bco2, beacon two
|
||||
12, 0
|
||||
18.6, 0
|
||||
18.6, 6.8
|
||||
25, 16.5
|
||||
# first line of the route is the sid name (up to 5 characters will be displayed), and optional <pronunciation> of the sid name
|
||||
# next lines are one or more waypoint positions
|
||||
|
||||
route2 =
|
||||
south
|
||||
12, 0
|
||||
15.3, -4.7
|
||||
0, -16.6
|
||||
0, -25
|
||||
|
||||
# the optional [departure] section adds routes to a specific runway direction
|
||||
# this overrides the default (single waypoint) SIDs with more detailed routes, and applies the routes to the specified runway only
|
||||
# departing planes from that runway will then follow the one of the routes, unless the user deactivates SID mode
|
||||
# re-enabling SID mode (or longpressing SID) will select just the last point of the route
|
||||
# defining one or more departure routes disables all the default SID points for that runway; planes will use the given routes only
|
||||
# use one [departure] section per runway direction, each with one or more routes
|
||||
# [departure] routes are not used in the built-in airports, for simplicity
|
||||
|
||||
|
||||
##############################################################
|
||||
[approach1]
|
||||
##############################################################
|
||||
|
||||
runway = rwy1, rev ; runway identifier, <reversed use>
|
||||
beacon = lima, 1, 18, 0, lima ; selectable beacon to enable APP mode; define a beacon, or choose a name from beacon list above
|
||||
route1 =
|
||||
060
|
||||
-3, 22, 5500, 210
|
||||
1, 22
|
||||
1, 18, 4000
|
||||
-3, 18, 0, 180
|
||||
10.5, 3000, 200
|
||||
# first item of the route is the bearing from the plane towards the beacon; if there are multiple routes defined for this beacon, the closest bearing defines which route is selected; but if only one route is given then the bearing can just be a random number
|
||||
# next lines are optional waypoints: ## position, <maximum altitude>, <maximum speed>
|
||||
# last line is the interception point on the ILS: ## distance (NM) from the (displaced) threshold, <maximum altitude>, <maximum speed>
|
||||
# alternatively the last time can be used to end the route before it reaches the ILS (and requiring vectors), using the word end: ## end, <heading>
|
||||
|
||||
route2 =
|
||||
310
|
||||
1, 18, 4000
|
||||
-3, 18, 0, 180
|
||||
10.5, 3000, 200
|
||||
|
||||
route3 =
|
||||
010
|
||||
1, 10
|
||||
1, 18, 4000
|
||||
-3, 18, 0, 180
|
||||
10.5, 3000, 200
|
||||
|
||||
# the optional [approach] section adds route(s) to a specific runway
|
||||
# multiple [approach] sections can be used for the same runway, to allow for multiple beacons
|
||||
# for easier creation of routes, use left Ctrl key to display current mouse coordinates, and left click while holding down Ctrl places temporary visual markers
|
||||
# Longpress the airport name button in the menu to display all routes at once
|
||||
# [approach] routes are not used in the built-in airports as the game is focussed on vectors for simplicity
|
||||
|
||||
|
||||
##############################################################
|
||||
[planetypes]
|
||||
##############################################################
|
||||
types =
|
||||
f200, 5, 140, 230, 2.9, 3.2, 1400, 1600, 115, 125, 1.1, 1.2, big jet
|
||||
c271, 6, 90, 120, 2.9, 3.2, 1400, 1600, 90, 105, 1.1, 1.2, singleprop
|
||||
## type, category, minspeed, maxspeed, minturnrate, maxturnrate, mindescendrate, maxdescendrate, minfinalapproachspeed, maxfinalapproachspeed, minaccelrate, maxaccelrate, <manufacturer>
|
||||
# custom [planetypes] are only needed when using unknown custom types in the airlinelists above (game will show warnings on startup for missing types), or to override default type properties
|
||||
# category is the weight category: 1 to 6, meaning superheavy=1, upperheavy, lowerheavy, uppermedium, lowermedium, light=6
|
||||
# turnrate is in degrees per second
|
||||
# descendrate is in feet per minute
|
||||
# approachspeeds in knots
|
||||
# accelrate is in knots per second
|
||||
# manufacturer name is optional, and only used for private callsign pronunciation in usa mode
|
||||
# example of default values for b737, 4, 160, 250, 2.6, 3.0, 1440, 1560, 131, 144, 1.2, 1.3
|
||||
|
||||
|
||||
##############################################################
|
||||
[scenario]
|
||||
##############################################################
|
||||
finish = 2 ; amount of planes to land to finish the scenario
|
||||
|
||||
events =
|
||||
0, config, 1
|
||||
0, score, 6
|
||||
0, wind, 180, 10
|
||||
0, cloud, -1, 25
|
||||
0, cloud, -2, 24
|
||||
0, cloud, -4, 24
|
||||
0, dep, rwy1, north, f200
|
||||
0, elapse, 20
|
||||
0, arr, 230, vor, f200
|
||||
0, elapse, 100
|
||||
5, arr, 90, bco, f200
|
||||
40, dep, rwy1, north, f200
|
||||
70, dep, rwy1, south, a333
|
||||
20, score, 8
|
||||
90, dep, rwy1, north
|
||||
0, wind, 200, 8
|
||||
0, cloud, 19, -26.5
|
||||
50, dep, rwy1, west, f200
|
||||
1, text, Hello!
|
||||
5, arr, 210, vor, a333, 15000, 6000, 300, 0, 0, 1, air
|
||||
10, arr, 090, 0, 0, 0, 0, 0, 0, 0, 0, 0, sc
|
||||
10, dep, rwy2, north
|
||||
## elapsed time after previous event in seconds, eventtype, properties
|
||||
# available eventtypes: arr, dep, score, elapse, wind, cloud, config, text
|
||||
## arr: entrypoint, <beacon>, <planetype>, <altitude>, <targetaltitude>, <speed>, <delaytimer>, <fuel>, <emergency>, <callsign>, <destination> ; arrival (fuel counts up; lowfuel from 5000+, emergency=1 for medical, 2 for engine, destination is the two letter code of a secondary airport)
|
||||
## dep: runwayidentifier, sid, <planetype>, <emergency>, <callsign> ; departure
|
||||
## score: score ; set higher score/skill to open more runways, or lower to close runways
|
||||
## elapse: seconds ; elapse simulation time between events (only use this to build traffic before the start, so at time 0)
|
||||
## wind: heading, speed ; set wind (preferably in small steps when changing the wind)
|
||||
## cloud: position ; add cloud with radius of 1 NM (preferably just outside the airspace boundary, to avoid incidents, unless time is 0)
|
||||
## config: entry ; change to different runway config, as specified in the rwy configurations section
|
||||
## text: message ; display yellow text at the top of screen
|
||||
# the [scenario] can be enabled in the traffic menu
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
|
||||
Endless ATC Casablanca TMA v1.0 by Omar Benchbana
|
||||
|
||||
AIRAC 2102
|
||||
|
||||
v1.0 covers the Casablanca TMA (GMMN,GMME)
|
||||
|
||||
At GMMN either 35R or 35L for landings and either 35R or 35L for departures
|
||||
ils platform altitude is 3600-4000ft at GMMN
|
||||
AT GMME runway 21 for both arrivals and departures
|
||||
|
||||
The initial climb at GMMN is FL50 or 5000ft depending on qnh
|
||||
|
||||
Airspace from 2000-FL195
|
||||
|
||||
On initial contact, arriving aircraft should be cleared for the arrival.
|
||||
|
||||
---------------------------------------------------------
|
||||
---------------------------------------------------------
|
||||
---------------------------------------------------------
|
||||
|
||||
|
||||
GMMN All Arrival Procedures
|
||||
Direct DEVNO/SLK or KOTAG maybe given if traffic permits
|
||||
if you have two aircraft on the same star too close to eachother you can use vectors to seperate them for example
|
||||

|
||||
leave bismi heading 255 for 26 miles then a downwind for runway 35l/35r
|
||||
---------------------------------------------------------
|
||||
---------------------------------------------------------
|
||||
---------------------------------------------------------
|
||||
GMME All Arrival Procedures
|
||||
clear for approach or vector them to runway 21
|
||||
@@ -0,0 +1,728 @@
|
||||
|
||||
[airspace]
|
||||
radius = 80
|
||||
elevation = 656
|
||||
center = N33.64180, W7.20800
|
||||
magneticvar = -2.588
|
||||
floor = 3600
|
||||
descendaltitude = 13000
|
||||
above = 19000
|
||||
transition = 6000
|
||||
usa = false
|
||||
metric = false
|
||||
|
||||
separation = 3
|
||||
boundary =
|
||||
N33.70602229035439,W9.024132861747828
|
||||
N33.95954790347339,W8.743335464243048
|
||||
N34.36023567468429,W8.379163298741535
|
||||
N34.53419618817183,W7.847137667831683
|
||||
N34.5584101817533,W7.199508230327053
|
||||
N35.00912880921199,W6.976074378357011
|
||||
N34.98750921445647,W6.462360520441588
|
||||
N34.89369856656789,W5.953457539019752
|
||||
N34.1320642241474,W5.763885287131018
|
||||
N32.35104688408396,W7.113662141608269
|
||||
N32.43946236808502,W8.369889884306595
|
||||
N33.70602229035439,W9.024132861747828
|
||||
beacons =
|
||||
LAKAM,N34.1872222, W007.7383333,0, LAKAM
|
||||
TUSOR,N34.4972222, W006.3316667,0, Tow-sur
|
||||
FOBAC,N32.7192667, W008.1002222,0,FOBAC
|
||||
NIKZO,N32.7273750, W008.1614444,0,NIKZO
|
||||
BISMI,N33.6472222, W06.8936111,0,BISMI
|
||||
SADIC,N33.7339306, W06.3332194,0,SADIC
|
||||
ODAXA,N33.9938889, W008.2422222,0,ODAXA
|
||||
RAVOL,N33.5188889, W008.4747222,0,RAVOL
|
||||
LACAJ,N033.08.09.059,W006.50.59.179,0,LACAJ
|
||||
ESALA,N034.02.23.999,W007.10.23.001,0,ESALA
|
||||
VARAS,N34.0255556, W006.3483333,0,VARAS
|
||||
KOTAG,N033.09.09.010, W007.16.19.138,0,KOTAG
|
||||
DEVNO,N033.02.37.359,W007.43.41.649,0,DEVNO
|
||||
MABOG,N032.38.18.700,W007.30.11.091,0,MABOG
|
||||
MOGBI,N032.37.10.628,W007.21.58.780,0,MOGBI
|
||||
SLK,N033.06.56.469,W007.30.21.959,0,SLK
|
||||
BNS,N033.38.30.480,W007.12.28.789,0,Benslimane
|
||||
CSD,N32.93360, W8.06500,0,CSD
|
||||
NASRO,N033.58.14.998,W007.43.05.998, 0 , NASRO
|
||||
[airport1]
|
||||
name = Mohammed V International Airport
|
||||
code = GMMN
|
||||
entrypoints =
|
||||
330,LAKAM
|
||||
020,BNS
|
||||
040,TUSOR
|
||||
070,SADIC
|
||||
200,NIKZO
|
||||
190,FOBAC
|
||||
270,RAVOL
|
||||
180,MABOG
|
||||
180,MOGBI
|
||||
090,LACAJ
|
||||
runways =
|
||||
GMMNN, 17L, N33.384, W7.59352, 164.0, 12205, 0, 0, 633
|
||||
GMMNS, 17R, N33.3831, W7.59743, 164.0, 12205, 0, 0, 636
|
||||
climbaltitude = 5000
|
||||
sids =
|
||||
LAKAM,N34.1872222, W007.7383333,LAKAM
|
||||
SADIC,N33.7339306, W06.3332194,SADIC
|
||||
TOLSI,N34.6005556, W007.0150000,TOLSI
|
||||
ODAXA
|
||||
NIKZO
|
||||
FOBAC
|
||||
RAVOL
|
||||
airlines =
|
||||
TRA, 2, B737/B738, Transavia, n
|
||||
KLM, 2, B737/B738/B744/B789/B788/A333/B77L/B77W/E190/E170, KLM, n
|
||||
AFR, 2, A319/A320, Air France, n
|
||||
RAM, 10, B737/B738/B789/B788, Royal air maroc, nswe
|
||||
THY, 2, B77L/B77W, Turkish, e
|
||||
UAE, 2, B77L/B77W/A388, Emirates, e
|
||||
MAC, 6, A320, Arabia Maroc, nswe
|
||||
ACA, 1, B788, Air Canada,w
|
||||
RXP, 6, AT72, Express Maroc, nswe
|
||||
TAP, 2,E190/A319/A320, Air portugal, w
|
||||
TVF, 2, B737/B738, Transavia, n
|
||||
DLH, 2, A320, Lufthansa, n
|
||||
PGT, 1, A320/A321 , Sunturk, e
|
||||
MSR , 1, B738, EGYPTAIR, e
|
||||
AEA, 1, B738, Europa, n
|
||||
|
||||
[airport2]
|
||||
name = Rabat-Sale Airport
|
||||
code = GMME
|
||||
sids =
|
||||
TOLSI,N34.6005556, W007.0150000,TOLSI
|
||||
VARAS
|
||||
BISMI
|
||||
entrypoints =
|
||||
070,VARAS
|
||||
210,VARAS
|
||||
040,TUSOR
|
||||
|
||||
runways =
|
||||
GMME1, 03, N34.038, W6.76139, 31.0, 11483, 0, 0, 273
|
||||
airlines =
|
||||
TRA, 2, B737/B738, Transavia, ne
|
||||
KLM, 2, B737/B738/B744/B789/B788/A333/B77L/B77W/E190/E170, KLM, ne
|
||||
AFR, 2, A319/A320, Air France, ne
|
||||
RAM, 1, B737/B738/B789/B788/E190, Royal air maroc, nswe
|
||||
|
||||
|
||||
[area1]
|
||||
shape = polygon
|
||||
altitude = 2000
|
||||
points =
|
||||
N033.29.39.101,W007.51.39.873
|
||||
N033.31.23.527,W007.50.23.326
|
||||
N033.32.56.684,W007.48.48.179
|
||||
N033.34.16.271,W007.46.56.777
|
||||
N033.35.20.316,W007.44.51.862
|
||||
N033.36.07.231,W007.42.36.510
|
||||
N033.36.35.854,W007.40.14.053
|
||||
N033.36.45.475,W007.37.48.000
|
||||
N033.36.35.854,W007.35.21.947
|
||||
N033.29.39.101,W007.51.39.873
|
||||
N033.27.45.991,W007.52.35.937
|
||||
N033.25.46.989,W007.53.10.137
|
||||
N033.23.45.029,W007.53.21.632
|
||||
N033.21.43.117,W007.53.10.137
|
||||
N033.20.09.000,W007.52.43.000
|
||||
N033.11.50.000,W007.49.50.000
|
||||
N033.11.25.256,W007.49.43.526
|
||||
N033.09.32.361,W007.48.47.551
|
||||
N033.07.48.206,W007.47.31.125
|
||||
N033.06.15.347,W007.45.56.130
|
||||
N033.04.56.059,W007.44.04.905
|
||||
N033.03.52.285,W007.42.00.188
|
||||
N033.03.05.584,W007.39.45.051
|
||||
N033.02.37.099,W007.37.22.821
|
||||
N033.02.27.526,W007.34.57.000
|
||||
N033.02.37.099,W007.32.31.179
|
||||
N033.03.05.584,W007.30.08.949
|
||||
N033.03.52.285,W007.27.53.812
|
||||
N033.04.56.059,W007.25.49.095
|
||||
N033.06.15.347,W007.23.57.870
|
||||
N033.07.48.206,W007.22.22.875
|
||||
N033.09.32.361,W007.21.06.449
|
||||
N033.11.25.256,W007.20.10.474
|
||||
N033.13.24.122,W007.19.36.329
|
||||
N033.15.26.034,W007.19.24.853
|
||||
N033.17.27.994,W007.19.36.329
|
||||
N033.19.02.000,W007.20.02.000
|
||||
N033.27.22.000,W007.22.52.000
|
||||
N033.30.41.975,W007.31.14.675
|
||||
N033.36.35.854,W007.35.21.947
|
||||
[area2]
|
||||
shape = polygon
|
||||
altitude = 2000
|
||||
points =
|
||||
N034.06.01.000,W006.33.01.000
|
||||
N033.58.32.000,W006.38.30.000
|
||||
N033.57.53.841,W006.38.58.759
|
||||
N033.56.45.955,W006.40.08.827
|
||||
N033.55.47.988,W006.41.30.866
|
||||
N033.55.01.359,W006.43.02.857
|
||||
N033.54.27.212,W006.44.42.534
|
||||
N033.54.06.384,W006.46.27.443
|
||||
N033.53.59.384,W006.48.15.000
|
||||
N033.54.06.384,W006.50.02.557
|
||||
N033.54.27.212,W006.51.47.466
|
||||
N033.55.01.359,W006.53.27.143
|
||||
N033.55.47.988,W006.54.59.134
|
||||
N033.56.45.955,W006.56.21.173
|
||||
N033.57.53.841,W006.57.31.241
|
||||
N033.59.09.979,W006.58.27.613
|
||||
N034.00.32.498,W006.59.08.900
|
||||
N034.01.59.374,W006.59.34.087
|
||||
N034.06.01.000,W006.33.01.000
|
||||
N034.15.54.000,W006.52.33.000
|
||||
N034.08.25.000,W006.58.02.000
|
||||
N034.07.47.177,W006.58.27.613
|
||||
N034.06.24.539,W006.59.08.900
|
||||
N034.04.57.589,W006.59.34.087
|
||||
N034.03.28.468,W006.59.42.551
|
||||
N034.01.59.374,W006.59.34.087
|
||||
|
||||
[area3]
|
||||
shape = polygon
|
||||
altitude = 2000
|
||||
points =
|
||||
N033.26.47.104,W007.35.50.153
|
||||
N033.26.50.798,W007.34.54.000
|
||||
N033.26.47.104,W007.33.57.847
|
||||
N033.26.36.111,W007.33.03.076
|
||||
N033.26.18.092,W007.32.11.037
|
||||
N033.25.53.492,W007.31.23.011
|
||||
N033.25.22.917,W007.30.40.179
|
||||
N033.24.47.123,W007.30.03.598
|
||||
N033.24.06.991,W007.29.34.167
|
||||
N033.23.23.513,W007.29.12.611
|
||||
N033.22.37.759,W007.28.59.462
|
||||
N033.21.50.857,W007.28.55.043
|
||||
N033.21.03.961,W007.28.59.462
|
||||
N033.20.18.227,W007.29.12.611
|
||||
N033.19.34.781,W007.29.34.167
|
||||
N033.18.54.689,W007.30.03.598
|
||||
N033.18.18.939,W007.30.40.179
|
||||
N033.17.48.409,W007.31.23.011
|
||||
N033.17.23.849,W007.32.11.037
|
||||
N033.17.05.861,W007.33.03.076
|
||||
N033.16.54.890,W007.33.57.847
|
||||
N033.16.51.202,W007.34.54.000
|
||||
N033.16.54.890,W007.35.50.153
|
||||
N033.17.05.861,W007.36.44.924
|
||||
N033.17.23.849,W007.37.36.963
|
||||
N033.17.48.409,W007.38.24.989
|
||||
N033.18.18.939,W007.39.07.821
|
||||
N033.18.54.689,W007.39.44.402
|
||||
N033.19.34.781,W007.40.13.833
|
||||
N033.20.18.227,W007.40.35.389
|
||||
N033.21.03.961,W007.40.48.538
|
||||
N033.21.50.857,W007.40.52.957
|
||||
N033.22.37.759,W007.40.48.538
|
||||
N033.23.23.513,W007.40.35.389
|
||||
N033.24.06.991,W007.40.13.833
|
||||
N033.24.47.123,W007.39.44.402
|
||||
N033.25.22.917,W007.39.07.821
|
||||
N033.25.53.492,W007.38.24.989
|
||||
N033.26.18.092,W007.37.36.963
|
||||
N033.26.36.111,W007.36.44.924
|
||||
|
||||
[area4]
|
||||
shape = polygon
|
||||
altitude = 2000
|
||||
points =
|
||||
N034.07.04.838,W006.45.06.000
|
||||
N034.07.01.883,W006.44.20.716
|
||||
N034.06.53.091,W006.43.36.548
|
||||
N034.06.38.678,W006.42.54.582
|
||||
N034.06.19.001,W006.42.15.852
|
||||
N034.05.54.544,W006.41.41.312
|
||||
N034.05.25.912,W006.41.11.812
|
||||
N034.04.53.809,W006.40.48.078
|
||||
N034.04.19.029,W006.40.30.695
|
||||
N034.03.42.427,W006.40.20.092
|
||||
N034.03.04.906,W006.40.16.528
|
||||
N034.02.27.389,W006.40.20.092
|
||||
N034.01.50.801,W006.40.30.695
|
||||
N034.01.16.041,W006.40.48.078
|
||||
N034.00.43.965,W006.41.11.812
|
||||
N034.00.15.362,W006.41.41.312
|
||||
N033.59.50.934,W006.42.15.852
|
||||
N033.59.31.283,W006.42.54.582
|
||||
N033.59.16.891,W006.43.36.548
|
||||
N033.59.08.112,W006.44.20.716
|
||||
N033.59.05.162,W006.45.06.000
|
||||
N033.59.08.112,W006.45.51.284
|
||||
N033.59.16.891,W006.46.35.452
|
||||
N033.59.31.283,W006.47.17.418
|
||||
N033.59.50.934,W006.47.56.148
|
||||
N034.00.15.362,W006.48.30.688
|
||||
N034.00.43.965,W006.49.00.188
|
||||
N034.01.16.041,W006.49.23.922
|
||||
N034.01.50.801,W006.49.41.305
|
||||
N034.02.27.389,W006.49.51.908
|
||||
N034.03.04.906,W006.49.55.472
|
||||
N034.03.42.427,W006.49.51.908
|
||||
N034.04.19.029,W006.49.41.305
|
||||
N034.04.53.809,W006.49.23.922
|
||||
N034.05.25.912,W006.49.00.188
|
||||
N034.05.54.544,W006.48.30.688
|
||||
N034.06.19.001,W006.47.56.148
|
||||
N034.06.38.678,W006.47.17.418
|
||||
N034.06.53.091,W006.46.35.452
|
||||
N034.07.01.883,W006.45.51.284
|
||||
N034.07.04.838,W006.45.06.000
|
||||
[area5]
|
||||
shape = polygon
|
||||
altitude = 2000
|
||||
points =
|
||||
N034.11.47.000,W006.12.45.000
|
||||
N034.07.17.122,W006.11.24.668
|
||||
N034.02.54.383,W006.10.59.722
|
||||
N033.58.31.870,W006.11.24.668
|
||||
N033.54.16.037,W006.12.38.890
|
||||
N033.50.13.160,W006.14.40.561
|
||||
N033.46.29.181,W006.17.26.689
|
||||
N033.43.09.568,W006.20.53.182
|
||||
N033.42.38.000,W006.21.38.000
|
||||
N033.31.21.000,W006.35.54.000
|
||||
N033.03.51.000,W007.03.54.000
|
||||
N032.39.16.000,W007.09.32.000
|
||||
N032.37.10.000,W007.21.58.000
|
||||
N032.45.37.000,W008.24.46.000
|
||||
N033.31.08.000,W008.28.29.000
|
||||
N033.37.23.160,W008.27.58.477
|
||||
N033.43.29.752,W008.26.13.104
|
||||
N033.49.18.465,W008.23.20.364
|
||||
N033.54.40.640,W008.19.24.506
|
||||
N033.59.28.250,W008.14.31.336
|
||||
N034.03.34.106,W008.08.48.067
|
||||
N034.06.52.048,W008.02.23.149
|
||||
N034.09.17.104,W007.55.26.060
|
||||
N034.10.45.626,W007.48.07.073
|
||||
N034.11.14.000,W007.44.18.000
|
||||
N034.19.50.000,W007.22.54.000
|
||||
N034.36.02.000,W007.00.54.000
|
||||
|
||||
[departure1]
|
||||
runway = GMMNN,rev
|
||||
route1 = LAKAM1D, LAKAM one delta
|
||||
N33.5845944, W007.8968194
|
||||
N34.1872222, W007.7383333
|
||||
[departure2]
|
||||
runway = GMMNS,rev
|
||||
route1 = LAKAM3D, LAKAM three delta
|
||||
N33.5845944, W007.8968194
|
||||
N34.1872222, W007.7383333
|
||||
[departure3]
|
||||
runway = GMMNS,rev
|
||||
route = TOLSI3D, TOLSI three delta
|
||||
N33.5646722, W07.4206278
|
||||
N33.8407222, W07.3676278
|
||||
N34.1166667, W07.3144444
|
||||
N34.6005556, W007.0150000
|
||||
[departure4]
|
||||
runway = GMMNN,rev
|
||||
route = TOLSI1D, TOLSI one delta
|
||||
N33.5646722, W07.4206278
|
||||
N33.8407222, W07.3676278
|
||||
N34.1166667, W07.3144444
|
||||
N34.6005556, W007.0150000
|
||||
[departure5]
|
||||
runway = GMMNS,rev
|
||||
route = SADIC3D, SADIC three delta
|
||||
N33.5646722, W07.4206278
|
||||
N33.6472222, W06.8936111
|
||||
N33.7339306, W06.3332194
|
||||
[departure6]
|
||||
runway = GMMNN,rev
|
||||
route = SADIC1D, SADIC one delta
|
||||
N33.5646722, W07.4206278
|
||||
N33.6472222, W06.8936111
|
||||
N33.7339306, W06.3332194
|
||||
|
||||
[departure7]
|
||||
runway = GMMNN,rev
|
||||
route = NIKZO1D, NIKZO one delta
|
||||
N33.3483333, W007.8375000
|
||||
N32.93360, W8.06500
|
||||
N32.7273750, W008.1614444
|
||||
|
||||
[departure8]
|
||||
runway = GMMNS,rev
|
||||
route = NIKZO3D, NIKZO three delta
|
||||
N33.3483333, W007.8375000
|
||||
|
||||
N32.93360, W8.06500
|
||||
N32.7273750, W008.1614444
|
||||
|
||||
[departure9]
|
||||
runway = GMMNS,rev
|
||||
route1 = ODAXA3D, ODAXA three delta
|
||||
N33.5845944, W007.8968194
|
||||
N33.9938889, W008.2422222
|
||||
[departure10]
|
||||
runway = GMMNS,rev
|
||||
route1 = ODAXA1D, ODAXA one delta
|
||||
N33.5845944, W007.8968194
|
||||
N33.9938889, W008.2422222
|
||||
|
||||
[departure11]
|
||||
runway = GMMNN,rev
|
||||
route = RAVOL1D, RAVOL one delta
|
||||
N33.5188889, W008.4747222
|
||||
[departure12]
|
||||
runway = GMMNS,rev
|
||||
route = RAVOL3D, RAVOL three delta
|
||||
N33.5188889, W008.4747222
|
||||
[transition1]
|
||||
runway = GMMNN, rev
|
||||
beacon = LAKAM
|
||||
route 1 = 090
|
||||
|
||||
N33.9708333, W007.7183333
|
||||
N33.52150, W7.67719
|
||||
N033.31.17.389,W007.40.37.869
|
||||
N033.13.19.491,W007.42.29.721
|
||||
N33.0437111,W007.7282361
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition2]
|
||||
runway = GMMNN, rev
|
||||
beacon = BISMI
|
||||
route 1 = 090
|
||||
|
||||
N33.1828444, W007.0767389
|
||||
N33.1525028, W007.2719833
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition3]
|
||||
runway = GMMNN, rev
|
||||
beacon = SADIC
|
||||
route 1 = 090
|
||||
N33.7339306, W06.3332194
|
||||
N33.6472222, W06.8936111
|
||||
N33.1828444, W007.0767389
|
||||
N33.1525028, W007.2719833
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition4]
|
||||
runway = GMMNN, rev
|
||||
beacon = FOBAC
|
||||
route 1 = 090
|
||||
N32.7192667, W008.1002222
|
||||
N32.93360, W8.06500
|
||||
N33.0437111,W007.7282361
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition5]
|
||||
runway = GMMNN, rev
|
||||
beacon = NIKZO
|
||||
route 1 = 090
|
||||
N32.7273750, W008.1614444
|
||||
N32.93360, W8.06500
|
||||
N33.0437111,W007.7282361
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition6]
|
||||
runway = GMMNS, rev
|
||||
beacon = LAKAM
|
||||
route 1 = 090
|
||||
|
||||
|
||||
N33.9708333, W007.7183333
|
||||
N33.52150, W7.67719
|
||||
N033.31.17.389,W007.40.37.869
|
||||
N033.13.19.491,W007.42.29.721
|
||||
N33.0437111,W007.7282361
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition7]
|
||||
runway = GMMNS, rev
|
||||
beacon = BISMI
|
||||
route 1 = 090
|
||||
|
||||
N33.1828444, W007.0767389
|
||||
N33.1525028, W007.2719833
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition8]
|
||||
runway = GMMNS, rev
|
||||
beacon = SADIC
|
||||
route 1 = 090
|
||||
N33.7339306, W06.3332194
|
||||
N33.6472222, W06.8936111
|
||||
N33.1828444, W007.0767389
|
||||
N33.1525028, W007.2719833
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition9]
|
||||
runway = GMMNS, rev
|
||||
beacon = FOBAC
|
||||
route 1 = 090
|
||||
N32.7192667, W008.1002222
|
||||
N32.93360, W8.06500
|
||||
N33.0437111,W007.7282361
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition10]
|
||||
runway = GMMNS, rev
|
||||
beacon = NIKZO
|
||||
route 1 = 090
|
||||
N32.7273750, W008.1614444
|
||||
N32.93360, W8.06500
|
||||
N33.0437111,W007.7282361
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition11]
|
||||
runway = GMMNS, rev
|
||||
beacon = TUSOR
|
||||
route 1 = 090
|
||||
N34.4972222, W006.3316667,0
|
||||
N33.9699778,W006.5162444
|
||||
|
||||
N33.6472222, W06.8936111
|
||||
|
||||
N33.1828444, W007.0767389
|
||||
N33.1525028, W007.2719833
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition12]
|
||||
runway = GMMNN, rev
|
||||
beacon = TUSOR
|
||||
route 1 = 090
|
||||
N34.4972222, W006.3316667,0
|
||||
N33.9699778,W006.5162444
|
||||
|
||||
N33.6472222, W06.8936111
|
||||
|
||||
N33.1828444, W007.0767389
|
||||
N33.1525028, W007.2719833
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
|
||||
|
||||
8.2, 3000, 180
|
||||
|
||||
|
||||
[transition13]
|
||||
runway = GMMNN, rev
|
||||
beacon = RAVOL
|
||||
route 1 = 090
|
||||
N33.5188889, W008.4747222
|
||||
N33.0437111,W007.7282361
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition14]
|
||||
runway = GMMNS, rev
|
||||
beacon = RAVOL
|
||||
route 1 = 090
|
||||
N33.5188889, W008.4747222
|
||||
N33.0437111,W007.7282361
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition15]
|
||||
runway = GMME1, rev
|
||||
beacon = TUSOR
|
||||
route 1 = 090
|
||||
N34.4972222, W006.3316667,0
|
||||
N034.22.05.318, W006.27.11.829
|
||||
N034.11.55.140,W006.17.56.338
|
||||
N034.07.49.339,W006.30.14.659
|
||||
|
||||
|
||||
8.2, 2000, 180
|
||||
[transition16]
|
||||
runway = GMMNN, rev
|
||||
beacon = SLK
|
||||
route 1 = 090
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition17]
|
||||
runway = GMMNS, rev
|
||||
beacon = SLK
|
||||
route 1 = 090
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition18]
|
||||
runway = GMMNS, rev
|
||||
beacon = KOTAG
|
||||
route 1 = 090
|
||||
N033.09.09.010, W007.16.19.138
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition19]
|
||||
runway = GMMNN, rev
|
||||
beacon = KOTAG
|
||||
route 1 = 090
|
||||
N033.09.09.010, W007.16.19.138
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition20]
|
||||
runway = GMMNN, rev
|
||||
beacon = DEVNO
|
||||
route 1 = 090
|
||||
N033.02.37.359,W007.43.41.649
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition21]
|
||||
runway = GMMNS, rev
|
||||
beacon = DEVNO
|
||||
route 1 = 090
|
||||
N033.02.37.359,W007.43.41.649
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition22]
|
||||
runway = GMME1,rev
|
||||
beacon = VARAS
|
||||
route1 = 090
|
||||
N034.01.32.001,W006.20.53.998
|
||||
N034.02.02.691,W006.29.10.859
|
||||
N034.07.49.339,W006.30.14.659
|
||||
8.2, 2000, 180
|
||||
[transition23]
|
||||
runway = GMMNN, rev
|
||||
beacon = LACAJ
|
||||
route 1 = 090
|
||||
N033.08.09.059,W006.50.59.179
|
||||
N033.11.50.999,W006.58.54.001
|
||||
N33.1828444, W007.0767389
|
||||
N33.1525028, W007.2719833
|
||||
N33.1156861,W007.5061000,3600
|
||||
8.2, 3000, 180
|
||||
[transition24]
|
||||
runway = GMMNS, rev
|
||||
beacon = LACAJ
|
||||
route 1 = 090
|
||||
N033.08.09.059,W006.50.59.179
|
||||
N033.11.50.999,W006.58.54.001
|
||||
N33.1828444, W007.0767389
|
||||
N33.1525028, W007.2719833
|
||||
N33.1156861,W007.5061000,3600
|
||||
8.2, 3000, 180
|
||||
[transition25]
|
||||
runway = GMMNS, rev
|
||||
beacon = MABOG
|
||||
route 1 = 090
|
||||
N032.38.18.700,W007.30.11.091
|
||||
N033.02.37.359,W007.43.41.649
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition26]
|
||||
runway = GMMNN, rev
|
||||
beacon = MABOG
|
||||
route 1 = 090
|
||||
N032.38.18.700,W007.30.11.091
|
||||
N033.02.37.359,W007.43.41.649
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition27]
|
||||
runway = GMMNS, rev
|
||||
beacon = MOGBI
|
||||
route 1 = 090
|
||||
N032.37.10.628,W007.21.58.780
|
||||
N033.02.37.359,W007.43.41.649
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition28]
|
||||
runway = GMMNN, rev
|
||||
beacon = MOGBI
|
||||
route 1 = 090
|
||||
N032.37.10.628,W007.21.58.780
|
||||
N033.02.37.359,W007.43.41.649
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition29]
|
||||
runway = GMMNN, rev
|
||||
beacon = BNS
|
||||
route 1 = 090
|
||||
N033.38.30.480,W007.12.28.789
|
||||
N033.09.09.010, W007.16.19.138
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
8.2, 3000, 180
|
||||
[transition30]
|
||||
runway = GMMNS, rev
|
||||
beacon = BNS
|
||||
route 1 = 090
|
||||
N033.38.30.480,W007.12.28.789
|
||||
N033.09.09.010, W007.16.19.138
|
||||
N33.1156861,W007.5061000,3600
|
||||
|
||||
8.2, 3000, 180
|
||||
|
||||
[transition31]
|
||||
runway = GMME1,rev
|
||||
beacon = ESALA
|
||||
route1 = 090
|
||||
N034.02.23.999,W007.10.23.001
|
||||
N034.02.38.439,W007.00.25.351
|
||||
N034.15.04.269,W006.50.38.821
|
||||
8.2, 2000, 180
|
||||
[configurations]
|
||||
config1 =
|
||||
0, GMMNS, landstartrev
|
||||
0, GMME1, landstartrev
|
||||
config2 =
|
||||
0, GMMNN, landstartrev
|
||||
0, GMME1, landstartrev
|
||||
config3 =
|
||||
0, GMMNN, startrev
|
||||
0, GMMNS, landrev
|
||||
0, GMME1, landstartrev
|
||||
|
||||
config4 =
|
||||
0, GMMNS, startrev
|
||||
0, GMMNN, landrev
|
||||
0, GMME1, landstartrev
|
||||
@@ -0,0 +1,707 @@
|
||||
|
||||
[airspace]
|
||||
radius =80
|
||||
zoom = 1
|
||||
elevation = 107
|
||||
metric = false
|
||||
center = N38.9656, E121.5389
|
||||
magneticvar = -7
|
||||
above = 21700
|
||||
ceiling = 9900
|
||||
descendaltitude =8900
|
||||
floor = 1960
|
||||
transitionlevel = 11800
|
||||
speedrestriction =28,230
|
||||
beacons =
|
||||
DBL, N38.9522, E121.5675, 0, Dalian
|
||||
ANRAT,N38.6514,E119.9511
|
||||
BUBLO,N38.6358,E120.5839
|
||||
DOBGA,N38.4022,E121.4514
|
||||
EKULI,N38.535,E121.2167
|
||||
INTIV,N38.4681,E120.5172
|
||||
KARPI,N38.25,E120.7167
|
||||
LOTGO,N38.5333,E120.1514
|
||||
NIXEP,N38.25,E120.9842
|
||||
ORAVA,N38.7017,E120.2011
|
||||
PATRI,N38.5514,E121.5019
|
||||
POVAG,N38.2686,E122.2503
|
||||
RUPID,N38.4014,E122.4019
|
||||
SANKO,N38.25,E122.4506
|
||||
SARUD,N38.8192,E120.1522
|
||||
TANIB,N38.3692,E121.0839
|
||||
UDETI,N38.6847,E122.1517
|
||||
VENOS,N38.9056,E122.3183
|
||||
|
||||
FC, N38.8683, E121.62833, 0, Fu jia zhuang
|
||||
CHI,N39.2667,E122.6167,CHANG HAI
|
||||
|
||||
TL102,N38.9764,E121.2589
|
||||
TL103,N38.9803,E121.1431
|
||||
TL104,N39.0844,E121.1556
|
||||
TL105,N38.9045,E121.1339
|
||||
TL106,N39.0761,E121.2711
|
||||
TL107,N38.8956,E121.2489
|
||||
TL110,N39.0611,E121.4725
|
||||
TL111,N38.8778,E121.4867
|
||||
TL112,N38.9633,E121.5711
|
||||
TL113,N38.8167,E122.2586
|
||||
|
||||
TL201,N38.95,E121.7406
|
||||
TL202,N39.0394,E121.7522
|
||||
TL203,N39.0556,E121.5428
|
||||
TL204,N39.0669,E121.3919
|
||||
TL205,N38.9656,E121.5389
|
||||
TL206,N38.8814,E121.4308
|
||||
TL208,N38.7742,E121.76
|
||||
TL209,N39.0367,E121.8192
|
||||
|
||||
TL301,N38.9492,E121.7508
|
||||
TL302,N38.9469,E121.7772
|
||||
TL303,N38.9381,E121.8931
|
||||
TL304,N38.9245,E122.0672
|
||||
TL305,N38.8339,E122.0553
|
||||
TL306,N39.0136,E122.0794
|
||||
TL307,N38.8472,E121.8811
|
||||
TL308,N39.0269,E121.9047
|
||||
TL309,N38.8564,E121.7656
|
||||
TL310,N39.0367,E121.7889
|
||||
TL311,N38.8725,E121.5589
|
||||
TL312,N38.5994,E121.6133
|
||||
|
||||
TL401,N38.9789,E121.3617
|
||||
TL402,N38.9892,E121.2233
|
||||
TL403,N39.0789,E121.2344
|
||||
TL404,N39.0686,E121.3728
|
||||
TL405,N39.0142,E120.8761
|
||||
TL406,N39.0528,E121.5817
|
||||
TL407,N39.0347,E121.8128
|
||||
TL408,N38.8783,E121.4983
|
||||
TL409,N38.8942,E121.2858
|
||||
TL410,N38.8061,E121.3406
|
||||
TL411,N38.6719,E121.3239
|
||||
|
||||
TL500,N38.9675,E121.2200
|
||||
TL501,N38.9686,E121.4899
|
||||
TL502,N38.9730,E121.36125
|
||||
TL503,N38.9733,E121.3513
|
||||
TL504,N38.9636,E121.63375
|
||||
TLC04,N38.9159,E121.6337
|
||||
boundary =
|
||||
N39.9,E119.35
|
||||
N40.2633,E122.1917
|
||||
N39.8281,E124.1683
|
||||
N38,E124
|
||||
N38.22,E123
|
||||
N38.25,E120
|
||||
N39.5,E119.84
|
||||
N39.9,E119.35
|
||||
[airport1]
|
||||
name = Zhoushuizi Airport
|
||||
code = ZYTL
|
||||
runways =
|
||||
rwy1, 10,N38.968, E121.533,96,10826.92, 0,0,100,3.5 ,92.5
|
||||
sids=
|
||||
CHI
|
||||
SANKO
|
||||
KARPI
|
||||
ORAVA
|
||||
SARUD
|
||||
entrypoints =
|
||||
39,CHI
|
||||
176,SANKO
|
||||
217,NIXEP
|
||||
270,ANRAT
|
||||
airlines =
|
||||
CSN,51,a320/a321/B738,China Southern
|
||||
CHH,22,b738,Hainan
|
||||
CCA,21,b738,Air China
|
||||
CES,29,a319/a321/a320/b738/b737,China Eastern
|
||||
GCR,16,e195,Bohai
|
||||
HXA,21,e195,China Express
|
||||
CCD,11,b738,Xiang jian
|
||||
CSZ,12,b738,Shen zhen
|
||||
|
||||
[area1]
|
||||
shape = polygon
|
||||
altitude =46000
|
||||
name = ZY(R)611
|
||||
labelpos = 95.85,31.09
|
||||
points =
|
||||
N40.6667,E123.9167
|
||||
N40,E124.0833
|
||||
N39,E123.1667
|
||||
N39.1667,E122.8
|
||||
N40.667,E123.9167
|
||||
|
||||
[area2]
|
||||
shape = polygon
|
||||
altitude = 46000
|
||||
name = ZY(R)612
|
||||
labelpos = -59.83, 13.23
|
||||
points =
|
||||
N38.7833,E121
|
||||
N38.9333,E120
|
||||
N40,E120.9167
|
||||
N40,E121.5
|
||||
N38.7833,E121
|
||||
[area3]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =D607
|
||||
labelpos =-6.77, 3.28
|
||||
points =
|
||||
N39.0383,E121.4917
|
||||
N39.0417,E121.3667
|
||||
N38.9333,E121.3083
|
||||
[area4]
|
||||
shape = polygon
|
||||
altitude = 1522
|
||||
name=Microwave TWR
|
||||
labelpos =-7.70, -2.63
|
||||
points =
|
||||
-6.61, -1.01
|
||||
-7.89, -1.70
|
||||
-8.76, -1.59
|
||||
-9.04, -2.84
|
||||
-8.14, -3.29
|
||||
-6.92, -4.51
|
||||
-6.92, -5.03
|
||||
-6.44, -4.19
|
||||
-7.17, -3.64
|
||||
-7.1, -2.67
|
||||
-6.02, -1.91
|
||||
[area5]
|
||||
shape =circle
|
||||
altitude =1319
|
||||
name =MT
|
||||
radius=0.8
|
||||
position =-3.13, -4.67
|
||||
labelpos =-3.22, -4.55
|
||||
|
||||
[area6]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =W575
|
||||
labelpos =-71.70, -14.28
|
||||
points =
|
||||
N38.6514,E119.9511
|
||||
N38.5333,E120.1514
|
||||
[area7]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =W575
|
||||
labelpos =-59.16, -20.77
|
||||
|
||||
points =
|
||||
N38.5333,E120.1514
|
||||
N38.4681,E120.5172
|
||||
[area8]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =W575
|
||||
labelpos =-36.80, -28.85
|
||||
points =
|
||||
N38.4681,E120.5172
|
||||
N38.3692,E121.0839
|
||||
[area9]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =W575
|
||||
labelpos =-15.35, -28.84
|
||||
points =
|
||||
N38.3692,E121.0839
|
||||
N38.5514,E121.5019
|
||||
|
||||
[area10]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =W8
|
||||
labelpos =-1.70, -12.79
|
||||
points =
|
||||
N38.5514,E121.5019
|
||||
N38.9522, E121.5675
|
||||
[area11]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =V47
|
||||
labelpos =-70.57, -4.94
|
||||
points =
|
||||
N38.6514,E119.9511
|
||||
N38.8192,E120.1522
|
||||
[area12]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =W578
|
||||
labelpos =-25.38, -27.31
|
||||
points =
|
||||
N38.25,E120.7167
|
||||
N38.535,E121.2167
|
||||
[area13]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =W578
|
||||
labelpos =-7.01, -10.54
|
||||
points =
|
||||
N38.535,E121.2167
|
||||
N38.9522, E121.5675
|
||||
[area14]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =W173
|
||||
labelpos =-28.40, -35.71
|
||||
points =
|
||||
N38.25,E120.9842
|
||||
N38.3692,E121.0839
|
||||
[area15]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =A326
|
||||
labelpos =-40.41, -21.89
|
||||
points =
|
||||
N38.6514,E119.9511
|
||||
N38.4022,E121.4514
|
||||
[area16]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =W8
|
||||
labelpos =-19.29, -35.58
|
||||
points =
|
||||
N38.25,E120.9842
|
||||
N38.4022,E121.4514
|
||||
[area17]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =W8
|
||||
labelpos =-6.67, -29.01
|
||||
points =
|
||||
N38.4022,E121.4514
|
||||
N38.5514,E121.5019
|
||||
[area18]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =A326
|
||||
labelpos =12.51, -40.15
|
||||
points =
|
||||
N38.4022,E121.4514
|
||||
N38.2686,E122.2503
|
||||
[area19]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =W577
|
||||
labelpos =17.43, -26.89
|
||||
points =
|
||||
N38.2686,E122.2503
|
||||
N38.9522, E121.5675
|
||||
[area20]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =A326
|
||||
labelpos =33.81, -47.00
|
||||
points =
|
||||
N38.2686,E122.2503
|
||||
N38.25,E122.4506
|
||||
[area21]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =W107
|
||||
labelpos =47.06, -7.99
|
||||
points =
|
||||
N38.25,E122.4506
|
||||
N39.2667,E122.6167
|
||||
[area22]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =W579
|
||||
labelpos =36.38, -42.17
|
||||
points =
|
||||
N38.25,E122.4506
|
||||
N38.4014,E122.4019
|
||||
[area23]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =A588
|
||||
labelpos =32.46, -35.79
|
||||
points =
|
||||
N38.25,E122.4506
|
||||
N38.6847,E122.1517
|
||||
[area24]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =W579
|
||||
labelpos =33.08, -32.92
|
||||
points =
|
||||
N38.4014,E122.4019
|
||||
N38.6847,E122.1517
|
||||
[area25]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =W579
|
||||
labelpos =20.31, -14.45
|
||||
points =
|
||||
N38.6847,E122.1517
|
||||
N38.9522, E121.567
|
||||
[area26]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =W573
|
||||
labelpos =30.08, -6.82
|
||||
points =
|
||||
N38.9522, E121.567
|
||||
N38.9056,E122.3183
|
||||
[area27]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =W576
|
||||
labelpos =-31.26, -19.25
|
||||
points =
|
||||
N38.6358,E120.5839
|
||||
N38.535,E121.2167
|
||||
[area28]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
name =W576
|
||||
labelpos =-55.13, -11.14
|
||||
points =
|
||||
N38.6358,E120.5839
|
||||
N38.7017,E120.2011
|
||||
|
||||
[departure1]
|
||||
runway=rwy1
|
||||
route1=
|
||||
SAR09D,SARUD-09D
|
||||
N38.95,E121.7406,2630
|
||||
N39.0394,E121.7522,2630,230
|
||||
N39.0669,E121.3919
|
||||
N39.0844,E121.1556
|
||||
N38.8192,E120.1522
|
||||
route2=
|
||||
ORA09D,ORAVA-09D
|
||||
N38.95,E121.7406,2630
|
||||
N39.0394,E121.7522,2630,230
|
||||
N39.0556,E121.5428,8900
|
||||
N38.8814,E121.4308,12800
|
||||
N38.535,E121.2167,21700
|
||||
N38.6358,E120.5839
|
||||
N38.7017,E120.2011
|
||||
route3=
|
||||
CHI07D,CHI-07D
|
||||
N38.95,E121.7406,2630
|
||||
N39.0394,E121.7522
|
||||
N39.0556,E121.5428,8900
|
||||
N38.9656,E121.5389,8900,220
|
||||
N38.95,E121.7406
|
||||
N38.9245,E122.0672
|
||||
N38.9056,E122.3183,13800
|
||||
N39.2667,E122.6167,CHANG HAI
|
||||
route4=
|
||||
CHI08D,CHI-08D
|
||||
N38.95,E121.7406,2630
|
||||
N38.9245,E122.0672
|
||||
N38.9056,E122.3183,13800
|
||||
N39.2667,E122.6167,CHANG HAI
|
||||
route5=
|
||||
CHI09D,CHI-09D
|
||||
N38.95,E121.7406,2630
|
||||
N39.0367,E121.8192
|
||||
N39.2667,E122.6167,CHANG HAI
|
||||
route6=
|
||||
KAR08D,KARPI-08D
|
||||
N38.95,E121.7406,2630
|
||||
N39.0394,E121.7522,2630,230
|
||||
N39.0556,E121.5428,8900
|
||||
N39.0669,E121.3919
|
||||
N38.8956,E121.2489,12800
|
||||
N38.25,E120.7167
|
||||
route7=
|
||||
KAR09D,KARPI-09D
|
||||
N38.95,E121.7406,2630
|
||||
N39.0394,E121.7522,2630,230
|
||||
N39.0556,E121.5428,8900
|
||||
N38.8814,E121.4308,12800
|
||||
N38.535,E121.2167,21700
|
||||
N38.25,E120.7167
|
||||
route8=
|
||||
SAN08D,SANKO-08D
|
||||
N38.95,E121.7406,2630
|
||||
N38.7742,E121.76
|
||||
N38.2686,E122.2503
|
||||
N38.25,E122.4506
|
||||
route9=
|
||||
SAN09D,SANKO-09D
|
||||
N38.95,E121.7406,2630
|
||||
N39.0394,E121.7522,2630,230
|
||||
N39.0556,E121.5428,8900
|
||||
N38.9656,E121.5389
|
||||
N38.7742,E121.76
|
||||
N38.2686,E122.2503
|
||||
N38.25,E122.4506
|
||||
[departure2]
|
||||
runway=rwy1,rev
|
||||
route1=
|
||||
SAR19D,SARUD-19D
|
||||
N38.9789,E121.3617,2300
|
||||
N38.9892,E121.2233,3900
|
||||
N39.0142,E120.8761,11800
|
||||
N38.8192,E120.1522
|
||||
route2=
|
||||
ORA18D,ORAVA-18D
|
||||
N38.9789,E121.3617,2300
|
||||
N38.8061,E121.3406
|
||||
N38.6719,E121.3239
|
||||
N38.535,E121.2167
|
||||
N38.6358,E120.5839
|
||||
N38.7017,E120.2011
|
||||
route3=
|
||||
ORA19D,ORAVA19D
|
||||
N38.9789,E121.3617,2300
|
||||
N39.0686,E121.3728,2300,230
|
||||
N39.0528,E121.5817,8900,250
|
||||
N38.9633,E121.5711
|
||||
N38.8783,E121.4983,12800
|
||||
N38.6719,E121.3239
|
||||
N38.535,E121.2167,21700
|
||||
N38.6358,E120.5839
|
||||
N38.7017,E120.2011
|
||||
route4=
|
||||
CHI18D,CHI-18D
|
||||
N38.9789,E121.3617,2300
|
||||
N39.0686,E121.3728,2300,230
|
||||
N39.0528,E121.5817,8900
|
||||
N39.0347,E121.8128
|
||||
N39.2667,E122.6167,CHANG HAI
|
||||
route5=
|
||||
CHI19D,CHI-19D
|
||||
N38.9789,E121.3617,2300
|
||||
N39.0686,E121.3728,2300,230
|
||||
N39.0528,E121.5817,8900
|
||||
N38.9492,E121.7508
|
||||
N38.9245,E122.0672
|
||||
N38.9056,E122.3183
|
||||
N39.2667,E122.6167,CHANG HAI
|
||||
route6=
|
||||
KAR17D,KARPI-17D
|
||||
N38.9789,E121.3617,2300
|
||||
N38.9892,E121.2233,3900
|
||||
N39.0789,E121.2344,3900,225
|
||||
N39.0686,E121.3728,3900,250
|
||||
N38.9789,E121.3617
|
||||
N38.8942,E121.2858,12800
|
||||
N38.25,E120.7167
|
||||
route7=
|
||||
KAR18D,KARPI-18D
|
||||
N38.9789,E121.3617,2300
|
||||
N38.8061,E121.3406
|
||||
N38.6719,E121.3239
|
||||
N38.535,E121.2167
|
||||
N38.25,E120.7167
|
||||
route8=
|
||||
KAR19D,KARPI-19D
|
||||
N38.9789,E121.3617,2300
|
||||
N39.0686,E121.3728,2300,230
|
||||
N39.0528,E121.5817,8900,250
|
||||
N38.9633,E121.5711
|
||||
N38.8783,E121.4983,12800
|
||||
N38.6719,E121.3239
|
||||
N38.535,E121.2167,21700
|
||||
N38.25,E120.7167
|
||||
route9=
|
||||
SAN18D,SANKO-18D
|
||||
N38.9789,E121.3617,2300,250
|
||||
N38.8061,E121.3406
|
||||
N38.2686,E122.2503
|
||||
N38.25,E122.4506
|
||||
route10=
|
||||
SAN19D,SANKO-19D
|
||||
N38.9789,E121.3617,2300
|
||||
N39.0686,E121.3728,2300,230
|
||||
N39.0528,E121.5817,8860
|
||||
N38.9633,E121.5711
|
||||
N38.2686,E122.2503
|
||||
N38.25,E122.4506
|
||||
|
||||
[approach1]
|
||||
runway =rwy1
|
||||
beacon = ANRAT,N38.6514,E119.9511
|
||||
route1=
|
||||
280
|
||||
N38.6514,E119.9511
|
||||
N38.5333,E120.1514
|
||||
N38.4681,E120.5172
|
||||
N38.3692,E121.0839,11800
|
||||
N38.5514,E121.5019,9800
|
||||
N38.8778,E121.4867,9800,210
|
||||
N38.8956,E121.2489,3940,210
|
||||
N38.9045,E121.1339
|
||||
N38.9803,E121.1431,2960,210
|
||||
N38.9764,E121.2589,2960,210
|
||||
11.9,2960,210
|
||||
route2=
|
||||
240
|
||||
N38.6514,E119.9511
|
||||
N38.5333,E120.1514
|
||||
N38.4681,E120.5172
|
||||
N38.3692,E121.0839,11800
|
||||
N38.5514,E121.5019,9800
|
||||
N38.8778,E121.4867
|
||||
N39.0611,E121.4725,,210
|
||||
N39.0761,E121.2711,3940,210
|
||||
N38.9764,E121.2589,2960,210
|
||||
11.9,2960,210
|
||||
|
||||
[approach2]
|
||||
runway =rwy1
|
||||
beacon = CHI,N39.2667,E122.6167,CHANG HAI
|
||||
route1=
|
||||
40
|
||||
N39.2667,E122.6167
|
||||
N38.9056,E122.3183
|
||||
N38.8167,E122.2586
|
||||
N38.8778,E121.4867, ,210
|
||||
N38.8956,E121.2489,3940,210
|
||||
N38.9045,E121.1339
|
||||
N38.9803,E121.1431,2960,210
|
||||
N38.9764,E121.2589,2960,210
|
||||
11.9,2960,210
|
||||
route2=
|
||||
41
|
||||
N39.2667,E122.6167
|
||||
N38.9056,E122.3183
|
||||
N38.8167,E122.2586
|
||||
N38.8778,E121.4867
|
||||
N39.0611,E121.4725, ,210
|
||||
N39.0761,E121.2711,3940,210
|
||||
N38.9764,E121.2589,2960,210
|
||||
11.9,2960,210
|
||||
[approach3]
|
||||
runway =rwy1
|
||||
beacon =NIXEP,N38.25,E120.9842
|
||||
route1=
|
||||
217
|
||||
N38.25,E120.9842
|
||||
N38.4022,E121.4514
|
||||
N38.5514,E121.5019,9800
|
||||
N38.8778,E121.4867
|
||||
N38.8956,E121.2489,3940,210
|
||||
N38.9045,E121.1339
|
||||
N38.9803,E121.1431,2960,210
|
||||
N38.9764,E121.2589,2960,210
|
||||
11.9,2960,210
|
||||
route2=
|
||||
218
|
||||
N38.25,E120.9842
|
||||
N38.4022,E121.4514
|
||||
N38.5514,E121.5019,9800
|
||||
N38.8778,E121.4867
|
||||
N39.0611,E121.4725, ,210
|
||||
N39.0761,E121.2711,3940,210
|
||||
N38.9764,E121.2589,2960,210
|
||||
11.9,2960,210
|
||||
[approach4]
|
||||
runway =rwy1
|
||||
beacon =SANKO,N38.25,E122.4506
|
||||
route1=
|
||||
176
|
||||
N38.25,E122.4506
|
||||
N38.4014,E122.4019
|
||||
N38.6847,E122.1517,9800
|
||||
N38.8778,E121.4867
|
||||
N38.8956,E121.2489,3940,210
|
||||
N38.9045,E121.1339
|
||||
N38.9803,E121.1431,2960,210
|
||||
N38.9764,E121.2589,2960,210
|
||||
11.9,2960,210
|
||||
route2=
|
||||
177
|
||||
N38.25,E122.4506
|
||||
N38.4014,E122.4019
|
||||
N38.6847,E122.1517,9800
|
||||
N38.8778,E121.4867
|
||||
N39.0611,E121.4725, ,210
|
||||
N39.0761,E121.2711,3940,210
|
||||
N38.9764,E121.2589,2960,210
|
||||
11.9,2960,210
|
||||
[approach5]
|
||||
runway =rwy1,rev
|
||||
beacon =ANRAT,N38.6514,E119.9511
|
||||
route1=
|
||||
280
|
||||
N38.6514,E119.9511
|
||||
N38.5333,E120.1514
|
||||
N38.4681,E120.5172
|
||||
N38.3692,E121.0839,11800
|
||||
N38.5514,E121.5019,9800
|
||||
N38.8725,E121.5589
|
||||
N38.8564,E121.7656,2960,210
|
||||
N38.8472,E121.8811
|
||||
N38.8339,E122.0553
|
||||
N38.9245,E122.0672,2960,210
|
||||
N38.9381,E121.8931,2960
|
||||
N38.9469,E121.7772,2000
|
||||
9.7,2000,210
|
||||
route2=
|
||||
240
|
||||
N38.6514,E119.9511
|
||||
N38.5333,E120.1514
|
||||
N38.4681,E120.5172
|
||||
N38.3692,E121.0839,11800
|
||||
N38.5514,E121.5019,9800
|
||||
N38.5994,E121.6133,9800
|
||||
N38.8564,E121.7656,2960,210
|
||||
N38.8472,E121.8811
|
||||
N38.8339,E122.0553
|
||||
N38.9245,E122.0672,2960,210
|
||||
N38.9381,E121.8931,2960
|
||||
N38.9469,E121.7772,2000
|
||||
9.7,2000,210
|
||||
[approach6]
|
||||
runway =rwy1,rev
|
||||
beacon =CHI,N39.2667,E122.6167,CHANG HAI
|
||||
route1=
|
||||
40
|
||||
N39.2667,E122.6167,CHANG HAI
|
||||
N38.9056,E122.3183
|
||||
N38.9245,E122.0672,2960,210
|
||||
N38.9381,E121.8931,2960
|
||||
N38.9469,E121.7772,2000
|
||||
9.7,2000,210
|
||||
[approach7]
|
||||
runway =rwy1,rev
|
||||
beacon =NIXEP,N38.25,E120.9842
|
||||
route1=
|
||||
217
|
||||
N38.25,E120.9842
|
||||
N38.4022,E121.4514
|
||||
N38.5514,E121.5019,9800
|
||||
N38.8725,E121.5589
|
||||
N38.8564,E121.7656,2960,210
|
||||
N38.8472,E121.8811
|
||||
N38.8339,E122.0553
|
||||
N38.9245,E122.0672,2960,210
|
||||
N38.9381,E121.8931,2960
|
||||
N38.9469,E121.7772,2000
|
||||
9.7,2000,210
|
||||
route2=
|
||||
218
|
||||
N38.25,E120.9842
|
||||
N38.4022,E121.4514
|
||||
N38.5994,E121.6133
|
||||
N38.8564,E121.7656,2960,210
|
||||
N38.8472,E121.8811
|
||||
N38.8339,E122.0553
|
||||
N38.9245,E122.0672,2960,210
|
||||
N38.9381,E121.8931,2960
|
||||
N38.9469,E121.7772,2000
|
||||
9.7,2000,210
|
||||
[approach9]
|
||||
runway =rwy1,rev
|
||||
beacon =SANKO,N38.25,E122.4506
|
||||
route1=
|
||||
176
|
||||
N38.25,E122.4506
|
||||
N38.4014,E122.4019
|
||||
N38.6847,E122.1517
|
||||
N38.8339,E122.0553
|
||||
N38.9245,E122.0672,2960,210
|
||||
N38.9381,E121.8931,2960
|
||||
N38.9469,E121.7772,2000
|
||||
9.7,2000,210
|
||||
@@ -0,0 +1,35 @@
|
||||
# Dalian Zhoushuizi International Airport(ZYTL) For Endless ATC
|
||||
|
||||
This implements Dalian Zhoushuizi International Airport(ZYTL) into the [Endless ATC](https://steamcommunity.com/app/666610) game.
|
||||
|
||||
## Features
|
||||
|
||||
### Implemented
|
||||
|
||||
* Arrivals and departures at ZYTL.
|
||||
* Custom traffic to match airlines in China.
|
||||
* Custom SIDs and STARs.
|
||||
* Custom restricted areas.
|
||||
|
||||
### Planned
|
||||
|
||||
* More restricted areas and obstacles.
|
||||
* Enhance route displays.
|
||||
* Adjusted the scope of the control zone.
|
||||
|
||||
## Credits
|
||||
|
||||
* [@savoki0216](https://github.com/savoki0216) did everything except upload and document, and he will continue charge to enhance the project.
|
||||
* Navigation data in this project is based on AIP of China, published by *Aeronautical lnformation Service Center Air Traffic Management Bureauof Civil Aviation Administration of China*
|
||||
* Readme document by [@LeoChen98](https://github.com/LeoChen98), template by [@jamesg31](https://github.com/jamesg31).
|
||||
|
||||
## Changelog
|
||||
|
||||
* 1.1 - 3/25/2021
|
||||
1. Add some restricted areas and obstacles
|
||||
2. Add some route displays
|
||||
3. Modify the relative position of the runway and The final of RW10.
|
||||
* 1.0 - 3/22/2021 - Initial Release.
|
||||
|
||||
## Remarks
|
||||
***You could bring out everything you think to us, but we can't promise will take any effect. orz**
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,157 @@
|
||||
#VHHH TMA 1.0.0
|
||||
|
||||
This is an implementation of the Hong Kong TMA (Terminal Maneuvering Area) for [Endless ATC](https://steamcommunity.com/app/666610) featuring `VHHH` Hong Kong International Airport (also known as Chek Lap Kok) and `VMMC` Macau International Airport. The airspace ceiling is FL250. `ZGSZ` Shenzhen Baoan, although not part of the VHHH TMA, has traffic that would transit the airspace at altitudes low enough to be considered for inclusion. However it is not currently implemented.
|
||||
|
||||
The maximum controllable area is limited by the spawn point limits in Endless ATC, which is a 100nm circle around the map center. Therefore, the controlled area in this implementation is a heavily reduced portion of the actual VHHH TMA, omitting much of the terminal transition routes. As such, it is recommended to begin a new game at 4x speed until an aircraft reaches an initial approach fix, and play with a high minimum score (be sure to slowly ramp up to the desired value) or a fixed flow of ~30+.
|
||||
|
||||
Based upon AIP HONG KONG EFF 2021/02/25 and AIP MACAO AMDT 39 EFF 2020/11/19. The choice of SIDs and STARs may not be 100% accurate to real life but should be reasonably accurate reflecting daytime IMC conditions. All aircraft are assumed to be RNAV capable. Pure RNAV approaches are not implemented in favour of RNAV+ILS or conventional ILS approaches. Coastline data from naturalearthdata.com.
|
||||
|
||||
STARs are implemented as approach transitions. To activate an approach, an aircraft must be flying direct to an applicable fix, then the APP button can be activated. Multiple approaches may be available from a fix. Press the APP button again before issuing the approach clearance (do not long press) will select the next approach available from that fix. If the aircraft is already on an approach from that fix, you will need to cancel the approach clearance first before issuing another approach clearance.
|
||||
|
||||
## Airports
|
||||
|
||||
### `VHHH` Hong Kong International Airport (Chek Lap Kok)
|
||||
|
||||
A modern island airport built on reclaimed land north of Lantau Island after Hong Kong outgrew the old airport at Kai Tak, famous for the IGS RWY 13 "Checkboard" approach. Being located on its own island and built from scratch, the approaches to Chek Lap Kok are much more forgiving than at Kai Tak, but the mountaineous terrain of Hong Kong still restricts flight paths. The proximity of the Hong Kong - Guangzhou FIR boundary just north of the airport, and the other airports closely packed into the river delta region also result in a very restricted airspace.
|
||||
|
||||
In general, `VHHH` operates in a segregated mode with the north runway used for arrivals and the south runway used for departures.
|
||||
|
||||
There is custom traffic for `VHHH`. The proportions are very much estimates but shouldn't be too far off from reality.
|
||||
|
||||
Some major fixes on the map have a defined hold including many fixes along the STARs. If playing with a high amount of traffic, significant holding may be required with only one landing runway and lack of room for delay vectors close to the airport. For arrivals from the northeast, traffic may be redirected to the southeast arrival route via MEPUT for additional holding at EATON and beyond.
|
||||
|
||||
Note that as the game cannot handle multiple approaches to the same runway from the same fix, `SIERA` 7C/6D STARs from `SIERA` can be activated using direct to `BORDA`.
|
||||
|
||||
Aircraft arrive via 4 points:
|
||||
|
||||
- `FISHA` (`A1/G581 ELATO V522` from Taipei FIR to the east; `A470 DOTMI V512` or `M503 LELIM V591` from the northeast via Guangzhou FIR)
|
||||
- `DAKTO` (`A461/M501 NOMAN V532` from Manila FIR the southeast)
|
||||
- `HOCKY` (`A583 SABNO V542` or `M771/M772 DUMOL Q1 CARSO V551` from the south/southwest)
|
||||
- `GAMBA` (`A1/P901 IDOSI V561` or `A202/R339 SIKOU V571` from Sanya FIR to the west)
|
||||
- `SIERA` (`R473 SIERA` from Guangzhou FIR to the north)
|
||||
|
||||
Aircraft depart via 10 points:
|
||||
|
||||
- `BEKOL` (north via `A461` to China)
|
||||
- `DOTMI` (northeast via `A470` to southeastern China)
|
||||
- `LELIM` (northeast via `M503` to Shanghai Pudong, Qingdao, Dalian, Yantai)
|
||||
- `ENVAR` (east via `M750` to Korea, Japan, Pacific)
|
||||
- `KAPLI` (east via 'G86' to routes south of Taiwan)
|
||||
- `NOMAN` (southeast via `M501` and `A461` to Philippines)
|
||||
- `SABNO` (south via `A583`)
|
||||
- `EPDOS` (southwest via `L642` to Singapore, Malaysia)
|
||||
- `IDOSI` (southwest via `A1` to Cambodia, Vietnam, Thailand)
|
||||
- `SIKOU` (west via `A202` or `R339` to Hainan, Hanoi, India etc.)
|
||||
|
||||
There are two runways:
|
||||
|
||||
-07L/25R (departures)
|
||||
-07R/25L (arrivals)
|
||||
|
||||
Two landing configurations are in general use:
|
||||
|
||||
- Landing 07L, departing 07R
|
||||
|
||||
The usual configuration.
|
||||
|
||||
The ILS approach to 07L is available from the FAF `VH710`, but in practice all approaches are made from `LIMES`. It is not recommended to vector aircraft inside `LIMES`, and should be completely avoided inside `VH710`. due to the proximity of the FIR boundary and the high terrain south and northeast of the airport.
|
||||
|
||||
Upon missed approach, aircraft can climb to 5000 and fly the approach again from `DEDEE`, which will simulate a full missed approach back to the IAF `LIMES`. If the aircraft is not ready by `DEDEE`, the approach is also available from `SAMPU` and `TD` etc.
|
||||
|
||||
Speed management can be effective to sequence aircraft by `LIMES`. Use care to normalize speed between aircraft once they reach `LIMES` so as to maintain separation until the runway.
|
||||
|
||||
Note that independent simultaneous approaches to 07L and 07R are not permitted. Note that the RNP Y contingency procedure is not implemented.
|
||||
|
||||
Departures from 07R should fly the STAR to *fly-over* the first waypoint (`PORPA`) -5000 to clear the high terrain of Lantau Island south of the airport and the restricted area VHR12. Afterwards, altitude management should be sufficient to separate from any other traffic.
|
||||
|
||||
- Landing 25R, departing 25L
|
||||
|
||||
The west wind configuration.
|
||||
|
||||
The ILS approach to 25R is available from the FAF `RIVER`, but in practice all approaches are made from `TD` or `PLOVE`. It is not recommended to vector aircraft inside `TD`, and should be completely avoided inside `RIVER`. due to the proximity of the FIR boundary and the high terrain under the approach path.
|
||||
|
||||
Upon missed approach, aircraft can climb to 5000 and fly the approach again from `MA25R`, which will simulate a full missed approach back to the IAF `TD`. The missed approach path does not actually include point `MA25R`, it is a fictional waypoint placed a distance away from the airport as an aircraft cannot be commanded to proceed direct to a fix close by. The missed approach is also available from `LKC`, but usually the aircraft on missed is too close from `LKC` and the game will not allow direct to `LKC`.
|
||||
|
||||
Speed management can be effective to sequence aircraft by `TD`. Use care to normalize speed between aircraft once they reach `TD` so as to maintain separation until the runway.
|
||||
|
||||
Note that independent simultaneous approaches to 25L and 25R are not permitted. Note that the RNP Y procedure is not implemented.
|
||||
|
||||
Departures from 25R should fly the STAR to *fly-over* the first waypoint (`PRAWN`) -5000 to clear the high terrain of Lantau Island south of the airport. Afterwards, altitude management should be sufficient to separate from any other traffic.
|
||||
|
||||
### `VMMC` Macau International Airport
|
||||
|
||||
This airport serving the city of Macau has an island runway connected to the apron by two long taxiway bridges. Another peculiarity is how it is located between the Hong Kong and Guangzhou FIRs, with aircraft to the north handled by Guangzhou but aircraft to the south handled by Hong Kong. Due to Zhuhai city north of the RWY 34 departure end, aircraft must stay south of the 231 radial from Jiuzhou VOR (`ZAO`) for noise abatement, resulting in an immediate turn to the right departing 34, and a Kai Tak-style approach with an offset localizer to final visual approach for landing 16.
|
||||
|
||||
To faciliate arrivals to 16, a portion of Guangzhou FIR around `ZUH` and south of `NLG` has been included in the airspace, with the low altitudes restricted to `VMMC` traffic.
|
||||
|
||||
There is custom traffic for `VMMC`. The proportions are very much estimates but shouldn't be too far off from reality. Note that only traffic departing and arriving via Hong Kong FIR are included.
|
||||
|
||||
Some major fixes on the map have a defined hold including many fixes along the STARs.
|
||||
|
||||
Aircraft arrive via 4 points:
|
||||
|
||||
- `NEDLE` (`J101` from the east via Taipei FIR or from the northeast via Guangzhou FIR)
|
||||
- `ISBAN` (`J103` from the southeast via Manila FIR or southsouthwest via Sanya FIR)
|
||||
- `DASON` (`J104` from the south/southwest via Sanya FIR)
|
||||
|
||||
Aircraft depart via 9 points:
|
||||
|
||||
- `DOTMI` (northeast via `A470` to southeastern China)
|
||||
- `LELIM` (northeast via `M503` to Shanghai Pudong, Qingdao, Dalian, Yantai)
|
||||
- `ENVAR` (east via `M750` to Korea, Japan, Pacific)
|
||||
- `KAPLI` (east via 'G86' to routes south of Taiwan)
|
||||
- `NOMAN` (southeast via `M501` and `A461` to Philippines)
|
||||
- `SABNO` (south via `A583`)
|
||||
- `EPDOS` (southwest via `L642` to Singapore, Malaysia)
|
||||
- `IDOSI` (southwest via `A1` to Cambodia, Vietnam, Thailand)
|
||||
- `SIKOU` (west via `A202` or `R339` to Hanoi, India etc.)
|
||||
|
||||
There is the one island runway, 16/34. However, to simulate the offset localizer for 16, a fake runway 16C(/34C) is included. Planes will land on 16C instead of 16.
|
||||
|
||||
Two landing configurations are in general use:
|
||||
|
||||
- Landing 34, departing 34
|
||||
|
||||
The usual configuration.
|
||||
|
||||
The ILS approach to 34 is available from the FAF `PAPA`.
|
||||
|
||||
Upon missed approach, aircraft can climb to 6000 (by `MC411`) and fly the approach again from `ZAO`, which will simulate a full missed approach back to the IAF `HAZEL`. If the aircraft is not ready by `ZAO`, the approach is also available from `MC420` and `MC411`. Holding after missed is available at PAPA.
|
||||
|
||||
Speed management can be effective to sequence aircraft. Arrivals via the established STARs are recommended due to the congestion of airspace around `VHHH`.
|
||||
|
||||
Use care to have 34 departures climb to 6000 (+4000 by `MC420`, +5500 by `MC411`) to cross `LKC` 6000 with further climb subject to traffic conditions (arrivals via `SMT` overhead).
|
||||
|
||||
- Landing 16(C), departing 16
|
||||
|
||||
The south wind configuration.
|
||||
|
||||
The LLZ/DME approach to 16(C) is available from the IAF `ZUH`. You should not vector aircraft inside `ZUH` as these aircraft would be under control of Guangzhou after `INDUS`.
|
||||
|
||||
Upon missed approach, aircraft can climb to 4000 and fly direct to MC513 where holding is available at +3000. From `MC513`, aircraft can execute the approach via `INDUS`/`ZUH`/`MC513` at +5900 (+1800m).
|
||||
|
||||
Speed management can be effective to sequence aircraft. Arrivals via the established STARs are recommended due to the congestion of airspace around `VHHH`.
|
||||
|
||||
Use care to separate 16 departures from `VHHH` arrivals between `CANTO` and `MURRY` and `VHHH` departures near `PECAN`.
|
||||
|
||||
## Known Issues
|
||||
|
||||
- No `ZGSZ`
|
||||
- No `ZGSD`
|
||||
- No RNP Y procedures
|
||||
- No 25/34 or 07/16 configurations
|
||||
- The northern boundary is super lazy (I am not going to trace 3nm from the Chinese coastline, sorry)
|
||||
- `SIERA` C/D arrivals only selectable from `BORDA`
|
||||
- `UJ` and `MCU` transitions implemented for `VMMC` 34 but would only be used for arrivals from `ZGZU` FIR, leaving them in for the heck of it
|
||||
|
||||
## Disclaimer
|
||||
|
||||
This is a best effort work based on air traffic observations and official aeronautical publications. No guarantee is made that this representation of VHHH TMA matches real life procedures in any way. Any information regarding inaccuracies is appreciated.
|
||||
|
||||
## For Developers
|
||||
|
||||
This file is built from `source\VHHH.txt` via `deploy.py`. Make any contributions to `source\VHHH.txt` and NOT to `.\VHHH.txt`.
|
||||
|
||||
## Changelog
|
||||
|
||||
* 1.0 - 2020/01/09 - Initial version.
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,143 @@
|
||||
|
||||
# Hong Kong TMA / VHHH Hong Kong
|
||||
__Important Notes__
|
||||
|
||||
This is a such simpler version develop for Mobile EATC player.The folder going to store in your phone is: `\\Android\data\com.dirgtrats.endlessatc\files`
|
||||
Height Measurement to be used are Feet and NM, included China Airspace. Otherwise specifically stated.
|
||||
## Information
|
||||
This is an implementation of the Hong Kong FIR and TMA for [Endless ATC](https://steamcommunity.com/app/666610) featuring `VHHH` Hong Kong International Airport. The airspace ceiling is FL250.
|
||||
This Map ONLY include Hong Kong Terminal Control Area and some Extended Section on Zhuhai TCA.
|
||||
*v1.0* Based upon AIP Hong Kong 11/20 (2020 11th Version) . The SIDs and STARs may not be 100% accurate to real life but should be reasonably accurate reflecting daytime IMC conditions. All traffic are designed to fly RNAV(GNSS) and ILS APCH. The Northern Boundary data between VHHK FIR and ZGZU FIR are from Basic Law Instrument 11.
|
||||
The border of the map has included VHHH TMA, VMMC ATZ, ZGGG FIR and ZGZUTM04 TCA and playable range only include VHHH TMA and VMMC ATZ due to the size of FIR are too big to play.
|
||||
Information of Hong Kong TMA, Transition Altitude (TA) shall be 9000ft and Transition Level (TFL) shall be FL110 (QNH980+), FL120 (QNH979-). Do not assign FL100! Live QNH can be retrieved at [ATIS](https://atis.cad.gov.hk/ATIS/ATISweb/atis.php) by CADHK.
|
||||
STARs are implemented as approach transitions. To activate an approach, an aircraft must be flying direct to an applicable fix, then the APP button can be activated. Multiple approaches may be available from a fix. Press the APP button again before issuing the approach clearance (do not long press) will select the next approach available from that fix. If the aircraft is already on an approach from that fix, you will need to cancel the approach clearance first before issuing another approach clearance.
|
||||
Inside VHHK FIR have 4 Airports, `VHHH`, `VHHX`, `VHSK` and `VMMC`. Further Information will be included below.
|
||||
## Airports
|
||||
### `VHHH` Hong Kong International Airport
|
||||
The main airport of this sector. HKIA is also the only International Airport had two runway within FIR. All departures and arrivals come from or to Southern, Eastern and Western only due the packed Airspace with nearby Guangzhou FIR and Shenzhen Airport approach route.
|
||||
There is custom traffic for `VHHH`. Although it is NOT reliable and only designed for the hub airline callsign to show up. *For Government / HKG, are usually operating Helicopters and Small Planes, I had included C172 for its slow purpose. Please be alert with it as it can't follow the speed with airliner.
|
||||
All visible fixes on the map have a defined hold including many fixes along the STARs but excluded SMT. Standard Missed Approach Route will be included in later versions.
|
||||
#### Arrival STARS
|
||||
- `ABBEY`: Eastern route from RCAA (Taipei) FIR, ZGZU (Guanzhou) FIR and ZSHA (Shanghai) FIR
|
||||
- `BETTY`: Southeast route from RPMR (Manlia) FIR and ZGZA (Sanya) FIR
|
||||
- `CANTO`: Southwest route from ZGZA (Sanya) FIR, ZGZU (Guangzhou) FIR
|
||||
- `SIERA`: Northern route from ZGZU (Guangzhou) FIR
|
||||
#### Departure SID
|
||||
- `BEKOL`: Northern Route, No TTR, No Handoff below S0690 / F226.
|
||||
- `LAKES`: Northeast Route, TTR V1/V13, Handoff at F230 (Auto-Handoff)
|
||||
- `OCEAN`: Eastern Route, TTR V2/V3/V4/V5, Handoff at F250 (Auto-Handoff)
|
||||
- `PECAN`: Southwest Route: TTR V10/V11/V12, Handoff at F160
|
||||
#### Operations
|
||||
Due to Complication of airspace, all traffic are suggested to follow STAR approach and Do not assign holding at / under 15+ inbound within 30 minutes.
|
||||
##### For Runway 07:
|
||||
- TD VOR is a collision point between Departure SID and Arrival STAR:
|
||||
- Departure maintain 7000ft or below
|
||||
- Arrival maintain 9000ft or above
|
||||
##### Avbl for All Runway
|
||||
- Northern Runway 07L/25R is the usual Arrival Runway
|
||||
- Southern Runway 07R/25L is the usual Departure Runway / Cargo Arrival
|
||||
- Cargo Airlines: CPA w/ B748, HKC, AHK, HKC
|
||||
### `VMMC` Macau International Airport
|
||||
> Macau International Airport, built and released at *v1.4*.
|
||||
#### Info
|
||||
Macau Int'l Airport, short for `MO`
|
||||
Single Runway, Runway 16 / 34
|
||||
> ISO 3166-2: MO
|
||||
>
|
||||
> For In-game TTS Purpose, Full Name included only have **Macau** instead of **Macau Int'l Airport**
|
||||
#### Arrival STAR
|
||||
> Transition Route included Below Sub-Chapter
|
||||
- Belongs Hong Kong VHHH TMA / FIR
|
||||
* `CHALI`: Southern Route from RPHI (Manila FIR Eastern), ZGZU (Guangzhou FIR South-Western), ZSJA (Sanya FIR Southern)
|
||||
* `SMT`: Northeastern Route from RCAA (Taipei FIR Eastern), ZGZU (Guangzhou FIR NorthEastern)
|
||||
- Belongs China ZGZU FIR / ZSJD TCAD
|
||||
> Due to Objective Airspace, Limited STAR from China will be provided
|
||||
* `UJ` : Only Southern Route from China
|
||||
* Original STAR: `BIRGO`
|
||||
* `MC511` / `LATOP`: Only Northern Route from China
|
||||
* Original STAR: `CON`,`POU`,`NLG`
|
||||
* `MC511`: Operation for Runway 16 Only.
|
||||
* Suggested Operation: Hold and Descent till 3000' AGL, continue Approach
|
||||
* `LATOP`: Operation for Runway 34 Only.
|
||||
* Suggested Operation: Hold and Descend till 6890' (2100m) AGL, continue Approach
|
||||
#### Departure SID
|
||||
> Due to Objective Airspace, Limited SID for both Hong Kong and China will be provided
|
||||
>
|
||||
> Runway 34: All Departure Transit Hong Kong will use 2U (cross TD) Departure.
|
||||
* Departure Handled by Hong Kong
|
||||
> For Traffic Crossing Hong Kong, Cross Border at or above 5500'
|
||||
* `ALLEY`: End at `ALLEY`/ `PECAN`
|
||||
* `CONGA`/ `GRUPA`/`SOUSA`: Ended at `SKATE`/`OCEAN`
|
||||
* Departure Handled by Guangzhou
|
||||
* `BIGRO`: Last point in operating Airspace: `BOKAT`
|
||||
* Suggested Handoff Point: `LATOP`
|
||||
* `NLG`/`SHL`/`MIPAG`: `LATOP` will be End of Operation (Both Runway)
|
||||
#### Transition Route
|
||||
> These TTR are within VHHK TMA for VMMC Approach, which are shortened and Having High chance of Error
|
||||
* For CHALI Approach
|
||||
* `ROBIN`: Route from `SANBO`, `SIKOU`, `DUMOL`
|
||||
* `PECAN`: Entry Point
|
||||
* For SMT Approach
|
||||
* `NEDLE`: Route from J101: `ELATO`, `DOTMI`
|
||||
#### Special Operation
|
||||
* Runway 16 Runway Extension Line (In-game ILS)
|
||||
> Due to Unavbl Offset LLZ, Sepcial Setup for better game experience.
|
||||
* Left Offset 5deg (M163 Sim, M158 Real-life)
|
||||
* Angle of LLZ: 3.5deg (3deg IRL)
|
||||
* Runway 16 Offect Localiser Unavailable
|
||||
* Alternative: Setted up LLZ 16 apch
|
||||
* LLZ16 Ops: After Alignment on LLZ (ZAO radian 217), DCT give ILS Clearance.
|
||||
* Immediate Clear ILS after Aligned, or I guarantee you Go Around
|
||||
* Runway 16 Circle to Land
|
||||
* PAPA Inbound, Approach Route Reference ONLY
|
||||
* Left Holding at MCU (Default) , Speed Max 160kt
|
||||
* Go Around Speed
|
||||
* Default Go Around: 2000', 200kt
|
||||
* Suggested Ops: <3000', <180kt
|
||||
* Remains inside VMMC ATZ for Go Around Traffic
|
||||
### `VHHX` Hong Kong Airport (aka Kai Tak Airport)
|
||||
Kai Tak Airport (Depreciated)
|
||||
Name: VX
|
||||
Runway 13/31 (Special Operation on 13)
|
||||
VX ATZ has included in *v1.0*
|
||||
### `VHSK` Shek Kong Airport
|
||||
Shek Kong airport, Millitary Airport
|
||||
Shall Not expect simualtion in EATC
|
||||
## Known Issues
|
||||
* VHHX Kai Tak WIP
|
||||
### Hong Kong Int'l Airport
|
||||
Due game bug, While Both runway operation either only departure or both departure and arrival, the ILS of South Runway will be active. Beware double click the APP button to choose Northern 07L/25R Runway.
|
||||
### Macau Airport
|
||||
All Issues Included inside Macau Airport / Special Operation
|
||||
## Disclaimer
|
||||
This is a best effort work based on air traffic observations and official aeronautical publications. No guarantee is made that the representation of Hong Kong FIR /TMA, Macao TMA, Guangzhou FIR and Zhuhai TCA matches real life procedures in any way. Any information regarding inaccuracies is appreciated.
|
||||
All right reserved
|
||||
## For Developers
|
||||
For further infomative version, consider PC version developed by ckwng.
|
||||
## Resources used
|
||||
* [eAIP](https://www.ais.gov.hk/) by CADHK
|
||||
* [ATIS](atis.cad.gov.hk/) by CADHK
|
||||
* from [IVAO HK](https://xe.ivao.aero) (Currently Sub-division of XE)
|
||||
* from [Civil Aviation Department Hong Kong](https://www.cad.gov.hk/)
|
||||
* from [Airport Authority Hong Kong](https://www.hongkongairport.com/)
|
||||
* from Hong Kong Government
|
||||
* Special Thanks: README.md template from RJTT_readme.md by [ckwng](https://github.com/AdamJCavanaugh/EndlessATCAirports/commits?author=ckwng)
|
||||
## Changelog
|
||||
* 1.0 ( / ) - 2020/12/31 - Initial version.
|
||||
* 1.1 ( / ) - 2021/01/01 - HotFix: North Border
|
||||
* 1.2 ( / ) - 2021/01/03 - Included ZGZUTM04 Airspace / VMMC Border line.
|
||||
* 1.3 (p1.3) - 2021/01/10 - File Name Conflict Update, Extra Information Inc.
|
||||
* 1.4 (p1.4) - 2021/01/18 - VMMC/MCU Macau Airport Integration (VHHX Reserve Name Update)
|
||||
* 1.4 Suppliments: Game File Clean-up Comments, Readme file remove extra lines
|
||||
* 1.4.2 - 2021/02/08 - Readme Format Update
|
||||
## License
|
||||
All Rights Reserved
|
||||
Copyright (c) 2021 ycohui
|
||||
Map data for EndlessATC included / retrieved by ycohui
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
@@ -1,96 +0,0 @@
|
||||
|
||||
# VHHK FIR 1.0
|
||||
|
||||
This is an implementation of the Hong Kong FIR and TMA for [Endless ATC](https://steamcommunity.com/app/666610) featuring `VHHH` Hong Kong International Airport . The airspace ceiling is FL250.
|
||||
|
||||
Based upon AIP Hong Kong 11/20 (2020 11th Version) . The SIDs and STARs may not be 100% accurate to real life but should be reasonably accurate reflecting daytime IMC conditions. All traffic are designed to fly RNAV(GNSS) and ILS APCH. The Northern Boundary data between VHHK FIR and ZGZU FIR are from Basic Law Instrument 11.
|
||||
|
||||
The border of the map has included VHHK FIR and playable range only include VHHH TMA due to the size of FIR are too big to play.
|
||||
Information of Hong Kong TMA, Transition Altitude (TA) shall be 9000ft and Transition Level (TFL) shall be FL110 (QNH980+), FL120 (QNH979-). Do not assign FL100! Live QNH can be retrieved at [ATIS](https://atis.cad.gov.hk/ATIS/ATISweb/atis.php) by CADHK.
|
||||
|
||||
STARs are implemented as approach transitions. To activate an approach, an aircraft must be flying direct to an applicable fix, then the APP button can be activated. Multiple approaches may be available from a fix. Press the APP button again before issuing the approach clearance (do not long press) will select the next approach available from that fix. If the aircraft is already on an approach from that fix, you will need to cancel the approach clearance first before issuing another approach clearance.
|
||||
|
||||
Inside VHHK FIR have 4 Airports, `VHHH`, `VHHX`, `VHSK` and `VMMC`. Further Information will be included below.
|
||||
|
||||
## Airports
|
||||
|
||||
### `VHHH` Hong Kong International Airport
|
||||
The main airport of this sector. Which is alson only airport included in current verison *v1.0*. HKIA is also the only International Airport had two runway within FIR. All departures and arrivals come from or to Southern, Eastern and Western only due the packed Airspace with nearby Guangzhou FIR and Shenzhen Airport approach route.
|
||||
|
||||
There is custom traffic for `VHHH`. Although it is NOT reliable and only designed for the hub airline callsign to show up. *For Government / HKG, are usually operating Helicopters and Small Planes, I had included C172 for its slow purpose. Please be alert with it as it can't follow the speed with airliner.
|
||||
|
||||
All visible fixes on the map have a defined hold including many fixes along the STARs but excluded LKC and SMT. Standard Missed Approach Route will be included in later versions.
|
||||
|
||||
#### Arrival STARS
|
||||
- `ABBEY`: Eastern route from RCAA (Taipei) FIR, ZGZU (Guanzhou) FIR and ZSHA (Shanghai) FIR
|
||||
- `BETTY`: Southeast route from RPMR (Manlia) FIR and ZGZA (Sanya) FIR
|
||||
- `CANTO`: Southwest route from ZGZA (Sanya) FIR, ZGZU (Guangzhou) FIR
|
||||
- `SIERA`: Northern route from ZGZU (Guangzhou) FIR
|
||||
|
||||
#### Departure SID
|
||||
-`BEKOL`: Northern Route, No TTR, No Handoff below S0690 / F226.
|
||||
-`LAKES`: Northeast Route, TTR V1/V13, Handoff at F230
|
||||
-`OCEAN`: Eastern Route, TTR V2/V3/V4/V5, Handoff at F250
|
||||
-`PECAN`: Southwest Route: TTR V10/V11/V12, Handoff at F160
|
||||
|
||||
#### Runway (Suffix for SID/STAR)
|
||||
- 07R (A)
|
||||
- 25L (B)
|
||||
- 07L (C) *Use (A) for STAR
|
||||
- 25R (D) *Use (B) for STAR
|
||||
|
||||
#### Operations
|
||||
Due to Complication of airspace, all traffic are suggested to follow STAR approach and Do not assign holding at / under 15+ inbound within 30 minutes.
|
||||
**For Runway 07:**
|
||||
|
||||
- TD VOR is a collision point between Departure SID and Arrival STAR:
|
||||
- Departure maintain 5000ft or below
|
||||
- Arrival maintain 7000ft or above
|
||||
|
||||
**Operations:**
|
||||
|
||||
- Northern Runway 07L/25R is the usual Arrival Runway
|
||||
- Southern Runway 07R/25L is the usual Departure Runway / Cargo Arrival
|
||||
- Cargo Airlines: CPA w/ B748, HKC, AHK, HKC
|
||||
|
||||
|
||||
|
||||
### `VMMC` Macau International Airport
|
||||
Macau International Airport, To be built.
|
||||
ISO 3166-2: MO
|
||||
Runway 16/34
|
||||
|
||||
### `VHHX` Hong Kong Airport (aka Kai Tak Airport)
|
||||
Kai Tak Airport (Depreciated)
|
||||
Name: KT
|
||||
Runway 13/31 (Special Operation on 13)
|
||||
KT ATZ has included in *v1.0*
|
||||
|
||||
### `VHSK` Shek Kong Airport
|
||||
Shek Kong airport, Millitary Airport
|
||||
Shall Not expect simualtion in EATC
|
||||
|
||||
|
||||
## Known Issues
|
||||
Everything is still missing ;(
|
||||
|
||||
## Disclaimer
|
||||
|
||||
This is a best effort work based on air traffic observations and official aeronautical publications. No guarantee is made that the representation of Hong Kong FIR and TMA matches real life procedures in any way. Any information regarding inaccuracies is appreciated.
|
||||
|
||||
## For Developers
|
||||
This version was designated for phone play, awaitng a larger version for PC.
|
||||
|
||||
## Resources
|
||||
* [eAIP](https://www.ais.gov.hk/) by CADHK
|
||||
* [ATIS](atis.cad.gov.hk/) by CADHK
|
||||
* from [IVAO HK](https://xe.ivao.aero) (Currently Sub-division of XE)
|
||||
* from [Civil Aviation Department Hong Kong](https://www.cad.gov.hk/)
|
||||
* from [Airport Authority Hong Kong](https://www.hongkongairport.com/)
|
||||
* from Hong Kong Government
|
||||
* Special Thanks: README.md template from RJTT_readme.md by [ckwng](https://github.com/AdamJCavanaugh/EndlessATCAirports/commits?author=ckwng)
|
||||
|
||||
## Changelog
|
||||
|
||||
* 1.0 - 2020/12/31 - Initial version.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+7914
-14939
File diff suppressed because it is too large
Load Diff
@@ -1,8 +1,8 @@
|
||||
# `RJTT` ACA 2.2.1
|
||||
# `RJTT` ACA 3.0.0
|
||||
|
||||
This is an implementation of the Tokyo ACA (Approach Control Area) for [Endless ATC](https://steamcommunity.com/app/666610) featuring `RJTT` Tokyo International Airport (commonly referred to as Haneda) and `RJAA` Narita International Airport. JSDF-M base `RJTL` Shimofusa is also represented at very high scores (difficulties). The airspace ceiling is FL240.
|
||||
|
||||
Based upon AIP Japan 2020/10/08. The choice of SIDs and STARs may not be 100% accurate to real life but should be reasonably accurate reflecting daytime IMC conditions. All aircraft are assumed to be RNAV capable; no conventional NAVAID-based SIDs or STARs are implemented unless there is no RNAV alternative. Coastline data from naturalearthdata.com.
|
||||
Based upon AIP Japan 2021/03/25 (Ministry of Land, Infrastructure, Transport and Tourism) (https://aisjapan.mlit.go.jp/). The choice of SIDs and STARs may not be 100% accurate to real life but should be reasonably accurate reflecting daytime IMC conditions. All aircraft are assumed to be RNAV capable; no conventional NAVAID-based SIDs or STARs are implemented unless there is no RNAV alternative. Coastline data from naturalearthdata.com.
|
||||
|
||||
The Tokyo ACA is a very large terminal area containing two of Japan's largest airports. The traffic that can flow in and out of these two airports can be immense, but the terminal procedures published for these two airports are robust and can provide you the ability to handle the immense deluge of traffic that can pour into the area. Most of the controller's work should be sequencing arrivals and monitoring a few key merge points for conflicts. Scores of 40 or higher should be possible to maintain with minimal delay vectoring.
|
||||
|
||||
@@ -114,7 +114,7 @@ The secondary, yet also major airport of this sector. Previously handling almost
|
||||
|
||||
There is custom traffic for `RJAA`. The proportions are very much estimates but shouldn't be too far off from reality.
|
||||
|
||||
Most fixes visible on the map have a defined hold including many fixes along the STARs. The published hold for missed approaches is `SWIMY` for 16R/34L and `ABBOT` for 16L/34R.
|
||||
Most fixes visible on the map have a defined hold including many fixes along the STARs. The published hold for missed approaches is `BINKS` for 16R/34L and `BOSPA` for 16L/34R.
|
||||
|
||||
Aircraft arrive at 4 points:
|
||||
|
||||
@@ -197,6 +197,7 @@ Approaches are available using APP mode from `TOHNE` and `ASEKI`. Arrival routes
|
||||
- No `RJTO` Oshima/`RJAN` Niijima (not possible to model arrivals from `RJTY` ACA)
|
||||
- Arrival and departure directions can be a bit nonsense (e.g. AHK arriving from the Pacific), unfortunately this is a game limitation.
|
||||
- South arrivals to `RJTT` 16L/16R are very close to delayed even strictly following the STAR (game limitation?)
|
||||
- No `RJAA` simultaneous parallel independent departures as the game does not support this.
|
||||
|
||||
## Disclaimer
|
||||
|
||||
@@ -236,7 +237,7 @@ Note that traffic data (`airlines = `) is expanded by a python script `expand_ai
|
||||
- Add approaches to many, many fixes as the approach limit has been lifted.
|
||||
- Add `RJTT` 16L/16R ILS approaches
|
||||
- Add `RJTT` "LDA" 22/23 approaches
|
||||
- `RJAA` arrivals now fly direct to first point inside `RJTT` ACA on their arrival route instead of NRE.
|
||||
- `RJAA` arrivals now fly direct to first point inside `RJTT` ACA on their arrival route instead of `NRE`.
|
||||
- Adjusted entry points
|
||||
- Added missing `ALDEN` waypoint for some STARs from `AROSA`
|
||||
- Adjusted traffic frequencies
|
||||
@@ -263,4 +264,27 @@ Note that traffic data (`airlines = `) is expanded by a python script `expand_ai
|
||||
- Minor adjustments/updates to airline traffic.
|
||||
- Added 'rare' traffic (head of state, navaid check)
|
||||
* 2.2.1 - 2020/12/19
|
||||
- Adjusted the distribution of traffic for each departure point.
|
||||
- Adjusted the distribution of traffic for each departure point
|
||||
* 2.2.2 - 2020/12/29
|
||||
- Fixed bug where `JCG` would not spawn at `RJTT`
|
||||
* 3.0.0 - 2021/02/20
|
||||
- Almost complete rewrite of source
|
||||
- Fixed WTC category of `KC2`.
|
||||
- `HKE` Hokuso VORDME decommissioned as of 2021/03/25.
|
||||
- abolish fixes `SWIMY`, `ABBOT`
|
||||
- establish fix `BOSPA`
|
||||
- revised holding at `TEMIS`
|
||||
- Add MLIT attribution to readme as per MLIT Standard Terms of Use.
|
||||
- Additional rare traffic.
|
||||
- Update magnetic variation to -8 (2020)
|
||||
- Correct expected inbound headings to some STARs (should have no effect on gameplay)
|
||||
- Added approaches from the end of the point merge arcs to facilitate vectoring when arc capacity exceeded
|
||||
- Added approaches from the FAF to allow clearing for the approach via the IF
|
||||
- Improve point merge arc visualization
|
||||
- Change format of SID names
|
||||
- Correct names and pronunciations of some departures
|
||||
- Corrected runway priority for `RJTT` 16L/R (16L is now prioritized)
|
||||
- Departures from 16R now start past the intersection with 22 as per real life
|
||||
- Reduced frequency of traffic at `RJTL` to 1/3 of previous.
|
||||
- Implement ILS Y 16L/16R approaches at `RJAA`
|
||||
- Implement ILS X 34L/ILS Y 34R approaches at `RJTT`
|
||||
@@ -1,10 +1,10 @@
|
||||
# `RJTT` 進入管制区 2.2.1
|
||||
# `RJTT` 進入管制区 3.0.0
|
||||
|
||||
*作者は日本人ではないため、圧倒的語彙力のなさと知識不足によるおかしいまたは間違っている表現があるかもしれません。
|
||||
|
||||
TOKYO ACA(東京進入管制区)を[Endless ATC](https://steamcommunity.com/app/666610)に実装する追加データファイルです。`RJTT`東京国際空港(羽田)と`RJAA`成田国際空港が再現されています. 海上自衛隊の`RJTL`下総基地も高難易度及び高スコアでは再現されています. 空域の上限はFL240です.
|
||||
|
||||
AIP Japan 2020/10/08をベースとして作られています。再現されているSID及びSTARは現実の運用と異なる場合があるかもしれませんが、基本的に日中の景気気象状態 (IMC) を再現しているつもりです。すべての航空機がRNAV対応としていて、RNAVの代わりがない場合を除き非RNAVのSID及びSTARは実装されていません。海岸のデータはnaturalearthdata.comのを使っています。
|
||||
AIP Japan 2021/03/25 (国土交通省) (https://aisjapan.mlit.go.jp/)をもとに作成しています。再現されているSID及びSTARは現実の運用と異なる場合があるかもしれませんが、基本的に日中の景気気象状態 (IMC) を再現しているつもりです。すべての航空機がRNAV対応としていて、RNAVの代わりがない場合を除き非RNAVのSID及びSTARは実装されていません。海岸のデータはnaturalearthdata.comのを使っています。
|
||||
|
||||
TOKYO ACAは日本最大の二つの空港を含む非常に広い空域です。羽田と成田に飛来する航空機の数が膨大ではありますが、これら二つの空港で定められたSID及びSTARはよく作られていて、それによって大量の航空機を捌けることができます。 プレイヤーの仕事は到着機感覚の整理と合流ポイントの監視がほとんどで、STAR外の遅延ベクターなしで40以上のスコアを叩き出せるはずです。
|
||||
|
||||
@@ -17,13 +17,13 @@ STARはこのゲームの進入方式で再現されています。進入方式
|
||||
|
||||
### `RJTT` 東京(羽田)国際空港
|
||||
|
||||
羽田空港です。国内便が多いですが、国際便もあります。出発便は西へのが多くて、到着便は南西方向から多く飛来します。
|
||||
|
||||
発着便の設定は推測ですが現実とかけ離れてることはないでしょう。
|
||||
|
||||
マップ上のフィックスのいくつかは指定のホールドが設定されています。ミスドアプローチのホールドは34L/23/16Rなら`UTIBO`、34R/22なら`KASGA`, 16Lなら`SNOKE`.
|
||||
|
||||
*未翻訳
|
||||
The main airport of this sector. Previously only handling domestic traffic and very limited international flights to key East Asian cities, Haneda now handles a fair amount of international traffic along with most of Tokyo's domestic traffic. As such, traffic is biased towards the west for departures and southwest for arrivals.
|
||||
|
||||
There is custom traffic for `RJTT`. The proportions are very much estimates but shouldn't be too far off from reality.
|
||||
|
||||
Most fixes visible on the map have a defined hold including many fixes along the STARs. The published hold for missed approaches is `UTIBO` for 34L/23/16R, `KASGA` for 34R/22, and `SNOKE` for 16L.
|
||||
|
||||
Aircraft arrive at 6 points:
|
||||
|
||||
- `SPENS` -`Y71`-> `XAC` (west from western Japan, Korea, Northern China)
|
||||
@@ -113,13 +113,13 @@ A few different configurations are used in real operations; four are available i
|
||||
|
||||
### `RJAA` 成田国際空港
|
||||
|
||||
成田空港です。国内便が少ないですが、LCCと国際便とカーゴ便が多いです。
|
||||
|
||||
発着便の設定は推測ですが現実とかけ離れてることはないでしょう。
|
||||
|
||||
マップ上のフィックスのいくつかは指定のホールドが設定されています。ミスドアプローチのホールドは16R/34Lなら`BINKS`で16L/34Rなら`BOSPA`.
|
||||
|
||||
*未翻訳
|
||||
The secondary, yet also major airport of this sector. Previously handling almost all of Tokyo's international traffic, it has lost some of it to Haneda recently. However, it still handles a large chunk of Tokyo's international flights as well as the many cargo flights from FDX/UPS etc. RWY 34R which was too short when Narita opened to handle heavy aircraft has now been extended and can generally handle most aircraft other than the largest of aircraft such as A388.
|
||||
|
||||
There is custom traffic for `RJAA`. The proportions are very much estimates but shouldn't be too far off from reality.
|
||||
|
||||
Most fixes visible on the map have a defined hold including many fixes along the STARs. The published hold for missed approaches is `SWIMY` for 16R/34L and `ABBOT` for 16L/34R.
|
||||
|
||||
Aircraft arrive at 4 points:
|
||||
|
||||
- `MOE` -`Y81`-> `BAFFY` -`Y81`-> `RUTAS` (southwest from western and southwestern)
|
||||
@@ -209,12 +209,34 @@ Approaches are available using APP mode from `TOHNE` and `ASEKI`. Arrival routes
|
||||
|
||||
## For Developers
|
||||
|
||||
*未翻訳
|
||||
Note that traffic data (`airlines = `) is expanded by a python script `expand_airlines.py` from the shorter `source/RJTT.txt` according to the definitions in '`#!`' comments. If submitting a proposed change, please submit your changes in the source file.
|
||||
この追加ファイルに貢献したい方はsource/RJTT.txtを変更してから/tools/で"deploy.py RJTT"を実行してください。
|
||||
|
||||
## 変更履歴
|
||||
|
||||
* 2.2.0 - 2020/12/02
|
||||
-日本語初リリース
|
||||
* 2.2.1 - 2020/12/19
|
||||
-管制区の離脱ポイントの交通量バランスを調整しました。
|
||||
-管制区の離脱ポイントの交通量バランスを調整しました
|
||||
* 2.2.2 - 2020/12/29
|
||||
-RJTTにJCGがスポーンしない不具合を修正
|
||||
* 3.0.0 - 2021/02/20
|
||||
- ソースをほぼ丸ごと再作成
|
||||
- `KC2`のWTCを修正
|
||||
- `HKE` 北総 VORDME 廃止
|
||||
- `SWIMY`、`ABBOT`廃止
|
||||
- 新たに`BOSPA`を設定
|
||||
- `TEMIS`でのホールド変更
|
||||
- READMEに出典の記載を追加
|
||||
- レア発着機を追加
|
||||
- 磁気変動を-8(2020)に更新
|
||||
- いくつのSTARの最初ポイントでの推定方向を修正(プレイへの影響はありません)
|
||||
- アークのキャパシティオーバー時のベクタリングを容易にするためにポイントマージのアークの最終ポイントからのアプローチを追加
|
||||
- FAFからのアプローチを追加、これによって直接IFからの進入が可能
|
||||
- ポイントマージアークの描写を改良
|
||||
- SIDの名前の形式を変更
|
||||
- 間違ってる名前と発音の修正
|
||||
- `RJTT` 16L/Rの優先度を修正 (16Lを優先)
|
||||
- 16Rからの離陸を22との交差点より先から始まるように修正
|
||||
- `RJTL`の発着レートを三分の一に下げました.
|
||||
- `RJAA` ILS Y 16L/16R アプローチを実装
|
||||
- `RJTT` ILS X 34L/ILS Y 34R アプローチを実装
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,177 @@
|
||||
**DUE TO NATURE OF TRAFFIC AT THE `ROAH` AERODROME, THIS AIRPORT FILE HAS QUIRKS RELATED TO MILITARY AIRCRAFT TO/FROM `ROAH`.**
|
||||
|
||||
# `ROAH` ACA 1.0.0
|
||||
|
||||
This is an implementation of the Naha ACA (Approach Control Area) for [Endless ATC](https://steamcommunity.com/app/666610) featuring `ROAH` Naha Airport in Okinawa, Japan, as well as `RODN` Kadena Air Base and `ROTM` MCAS Futenma. The airspace ceiling is FL200.
|
||||
|
||||
Based on AIP Japan (Ministry of Land, Infrastructure, Transport and Tourism) (https://aisjapan.mlit.go.jp/html/AIP/html/DomesticAIP.do). The choice of SIDs and STARs may not be 100% accurate to real life but should be reasonably accurate reflecting daytime IMC conditions. All aircraft are assumed to be RNAV capable; no conventional NAVAID-based SIDs or STARs are implemented unless there is no RNAV alternative. Coastline data from naturalearthdata.com.
|
||||
|
||||
The Naha ACA is a mostly circular terminal area typical for an island airport. There is a heavy military presence, and military training areas are scattered around the main island as well between the airways that extend out from the Naha `NHC` VORTAC. Approach and departure paths cross over/under each other just north of Naha, and there are many potential conflict points to the west/east of Okinawa as well. The majority of traffic enters the ACA from the northeast from mainland Japan and southwest from the other Ryukyu islands such as Miyakojima and Ishigaki. USAF training area W-178(A) is depicted as inactive for gameplay purposes. Expect heavy use of vectors, especially as traffic increases.
|
||||
|
||||
STARs are implemented as approach transitions. To activate an approach, an aircraft must be flying direct to an applicable fix, then the APP button can be activated. Multiple approaches may be available from a fix, to the same airport or even different airports. Pressing the APP button again before issuing the approach clearance (do not long press) will select the next approach available from that fix. If the aircraft is already on an approach from that fix, you will need to cancel the approach clearance first before issuing another approach clearance.
|
||||
|
||||
`ROKR` Kerama, `RORA` Aguni, `RORE` Iejima, and `RODE` Ie Shima Auxiliary are not represented due to a lack of traffic to/from outside of the ACA. However, the runways of the former three airports are shown on the map.
|
||||
|
||||
## Airports
|
||||
|
||||
### `ROAH` Naha
|
||||
|
||||
The main airport of this sector. Jointly used by civilian and JSDF traffic, this airport on the southern tip of Okinawa Island has added a new parallel runway in the sea to the west in response to increased traffic including the increases in scrambles of fighter jets. Unlike Chitose in Hokkaido, civilian and military traffic use the same runways, meaning passengers onboard airliners are able to see fighters taking off with afterburners from their window seat.
|
||||
|
||||
As a controller, the mix of aircraft may be more exciting than the normal airport, but will need attention when the `F16` zooming along catches up to the `AT46`... STARs are available, however in real life vectors are used heavily.
|
||||
|
||||
**SOME MILITARY AIRCRAFT (`F16`, `T4`, `P3`, `E2`) ARE DEPICTED AS AIRCRAFT LANDING AT "`JF`" AERODROME FOR TECHNICAL REASONS. THESE AIRCRAFT SHOULD LAND AT `ROAH`.**
|
||||
|
||||
There is custom traffic for `ROAH`. The proportions are very much estimates but shouldn't be too far off from reality.
|
||||
|
||||
Major fixes on the map have a defined hold including many fixes along the STARs. The published hold for missed approaches is `OLVAL`.
|
||||
|
||||
Aircraft arrive at 3 points:
|
||||
|
||||
- `PRIUS` -`Y525`-> `IHEYA` (north/north east from mainland Japan/Korea)
|
||||
- `GEMNI` -`Y57`-> `VELNO` (southwest from western Ryukyu Islands/Taiwan)
|
||||
- `BUICK` -`V75`-> `NANJO` (east from Daito Islands/Pacific Ocean)
|
||||
|
||||
Aircraft depart via:
|
||||
|
||||
- `CHAMP` (north via `Y579` to Korea)
|
||||
- `AMAMI` (north/northeast via `Y574`/`Y53`/`Y25` etc. northeast for mainland Japan)
|
||||
- `BUICK` (east via `V75` for Daito Islands/Pacific Ocean)
|
||||
- `GANJU` or `CANOP` depending on runway (southwest for western Ryukyu Islands/Taiwan)
|
||||
|
||||
There are two runways:
|
||||
|
||||
- 18L/36R
|
||||
- 18R/36L (new west parallel runway)
|
||||
|
||||
Two landing configurations are in general use:
|
||||
|
||||
- Landing 36L, departing 36R
|
||||
|
||||
The west runway is used for arrivals while the east runway is used for departures. In real life, traffic may land 36R for a shorter taxi if traffic allows.
|
||||
|
||||
Approaches to 36L are available from `BLISS`.
|
||||
|
||||
STARs are available using APP mode from `IHEYA`, `VELNO`, `BUICK`, and some intermediate points on the STARs. Military aircraft may only engage app mode from certain outer fixes due to technical reasons; recommend vectors to final if not suitable STAR available.
|
||||
|
||||
Use caution for departures towards `KIZNA` conflicting with 05 arrivals to `RODN`. Vectoring may be required to the west at altitude 1200 to clear `RODN` 05 arrivals descending through 2200 at `JIMMY`.
|
||||
|
||||
Simultaneous approaches to 36L and 36R are NOT authorized.
|
||||
|
||||
- Landing 18R, departing 18L
|
||||
|
||||
The west runway is used for arrivals while the east runway is used for departures. In real life, traffic may land 18L for a shorter taxi if traffic allows.
|
||||
|
||||
Approaches to 18R are available from `SALSA`.
|
||||
|
||||
STARs are available using APP mode from `IHEYA`, `VELNO`, `BUICK`, and some intermediate points on the STARs. Military aircraft may only engage app mode from certain outer fixes due to technical reasons, **except for from `VIGER`**. **FOR `JF` AIRCRAFT, TO INITIATE AN APPROACH FROM `VIGER`, USE THE SECOND APPROACH BY SELECTING "APP" TWICE. THE ASSIGNED APPROACH SHOULD BE TO RWY `18LJF` VIA 15 DME ARC CCW. *`JF` aircraft will go around if the runway selected is `18L`.*** Recommend vectors to final if not suitable STAR available.
|
||||
|
||||
Use caution for arrivals conflicting with 05 arrivals to `RODN`. `RODN` arrivals may need to held over `JACKS` for a gap in `ROAH` arrivals.
|
||||
|
||||
Simultaneous approaches to 18L and 18R are NOT authorized.
|
||||
|
||||
### `RODN` Kadena Air Base
|
||||
|
||||
This is the USAF's home in Okinawa. A variety of aircraft, military or chartered civilian, fly in and out of this aerodrome going to training areas or other USAF bases in Japan/Guam/USA.
|
||||
|
||||
There is custom traffic for `RODN`. The proportions and callsigns are very much plain guesses however, no assertions are made regarding accuracy (instead, assertions are made regarding its *inaccuracy*.)
|
||||
|
||||
Major fixes on the map have a defined hold.
|
||||
|
||||
Aircraft depart to ATS routes via `BASHO` `BUICK` `DODGE` or `ONC`, or to the North Range and South Range. There are real life SIDs but they are all just two points in a (mostly) straight line after departure to a waypoint not connected to the ATS routes. Therefore no SIDs are implemented, just a heading after departure. Departures should be vectored until direct to exit point can be issued.
|
||||
|
||||
There are two runways:
|
||||
|
||||
- 05L/23R
|
||||
- 05R/23L
|
||||
|
||||
There are two simple runway configurations:
|
||||
|
||||
- Landing 05L, departing 05R
|
||||
|
||||
The north runway is mainly used for arrivals and the south runway is mainly used for departures.
|
||||
|
||||
Approaches to 05L are available from `JACKS` etc.
|
||||
|
||||
No STARs are available, arrivals should be vectored to `JACKS` or other fixes on the approach.
|
||||
|
||||
Use caution for `ROAH` arrivals to 18s or departures from 36s. Arrivals must descend through 2200 at `JIMMY` to remain on GS. Recommend vectors for `ROAH` 36 departures to maintain separation. ~~Recommend holding `RODN` arrivals at `JACKS` until gap can be made in `ROAH` 18 arrivals.~~ **Due to conflicts with `ROAH` 36 departures, 05L has been raised 500ft to displace the glideslope so 05 approaches do not conflict.** However, the `JIMMY` 2200 restriction has been maintained to simulate the original GS.
|
||||
|
||||
The published hold for missed approaches is straight ahead to `IMONO`.
|
||||
|
||||
- Landing 23R, departing 23L
|
||||
|
||||
The north runway is mainly used for arrivals and the south runway is mainly used for departures.
|
||||
|
||||
Approaches to 23R are available from `IMONO` etc.
|
||||
|
||||
No STARs are available, arrivals should be vectored to `IMONO` or other fixes on the approach.
|
||||
|
||||
Use caution for `ROAH` arrivals to 18s or departures from 36s. Departures must climb to at least 2200 to clear. **Due to conflicts between 05 arrivals and `ROAH` 36 departures, 05L/23R has been raised 500ft to displace the glideslope.** However, the altitudes for the fixes along the 23R ILS have been maintained to simulate the original GS.
|
||||
|
||||
The published hold for missed approaches is straight ahead to `JACKS`.
|
||||
|
||||
### `ROTM` MCAS Futenma
|
||||
|
||||
A USN airfield south of Kadena. Most traffic would be helicopters to training areas around Okinawa, but there is some fixed wing traffic to other US military facilities.
|
||||
|
||||
There is custom traffic for `ROTM`. The proportions and callsigns are very much plain guesses however, no assertions are made regarding accuracy (instead, assertions are made regarding its *inaccuracy*.)
|
||||
|
||||
Aircraft depart to ATS routes via `BASHO` `BUICK` `DODGE` or `ONC`. No SIDs are implemented, just a heading after departure. Departures should be vectored until direct to exit point can be issued.
|
||||
|
||||
There is one runway:
|
||||
|
||||
- 06/24
|
||||
|
||||
There are two simple runway configurations:
|
||||
|
||||
- Landing and departing 06
|
||||
|
||||
No approach fixes are available, and no STARs are available, arrivals should be vectored to final.
|
||||
|
||||
Use caution for `ROAH` traffic under the approach path and parallel `RODN` arrivals to the north.
|
||||
|
||||
- Landing and departing 24
|
||||
|
||||
No approach fixes are available, and no STARs are available, arrivals should be vectored to final.
|
||||
|
||||
Use caution for `ROAH` traffic under the departure path and parallel `RODN` arrivals to the north.
|
||||
|
||||
### `ROKJ` Kumejima
|
||||
|
||||
A runway with a small apron on this island west of Okinawa. The only scheduled service is to `ROAH` Naha, and a seasonal service to `RJTT` Tokyo Haneda.
|
||||
|
||||
There is custom traffic for `ROKJ`. Unfortunately, traffic to `ROAH` cannot be simulated due to the game not supporting this. Only the seasonal traffic to/from the northeast is simulated.
|
||||
|
||||
Aircraft depart and arrive via the `NHC` - `LAVON` - `GURUX` - `DORIS` corridor.
|
||||
|
||||
There is one runway:
|
||||
|
||||
- 03/21
|
||||
|
||||
Only one runway configuration is implemented:
|
||||
|
||||
- Landing and departing 03
|
||||
|
||||
Approaches are available from `DUFFY` and `DORIS`.
|
||||
|
||||
The published hold for missed approaches is a *left* turn to `DORIS`.
|
||||
|
||||
## Known Issues
|
||||
|
||||
- Have different types of traffic use different entry/exit gateways are not possible in this game, therefore aircraft using civil and military routes are separated by duplicating `ROAH`, which means there are two runways each of 18L/36R and 18R/36L. As the game will allow you to select approaches meant for a different airport if they share a starting fix with an approach for the airport the selected aircraft is landing at, this can lead to military aircraft flying the "civilian" approach and going around due to trying to land at the "wrong" airport. To avoid this issue, civil and military aircraft landing `ROAH` do not have approaches that share fixes.
|
||||
- Many areas have their ceiling marked as "0" as they are likely not active for all of their hours of operation and interfere with standard flight paths, or because they are shared with traffic to different airports (which is not supported by the game)
|
||||
- No `ROAH`-`ROKJ` traffic
|
||||
- No `RODN` SIDs - the SIDs are available on the AIP, but the connecting routes to airways are not published as airways or procedures, or even as direct routes or flight planned routes via AIC. Author is only aware of one - `ADDAN` (`DCT`) `BASHO` (`DCT`) `AMAMI`. In fact, `BASHO` does not appear to be used for any other purpose...
|
||||
|
||||
## Disclaimer
|
||||
|
||||
This is a best effort work based on air traffic observations and official aeronautical publications. No guarantee is made that the representation of Naha ACA matches real life procedures in any way. Especially, procedures around `RODN` Kadena and `ROTM` Futenma may be grossly inaccurate, and callsigns for military aircraft are very likely to be either incorrect, out of date, or completely fabricated. Any information (that is not classified or secret in any way) regarding inaccuracies is appreciated.
|
||||
|
||||
## For Developers
|
||||
|
||||
This file is built from `source\ROAH.txt` via `deploy.py`. Make any contributions to `source\ROAH.txt` and NOT to `.\ROAH.txt`.
|
||||
|
||||
## Changelog
|
||||
|
||||
* 1.0 - 2021/02/08 - Initial version.
|
||||
+2516
-7464
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,23 @@
|
||||
[expand.callsigns]
|
||||
|
||||
ckstr = check star
|
||||
rch = reach
|
||||
cnv7 = convoy 7
|
||||
cnv3 = convoy 3
|
||||
madfox = mad fox
|
||||
pswrd = password
|
||||
brgham = brigham
|
||||
vampr = vampire
|
||||
tmboy = tomboy
|
||||
neptn = neptune
|
||||
cygns = cygnus
|
||||
|
||||
#sfj = stah-foo-lai-yaa
|
||||
#ana = ollu neeppawn
|
||||
#jal = juh-pawn eh are
|
||||
#snj = nyuh sky
|
||||
#jta = j oh-shun
|
||||
#ado = eh are do
|
||||
#jjp = orenji lie-nuh
|
||||
#apj = eh are peach
|
||||
#rsd = state aero
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,373 @@
|
||||
Endless ATC Dubai CTA v1.4 by Zac Kaplowitz
|
||||
|
||||
AIRAC 2103
|
||||
|
||||
v1.4 covers the Dubai CTA (OMDB, OMSJ, OMDW) in the 30 configuration. The Minhad restricted airspace is not yet included.
|
||||
|
||||
At OMDB, 30L is for arrivals, 30R is for departures. The platform altitude for 30L is 2000 feet. The platform altitude for 30R is 3000 feet. These altitudes must be used for glideslope intercept.
|
||||
|
||||
Aircraft should never fly the full STAR unless traffic necessitates it. Vectors should be used from the downwind leg to expedite the flow of traffic. A 90 degree base leg and a 30 degree ILS intercept must be used.
|
||||
|
||||
D-APO is implemented at OMDB. With skill set to 12 or above, 30R will open for arrivals as well as departures. 30R arrivals must still maintain separation from 30L arrivals and must establish at 3000 feet.
|
||||
For the purposes of separation, the 30L and 30R localisers are considered to be the same localiser.
|
||||
|
||||
At OMSJ, 30 is used for both arrivals and departures, meaning ICAO separation minima of 7nm must be applied on approach. The platform altitude for 30 is 2000 feet.
|
||||
|
||||
At OMDW, 30 is used for both arrivals and departures, meaning ICAO separation minima of 7nm must be applied on approach. The platform altitude for 30 is 2000 feet.
|
||||
|
||||
The initial climb at OMDB is 4000 feet. It is 3000 feet at OMDW, and 2000 feet at OMSJ.
|
||||
|
||||
Airspace from 1500-FL150.
|
||||
|
||||
On initial contact, arriving aircraft should be cleared for the arrival.
|
||||
|
||||
The minimum separation in the CTA is 3nm. The minimum separation on the localiser at OMDB is 2.5nm. Aircraft on the same SID must be handed off to UAE Radar with at least 8nm in trail.
|
||||
Aircraft entering the Muscat FIR via the same SID (any ANVIX departure, OMDB IVURO departures, OMDW NOLSU departures, OMSJ GETID departures) must be separated by 20nm on CTA exit.
|
||||
|
||||
In general altitudes are used for arrivals and odd altitudes for departures. This is ignored below 4000ft, as 3000ft is used to separate arrivals more efficiently.
|
||||
|
||||
Realistic traffic config:
|
||||
Skill 7, cap 9
|
||||
Flow 30, cap 30
|
||||
|
||||
---------------------------------------------------------
|
||||
---------------------------------------------------------
|
||||
---------------------------------------------------------
|
||||
|
||||
General Arrival procedures
|
||||
Speeds
|
||||
|
||||
CTA entry - 230 knots
|
||||
Turning downwind on the DATOB5Z, IMPED3C, NOLSU2M, PUVAL6Z arrivals - 210 knots
|
||||
Passing the threshold on the downwind leg - 190 knots
|
||||
Until 10nm - 190 knots
|
||||
After 10nm - 160 knots
|
||||
|
||||
---------------------------------------------------------
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDB Arrival Procedures
|
||||
IMPED3C
|
||||
|
||||
Passing IMPED, direct ULDOT may be given for a straight-in approach. From the upwind leg, directs may be given to GIRGO, VELAR or RIDEV.
|
||||
6000 feet until DB515, then not below 4000 feet until established on downwind, then as required.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDB Arrival Procedures
|
||||
LORID4D
|
||||
|
||||
If there are no ANVIX departures from OMDB, direct DB533 is permitted once past ORGUR. Directs to DB528 or RARPI are permitted once past EMOPO.
|
||||
10000 feet until ORGUR, then 8000 feet until crossing DB533, then 6000 feet, then as required.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDB Arrival Procedures
|
||||
PUVAL5C
|
||||
|
||||
If there are no IVURO departures from OMDB and no arrivals or departures at OMSJ, direct GIRGO/VELAR/RIDEV may be given.
|
||||
10000ft until clear of IVURO departures from OMDB and GETID departures from OMSJ, then 9000 feet until clear of GONVI arrivals into OMSJ, then 8000 feet, then 6000 feet, then as required.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDB Arrival Procedures
|
||||
VUTEB3D
|
||||
|
||||
No direct routings permitted.
|
||||
8000 feet until PATID, then 6000 feet until clear of departing traffic from OMDB and OMSJ, then 4000 feet until clear of 30L localiser, then as required.
|
||||
|
||||
---------------------------------------------------------
|
||||
---------------------------------------------------------
|
||||
|
||||
OMSJ Arrival Procedures
|
||||
GONVI4M
|
||||
|
||||
No direct routings permitted.
|
||||
8000 feet until UKROL, then as required.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMSJ Arrival Procedures
|
||||
LORID4M
|
||||
|
||||
No direct routings permitted.
|
||||
10000 until clear of OMDB westbound departures, then 8000 feet until UKROL, then as required.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMSJ Arrival Procedures
|
||||
NOLSU2M
|
||||
|
||||
Passing NOLSU, direct NOGSO may be given for a straight-in approach.
|
||||
6000 feet until SJ516, then as required, while ensuring traffic crosses SJ517 below 4000 feet.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMSJ Arrival Procedures
|
||||
PUVAL6M
|
||||
|
||||
Direct UKTAD is permitted.
|
||||
8000 feet until UKROL, then as required.
|
||||
|
||||
---------------------------------------------------------
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDW Arrival Procedures
|
||||
DATOB5Z
|
||||
|
||||
If there are no westbound or northbound departures from any airports, direct DEDAX is permitted.
|
||||
10000 feet until DW427, then 8000 feet until DEDAX (or clear of OMDW departures), then as required.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDW Arrival Procedures
|
||||
LORID3Z
|
||||
|
||||
If there are no southbound departures from OMDW, direct DEDAX is permitted.
|
||||
8000 feet until TATMO, then 6000 feet until DEDAX (or clear of OMDW departures), then as required.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDW Arrival Procedures
|
||||
PUVAL6Z
|
||||
|
||||
No directs permitted.
|
||||
12000 feet until IVOXI, then 10000 feet until DW427, then 8000 feet until DEDAX (or clear of OMDW departures), then as required.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDW Arrival Procedures
|
||||
UMAMI4Z
|
||||
|
||||
Passing UMAMI, direct GEXIK may be given for a straight-in approach.
|
||||
6000 feet, then as required.
|
||||
|
||||
---------------------------------------------------------
|
||||
---------------------------------------------------------
|
||||
---------------------------------------------------------
|
||||
|
||||
General Departure Procedures
|
||||
High speed in the CTA
|
||||
|
||||
High speed (above 250kt) for departures is permitted once all turns greater than 30 degrees are completed.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
General Departure Procedures
|
||||
Separation minima
|
||||
|
||||
Aircraft on the same SID must be handed off to UAE Radar 8nm in trail or greater. Aircraft entering the Muscat FIR via the same SID (any ANVIX departure, OMDB IVURO departures, OMDW NOLSU departures, OMSJ GETID departures) must be separated by 20nm on CTA exit.
|
||||
|
||||
---------------------------------------------------------
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDB Departure Procedures
|
||||
ANVIX7F
|
||||
|
||||
No direct routings permitted.
|
||||
7000 feet until DB588, then 9000 feet until clear of OMDW arrivals, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDB Departure Procedures
|
||||
DAVMO4F
|
||||
|
||||
No direct routings permitted.
|
||||
5000 feet until clear of VUTEB and PUVAL arrivals into OMDB, then 7000 feet clear of NOLSU and PUVAL arrivals into OMSJ, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDB Departure Procedures
|
||||
EMERU2F
|
||||
|
||||
No direct routings permitted.
|
||||
7000 feet until DB587, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDB Departure Procedures
|
||||
IVURO1F
|
||||
|
||||
No direct routings permitted.
|
||||
5000 feet until clear of VUTEB and PUVAL arrivals into OMDB, then 7000 feet until clear of NOLSU and PUVAL arrivals into OMSJ, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDB Departure Procedures
|
||||
KUTLI4F
|
||||
|
||||
No direct routings permitted.
|
||||
7000 feet until DB587, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDB Departure Procedures
|
||||
NABIX3F
|
||||
|
||||
No direct routings permitted.
|
||||
7000 feet until clear of LORID arrivals into OMDB and OMSJ, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDB Departure Procedures
|
||||
RIDAP2F
|
||||
|
||||
No direct routings permitted.
|
||||
7000 feet until clear of LORID arrivals into OMDB and OMSJ, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDB Departure Procedures
|
||||
SENPA3F
|
||||
|
||||
No direct routings permitted.
|
||||
7000 feet until clear of LORID arrivals into OMDB and OMSJ, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
---------------------------------------------------------
|
||||
|
||||
OMSJ Departure Procedures
|
||||
ANVIX5R
|
||||
|
||||
No direct routings permitted.
|
||||
5000 feet until clear of GONVI arrivals into OMSJ, then 7000 feet until clear of PUVAL arrivals into OMDB and OMSJ, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMSJ Departure Procedures
|
||||
DAVMO3R
|
||||
|
||||
No direct routings permitted.
|
||||
5000 feet until clear of NOLSU and PUVAL arrivals into OMSJ, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMSJ Departure Procedures
|
||||
EMERU1R
|
||||
|
||||
No direct routings permitted.
|
||||
5000 feet until clear of GONVI arrivals into OMSJ, then 7000 feet until clear of PUVAL arrivals into OMDB and OMSJ, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMSJ Departure Procedures
|
||||
GETID1R
|
||||
|
||||
No direct routings permitted.
|
||||
5000 feet until clear of GONVI arrivals into OMSJ, then 7000 feet until clear of PUVAL arrivals into OMDB and OMSJ, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMSJ Departure Procedures
|
||||
KUTLI3R
|
||||
|
||||
No direct routings permitted.
|
||||
5000 feet until clear of GONVI arrivals into OMSJ, then 7000 feet until clear of PUVAL arrivals into OMDB and OMSJ, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMSJ Departure Procedures
|
||||
NABIX2R
|
||||
|
||||
No direct routings permitted.
|
||||
2000 feet until clear of DAVMO and IVURO departures from OMDB, then 7000 feet until clear of VUTEB arrivals into OMDB, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMSJ Departure Procedures
|
||||
RIDAP2R
|
||||
|
||||
No direct routings permitted.
|
||||
2000 feet until clear of DAVMO and IVURO departures from OMDB, then 7000 feet until clear of VUTEB arrivals into OMDB, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMSJ Departure Procedures
|
||||
SENPA2R
|
||||
|
||||
No direct routings permitted.
|
||||
2000 feet until clear of DAVMO and IVURO departures from OMDB, then 7000 feet until clear of VUTEB arrivals into OMDB, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDW Departure Procedures
|
||||
ANVIX4L
|
||||
|
||||
No direct routings permitted.
|
||||
5000 feet until DW465, then 7000 feet until DW466, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDW Departure Procedures
|
||||
DAVMO4L
|
||||
|
||||
No direct routings permitted.
|
||||
7000 feet until XARTA, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDW Departure Procedures
|
||||
EMERU1L
|
||||
|
||||
No direct routings permitted.
|
||||
5000 feet until DW465, then FL150, handoff once leaving 5000 feet. Vectors may need to be used for separation as this SID is very short.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDW Departure Procedures
|
||||
KUTLI3L
|
||||
|
||||
No direct routings permitted.
|
||||
5000 feet until DW465, then FL150, handoff once leaving 5000 feet. Vectors may need to be used for separation as this SID is very short.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDW Departure Procedures
|
||||
NABIX3L
|
||||
|
||||
No direct routings permitted.
|
||||
7000 feet until XARTA, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDW Departure Procedures
|
||||
NOLSU3L
|
||||
|
||||
No direct routings permitted.
|
||||
5000 feet until DW465, then 7000 feet until DW466, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDW Departure Procedures
|
||||
RIDAP3L
|
||||
|
||||
No direct routings permitted.
|
||||
7000 feet until XARTA, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
OMDW Departure Procedures
|
||||
SENPA3L
|
||||
|
||||
No direct routings permitted.
|
||||
7000 feet until XARTA, then FL150.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
---------------------------------------------------------
|
||||
---------------------------------------------------------
|
||||
---------------------------------------------------------
|
||||
|
||||
Changelog
|
||||
|
||||
v1.0 - 11/03/2021 - Initial release
|
||||
|
||||
v1.1 - 11/03/2021 - Added D-APO, fixed callsign pronunciations, reduced frequency of DAVMO and IVURO departures, fixed auto-descent bug
|
||||
|
||||
v1.2 - 17/03/2021 - Added OMSJ and OMDW, adjusted OMDB departure proportions, modified MRVAs to allow for OMSJ and OMDW, modified readme climb instruction to reflect real world procedures for deconfliction of traffic to different airports in the CTA
|
||||
|
||||
v1.3 - 24/03/2021 - Fixed KUTLI3L departure, other minor fixes
|
||||
|
||||
v1.4 - 01/04/2021 - Updated to Endless ATC v4.4
|
||||
@@ -0,0 +1,330 @@
|
||||
[airspace]
|
||||
zoom = 6.0
|
||||
elevation = 302
|
||||
floor = 2000
|
||||
descendaltitude = 10000
|
||||
ceiling = 12000
|
||||
above = 14000
|
||||
transitionaltitude = 5500
|
||||
usa = false
|
||||
metric = false
|
||||
separation = 3
|
||||
center = N50.8658981323, E7.1427397728
|
||||
magneticvar = 2.0
|
||||
|
||||
boundary =
|
||||
N50.754601, E6.020928
|
||||
N50.609104, E6.205884
|
||||
N50.499370, E6.258987
|
||||
N50.412529, E6.384115
|
||||
N50.510673, E6.848411
|
||||
N50.516634, E7.466641
|
||||
N50.549697, E7.441157
|
||||
N50.718044, E7.891504
|
||||
N50.636724, E8.011521
|
||||
N50.690550, E8.126655
|
||||
N50.775308, E8.037499
|
||||
N50.833149, E7.975030
|
||||
N50.877131, E8.134464
|
||||
N51.035012, E7.935050
|
||||
N51.098429, E8.085047
|
||||
N51.198818, E8.006635
|
||||
N51.132102, E7.828882
|
||||
N51.090334, E6.756269
|
||||
|
||||
beacons =
|
||||
KBO, N50.86170, E7.14552, 0, Koeln/Bonn
|
||||
WYP, N51.04840, E7.28000, -261, Wipper
|
||||
COL, N50.78350, E7.59419, -298, Cola
|
||||
NVO, N50.82267, E6.63661, 068, Noervenich
|
||||
GULKO, N50.75367, E7.93700, -276, gulko
|
||||
DEPOK, N50.71367, E6.86133, 0, depok
|
||||
KOPAG, N51.06767, E7.80900, -205, kopag
|
||||
DK034, N50.88600, E7.12150, 0, deltakilo034
|
||||
DK035, N50.93483, E7.13567, 0, deltakilo035
|
||||
DK036, N50.97050, E7.24033, 0, deltakilo036
|
||||
DK037, N50.99183, E7.31383, 0, deltakilo037
|
||||
DK038, N51.02500, E7.41350, 0, deltakilo038
|
||||
DK040, N50.91950, E7.07350, 0, deltakilo039
|
||||
DK130, N50.82450, E7.20600, 0, deltakilo130
|
||||
DK132, N50.80300, E7.23717, 0, deltakilo132
|
||||
DK135, N50.75167, E7.17933, 0, deltakilo135
|
||||
DK141, N50.81767, E7.23667, 0, deltakilo141
|
||||
DK143, N50.81167, E7.29317, 0, deltakilo143
|
||||
DK144, N50.82583, E7.34817, 0, deltakilo144
|
||||
DK145, N50.86100, E7.35933, 0, deltakilo145
|
||||
DK415, N51.08533, E6.90050, 0, deltakilo415
|
||||
DK416, N51.09700, E7.00450, 0, deltakilo416
|
||||
DK417, N51.06617, E7.18400, 0, deltakilo417
|
||||
DK418, N51.05583, E7.46417, 0, deltakilo418
|
||||
DK428, N50.98167, E7.43083, 0, deltakilo428
|
||||
DK455, N51.03533, E6.90450, 0, deltakilo122
|
||||
DK495, N50.96750, E6.78750, 0, deltakilo495
|
||||
DK515, N50.98783, E7.54500, 0, deltakilo515
|
||||
DK527, N50.87367, E7.73750, 0, deltakilo527
|
||||
DK554, N50.95333, E7.42600, 0, deltakilo554
|
||||
DK615, N50.68200, E7.47050, 0, deltakilo615
|
||||
DK616, N50.69483, E7.54683, 0, deltakilo616
|
||||
DK617, N50.81617, E7.63217, 0, deltakilo617
|
||||
DK627, N50.72650, E7.75083, 0, deltakilo627
|
||||
DK654, N50.69617, E7.39433, 0, deltakilo654
|
||||
DK694, N50.62917, E7.27850, 0, deltakilo694
|
||||
LEGDU, N50.98650, E6.97617, 0, legdu
|
||||
RARIX, N50.75517, E7.31200, 0, rarix
|
||||
KUKIT, N50.93150, E7.35417, 0, kukit
|
||||
PODIP, N50.94533, E7.81717, 0, podip
|
||||
KUMIK, N50.83900, E8.07350, 0, kumik
|
||||
|
||||
[airport1]
|
||||
name = Cologne Bonn Airport
|
||||
code = EDDK
|
||||
runways =
|
||||
rwy1, 06, N50.8601, E7.12378, 64.0, 8068, 0, 0, 231
|
||||
rwy2, 14L, N50.8805, E7.12908, 136, 12516, 0, 0, 230
|
||||
rwy3, 14R, N50.8708, E7.12086, 136, 6112, 0, 0, 221
|
||||
|
||||
entrypoints =
|
||||
065, kopag
|
||||
114, gulko
|
||||
229, depok
|
||||
|
||||
climbaltitude = 5000
|
||||
|
||||
airlines =
|
||||
AUA, 2, E195/A319/A320/A321, Austrian, e
|
||||
BLA, 1, B733/B735/B738, Blue Air, s
|
||||
BUC, 1, A320/MD82, Bulgarian Charter, s
|
||||
CAI, 4, B738, Corendon, sw
|
||||
DLH, 3, CRJ9/A319/A320/A321, Lufthansa, s
|
||||
EWG, 10, A319/A320, Eurowings
|
||||
EWG, 10, A319/A320, Eurowings
|
||||
FDX, 10, B752/B772/MD11/AT75, Fedex
|
||||
FHM, 2, A320, Eurobird, sw
|
||||
HES, 1, A321, Holiday Europe, s
|
||||
IRA, 1, A306, Iranair, e
|
||||
JAW, 1, E170, Jasmin, s
|
||||
LBT, 1, A320, Nouvelair, s
|
||||
MAC, 1, A320, Arabia Maroc, w
|
||||
MSC, 1, A320, Air Cairo, s
|
||||
NOS, 1, B738, Moonflower, w
|
||||
OHY, 1, A320/A321, Onur Air
|
||||
PBD, 1, B738, Pobeda, ne
|
||||
PGT, 2, A320/A321/B738, Sunturk, s
|
||||
RYR, 10, B738, Ryanair
|
||||
SQP, 1, B737/B738/B739, Skyup, e
|
||||
SRN, 7, AT72, Sprintair
|
||||
SRR, 8, B762/B763, Whitestar
|
||||
SWT, 8, AT43/AT72/B752, Swift
|
||||
SXS, 1, B738, Sunexpress, s
|
||||
THY, 1, A320/A321/B738/B739, s
|
||||
TUI, 6, B738, Tuijet, sw
|
||||
UPS, 10, B748/B752/B763/MD11, UPS
|
||||
WZZ, 8, A320/A321, Wizzair, se
|
||||
|
||||
|
||||
[departure1]
|
||||
runway = rwy2
|
||||
route1 =
|
||||
NVO2F, noervenich two foxtrott
|
||||
N50.8030, E7.2372
|
||||
N50.7517, E7.1793
|
||||
N50.8227, E6.6366
|
||||
#DK132, DK135, NVO
|
||||
|
||||
route2 =
|
||||
WYP5F, wipper five foxtrott
|
||||
N50.8245, E7.2060
|
||||
N50.8177, E7.2367
|
||||
N50.8117, E7.2932
|
||||
N50.8258, E7.3482
|
||||
N50.8610, E7.3593
|
||||
N51.0484, E7.2800
|
||||
#DK130, DK141, DK143, DK144, DK145, WYP
|
||||
|
||||
route3 =
|
||||
COL3F, cola three foxtrott
|
||||
N50.8245, E7.2060
|
||||
N50.7835, E7.5942
|
||||
#DK130, COL
|
||||
|
||||
route4 =
|
||||
POD8F, podip six foxtrott
|
||||
N50.8245, E7.2060
|
||||
N50.7835, E7.5942
|
||||
N50.9453, E7.8172
|
||||
#DK130, COL, PODIP
|
||||
|
||||
route5 =
|
||||
KUM7F, kumik seven foxtrott
|
||||
N50.8245, E7.2060
|
||||
N50.7835, E7.5942
|
||||
N50.8390, E8.0735
|
||||
#DK130, COL, KUMIK
|
||||
|
||||
[departure2]
|
||||
|
||||
runway = rwy2, rev
|
||||
route1 =
|
||||
NVO2B, noervenich two bravo
|
||||
N50.9195, E7.0735
|
||||
N50.8227, E6.6366
|
||||
#DK040 NVO
|
||||
|
||||
route 2 =
|
||||
WYP5B, wipper five bravo
|
||||
N50.8860, E7.1215
|
||||
N50.9348, E7.1357
|
||||
N50.9705, E7.2403
|
||||
N51.0484, E7.2800
|
||||
#DK034, DK035, DK036, WYP
|
||||
|
||||
route 3 =
|
||||
COL3B, cola three bravo
|
||||
N50.8860, E7.1215
|
||||
N50.9348, E7.1357
|
||||
N50.9705, E7.2403
|
||||
N50.9918, E7.3138
|
||||
N50.7835, E7.5942
|
||||
#DK034, DK035, DK036, DK037, COL
|
||||
|
||||
route 4 =
|
||||
POD8B, podip eight bravo
|
||||
N50.8860, E7.1215
|
||||
N50.9348, E7.1357
|
||||
N50.9705, E7.2403
|
||||
N50.9918, E7.3138
|
||||
N51.0250, E7.4135
|
||||
N50.9453, E7.8172
|
||||
#DK034, DK035, DK036, DK037, DK038, PODIP
|
||||
|
||||
route 5 =
|
||||
KUM9B, kumik niner bravo
|
||||
N50.8860, E7.1215
|
||||
N50.9348, E7.1357
|
||||
N50.9705, E7.2403
|
||||
N50.9918, E7.3138
|
||||
N51.0250, E7.4135
|
||||
N50.9453, E7.8172
|
||||
N50.8390, E8.0735
|
||||
#DK034, DK035, DK036, DK037, DK038, PODIP, KUMIK
|
||||
|
||||
[approach1]
|
||||
runway = rwy2
|
||||
beacon = GULKO
|
||||
route 1 =
|
||||
320
|
||||
N50.7536, E7.9370
|
||||
N50.9817, E7.4308
|
||||
N51.0484, E7.2800
|
||||
N51.0662, E7.1840, 0, 220
|
||||
N51.0970, E7.0045
|
||||
N51.0853, E6.9005
|
||||
N51.0353, E6.9045
|
||||
11, 3000, 200
|
||||
#GULKO, DK428, WYP, DK417(220-), DK416, DK415, DK455
|
||||
|
||||
[approach2]
|
||||
runway = rwy2
|
||||
beacon = KOPAG
|
||||
route1 =
|
||||
270
|
||||
N51.0677, E7.8090
|
||||
N51.0558, E7.4642
|
||||
N51.0484, E7.2800
|
||||
N51.0662, E7.1840, 0, 220
|
||||
N51.0970, E7.0045
|
||||
N51.0853, E6.9005
|
||||
N51.0353, E6.9045
|
||||
11, 3000, 200
|
||||
#KOPAG, DK418, WYP, DK417(220-), DK416, DK415, DK455
|
||||
|
||||
[approach3]
|
||||
runway = rwy2
|
||||
beacon = DEPOK
|
||||
route1 =
|
||||
080
|
||||
N50.7137, E6.8613
|
||||
N50.9675, E6.7875, 0, 220
|
||||
N51.0353, E6.9045
|
||||
11, 3000, 200
|
||||
#DEPOK, DK495(220-), DK455
|
||||
|
||||
[approach4]
|
||||
runway = rwy2, rev
|
||||
beacon = GULKO
|
||||
route1=
|
||||
320
|
||||
N50.7536, E7.9370
|
||||
N50.7265, E7.7508, 0, 220
|
||||
N50.6948, E7.5468
|
||||
N50.6820, E7.4705
|
||||
N50.6961, E7.3943
|
||||
11, 3000, 200
|
||||
#GULKO, DK627(220-), DK616, DK615, DK654
|
||||
|
||||
[approach5]
|
||||
runway = rwy2, rev
|
||||
beacon = KOPAG
|
||||
route1 =
|
||||
270
|
||||
N51.0677, E7.8090
|
||||
N50.8162, E7.6322, 0, 220
|
||||
N50.6948, E7.5468
|
||||
N50.6820, E7.4705
|
||||
N50.6961, E7.3943
|
||||
11, 3000, 200
|
||||
#KOPAG, DK617(220-), DK616, DK615, DK654
|
||||
|
||||
[approach6]
|
||||
runway = rwy2, rev
|
||||
beacon = DEPOK
|
||||
route1 =
|
||||
080
|
||||
N50.7137, E6.8613
|
||||
N50.6292, E7.2785, 0, 220
|
||||
N50.6961, E7.3943
|
||||
11, 3000, 200
|
||||
#DEPOK, DK694, DK654
|
||||
|
||||
[approach7]
|
||||
runway = rwy1, rev
|
||||
beacon = GULKO
|
||||
route1 =
|
||||
180
|
||||
N50.7536, E7.9370
|
||||
N50.8737, E7.7375, 0, 220
|
||||
N50.98783, E7.54500
|
||||
N50.95333, E7.42600
|
||||
11, 3000, 220
|
||||
#GULKO, DK527(220-), DK515, DK554
|
||||
|
||||
[approach8]
|
||||
runway = rwy1, rev
|
||||
beacon = KOPAG
|
||||
route 1 =
|
||||
090
|
||||
N51.0677, E7.8090
|
||||
N50.98783, E7.54500
|
||||
N50.95333, E7.42600
|
||||
11, 3000, 220
|
||||
#KOPAG, DK515, DK554
|
||||
|
||||
[configurations]
|
||||
|
||||
config1 =
|
||||
0, rwy2, landstart
|
||||
#14L single
|
||||
|
||||
config2 =
|
||||
0, rwy2, landstartrev
|
||||
#32R single
|
||||
|
||||
config3 =
|
||||
0, rwy2, landstart
|
||||
0, rwy1, landrev
|
||||
#ARR 14L/24 DEP24
|
||||
|
||||
config4 =
|
||||
0, rwy2, landstartrev
|
||||
0, rwy1, landrev
|
||||
#ARR 32R/24 DEP32R
|
||||
@@ -0,0 +1,25 @@
|
||||
Cologne Bonn Airprot
|
||||
|
||||
Cologne is a medium sized airport located in the west of Germany.
|
||||
During Daytime it is not particulary busy but during the night at peak time there are a lot cargo aircraft coming in.
|
||||
|
||||
A big challenge of EDDK is that the APP sector is quite small and therefore precise preplanning is required to handle traffic.
|
||||
Normal config at EDDK is 14L or 32R single operations and runway 24 may be used in adition to that as a landing runway to shorten flight and taxi times.
|
||||
If runway 14L/32R and 24 are active for landing it is required to separate the arrivals as these are crossing runways, so having runway 24 open, does not mean double capacity.
|
||||
Arrivals will be transfered via GULKO, KOPAG and DEPOK at FL100 (I don't know how to have different ALTs for different WPs) and then will normally be vectored towards final approach.
|
||||
In addition I added transition from GULKO/KOPAG/DEPOK for 14L/32R and GULKO/KOPAG for 24 which may be used but aren't normally in real life.
|
||||
If you want to use the 24 transitions you'll need to click the APP button twice, then you can toggle through the transitions.
|
||||
The DEPOK transition is slightly modified in comparison to real life to make it usable in the game
|
||||
There is no transition out of DEPOK for runway 24, so you'll need to vector the aircraft if you want them on runway 24.
|
||||
Departures will normally easily overclimb the arrivals and will be handed of climbing to FL140.
|
||||
|
||||
|
||||
I might add:
|
||||
- 06/24 departures at a later stage, which would allow to add 06/14L 06/32R and 24 single operations.
|
||||
- a transition from DEPOK for runway 24 if neede
|
||||
|
||||
|
||||
Most importantly enjoy the airport!
|
||||
|
||||
|
||||
Any feedback is highly appreciated!
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,48 @@
|
||||
# Munich Airport "Franz Josef Strauß" in the south of Germany.
|
||||
|
||||
Second hub of Lufthansa, offering many international and intercontinental routes. Munich has two runways, equally used for takeoffs and landings.
|
||||
|
||||

|
||||
|
||||
## Some tips on how it can be played
|
||||
|
||||
- The approaches are meant to help coordination during high traffic. During low traffic, controllers usually skip the transitions completely and vector to final, sometimes giving directs to waypoints.
|
||||
- Departures are cleared to FL70, meaning that they might have to pass below approaching traffic following the transitions. This is one reason why vectoring arriving planes can be handy, as you can keep more space between arrivals and departures.
|
||||
- Skill Cap 16 works fine so that some planes can still depart between the arrivals.
|
||||
|
||||
## Already working:
|
||||
- most SIDs exist
|
||||
- various transitions and approach waypoints
|
||||
- real airspaces
|
||||
- pre-covid airlines
|
||||
|
||||
## TODOs, help wanted!
|
||||
- general aviation traffic missing, maybe government traffic
|
||||
- special cargo traffic missing, for example antonovs
|
||||
- airline traffic frequency balance probably not ideal
|
||||
- check if airspace height restrictions make sense
|
||||
- check if some SIDs can be removed because they are barely used in real life
|
||||
- check if arrival entry directions make sense, same for descent altitude
|
||||
|
||||
## Changelog
|
||||
|
||||
### v1.2
|
||||
|
||||
- added rwy configs
|
||||
- use new feature of v4.4.0: stars now end on heading like in real life. No more automatic approaches
|
||||
|
||||
### v1.1
|
||||
|
||||
- Planes now arrive with clearance to ROKIL, LANDU, BETOS or NAPSA, more like in real life where MIQ/OTT are pretty much never used
|
||||
- Moved transition altitude to 6000ft, to make transition more realistic for arriving traffic. This is not 100% realistic, but the game does not offer a transition level
|
||||
- Added new Commercial jets and cargo airlines, also added some airlines I forgot
|
||||
- Added some explanations on how to play to readme
|
||||
- Overwriting default speed restriction set by the game, so that planes don't slow down automatically anymore
|
||||
- Removed OBI VOR because it was next to a waypoint, so it was more annoying than helpful
|
||||
- Removed unused default sids
|
||||
|
||||
### v1.0
|
||||
|
||||
Initial version
|
||||
|
||||
**Feedback or improvements? Create an issue or contribute directly: https://github.com/AdamJCavanaugh/EndlessATCAirports#contributing**. This airport uses no source file to generate stuff, so the [EDDM.txt](EDDM.txt) file can be edited as is.
|
||||
@@ -0,0 +1,531 @@
|
||||
[airspace]
|
||||
zoom = 2.5
|
||||
elevation = 425
|
||||
floor = 3000
|
||||
descendaltitude = 11000
|
||||
ceiling = 15000
|
||||
above = 24000
|
||||
transitionaltitude = 5500
|
||||
usa = false
|
||||
metric = fasle
|
||||
separation = 3
|
||||
center = N51.605833, E8.16167
|
||||
magneticvar = 0.106
|
||||
|
||||
boundary =
|
||||
N51.99450, E6.81517
|
||||
N51.92733, E6.78683
|
||||
N51.68950, E7.44417
|
||||
N51.51833, E7.30500
|
||||
N51.42483, E7.34250
|
||||
N51.31500, E7.45967
|
||||
N51.14133, E7.82733
|
||||
N50.87467, E8.11350
|
||||
N50.92067, E8.30300
|
||||
N51.01833, E8.59283
|
||||
N51.33450, E8.88500
|
||||
N51.47417, E8.86150
|
||||
N51.57583, E9.00433
|
||||
N51.80567, E9.00167
|
||||
N51.80567, E8.86017
|
||||
N51.90417, E8.86017
|
||||
N52.13650, E8.79433
|
||||
N52.13650, E8.59383
|
||||
N52.29467, E8.52233
|
||||
N52.32417, E8.36483
|
||||
N52.32417, E7.86167
|
||||
N52.26817, E7.53617
|
||||
N52.24133, E7.05283
|
||||
N52.05167, E6.69033
|
||||
|
||||
beacons =
|
||||
DOR, N51.52530, E7.63106, 0, Wickede
|
||||
HMM, N51.85690, E7.70829, 0, Hamm
|
||||
GMH, N51.17050, E7.89204, 0, Germinghausen
|
||||
MOD, N52.13800, E7.68724, 0, Munster
|
||||
PAD, N51.62360, E8.63944, 0, Paderborn
|
||||
MYN, N52.15930, E7.79999, 0, Munster
|
||||
OSN, N52.20010, E8.28552, 0, Osnabruck
|
||||
RKN, N52.13320, E6.76388, 0, Rekken
|
||||
WRB, N51.50683, E9.11000, 0, Warburg
|
||||
LW101, N51.47700, E7.49383, 0, limawhiskey101
|
||||
LW102, N51.44050, E7.47900, 0, limawhiskey102
|
||||
LW103, N51.40650, E7.50883, 0, limawhiskey103
|
||||
LW104, N51.38783, E7.52483, 0, limawhiskey104
|
||||
LW105, N51.28617, E7.82617, 0, limawhiskey105
|
||||
LW106, N51.49017, E7.43017, 0, limawhiskey106
|
||||
LW107, N51.55750, E7.37133, 0, limawhiskey107
|
||||
LW108, N51.39417, E7.31417, 0, limawhiskey108
|
||||
LW200, N51.55850, E7.72350, 0, limawhiskey200
|
||||
LW201, N51.56833, E7.74967, 0, limawhiskey201
|
||||
LW202, N51.57900, E7.78083, 0, limawhiskey202
|
||||
LW203, N51.60450, E7.79917, 0, limawhiskey203
|
||||
LW204, N51.63217, E7.75367, 0, limawhiskey204
|
||||
LW205, N51.81017, E7.72500, 0, limawhiskey205
|
||||
LW206, N51.52150, E7.79467, 0, limawhiskey206
|
||||
LW207, N51.50417, E7.78483, 0, limawhiskey207
|
||||
LW208, N51.43367, E7.74283, 0, limawhiskey208
|
||||
LW209, N51.52400, E7.90100, 0, limawhiskey209
|
||||
LW211, N51.40917, E7.44917, 0, limawhiskey211
|
||||
DESOD, N51.41567, E8.08767, 0, desod
|
||||
ARNOP, N51.41567, E8.17650, 0, arnop
|
||||
BAMSU, N51.19083, E7.30717, 0, bamsu
|
||||
DOMEG, N51.71150, E7.58550, -170, domeg
|
||||
NUDGO, N51.41567, E8.43800, 0, nudgo
|
||||
ADEMI, N51.48467, E7.88583, -284, ademi
|
||||
D079J, N51.55550, E7.88583, 0, d079j
|
||||
LP100, N51.64150, E8.68067, 0, limapapa100
|
||||
LP101, N51.65217, E8.70550, 0, limapapa101
|
||||
LP102, N51.71617, E8.68783, 0, limapapa102
|
||||
LP104, N51.65317, E8.77400, 0, limapapa104
|
||||
LP105, N51.76917, E8.32683, 0, limapapa105
|
||||
LP106, N51.70750, E8.63800, 0, limapapa106
|
||||
LP107, N51.67883, E8.58217, 0, limapapa107
|
||||
LP202, N51.50750, E8.53317, 0, limapapa202
|
||||
LP203, N51.71100, E8.14767, 0, limapapa203
|
||||
LP204, N51.58017, E8.53083, 0, limapapa204
|
||||
LP205, N51.57017, E8.50433, 0, limapapa205
|
||||
LP206, N51.51983, E8.49200, 0, limapapa206
|
||||
LP207, N51.53583, E8.42050, 0, limapapa207
|
||||
GISDI, N51.27617, E8.81300, 0, gisdi
|
||||
TINSA, N51.51783, E8.07233, 0, tinsa
|
||||
D078I, N51.63883, E8.82900, 0, d078i
|
||||
D254I, N51.58367, E8.38767, 0, d254i
|
||||
DG022, N52.10550, E7.54283, 0, deltagolf022
|
||||
DG023, N52.12700, E7.64450, 0, deltagolf023
|
||||
DG026, N52.10083, E7.64083, 0, deltagolf026
|
||||
DG027, N52.05733, E7.70267, 0, deltagolf027
|
||||
DG071, N52.14417, E7.72150, 0, deltagolf071
|
||||
DG072, N52.14117, E7.71050, 0, deltagolf071
|
||||
DG073, N52.18267, E7.69383, 0, deltagolf073
|
||||
MOD11, N52.05000, E7.42033, 0, mod11
|
||||
MY270, N52.16617, E7.96933, 0, my270
|
||||
|
||||
[airport1]
|
||||
name = Dortmund Airport
|
||||
code = EDLW
|
||||
runways =
|
||||
LWrwy1, 06, N51.5147, E7.6019, 61.0, 6562, 984, 984, 418
|
||||
|
||||
climbaltitude = 5000
|
||||
|
||||
entrypoints =
|
||||
040, DOMEG
|
||||
150, ADEMI
|
||||
|
||||
airlines =
|
||||
EZY, 1, A319/A320, Easy, n
|
||||
EWG, 6, A319/A320, Eurowings
|
||||
RYR, 8, B738, Ryanair
|
||||
SEH, 1, A20N, Air Crete, s
|
||||
SXS, 2, B738, Sunexpress, s
|
||||
WZZ, 10, A320/A321/A20N/A21N, Wizzair,
|
||||
|
||||
[airport2]
|
||||
name = Paderborn Lippstadt Airport
|
||||
code = LP
|
||||
|
||||
runways =
|
||||
LPrwy1, 06, N51.6087, E8.60318, 57.0, 7152, 0, 0, 699
|
||||
|
||||
traffic = 3
|
||||
|
||||
climbaltitude = 5000
|
||||
|
||||
entrypoints =
|
||||
210, PAD
|
||||
340, PAD
|
||||
|
||||
airlines =
|
||||
CAI, 1, B738, Correndon, s
|
||||
EWG, 5, A319/A320, Eurowings
|
||||
FHY, 1, A320, Freebird Air, s
|
||||
DLH, 4, CRJ9, Lufthansa, s
|
||||
OHY, 1, A320/A321, Onur Air, s
|
||||
SDR, 5, A319/A320, Sundair
|
||||
PGT, 1, A320/A20N/A21N/B738, Sunturk, s
|
||||
SXS, 2, B738, Sunexpress
|
||||
TUI, 1, B738, Tuifly
|
||||
|
||||
[airport3]
|
||||
name = Munster Osnabruck Airport
|
||||
code = DG
|
||||
runways =
|
||||
DGrwy1, 07, N52.1315, E7.67006, 71.0, 7119, 0, 656, 156
|
||||
|
||||
traffic = 3
|
||||
|
||||
climbaltitude = 5000
|
||||
|
||||
entrypoints =
|
||||
190, HMM
|
||||
050, OSN
|
||||
|
||||
airlines =
|
||||
CAI, 5, B738, Correndon, s
|
||||
DLH, 2, C525, Lufthansa, n
|
||||
DLH, 3, CRJ9/E190, Lufthansa, s
|
||||
EWG, 2, A319/A320, Eurowings
|
||||
RYR, 2, B738, Ryanair
|
||||
SXS, 4, B738, Sunexpress, s
|
||||
TIX, 1, C525, Matrix
|
||||
|
||||
[configurations]
|
||||
|
||||
config1 =
|
||||
0, LWrwy1, landstart
|
||||
0, LPrwy1, landstart
|
||||
0, DGrwy1, landstart
|
||||
|
||||
config2 =
|
||||
0, LWrwy1, landstartrev
|
||||
0, LPrwy1, landstart
|
||||
0, DGrwy1, landstart
|
||||
|
||||
config3 =
|
||||
0, LWrwy1, landstartrev
|
||||
0, LPrwy1, landstartrev
|
||||
0, DGrwy1, landstartrev
|
||||
|
||||
config4 =
|
||||
0, LWrwy1, landstart
|
||||
0, LPrwy1, landstartrev
|
||||
0, DGrwy1, landstartrev
|
||||
|
||||
config5 =
|
||||
0, LWrwy1, landstart
|
||||
0, LPrwy1, landstart
|
||||
0, DGrwy1, landstartrev
|
||||
|
||||
config6 =
|
||||
0, LWrwy1, landstart
|
||||
0, LPrwy1, landstartrev
|
||||
0, DGrwy1, landstart
|
||||
|
||||
config7=
|
||||
0, LWrwy1, landstartrev
|
||||
0, LPrwy1, landstartrev
|
||||
0, DGrwy1, landstart
|
||||
|
||||
config8=
|
||||
0, LWrwy1, landstartrev
|
||||
0, LPrwy1, landstartrev
|
||||
0, DGrwy1, landstart
|
||||
|
||||
[departure 1]
|
||||
runway = LWrwy1
|
||||
|
||||
route1 =
|
||||
BAM2Q, bamsu two quebec
|
||||
N51.55850, E7.72350
|
||||
N51.52150, E7.79467
|
||||
N51.50417, E7.78483
|
||||
N51.40917, E7.44917
|
||||
N51.19083, E7.30717
|
||||
#LW200, LW206, LW207, LW211, BAMSU
|
||||
|
||||
route2 =
|
||||
GMH8Q, germinghausen eight quebec
|
||||
N51.55850, E7.72350
|
||||
N51.52150, E7.79467
|
||||
N51.50417, E7.78483
|
||||
N51.43367, E7.74283
|
||||
N51.17050, E7.89204
|
||||
#LW200, LW206, LW207, LW208, GMH
|
||||
|
||||
route3 =
|
||||
NUD3Q, nudgo three quebec
|
||||
N51.56833, E7.74967
|
||||
N51.52400, E7.90100
|
||||
N51.41567, E8.08767
|
||||
N51.41567, E8.17650
|
||||
N51.41567, E8.43800
|
||||
#LW201, LW209, DESOD, ARNOP, NUDGO
|
||||
|
||||
route4 =
|
||||
OSN8Q, osnabruck eight quebec
|
||||
N51.57900, E7.78083
|
||||
N51.60450, E7.79917
|
||||
N51.81017, E7.72500
|
||||
N52.20010, E8.28552
|
||||
#LW202, LW203, LW205, OSN
|
||||
|
||||
route 5 =
|
||||
HMM7Q, hamm seven quebec
|
||||
N51.57900, E7.78083
|
||||
N51.60450, E7.79917
|
||||
N51.81017, E7.72500
|
||||
N51.85690, E7.70829
|
||||
#LW202, LW203, LW205, HMM
|
||||
|
||||
route 6 =
|
||||
DOM3Q, domeg three quebec
|
||||
N51.57900, E7.78083
|
||||
N51.60450, E7.79917
|
||||
N51.63217, E7.75367
|
||||
N51.71150, E7.58550
|
||||
#LW202, LW203, LW204, DOMEG
|
||||
|
||||
[departures2]
|
||||
runway = LWrwy1, rev
|
||||
|
||||
route1 =
|
||||
BAM2U, bamsu two uniform
|
||||
N51.47700, E7.49383
|
||||
N51.39417, E7.31417
|
||||
N51.19083, E7.30717
|
||||
#LW101, LW108, BAMSU
|
||||
|
||||
route2 =
|
||||
GMH1U, germinghausen one uniform
|
||||
N51.47700, E7.49383
|
||||
N51.44050, E7.47900
|
||||
N51.40650, E7.50883
|
||||
N51.28617, E7.82617
|
||||
N51.17050, E7.89204
|
||||
#LW101, LW102, LW103, LW105, GMH
|
||||
|
||||
route3 =
|
||||
NUD2U, nudgo two uniform
|
||||
N51.47700, E7.49383
|
||||
N51.44050, E7.47900
|
||||
N51.40650, E7.50883
|
||||
N51.38783, E7.52483
|
||||
N51.41567, E8.17650
|
||||
N51.41567, E8.43800
|
||||
#LW101, LW102, LW103, LW104, ARNOP, NUDGO
|
||||
|
||||
route4 =
|
||||
OSN2U, osnabruck two uniform
|
||||
N51.47700, E7.49383
|
||||
N51.49017, E7.43017
|
||||
N51.55750, E7.37133
|
||||
N51.71150, E7.58550
|
||||
N52.20010, E8.28552
|
||||
#LW101, LW106, LW107, DOMEG, OSN
|
||||
|
||||
route5 =
|
||||
HMM1U, hamm one uniform
|
||||
N51.47700, E7.49383
|
||||
N51.49017, E7.43017
|
||||
N51.55750, E7.37133
|
||||
N51.71150, E7.58550
|
||||
N51.85690, E7.70829
|
||||
#LW101, LW106, LW107, DOMEG, HMM
|
||||
|
||||
route6 =
|
||||
DOM2U, domeg two uniform
|
||||
N51.47700, E7.49383
|
||||
N51.49017, E7.43017
|
||||
N51.55750, E7.37133
|
||||
N51.71150, E7.58550
|
||||
#LW101, LW106, LW107, DOMEG
|
||||
|
||||
[departures3]
|
||||
runway = LPrwy1
|
||||
|
||||
route1 =
|
||||
TIN1X, tinsa one x-ray
|
||||
N51.65217, E8.70550
|
||||
N51.70750, E8.63800
|
||||
N51.67883, E8.58217
|
||||
N51.51783, E8.07233
|
||||
#LP101, LP106, LP107, TINSA
|
||||
|
||||
route 2 =
|
||||
DOM4X, domeg four x-ray
|
||||
N51.65217, E8.70550
|
||||
N51.71617, E8.68783
|
||||
N51.76917, E8.32683
|
||||
N51.71150, E7.58550
|
||||
#LP101, LP102, LP105, DOMEG
|
||||
|
||||
route3 =
|
||||
HMM9X, hamm niner x-ray
|
||||
N51.65217, E8.70550
|
||||
N51.71617, E8.68783
|
||||
N51.85690, E7.70829
|
||||
#LP101, LP102, HMM
|
||||
|
||||
route4 =
|
||||
WRB1X, warburg one x-ray
|
||||
N51.64150, E8.68067
|
||||
N51.65317, E8.77400
|
||||
N51.50683, E9.11000
|
||||
#LP100, LP104, WRB
|
||||
|
||||
route5 =
|
||||
GIS1X, gisdi one x-ray
|
||||
N51.64150, E8.68067
|
||||
N51.65317, E8.77400
|
||||
N51.27617, E8.81300
|
||||
#LP100, LP104, GISDI
|
||||
|
||||
[departures4]
|
||||
runway = LPrwy1, rev
|
||||
|
||||
route1 =
|
||||
TIN1W, tinsa one whiskey
|
||||
N51.58017, E8.53083
|
||||
N51.53583, E8.42050
|
||||
N51.51783, E8.07233
|
||||
#LP204, LP207, TINSA
|
||||
|
||||
route2 =
|
||||
DOM5W, domeg five whiskey
|
||||
N51.58017, E8.53083
|
||||
N51.71100, E8.14767
|
||||
N51.71150, E7.58550
|
||||
#LP204, LP203, DOMEG
|
||||
|
||||
route3 =
|
||||
HMM8W, hamm eight whiskey
|
||||
N51.58017, E8.53083
|
||||
N51.85690, E7.70829
|
||||
#LP204, HMM
|
||||
|
||||
route4 =
|
||||
WRB1W, warburg one whiskey
|
||||
N51.58017, E8.53083
|
||||
N51.57017, E8.50433
|
||||
N51.51983, E8.49200
|
||||
N51.50750, E8.53317
|
||||
N51.50683, E9.11000
|
||||
#LP204, LP205, LP206, LP202, WRB
|
||||
|
||||
route5 =
|
||||
GIS1W, gisdi one whiskey
|
||||
N51.58017, E8.53083
|
||||
N51.57017, E8.50433
|
||||
N51.51983, E8.49200
|
||||
N51.27617, E8.81300
|
||||
#LP204, LP205, LP206, GISDI
|
||||
|
||||
[departures5]
|
||||
runway = DGrwy1
|
||||
|
||||
route1 =
|
||||
RKN9Y, rekken niner yankee
|
||||
N52.14117, E7.71050
|
||||
N52.18267, E7.69383
|
||||
N52.13320, E6.76388
|
||||
#DG072, DG073, RKN
|
||||
|
||||
route2 =
|
||||
OSN9E, osnabruck niner echo
|
||||
N52.15930, E7.79999
|
||||
N52.20010, E8.28552
|
||||
#MYN, OSN
|
||||
|
||||
route3 =
|
||||
HMM3Y, hamm three yankee
|
||||
N52.14417, E7.72150
|
||||
N51.85690, E7.70829
|
||||
#DG071, HMM
|
||||
|
||||
route4 =
|
||||
DOM2Y, domeg two yankee
|
||||
N52.14417, E7.72150
|
||||
N51.71150, E7.58550
|
||||
#DG071, DOMEG
|
||||
|
||||
[departures6]
|
||||
runway = DGrwy1, rev
|
||||
|
||||
route1 =
|
||||
RKN1C, rekken one charlie
|
||||
N52.10550, E7.54283
|
||||
N52.13320, E6.76388
|
||||
#DG022, RKN
|
||||
|
||||
route2 =
|
||||
OSN9X, osnabruck niner x-ray
|
||||
N52.12700, E7.64450
|
||||
N52.10083, E7.64083
|
||||
N52.05733, E7.70267
|
||||
N52.20010, E8.28552
|
||||
#DG023, DG026, DG027, OSN
|
||||
|
||||
route3 =
|
||||
HMM1Z, hamm one zulu
|
||||
N52.12700, E7.64450
|
||||
N51.85690, E7.70829
|
||||
#DG023, HMM
|
||||
|
||||
route4 =
|
||||
DOM2Z, domeg two zulu
|
||||
N52.12700, E7.64450
|
||||
N51.71150, E7.58550
|
||||
#DG023, DOMEG
|
||||
|
||||
[approach1]
|
||||
runway = LWrwy1
|
||||
beacon = DOR
|
||||
route1 =
|
||||
218
|
||||
N51.52530, E7.63106, 0, 200
|
||||
N51.40917, E7.44917, 0, 160
|
||||
7.5, 2500, 160
|
||||
|
||||
[approach2]
|
||||
runway = LWrwy1, rev
|
||||
beacon = DOR
|
||||
route1 =
|
||||
079
|
||||
N51.52530, E7.63106, 0, 200
|
||||
N51.55550, E7.88583, 0, 160
|
||||
7.5, 2500, 160
|
||||
|
||||
[approach3]
|
||||
runway = LPrwy1
|
||||
beacon = PAD
|
||||
route1 =
|
||||
254
|
||||
N51.62360, E8.63944, 0, 200
|
||||
N51.58367, E8.38767, 0, 180
|
||||
7, 2500, 180
|
||||
|
||||
[approach4]
|
||||
runway = LPrwy2
|
||||
beacon = PAD
|
||||
route1 =
|
||||
078
|
||||
N51.62360, E8.63944, 0, 200
|
||||
N51.63883, E8.82900, 0, 180
|
||||
7, 2500, 180
|
||||
|
||||
[approach5]
|
||||
runway = DGrwy1
|
||||
beacon = HMM
|
||||
route1 =
|
||||
312
|
||||
N51.85690, E7.70829
|
||||
N52.05000, E7.42033, 0, 180
|
||||
9, 2500, 180
|
||||
|
||||
[approach6]
|
||||
runway = DGrwy1
|
||||
beacon = OSN
|
||||
route1 =
|
||||
251
|
||||
N52.20010, E8.28552
|
||||
N52.05733, E7.70267, 0, 220
|
||||
N52.05000, E7.42033, 0, 180
|
||||
9, 2500, 180
|
||||
|
||||
[approach7]
|
||||
runway = DGrwy1, rev
|
||||
beacon = HMM
|
||||
route1 =
|
||||
032
|
||||
N51.85690, E7.70829
|
||||
N52.16617, E7.96933, 0, 180
|
||||
9, 2500, 180
|
||||
|
||||
[approac8]
|
||||
runway = DGrwy1, rev
|
||||
beacon = OSN
|
||||
route1 =
|
||||
267
|
||||
N52.20010, E8.28552
|
||||
9.5, 3000, 180
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 50 KiB |
@@ -0,0 +1,309 @@
|
||||
|
||||
|
||||
[airspace]
|
||||
elevation = 179
|
||||
center = N60.317199707, E24.963300705
|
||||
magneticvar = 7.366
|
||||
descendaltitude = 12000 ; minimum initial altitude for arrivals
|
||||
ceiling = 27500 ; maximum selectable altitude
|
||||
above = 28000 ; maximum departure altitude when SID is enabled (must be above ceiling)
|
||||
radius = 70 ; airspace radius in NM
|
||||
beacons =
|
||||
HEL, N60.33780, E24.95370, 0, Helsinki
|
||||
H, N60.33740, E24.99250, 0, Hotel
|
||||
U, N60.30400, E24.92030, 0, Uniform
|
||||
KOR, N60.37210, E25.06840, 0, Korso
|
||||
ESP, N60.24830, E24.79640, 0, Espoo
|
||||
KAD, N60.14700, E25.08110, 0, Kadis
|
||||
HEK, N60.25490, E25.49120, 0, Heka
|
||||
PVO, N60.29440, E25.58850, 0, Porvoo
|
||||
VTI, N60.45930, E24.24410, 0, Vihti
|
||||
ANT, N60.86300, E25.12680, 0, Antoni
|
||||
ORM, N60.83350, E25.76210, 0, Orimaa
|
||||
ABSUT,N060.13.08.610,E024.44.03.740,0,ABSUT
|
||||
ARADE,N060.23.16.000,E025.34.08.000,0,ARADE
|
||||
ASPIT,N060.11.56.860,E024.24.34.530,0,ASPIT
|
||||
BIFIX,N060.27.45.610,E025.16.18.750,0,BIFIX
|
||||
DIPMO,N060.12.06.790,E024.41.48.990,0,DIPMO
|
||||
EESTI,N060.04.52.000,E025.24.24.000,0,EESTI
|
||||
EHOTE,N060.01.03.000,E024.29.20.000,0,EHOTE
|
||||
ELKUN,N060.27.23.110,E024.50.04.300,0,ELKUN
|
||||
ENUTO,N060.28.53.000,E024.46.32.000,0,ENUTO
|
||||
EXEVO,N060.15.10.220,E024.48.29.310,0,EXEVO
|
||||
FANNI,N060.33.40.890,E025.12.18.080,0,FANNI
|
||||
GESVO,N060.07.31.080,E024.46.38.690,0,GESVO
|
||||
GONAP,N060.10.04.940,E024.37.24.270,0,GONAP
|
||||
GUMVO,N060.23.38.100,E025.07.08.030,0,GUMVO
|
||||
HELPO,N060.28.16.250,E024.27.42.110,0,HELPO
|
||||
IDMOP,N060.24.03.000,E025.03.09.000,0,IDMOP
|
||||
KAAVI,N060.32.02.460,E025.08.25.540,0,KAAVI
|
||||
KENON,N060.24.03.810,E025.23.05.020,0,KENON
|
||||
KUKKA,N060.37.30.150,E025.07.52.250,0,KUKKA
|
||||
LASTU,N060.30.01.520,E025.03.56.430,0,LASTU
|
||||
LOHIG,N060.08.07.750,E024.47.54.580,0,LOHIG
|
||||
MALKE,N060.14.16.370,E024.29.36.090,0,MALKE
|
||||
MEHAK,N060.25.33.870,E025.09.14.010,0,MEHAK
|
||||
MILLI,N060.29.14.960,E025.02.25.850,0,MILLI
|
||||
NAPUN,N060.49.41.000,E025.16.22.000,0,NAPUN
|
||||
NEKKU,N060.16.18.460,E024.34.00.920,0,NEKKU
|
||||
NEMVI,N060.16.01.450,E024.33.23.970,0,NEMVI
|
||||
NOFOX,N060.21.20.120,E025.16.59.770,0,NOFOX
|
||||
OBONU,N060.09.31.660,E025.08.21.740,0,OBONU
|
||||
OBUPU,N060.24.47.890,E024.52.44.680,0,OBONU
|
||||
ORILE,N060.08.26.730,E024.48.35.940,0,ORILE
|
||||
PERHO,N060.29.59.290,E025.19.06.040,0,PERHO
|
||||
PODOM,N060.12.20.890,E024.40.10.570,0,PODOM
|
||||
|
||||
RULLI,N060.08.17.700,E024.31.23.330,0,RULLI
|
||||
|
||||
SUTAX,N060.29.38.260,E024.59.05.080,0,SUTAX
|
||||
VALOX,N059.43.54.000,E024.08.20.000,0,VALOX
|
||||
TEVRU,N060.49.16.000,E024.49.29.000,0,TEVRU
|
||||
ADIVO,N060.17.51.000,E023.58.53.000,0,ADIVO
|
||||
ARVEP,N060.14.58.000,E026.23.57.000,0,ARVEP
|
||||
KUVEM,N060.11.26.000,E023.56.14.000,0,KUVEM
|
||||
NEPEK,N060.44.33.000,E024.29.08.000,0,NEPEK
|
||||
RENKU,N059.53.09.000,E024.53.48.100,0,RENKU
|
||||
KOIVU,N059.50.41.000,E024.39.55.000,0,KOIVU
|
||||
LUSEP,N060.57.08.000,E025.15.53.000,0,LUSEP
|
||||
LAKUT,N060.26.17.000,E023.52.35.000,0,LAKUT
|
||||
DIVAM,N059.50.54.000,E023.35.37.000,0,DIVAM
|
||||
INTOR,N059.49.40.000,E025.11.12.000,0,INTOR
|
||||
ROPAM,N060.07.59.000,E025.36.06.000,0,ROPAM
|
||||
VEPIN,N060.37.53.000,E026.19.59.000,0,VEPIN
|
||||
|
||||
line1 =
|
||||
N60.02803, E22.64619
|
||||
N60.03760, E22.69736
|
||||
N60.05728, E22.74980
|
||||
N60.07681, E22.79346
|
||||
N60.10137, E22.81914
|
||||
N60.18662, E22.84443
|
||||
N60.21582, E22.86709
|
||||
N60.20972, E22.91172
|
||||
N60.09854, E22.99414
|
||||
N60.04727, E23.08018
|
||||
N60.04131, E23.14844
|
||||
N60.02183, E23.19844
|
||||
N59.97222, E23.18848
|
||||
N59.91270, E23.11572
|
||||
N59.86880, E23.00977
|
||||
N59.82637, E22.96387
|
||||
N59.81602, E23.02129
|
||||
N59.84492, E23.18145
|
||||
N59.92578, E23.32676
|
||||
N59.98623, E23.46357
|
||||
N59.96816, E23.59268
|
||||
N59.96567, E23.72178
|
||||
N60.00918, E24.02520
|
||||
N60.04233, E24.34258
|
||||
N60.02129, E24.44561
|
||||
N60.04629, E24.51797
|
||||
N60.11426, E24.60049
|
||||
N60.15835, E24.84873
|
||||
N60.15747, E24.95762
|
||||
N60.19409, E25.15586
|
||||
N60.24834, E25.26787
|
||||
N60.26123, E25.45576
|
||||
N60.30249, E25.54824
|
||||
N60.33320, E25.65645
|
||||
N60.26743, E25.71543
|
||||
N60.26753, E25.75801
|
||||
N60.31460, E25.84580
|
||||
N60.34678, E25.94590
|
||||
N60.34150, E26.03584
|
||||
N60.37158, E26.04023
|
||||
N60.42529, E26.00625
|
||||
N60.47422, E25.95596
|
||||
N60.47490, E26.03604
|
||||
N60.40659, E26.20469
|
||||
N60.42407, E26.37773
|
||||
N60.46680, E26.45645
|
||||
N60.55181, E26.49580
|
||||
N60.62456, E26.56934
|
||||
N60.62793, E26.60645
|
||||
N60.59561, E26.60176
|
||||
N60.54600, E26.55117
|
||||
N60.47158, E26.51973
|
||||
N60.41289, E26.53467
|
||||
N60.43770, E26.60742
|
||||
N60.45508, E26.72148
|
||||
N60.47148, E26.95117
|
||||
N60.52515, E27.07559
|
||||
N60.54346, E27.20527
|
||||
N60.53867, E27.24189
|
||||
|
||||
line2 =
|
||||
N59.45063, E26.97471
|
||||
N59.47178, E26.85205
|
||||
N59.55391, E26.62500
|
||||
N59.55391, E26.46084
|
||||
N59.63467, E25.79375
|
||||
N59.62754, E25.61572
|
||||
N59.63901, E25.50928
|
||||
N59.59800, E25.50742
|
||||
N59.55947, E25.52090
|
||||
N59.52114, E25.44375
|
||||
N59.52207, E24.87754
|
||||
N59.45566, E24.58359
|
||||
N59.47266, E24.38037
|
||||
N59.37593, E24.17539
|
||||
N59.37231, E24.05361
|
||||
|
||||
line3 =
|
||||
N61.26250, E22.70195
|
||||
N61.21904, E22.65859
|
||||
N61.20166, E22.61289
|
||||
|
||||
line4 =
|
||||
N61.23398, E22.63154
|
||||
N61.26807, E22.66309
|
||||
N61.30039, E22.71787
|
||||
|
||||
[airport1]
|
||||
name = Helsinki Vantaa Airport
|
||||
code = EFHK
|
||||
runways =
|
||||
rwy1, 04L, N60.3129, E24.9039, 48.0, 10039, 0, 196, 133
|
||||
rwy2, 04R, N60.3098, E24.9332, 48.0, 11286, 787, 0, 150
|
||||
rwy3, 15, N60.3303, E24.9645, 154.1, 9518, 0, 0, 162
|
||||
climbaltitude = 4000
|
||||
|
||||
sids=
|
||||
VALOX
|
||||
TEVRU
|
||||
ADIVO
|
||||
ARVEP
|
||||
KUVEM
|
||||
NEPEK
|
||||
RENKU
|
||||
KOIVU
|
||||
entrypoints =
|
||||
240,DIVAM
|
||||
280,LAKUT
|
||||
360,LUSEP
|
||||
150,INTOR
|
||||
100,ARVEP
|
||||
130,ROPAM
|
||||
airlines =
|
||||
TRA, 4, B737/B738, Transavia, DIVAM
|
||||
KLM, 2, B737/B738/E190/E170, KLM, DIVAM
|
||||
AFR, 2, A319/A320, Air France, DIVAM
|
||||
BAW, 3, A319/A320/A321, Speedbird, DIVAM
|
||||
CSN, 1, A380/B77W, China Southern, INTOR
|
||||
DLH, 2, A319/A320/A321, Lufthansa, DIVAM
|
||||
FIN, 5, A319/A320/A321/A330/A350/E190, Finnair, nwse
|
||||
NAX, 5, B738, Norshuttle, nwse
|
||||
IBK, 5, B738, Nortrans, nwse
|
||||
TAP, 1, A319/A320/A321, Airportugal, DIVAM
|
||||
JAL, 1, B789/B788, Japanair, INTOR
|
||||
AFL, 2, A320, AEROFLOT, ROPAM
|
||||
SAS, 4, A320/A321/B738, Scandinavian, LAKUT
|
||||
FDB, 2 , B738, Skydubai , INTOR
|
||||
|
||||
[approach1]
|
||||
runway = rwy2,rev
|
||||
beacon = KENON
|
||||
route1 =
|
||||
038
|
||||
N060.24.03.810,E025.23.05.020
|
||||
N060.27.45.610,E025.16.18.750
|
||||
|
||||
11.9, 300, 210
|
||||
[approach2]
|
||||
runway = rwy2,rev
|
||||
beacon = KAAVI
|
||||
route1 =
|
||||
038
|
||||
N060.32.02.460,E025.08.25.540
|
||||
N060.27.45.610,E025.16.18.750
|
||||
|
||||
11.9, 300, 210
|
||||
[approach3]
|
||||
runway = rwy2,rev
|
||||
beacon = ARADE
|
||||
route1 =
|
||||
038
|
||||
N060.23.16.000,E025.34.08.000
|
||||
N060.27.45.610,E025.16.18.750
|
||||
|
||||
11.9, 300, 210
|
||||
[approach4]
|
||||
runway = rwy2,rev
|
||||
beacon = KUKKA
|
||||
route1 =
|
||||
038
|
||||
N060.37.30.150,E025.07.52.250
|
||||
N060.27.45.610,E025.16.18.750
|
||||
|
||||
11.9, 300, 210
|
||||
[approach5]
|
||||
runway = rwy3
|
||||
beacon = HELPO
|
||||
route1 =
|
||||
038
|
||||
N060.28.16.250,E024.27.42.110
|
||||
N060.27.23.110,E024.50.04.300
|
||||
|
||||
8.7, 2000, 210
|
||||
[approach6]
|
||||
runway = rwy3
|
||||
beacon = SUTAX
|
||||
route1 =
|
||||
038
|
||||
N060.29.38.260,E024.59.05.080
|
||||
N060.27.23.110,E024.50.04.300
|
||||
|
||||
8.7, 2000, 210
|
||||
[approach7]
|
||||
runway = rwy1
|
||||
beacon = NEMVI
|
||||
route1 =
|
||||
038
|
||||
N060.16.01.450,E024.33.23.970
|
||||
N060.12.20.890,E024.40.10.570
|
||||
|
||||
9.7, 2300, 210
|
||||
[approach8]
|
||||
runway = rwy1
|
||||
beacon = LOHIG
|
||||
route1 =
|
||||
038
|
||||
N060.08.07.750,E024.47.54.580
|
||||
N060.12.20.890,E024.40.10.570
|
||||
|
||||
9.7, 2300, 210
|
||||
[approach9]
|
||||
runway = rwy1
|
||||
beacon = EHOTE
|
||||
route1 =
|
||||
038
|
||||
N060.01.03.000,E024.29.20.000
|
||||
N060.12.20.890,E024.40.10.570
|
||||
|
||||
9.7, 2300, 210
|
||||
##############################################################
|
||||
[configurations]
|
||||
##############################################################
|
||||
|
||||
config1 =
|
||||
0, rwy1, landstart
|
||||
config2 =
|
||||
0, rwy2, landstartrev
|
||||
5, rwy1, landrev
|
||||
config3 =
|
||||
0, rwy3, land
|
||||
0, rwy1, startrev
|
||||
config3 =
|
||||
0, rwy3, start
|
||||
0, rwy1, land
|
||||
config4 =
|
||||
0 , rwy2, start
|
||||
0 , rwy1, land
|
||||
5, rwy2, land
|
||||
config5 =
|
||||
0 , rwy2, landrev
|
||||
0 , rwy1, startrev
|
||||
config6 =
|
||||
0, rwy3, land
|
||||
0, rwy1, startrev
|
||||
@@ -0,0 +1,288 @@
|
||||
|
||||
[airspace]
|
||||
elevation = 47
|
||||
center = N64.9300994873, E25.3546009064
|
||||
magneticvar = 8.024
|
||||
radius = 40 ; airspace radius in NM
|
||||
zoom = 7.0 ; default zoom level, increase to zoom in
|
||||
elevation = 13 ; ground altitude in feet
|
||||
floor = 1500 ; minimum selectable altitude
|
||||
descendaltitude = 10000 ; minimum initial altitude for arrivals
|
||||
ceiling = 9000 ; maximum selectable altitude
|
||||
above = 37000 ; maximum departure altitude when SID is enabled (must be above ceiling)
|
||||
transitionaltitude = 5000 ; highest altitude displayed in feet instead of flight level
|
||||
speedrestriction = 15, 220 ; radius in NM, and speed in knots
|
||||
usa = false ; American-style callsign pronunciation and runway names
|
||||
metric = false ; display altitudes in metres instead of feet
|
||||
separation = 3 ; minimum allowed distance between aircraft in NM
|
||||
beacons =
|
||||
OUK, N64.93160, E25.35930, 0, Oulu
|
||||
LAA, N64.96630, E25.21120, 0, Laanila
|
||||
TP, N64.88450, E25.53160, 0, Tango-Papa
|
||||
VA, N64.12950, E24.64280, 0, Victor-Alfa
|
||||
SUVIB,N64.25.55.00,E25.07.44.000 , 0 SUVIB
|
||||
IXONO,N064.35.30.000,E024.41.07.000,0,IXONO
|
||||
XEVAP,N064.50.13.000, E024.18.36.000,0, XEVAP
|
||||
NUBVU,N065.12.04.000, E025.45.11.000,0,NUBVU
|
||||
UGMOR,N064.39.40.000, E026.08.30.000,0,UGMOR
|
||||
ABKEM,N064.28.55.000, E025.48.41.000,0,ABKEM
|
||||
MIKNU,N064.26.39.000,E025.26.14.000,MIKNU
|
||||
OSMAM,N064.46.02.320,E025.36.37.670,OSMAM
|
||||
GITVU,N065.01.15.460,E024.59.42.200,GITVU
|
||||
ADKIN,N064.50.17.870,E025.42.41.880,ADKIN
|
||||
line1 =
|
||||
N65.08643, E24.78604
|
||||
N65.07397, E24.65117
|
||||
N65.04287, E24.57656
|
||||
N64.97856, E24.57861
|
||||
N64.95781, E24.69893
|
||||
N64.99102, E24.84824
|
||||
N65.02627, E24.89180
|
||||
N65.03872, E24.99756
|
||||
N65.05532, E24.97061
|
||||
N65.08643, E24.78604
|
||||
|
||||
line2 =
|
||||
N65.80654, E22.62031
|
||||
N65.87095, E22.74658
|
||||
N65.78647, E22.91934
|
||||
N65.73535, E23.10234
|
||||
N65.74990, E23.15459
|
||||
N65.78613, E23.22109
|
||||
N65.80435, E23.41836
|
||||
N65.80532, E23.59209
|
||||
N65.82852, E23.69141
|
||||
N65.78223, E23.89053
|
||||
N65.80527, E24.15547
|
||||
N65.81235, E24.23750
|
||||
N65.78047, E24.40430
|
||||
N65.82202, E24.53262
|
||||
N65.85835, E24.59160
|
||||
N65.85918, E24.62803
|
||||
N65.83169, E24.62324
|
||||
N65.75713, E24.58154
|
||||
N65.67070, E24.67490
|
||||
N65.65640, E24.76426
|
||||
N65.66035, E24.83936
|
||||
N65.54629, E25.24180
|
||||
N65.47925, E25.34785
|
||||
N65.35273, E25.30791
|
||||
N65.24321, E25.29785
|
||||
N65.14326, E25.25586
|
||||
N65.09863, E25.34023
|
||||
N65.06514, E25.36230
|
||||
N65.00947, E25.37266
|
||||
N64.98428, E25.27109
|
||||
N64.95103, E25.22803
|
||||
N64.91641, E25.28076
|
||||
N64.86035, E25.28818
|
||||
N64.85347, E25.21426
|
||||
N64.87520, E25.13428
|
||||
N64.88403, E24.94219
|
||||
N64.85210, E24.74756
|
||||
N64.80630, E24.65762
|
||||
N64.80103, E24.55791
|
||||
N64.73867, E24.53018
|
||||
N64.68013, E24.44063
|
||||
N64.51528, E24.27832
|
||||
N64.38599, E24.02227
|
||||
N64.27412, E23.92480
|
||||
N64.25825, E23.86143
|
||||
N64.13418, E23.65293
|
||||
N64.04092, E23.59893
|
||||
N64.03447, E23.49395
|
||||
|
||||
line3 =
|
||||
N64.39116, E26.77988
|
||||
N64.41499, E26.81465
|
||||
N64.44038, E26.83086
|
||||
N64.46948, E26.81387
|
||||
N64.50542, E26.82676
|
||||
N64.52998, E26.86611
|
||||
N64.52329, E27.11182
|
||||
N64.49668, E27.21367
|
||||
N64.41392, E27.21729
|
||||
N64.36929, E27.26162
|
||||
N64.33042, E27.36543
|
||||
N64.33906, E27.46914
|
||||
N64.38047, E27.57822
|
||||
N64.39668, E27.72695
|
||||
N64.38135, E27.92500
|
||||
N64.33325, E27.91309
|
||||
N64.30674, E27.92969
|
||||
N64.30854, E27.88252
|
||||
N64.30405, E27.80059
|
||||
N64.28174, E27.73779
|
||||
N64.24468, E27.76465
|
||||
N64.23281, E27.85918
|
||||
N64.20488, E27.94014
|
||||
N64.17769, E28.05762
|
||||
|
||||
line4 =
|
||||
N64.12119, E28.07334
|
||||
N64.12808, E28.00947
|
||||
N64.14478, E27.92891
|
||||
N64.22480, E27.65264
|
||||
N64.27446, E27.56240
|
||||
N64.26958, E27.50645
|
||||
N64.25049, E27.48115
|
||||
N64.22979, E27.42070
|
||||
N64.20918, E27.32285
|
||||
N64.17339, E27.28223
|
||||
N64.13071, E27.28750
|
||||
N64.12036, E27.25850
|
||||
N64.15791, E27.20010
|
||||
N64.20088, E27.07324
|
||||
N64.23848, E26.94248
|
||||
N64.27778, E26.92070
|
||||
N64.36162, E26.79297
|
||||
N64.39116, E26.77988
|
||||
N64.39116, E26.77988
|
||||
N64.39116, E26.77988
|
||||
|
||||
line5 =
|
||||
N65.91210, E24.71056
|
||||
N65.85918, E24.62799
|
||||
|
||||
[airport1]
|
||||
name = Oulu Airport
|
||||
code = EFOU
|
||||
runways =
|
||||
rwy1, 12, N64.9358, E25.3319, 121.0, 8205, 0, 0, 47
|
||||
sids=
|
||||
MIKNU
|
||||
IXONO
|
||||
UGMOR
|
||||
ABKEM
|
||||
## name, position, <pronunciation>
|
||||
airlines =
|
||||
FIN, 3, A320, FINNAIR, SUVIB
|
||||
SAS, 3, A320, Scandinavian, IXONO
|
||||
# you may also give just the name of a beacon from the beacon list
|
||||
|
||||
entrypoints =
|
||||
150,SUVIB
|
||||
210,IXONO
|
||||
100,ABKEM
|
||||
290,XEVAP
|
||||
|
||||
[departure1]
|
||||
runway = rwy1
|
||||
route1 =
|
||||
MIKNU1A, MIKNU one alpha
|
||||
N064.53.39.380,E025.29.40.240
|
||||
N064.26.39.000,E025.26.14.000
|
||||
route2 =
|
||||
IXONO1A, IXONO one alpha
|
||||
N064.53.39.380,E025.29.40.240
|
||||
N064.49.23.300,E025.23.37.340
|
||||
N064.35.30.000,E024.41.07.000
|
||||
route3 =
|
||||
ABKEM1A, ABKEM one alpha
|
||||
N064.53.39.380,E025.29.40.240
|
||||
N064.28.55.000,E025.48.41.000
|
||||
route4 =
|
||||
UGMOR1A, UGMOR one alpha
|
||||
N064.53.39.380,E025.29.40.240
|
||||
N064.39.40.000,E026.08.30.000
|
||||
route5 =
|
||||
XEVAP1A, XEVAP one alpha
|
||||
N064.53.39.380,E025.29.40.240
|
||||
N064.49.23.300,E025.23.37.340
|
||||
N064.50.13.000,E024.18.36.000
|
||||
[approach1]
|
||||
runway = rwy1
|
||||
beacon = SUVIB
|
||||
route1 =
|
||||
369
|
||||
N64.25.55.00,E25.07.44.000
|
||||
N064.56.58.180,E024.53.42.380
|
||||
|
||||
12, 2300, 210
|
||||
[approach2]
|
||||
runway = rwy1
|
||||
beacon = IXONO
|
||||
route1 =
|
||||
004
|
||||
N064.35.30.000,E024.41.07.000
|
||||
N064.56.58.180,E024.53.42.380
|
||||
|
||||
12, 2300, 210
|
||||
[approach3]
|
||||
runway = rwy1
|
||||
beacon = XEVAP
|
||||
route1 =
|
||||
055
|
||||
N064.50.13.000,E024.18.36.000
|
||||
N064.56.58.180,E024.53.42.380
|
||||
|
||||
12, 2300, 210
|
||||
[approach4]
|
||||
runway = rwy1
|
||||
beacon = ABKEM
|
||||
route1 =
|
||||
310
|
||||
N064.28.55.000,E025.48.41.000
|
||||
N064.56.58.180,E024.53.42.380
|
||||
|
||||
12, 2300, 210
|
||||
[approach5]
|
||||
runway = rwy1,rev
|
||||
beacon = SUVIB
|
||||
route1 =
|
||||
021
|
||||
N64.25.55.00,E25.07.44.000
|
||||
N064.46.02.320,E025.36.37.670
|
||||
|
||||
10, 2300, 210
|
||||
[approach6]
|
||||
runway = rwy1,rev
|
||||
beacon = IXONO
|
||||
route1 =
|
||||
056
|
||||
N064.35.30.000,E024.41.07.000
|
||||
N064.46.02.320,E025.36.37.670
|
||||
|
||||
10, 2300, 210
|
||||
[approach7]
|
||||
runway = rwy1,rev
|
||||
beacon = XEVAP
|
||||
route1 =
|
||||
087
|
||||
N064.50.13.000,E024.18.36.000
|
||||
N064.46.02.320,E025.36.37.670
|
||||
|
||||
10, 2300, 210
|
||||
[approach8]
|
||||
runway = rwy1,rev
|
||||
beacon = ABKEM
|
||||
route1 =
|
||||
333
|
||||
N064.28.55.000,E025.48.41.000
|
||||
N064.46.02.320,E025.36.37.670
|
||||
|
||||
10, 2300, 210
|
||||
[approach9]
|
||||
runway = rwy1,rev
|
||||
beacon = OSMAM
|
||||
route1 =
|
||||
021
|
||||
N064.46.02.320,E025.36.37.670
|
||||
|
||||
10, 2300, 210
|
||||
##############################################################
|
||||
[configurations]
|
||||
##############################################################
|
||||
|
||||
config1 =
|
||||
0, rwy1, landstart
|
||||
config2 =
|
||||
0, rwy1, landstartrev
|
||||
## score, identifier, usage, <offsetheading>, <nosid>
|
||||
# score is the score (skill) at which the runway will be activated
|
||||
# identifier is a unique runway name specified earlier
|
||||
# usage is a string (without spaces) that may contain these words: start, land, rev, int, track
|
||||
# where rev means reversed use (opposite direction), int means intersection departure (takeoffs begin 30% down the rwy), track means backtrack after landing
|
||||
# offsetheading means planes will fly a specific heading just after takeoff (especially useful for allowing parallel takeoffs with divergent climbout headings)
|
||||
# nosid option means planes will depart on the given offsetheading, with SID mode disabled
|
||||
# when rwy configurations are omited, two configs are automatically created, one for each rwy direction, with all runways active
|
||||
@@ -0,0 +1,7 @@
|
||||
Oulu Airport located in northern finland
|
||||
most flights are from stockholm/helsinki
|
||||
# Already Working
|
||||
|
||||
- sids to the south
|
||||
- stars from the south
|
||||
# wip sids and stars from the north(rarely used cause all traffic to the airport is from the south)
|
||||
@@ -0,0 +1,54 @@
|
||||
# Helsinki airport
|
||||
|
||||
helsinki airport has 3 runways most time of the time they use 1-2 runways
|
||||
most common configurations
|
||||
|
||||
- 22r departures 15 arrival
|
||||
- 22r departures 22l arrival
|
||||
- 22r departures parallel arrivals
|
||||
- 15 departures and arrivals
|
||||
- 04r departures and 04l for arrivals
|
||||
- 04r departures and parallel arrivals
|
||||
(33 is rarely used for departures or arrival but its used when wind is about 310 to 360 degrees at 15 knots or higher)
|
||||
|
||||
# best flows below
|
||||
|
||||
# runway 15
|
||||
lakut arrivals leave on a heading 075 from lakut
|
||||
lusep arrivals leave on a heading 165 from lusep
|
||||
intor arrivals leave on a heading 360 from intor
|
||||
arvep arrivals leave on a heading 300 from arvep
|
||||
divam arrivals leave on a heading 055 from divam
|
||||
ropam arrivals leave on a heading 335 from ropam
|
||||
# runway 22l
|
||||
lakut arrivals leave on a heading 075 from lakut
|
||||
lusep arrivals leave on a heading 165 from lusep
|
||||
intor arrivals leave on a heading 360 from intor
|
||||
arvep arrivals leave on a heading 300 from arvep
|
||||
divam arrivals leave on a heading 055 from divam
|
||||
ropam arrivals leave on a heading 335 from ropam
|
||||
# runway 04l
|
||||
lakut arrivals leave on a heading 130 from lakut
|
||||
lusep arrivals leave on a heading 195 from lusep
|
||||
intor arrivals leave on a heading 295 from intor
|
||||
arvep arrivals leave on a heading 300 from arvep
|
||||
divam arrivals leave on a heading 065 from divam
|
||||
ropam arrivals leave on a heading 255 from ropam
|
||||
# parallels
|
||||
vector some to 22l and some to 22r or 04l and 04r good luck
|
||||
|
||||
|
||||
# airlines
|
||||
|
||||
- finnair
|
||||
- norwegian
|
||||
- sas
|
||||
- aeroflot
|
||||
- japan airlines
|
||||
- flydubai
|
||||
- british airways
|
||||
- tap air portugal
|
||||
- lufthansa
|
||||
- china southern
|
||||
- klm
|
||||
- transavia
|
||||
+109
-11
@@ -1,10 +1,13 @@
|
||||
# KLAX Version 1.3 by James Gardner
|
||||
# KLAX Version 1.4 by James Gardner
|
||||
|
||||
[airspace]
|
||||
radius = 40
|
||||
radius = 60
|
||||
elevation = 125
|
||||
usa = true
|
||||
transition = 18001
|
||||
transition = 18000
|
||||
descendaltitude = 14000
|
||||
ceiling = 18000
|
||||
above = 22000
|
||||
center = N33.94250107, W118.4079971
|
||||
magneticvar = 12.466
|
||||
beacons =
|
||||
@@ -31,6 +34,12 @@ beacons =
|
||||
RAL, N33.95200, W117.44900, 0, Riverside
|
||||
GWF, N34.73870, W118.21700, 0, Gen William J Fox
|
||||
OCN, N33.24060, W117.41800, 0, Oceanside
|
||||
CRCUS, N34.0732027778, W117.498438889, 0, Circus
|
||||
IRNMN, N34.2557111111, W118.894047222, 0, Ironman
|
||||
RUKKI, N33.8980555556, W119.433055556, 0, Rukki
|
||||
DSNEE, N33.8181888889, W117.447238889, 0, Disney
|
||||
ROKKR, N34.5450333333, W119.07, 0, Rocker
|
||||
JANNY, N34.5662388889, W118.356219444, 0, Janny
|
||||
|
||||
line1 =
|
||||
N33.28203, W119.52515
|
||||
@@ -100,8 +109,8 @@ runways =
|
||||
rwy4, 07R, N33.9338, W118.419, 83.0, 11096, 0, 0, 118
|
||||
|
||||
entrypoints =
|
||||
300
|
||||
030, emt
|
||||
080, CRCUS
|
||||
320, IRNMN
|
||||
|
||||
[airport2]
|
||||
name = Long Beach Daugherty Field Airport
|
||||
@@ -114,9 +123,9 @@ runways =
|
||||
climbaltitude = 7000
|
||||
|
||||
entrypoints =
|
||||
330
|
||||
030
|
||||
300
|
||||
300, RUKKI
|
||||
60, DSNEE
|
||||
90, DSNEE
|
||||
120
|
||||
|
||||
airlines =
|
||||
@@ -135,9 +144,8 @@ runways =
|
||||
climbaltitude = 9000
|
||||
|
||||
entrypoints =
|
||||
330
|
||||
030
|
||||
300
|
||||
50, PMD
|
||||
330, ROKKR
|
||||
120
|
||||
|
||||
airlines =
|
||||
@@ -266,6 +274,96 @@ route2 =
|
||||
elmoo
|
||||
N34.182333, W118.350167
|
||||
N34.0985, W118.081258
|
||||
|
||||
# KLAX ANJLL4
|
||||
[approach1]
|
||||
runway = rwy4, rev
|
||||
beacon = CRCUS
|
||||
|
||||
route1 =
|
||||
241
|
||||
N34.0732027778, W117.498438889, 12000, 270
|
||||
N34.0068416667, W117.682797222, 10000
|
||||
N34.0001833333, W117.75175, 9000, 250
|
||||
N33.9935611111, W117.819316667, 8000, 210
|
||||
N33.9860194444, W117.896886111, 5500
|
||||
N33.9684527778, W118.074563889, 3500
|
||||
13.1, 3500, 200
|
||||
|
||||
# KLAX IRNMN
|
||||
[approach2]
|
||||
runway = rwy1, rev
|
||||
beacon = IRNMN
|
||||
|
||||
route1 =
|
||||
131
|
||||
N34.2557111111, W118.894047222, 12000
|
||||
N34.1650805556, W118.810819444, 12000, 250
|
||||
N34.0296472222, W118.663666667, 9000, 240
|
||||
N34.0193194444, W118.554077778, 8000
|
||||
N34.0101777778, W118.457105556, 7000, 210
|
||||
N34.027175, W118.358394444, 6000
|
||||
N34.0332611111, W118.298680556
|
||||
N34.047, W118.119
|
||||
15, 4500, 200
|
||||
|
||||
# KLGB BAUBB2
|
||||
[approach3]
|
||||
runway = rwy9, rev
|
||||
beacon = RUKKI
|
||||
|
||||
route1 =
|
||||
107
|
||||
N33.8980555556, W119.433055556, 21000
|
||||
N33.5716666667, W118.774752778, 11000
|
||||
N33.5216666667, W118.465666667, 9000
|
||||
N33.5182222222, W118.332027778, 7000
|
||||
N33.5675, W118.178, 5000
|
||||
N33.5996333333, W118.077822222, 4000
|
||||
N33.6273194444, W118.055497222
|
||||
8, 2500, 200
|
||||
|
||||
# KLGB DSNEE4
|
||||
[approach4]
|
||||
runway = rwy9, rev
|
||||
beacon = DSNEE
|
||||
|
||||
route1 =
|
||||
230
|
||||
N33.8181888889, W117.447238889, 8000, 220
|
||||
N33.763775, W117.62555, 7200
|
||||
N33.7497833333, W117.672352778, 6500
|
||||
N33.6968222222, W117.850591667, 4000
|
||||
N33.6742388889, W117.925777778
|
||||
10, 3000, 200
|
||||
|
||||
# KBUR ROKKR2
|
||||
[approach5]
|
||||
runway = rwy5
|
||||
beacon = ROKKR
|
||||
|
||||
route1 =
|
||||
120
|
||||
N34.5450333333, W119.07, 11000, 250
|
||||
N34.4416388889, W118.975211111, 9000
|
||||
N34.3721777778, W118.906430556, 8000
|
||||
N34.2671833333, W118.791361111, 7000
|
||||
8, 3500, 200
|
||||
|
||||
# KBUR JANNY5
|
||||
[approach6]
|
||||
runway = rwy5
|
||||
beacon = PMD
|
||||
|
||||
route1 =
|
||||
251
|
||||
N34.63140, W118.06400, 13000
|
||||
N34.5662388889, W118.356219444, 8000
|
||||
N34.5491666667, W118.432222222
|
||||
N34.4807138889, W118.486588889, 7000
|
||||
N34.3678277778, W118.574183333
|
||||
N34.2671833333, W118.791361111, 6000
|
||||
8, 3500, 200
|
||||
|
||||
[configurations]
|
||||
config1 =
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
# Los Angeles (Socal Area) For Endless ATC
|
||||
|
||||
This implements Los Angeles International Airport (KLAX), Bob Hope Airport (KBUR), Long Beach (Daugherty Field) Airport (KLGB), and Hawthorne Municipal Airport (KHHR) into the [Endless ATC](https://steamcommunity.com/app/666610) game.
|
||||
This implements Los Angeles International Airport (KLAX), Bob Hope Airport (KBUR), Long Beach (Daugherty Field) Airport (KLGB), ~~and Hawthorne Municipal Airport (KHHR)~~ (Removed in 1.3) into the [Endless ATC](https://steamcommunity.com/app/666610) game.
|
||||
|
||||
## Features
|
||||
|
||||
### Implemented
|
||||
|
||||
* Arrivals and departures at KLAX, KBUR, KLGB and KHHR.
|
||||
* Departures thats (somewhat) mirror the actual SID's.
|
||||
* Arrivals and departures at KLAX, KBUR, KLGB ~~and KHHR~~ (Removed in 1.3).
|
||||
* Custom traffic to match GA and Airlines at KBUR and KLGB.
|
||||
* Custom SIDS that match the departure path perfectly.
|
||||
* Custom STARS that replicate arrivals for all airports.
|
||||
|
||||
### Planned
|
||||
|
||||
@@ -21,8 +21,7 @@ This implements Los Angeles International Airport (KLAX), Bob Hope Airport (KBUR
|
||||
|
||||
Due to the limitations of [Endless ATC](https://steamcommunity.com/app/666610) there are many aspects that are not particuarly accurate.
|
||||
|
||||
* Only around 50% of SIDS are included for KBUR and KLGB, and only around 20% are included for KLAX (Los Angeles has 23 SID's).
|
||||
* No STARS since there is currently no way to model this.
|
||||
* Only around 50% of SIDS are included for KBUR and KLGB, and only around 20% are included for KLAX (Los Angeles has 23 SID's). The majority of these are unused or extremly uncommon. I did not see a point in implementing them since there is no way to prioritize certian SIDs over others.
|
||||
|
||||
## Credits
|
||||
|
||||
@@ -30,6 +29,7 @@ Thanks to Startgrid for this amazing game! Without him this wouldn't be happenin
|
||||
|
||||
## Changelog
|
||||
|
||||
* 1.4 - 3/17/2021 - Custom STARS, updated entrypoints.
|
||||
* 1.3 - 10/31/2020 - Custom SIDS, updated entrypoints.
|
||||
* 1.2 - 7/31/2020 - Added KHHR support for increased GA traffic.
|
||||
* 1.2 - 7/31/2020 - ~~Added KHHR support for increased GA traffic.~~ (Removed in 1.3)
|
||||
* 1.1 - 7/28/2020 - Initial Release. Includes KLAX, KBUR, and KLGB.
|
||||
|
||||
@@ -0,0 +1,175 @@
|
||||
# KSAN Version 1.0 by James Gardner
|
||||
|
||||
[airspace]
|
||||
radius = 30
|
||||
elevation = 17
|
||||
usa = true
|
||||
transition = 18000
|
||||
descendaltitude = 9000
|
||||
ceiling = 10000
|
||||
above = 18000
|
||||
center = N32.936006165, W117.090002441
|
||||
magneticvar = 12.349
|
||||
beacons =
|
||||
AN, N32.73990, W117.21600, 0, Boing
|
||||
NZY, N32.70260, W117.21600, 0, North Island
|
||||
MZB, N32.78220, W117.22500, 0, Mission Bay
|
||||
MY, N32.77990, W117.04500, 0, Deoro
|
||||
NKX, N32.86970, W117.15500, 0, Miramar
|
||||
NRS, N32.56420, W117.11000, 0, Imperial Beach
|
||||
PGY, N32.61030, W116.97900, 0, Poggi
|
||||
TIJ, N32.54040, W116.95300, 0, Tijuana
|
||||
OCN, N33.24060, W117.41800, 0, Oceanside
|
||||
NFG, N33.27440, W117.38700, 0, Camp Pendleton
|
||||
JLI, N33.14050, W116.58600, 0, Julian
|
||||
HSKER, N32.8444444444, W116.606666667, 0, HSKER
|
||||
COMIX, N33.1374361111, W117.483794444, 0, COMIX
|
||||
|
||||
line1 =
|
||||
N32.95991, W118.50747
|
||||
N33.03267, W118.55708
|
||||
|
||||
line2 =
|
||||
N32.93560, W118.52891
|
||||
N32.83892, W118.47319
|
||||
N32.81851, W118.40859
|
||||
N32.82759, W118.35039
|
||||
N32.84946, W118.38320
|
||||
N32.95991, W118.50747
|
||||
|
||||
line3 =
|
||||
N33.35713, W118.46934
|
||||
N33.31709, W118.44629
|
||||
N33.32124, W118.37021
|
||||
N33.31211, W118.29746
|
||||
N33.38574, W118.34795
|
||||
N33.41509, W118.39170
|
||||
N33.47710, W118.55483
|
||||
N33.46416, W118.56943
|
||||
N33.43706, W118.56333
|
||||
N33.43198, W118.55942
|
||||
N33.42700, W118.50732
|
||||
N33.41279, W118.49204
|
||||
N33.35713, W118.46934
|
||||
|
||||
line4 =
|
||||
N33.72217, W118.08052
|
||||
N33.61963, W117.95210
|
||||
N33.53848, W117.78853
|
||||
N33.29551, W117.46743
|
||||
N33.10005, W117.31885
|
||||
N32.93887, W117.26299
|
||||
N32.87339, W117.25576
|
||||
N32.80625, W117.27070
|
||||
N32.66401, W117.24346
|
||||
N32.68789, W117.18374
|
||||
N32.64917, W117.13740
|
||||
N32.53975, W117.13047
|
||||
N32.53335, W117.12827
|
||||
N32.34360, W117.06313
|
||||
N32.30503, W117.03477
|
||||
N32.19854, W116.91367
|
||||
N31.99736, W116.84800
|
||||
N31.85107, W116.62080
|
||||
N31.75801, W116.62388
|
||||
N31.74033, W116.65210
|
||||
N31.74365, W116.70171
|
||||
N31.73457, W116.72207
|
||||
|
||||
line5 =
|
||||
N33.30254, W115.91133
|
||||
N33.43262, W116.06172
|
||||
N33.50210, W116.05347
|
||||
N33.52192, W116.01045
|
||||
N33.51943, W115.94844
|
||||
N33.45166, W115.88394
|
||||
|
||||
[airport1]
|
||||
name = San Diego International Airport
|
||||
code = KSAN
|
||||
runways =
|
||||
rwy1, 09, N32.7371, W117.204, 106.0, 9401, 700, 1810, 14
|
||||
|
||||
entrypoints =
|
||||
060, HSKER
|
||||
320, COMIX
|
||||
|
||||
airlines =
|
||||
swa, 5, b737/b738, Southwest
|
||||
aal, 3, a318/b738/B763, American
|
||||
jbu, 2, a320, Jet Blue
|
||||
ups, 1, b763, UPS
|
||||
fdx, 1, b763, Fedex
|
||||
xe, 1, e135, JetSuite
|
||||
n-123ab, 1, c172/p28/e13bj/be35/be20/c152
|
||||
|
||||
[departure1]
|
||||
runway = rwy1, rev
|
||||
route1 =
|
||||
cward2, seaward2
|
||||
N32.7980083333, W117.315969444
|
||||
N33.0634555556, W117.729230556
|
||||
N33.3840138889, W117.909272222
|
||||
|
||||
route2 =
|
||||
brdr7, border7
|
||||
N32.7545972222, W117.276536111
|
||||
N32.702833, W117.295667
|
||||
N32.6253583333, W117.239327778
|
||||
N32.61030, W116.97900
|
||||
N32.6311166667, W116.769919444
|
||||
N33.14050, W116.58600
|
||||
|
||||
route3 =
|
||||
padrz2, padrez2
|
||||
N32.7980083333, W117.315969444
|
||||
N33.0634555556, W117.729230556
|
||||
N33.1938888889, W117.861944444
|
||||
|
||||
route4 =
|
||||
zzooo2, zoo2
|
||||
N32.7545972222, W117.276536111
|
||||
N32.6314555556, W117.245827778
|
||||
N32.6018333333, W116.916133333
|
||||
N32.630225, W116.7732
|
||||
N33.0094138889, W116.587447222
|
||||
N33.3993611111, W116.383111111
|
||||
|
||||
route5 =
|
||||
zzooo2, zoo2
|
||||
N32.7545972222, W117.276536111
|
||||
N32.6314555556, W117.245827778
|
||||
N32.6018333333, W116.916133333
|
||||
N32.630225, W116.7732
|
||||
N32.7012555556, W116.031180556
|
||||
|
||||
[approach1]
|
||||
runway = rwy1, rev
|
||||
beacon = HSKER
|
||||
|
||||
route1 =
|
||||
195
|
||||
N32.8444444444, W116.606666667, 8700, 270
|
||||
N32.7741083333, W116.677463889, 8000
|
||||
N32.7399166667, W116.749694444, 6100
|
||||
N32.7075, W116.818055556, 6000
|
||||
N32.6882222222, W116.879861111, 5000, 210
|
||||
14.2, 4000, 200
|
||||
|
||||
[approach2]
|
||||
runway = rwy1, rev
|
||||
beacon = COMIX
|
||||
|
||||
route1 =
|
||||
127
|
||||
N33.1374361111, W117.483794444, 12000
|
||||
N33.0505555556, W117.411388889
|
||||
N32.9183333333, W117.300555556, 9000, 230
|
||||
N32.8118, W117.212030556, 7000
|
||||
N32.7788722222, W117.064397222, 6000, 210
|
||||
N32.7388722222, W116.875, 4000
|
||||
14.2, 4000, 200
|
||||
|
||||
[configurations]
|
||||
config1 =
|
||||
0, rwy1, landstartrev
|
||||
@@ -0,0 +1,36 @@
|
||||
# SOCAL West (San Diego) For Endless ATC
|
||||
|
||||
This is my rendition of San Diego TRACON, also known as SOCAL West (it is a SOCAL facility). San Diego is the busiest single runway airport in the world, making it one heck of a challenge for approach. I will warn you now, this is a seriously difficult custom airport. You better be up for the challange! Yes I know the only ILS approach is on runway 9, but that is really never used except for extreme weather situations. Runway 27 does have a localizer approach though, and so you will just have to use your imagination and pretend that the aircraft are on a localizer and not an ILS.
|
||||
|
||||
## Guide
|
||||
|
||||
I figured I should really add a basic guide to how the airport operates so you can really get the most out of this custom airport without ripping your head out.
|
||||
|
||||
Departures are not a huge concern, CWARD and PADRZ go the same direction and are almost identical, BORDER and ZOOM are pretty similar. When an arrival pops up, I ususally just increase the alitude immedietly to get it out the way. Your arrival and departure flows shouldnt really need to mix.
|
||||
|
||||
Arrivals are where things get a little more tricky. For aircraft on the LUCKI1 STAR (from the east - HSKER is the fix) I normally just leave them. It is quite rare that I actually take them off the arrival. The COMIX2 STAR (from the north-west down the coast - COMIX fix) is where I spend most of my energy managing. If you look at the actual chart for the COMIX2 arrival you will notice the SID ends with a radar vector north and parralel to the localizer in the opposite direction. Approach would then provide radar vectors to sequence them in on the localizer. This isnt a thing in EndlessATC however, and so I have the approach run parralel, and then turn to join the localizer at the same point as the LUCKI1 arrivals. For 99% of my COMIX2 arrivals I drop them down to 2000 - 3000 ft and turn them onto the localizer way earlier to sequence them ahead / behind my LUCKI1 arrivals that should already be established. Its really a challenge and takes a lot of focus.
|
||||
|
||||
Hope this helps a little, good luck with this one! I tend to manually keep the skill at about 7 - 8 or else it just gets unmanageable.
|
||||
|
||||
## Features
|
||||
|
||||
### Implemented
|
||||
|
||||
* Runway 27 Implementation
|
||||
* CWARD2, BORDER7, PADRZ2, and ZOOM2 SID Implementation
|
||||
* COMIX2 and LUCKI1 STAR Implementation
|
||||
* Custom Airline Implementation
|
||||
|
||||
### To Do
|
||||
|
||||
* Additional SIDS / STARS
|
||||
* Airspace Boundries
|
||||
* Secondary Airports
|
||||
|
||||
## Changelog
|
||||
|
||||
* 3/16/2021 - KSAN Version 1.0:
|
||||
* Runway 27 Implementation
|
||||
* CWARD2, BORDER7, PADRZ2, and ZOOM2 SID Implementation
|
||||
* COMIX2 and LUCKI1 STAR Implementation
|
||||
* Custom Airline Implentation
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,6 @@
|
||||
# San Fransico International Airport
|
||||
|
||||
SFOW vector patterns:
|
||||

|
||||
|
||||
In this version of SFO, all SFOW SIDs are implemented as well as STARs. OAKW and SJCW STARs are also implemented.
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,118 @@
|
||||
# D01 TRACON (Version 1.0)
|
||||
This is a recreation of the real-world FAA facility D01 for [Endless ATC](https://steamcommunity.com/app/666610).
|
||||
The D01 TRACON in the real-world covers Denver International Airport (KDEN) and its numerous satellites, which include
|
||||
Centennial (KAPA), Rocky Mountain Metro (KBJC), Northern Colorado Airport (KFNL), and the Colorado Air and Space Port (KCFO).
|
||||
These satellite airports are not currently implemented in this rendition of the D01, however, they may be in the future.
|
||||
|
||||
D01 also covers Grand Junction (KGJT) and Pueblo (KPUB) as a detached section of the TRACON, however, this is not simulated in
|
||||
this rendition due to the sheer size the TRACON would have to be.
|
||||
|
||||
All data in this is based on the FAA's data (AIRAC 2102) which it provides to the public for free. Minimum altitudes are based off
|
||||
the real-world D01 MVA map (also provided to the public by the FAA).
|
||||
|
||||
## Airports
|
||||
### `KDEN` Denver International Airport
|
||||
Denver International (also known as DIA) is the largest airport in the U.S., with 4 north-south parallel runways and 2
|
||||
east-west parallel runways. Denver is surrounded by the Rocky Mountains to the west, presenting an interesting challenge
|
||||
when vectoring aircraft to and from the west. DIA is a hub airport for Frontier Airlines and United Airlines, dominating much of the traffic
|
||||
at DIA. DIA is also a focus city for Southwest, and is serviced by every major U.S. airline. While KDEN is located underneath
|
||||
Class B airspace in real life, this is not implemented.
|
||||
|
||||
#### STARs
|
||||
In this version of KDEN, 4 STARs are implemented:
|
||||
<ul>
|
||||
<li>SSKII2 (southwest gate)</li>
|
||||
<li>FLATI2 (northwest gate)</li>
|
||||
<li>CLASH3 (southwest gate)</li>
|
||||
<li>AALLE2 (northeast gate)</li>
|
||||
</ul>
|
||||
All aircraft will arrive inbound direct their gate. From there, you can click on the `APP` button. In order to select a
|
||||
different runway transition, tap on the `APP` button again until the correct runway transition is selected.
|
||||
|
||||
##### A note on vector segments
|
||||
In the real world, many of these STAR segments end on a vector track (airplanes continue to fly a specified heading).
|
||||
However, this is not possible to implement in Endless ATC, so it is instead implemented by a 20 mile extension past the
|
||||
final waypoint. You must vector these planes to final, or they may present a conflict later on if you forget about them!
|
||||
You can recognize these as the turn-to-final is one greater than 90 degrees.
|
||||
|
||||
#### SIDs
|
||||
In this version of KDEN, all RNAV SIDs are implemented that are RNAV-off-the-ground. Many of the SIDs at KDEN are vector-based
|
||||
if the aircraft is taking off in the opposite direction of the departure gate (i.e. an EMMYS7 departure off of runway 25). For this reason, departures
|
||||
in this rendition are a little easier than real life, but are still very interesting!
|
||||
|
||||
#### Runway Configurations
|
||||
All runway configurations used at KDEN are implemented. Besides each runway configuration is a number called the "AAR."
|
||||
This stands for "Arrival Acceptance Rate," and signifies how much traffic KDEN can accept in any given hour. Denver has the
|
||||
highest AAR of any airport in the world!
|
||||
|
||||
__South Calm (Default Configuration)__ (114 AAR)
|
||||
|
||||
Arrive: 16L, 16R, 17R\
|
||||
Depart: 8, 25, 17L\
|
||||
Winds: 080-259 degrees, less than 10 kts
|
||||
|
||||
__North Calm__ (114 AAR)
|
||||
|
||||
Arrive: 34R, 35L, 35R\
|
||||
Depart: 8, 25, 34L\
|
||||
Winds: 260-079 degrees, less than 10 kts
|
||||
|
||||
__Northwest__ (152 AAR)
|
||||
|
||||
Arrive: 26, 34R, 35L, 35R\
|
||||
Depart: 25, 34L\
|
||||
Winds: 260-349 degrees, 11-25 kts
|
||||
|
||||
__Southwest__ (152 AAR)
|
||||
|
||||
Arrive: 26, 16L, 16R, 17R\
|
||||
Depart: 25, 17L\
|
||||
Winds: 170-259 degrees, 11-25 kts
|
||||
|
||||
__Southeast__ (152 AAR)
|
||||
|
||||
Arrive: 7, 16L, 16R, 17R\
|
||||
Depart: 8, 17L\
|
||||
Winds: 080-169 degrees, 11-25 kts
|
||||
|
||||
__Northeast__ (152 AAR)
|
||||
|
||||
Arrive: 7, 34R, 35L, 35R\
|
||||
Depart: 8, 34L\
|
||||
Winds: 350-079 degrees, 11-25 kts
|
||||
|
||||
__North All__ (114 AAR)
|
||||
|
||||
Arrive: 34R, 35L, 35R\
|
||||
Depart: 34L, 34R\
|
||||
Winds: 300-049 degrees, greater than 26 kts
|
||||
|
||||
__South All__ (114 AAR)
|
||||
|
||||
Arrive: 16R, 17L, 17R\
|
||||
Depart: 16L, 17L\
|
||||
Winds: 120-219 degrees, greater than 26 kts
|
||||
|
||||
__West All__ (48 AAR)
|
||||
|
||||
Arrive: 26, 25\
|
||||
Depart: 25\
|
||||
Winds: 220-299 degrees, greater than 26 kts
|
||||
|
||||
__East All__ (48 AAR)
|
||||
|
||||
Arrive: 7, 8\
|
||||
Depart: 8\
|
||||
Winds: 050-119 degrees, greater than 26 kts
|
||||
|
||||
__Honey Badger (Arrival Priority)__ (152 AAR)
|
||||
|
||||
Arrive: 16L, 16R, 35L, 35R\
|
||||
Depart: 8, 25\
|
||||
This configuration provides the highest arrival rates
|
||||
|
||||
__Honey Badger (Departure Priority)__ (48 AAR)
|
||||
|
||||
Arrive: 7, 26\
|
||||
Depart: 34L, 34R, 17L, 17R\
|
||||
This configuration provides the highest departure rates
|
||||
@@ -0,0 +1,608 @@
|
||||
[airspace]
|
||||
radius = 55
|
||||
zoom = 50.0
|
||||
elevation = 13
|
||||
floor = 1500
|
||||
descendaltitude = 9000
|
||||
ceiling = 10000
|
||||
above = 11000
|
||||
transitionaltitude = 18000
|
||||
speedrestriction = 5, 250
|
||||
usa = true
|
||||
metric = false
|
||||
separation = 3
|
||||
center = N41.7243425, W71.4296411
|
||||
magneticvar = -14.1
|
||||
|
||||
beacons =
|
||||
orw, N41.5564036, W71.9993533, 0, norwich
|
||||
pvd, N41.7243425, W71.4296411, 0, providence
|
||||
sey, N41.1674361, W71.5760861, 0, sandy point
|
||||
put, N41.9554603, W71.8440947, 0, putnam
|
||||
gon, N41.3304019, W72.0519847, 0, groton
|
||||
mvy, N41.3962147, W70.6127158, 0, martha's vineyard
|
||||
hto, N40.9189958, W72.3167044, 0, hampton
|
||||
jordn, N41.03.16.92, W071.54.52.66, 0, jordan
|
||||
lafay, N41.27.45.22, W071.43.16.43, 0, luh fay
|
||||
|
||||
boundary =
|
||||
N42.05.52.55, W71.28.52.50
|
||||
N42.03.10.48, W71.40.41.86
|
||||
N41.59.41.55, W71.55.19.85
|
||||
N41.48.05.86, W72.03.37.84
|
||||
N41.46.09.87, W72.04.36.02
|
||||
N41.36.21.35, W72.09.04.81
|
||||
N41.34.11.28, W72.14.28.43
|
||||
N41.28.57.71, W72.27.47.99
|
||||
N41.20.05.61, W72.21.59.18
|
||||
N41.07.26.74, W72.14.55.67
|
||||
N41.04.34.77, W72.11.18.19
|
||||
N41.02.57.54, W72.09.25.31
|
||||
N40.48.40.61, W71.54.24.11
|
||||
N40.45.56.70, W71.51.34.50
|
||||
N40.57.48.09, W71.01.37.81
|
||||
N41.07.34.18, W71.01.35.80
|
||||
N41.26.00.68, W71.01.41.01
|
||||
N41.31.06.44, W70.53.43.49
|
||||
N41.33.45.06, W70.49.57.91
|
||||
N41.42.05.13, W70.47.04.77
|
||||
N41.47.48.80, W70.41.54.09
|
||||
N41.54.17.74, W70.52.47.64
|
||||
N41.53.30.57, W70.55.20.27
|
||||
N41.54.09.74, W71.02.43.09
|
||||
N42.00.52.05, W71.21.39.07
|
||||
|
||||
line1 =
|
||||
N41.01504, W72.10190
|
||||
N41.05146, W72.15127
|
||||
N41.04678, W72.18389
|
||||
N41.02407, W72.28745
|
||||
N40.97217, W72.40898
|
||||
N40.93379, W72.46133
|
||||
N40.91479, W72.51660
|
||||
N40.92134, W72.58086
|
||||
N40.98604, W72.50977
|
||||
N41.03853, W72.42739
|
||||
N41.15303, W72.27412
|
||||
N41.12554, W72.37256
|
||||
N41.02700, W72.54365
|
||||
N40.99185, W72.62510
|
||||
N40.97207, W72.82881
|
||||
|
||||
line2 =
|
||||
N40.77783, W72.76284
|
||||
N40.79062, W72.67607
|
||||
N40.82578, W72.55557
|
||||
N40.87539, W72.42808
|
||||
N40.89414, W72.33896
|
||||
N41.06069, W71.90322
|
||||
N41.04429, W72.00396
|
||||
N41.01504, W72.10190
|
||||
|
||||
line3 =
|
||||
N41.46675, W71.39307
|
||||
N41.48525, W71.36533
|
||||
N41.54229, W71.35449
|
||||
N41.57183, W71.36431
|
||||
N41.57056, W71.38398
|
||||
N41.51504, W71.40342
|
||||
N41.46675, W71.39307
|
||||
|
||||
line4 =
|
||||
N41.44854, W70.67373
|
||||
N41.37358, W70.76050
|
||||
N41.35898, W70.82920
|
||||
N41.32744, W70.78530
|
||||
N41.37632, W70.50991
|
||||
N41.41479, W70.52534
|
||||
N41.45723, W70.61602
|
||||
N41.44854, W70.67373
|
||||
|
||||
line5 =
|
||||
N41.46938, W71.34624
|
||||
N41.46460, W71.29092
|
||||
N41.49194, W71.24141
|
||||
N41.65430, W71.23203
|
||||
N41.63823, W71.26445
|
||||
N41.62002, W71.28018
|
||||
N41.56050, W71.30747
|
||||
N41.50630, W71.31816
|
||||
N41.46938, W71.34624
|
||||
|
||||
line6 =
|
||||
N41.32847, W70.06270
|
||||
N41.31758, W70.08662
|
||||
N41.28633, W70.23306
|
||||
N41.24946, W70.05508
|
||||
N41.26558, W69.97793
|
||||
N41.29863, W69.98560
|
||||
N41.39746, W70.04121
|
||||
N41.37441, W70.04360
|
||||
N41.32847, W70.06270
|
||||
|
||||
line7 =
|
||||
N41.28516, W72.92471
|
||||
N41.26587, W72.84717
|
||||
N41.27578, W72.47939
|
||||
N41.31216, W72.37104
|
||||
N41.29165, W72.26528
|
||||
N41.32612, W72.07388
|
||||
N41.34106, W71.92993
|
||||
N41.33550, W71.84238
|
||||
N41.33091, W71.76929
|
||||
N41.37896, W71.52285
|
||||
N41.45371, W71.44380
|
||||
N41.63330, W71.42656
|
||||
N41.70273, W71.36367
|
||||
N41.79531, W71.39014
|
||||
N41.78623, W71.35918
|
||||
N41.76226, W71.33062
|
||||
N41.71987, W71.31074
|
||||
N41.68125, W71.27109
|
||||
N41.70654, W71.23379
|
||||
N41.74404, W71.17832
|
||||
N41.74570, W71.14873
|
||||
N41.64111, W71.20430
|
||||
N41.51641, W71.18843
|
||||
N41.48940, W71.16855
|
||||
N41.53809, W71.07979
|
||||
N41.54854, W70.97422
|
||||
N41.71484, W70.70112
|
||||
N41.71011, W70.66646
|
||||
N41.60811, W70.65537
|
||||
N41.55830, W70.66807
|
||||
N41.53423, W70.65713
|
||||
N41.58247, W70.48135
|
||||
N41.62690, W70.40469
|
||||
N41.67734, W70.05952
|
||||
N41.68398, W69.98677
|
||||
N41.67715, W69.94863
|
||||
N41.71045, W69.93384
|
||||
N41.80786, W69.94160
|
||||
N41.96128, W69.97788
|
||||
N42.07832, W70.10894
|
||||
N42.09712, W70.15986
|
||||
N42.10103, W70.20352
|
||||
N42.09121, W70.24106
|
||||
N42.07104, W70.23652
|
||||
N42.03511, W70.19624
|
||||
N42.06279, W70.17256
|
||||
N42.03013, W70.11025
|
||||
N41.97969, W70.09004
|
||||
N41.87231, W70.00610
|
||||
N41.82617, W70.00142
|
||||
N41.76987, W70.13501
|
||||
N41.72896, W70.29546
|
||||
N41.75728, W70.42666
|
||||
N41.80332, W70.51470
|
||||
N41.93862, W70.54893
|
||||
N41.98706, W70.65615
|
||||
N42.02158, W70.64521
|
||||
N42.04043, W70.61768
|
||||
N42.22886, W70.73828
|
||||
N42.26494, W70.81797
|
||||
N42.30000, W70.99673
|
||||
N42.33110, W71.04619
|
||||
N42.43198, W70.93047
|
||||
N42.49663, W70.87090
|
||||
N42.55259, W70.83115
|
||||
N42.57036, W70.75186
|
||||
N42.61665, W70.66143
|
||||
N42.62324, W70.61294
|
||||
N42.64971, W70.60415
|
||||
N42.67178, W70.62397
|
||||
N42.67397, W70.65483
|
||||
N42.66460, W70.69687
|
||||
N42.66929, W70.73569
|
||||
N42.72124, W70.78135
|
||||
|
||||
[area1]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
labelpos = N0.0, W0.0
|
||||
points =
|
||||
N42.03.10.48, W71.40.41.86
|
||||
N42.00.35.84, W71.41.12.06
|
||||
N41.50.42.31, W71.30.30.25
|
||||
N41.46.41.57, W71.37.04.68
|
||||
N41.46.09.87, W72.04.36.02
|
||||
N41.48.05.86, W72.03.37.84
|
||||
N41.59.41.55, W71.55.19.85
|
||||
|
||||
[area2]
|
||||
shape = circle
|
||||
altitude = 2100
|
||||
name = X
|
||||
radius = 1
|
||||
labelpos = N41.52.54.07, W71.48.13.30
|
||||
position = N0.0, W0.0
|
||||
|
||||
[area3]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
labelpos = N0.0, W0.0
|
||||
points =
|
||||
N41.26.00.68, W71.01.41.01
|
||||
N41.31.06.44, W70.53.43.49
|
||||
N41.33.45.06, W70.49.57.91
|
||||
N41.42.05.13, W70.47.04.77
|
||||
N41.47.48.80, W70.41.54.09
|
||||
N41.54.17.74, W70.52.47.64
|
||||
N41.53.30.57, W70.55.20.27
|
||||
N41.54.09.74, W71.02.43.09
|
||||
N42.00.52.05, W71.21.39.07
|
||||
N42.05.52.55, W71.28.52.50
|
||||
N42.03.10.48, W71.40.41.86
|
||||
N42.00.35.84, W71.41.12.06
|
||||
N41.50.42.31, W71.30.30.25
|
||||
N41.37.55.38, W71.01.06.94
|
||||
N41.26.00.68, W71.01.41.01
|
||||
|
||||
[area4]
|
||||
shape = circle
|
||||
altitude = 1900
|
||||
name = X
|
||||
radius = 1
|
||||
labelpos = N41.44.31.91, W70.54.40.05
|
||||
position = N0.0, W0.0
|
||||
|
||||
[area5]
|
||||
shape = polygon
|
||||
altitude = 0
|
||||
labelpos = N0.0, W0.0
|
||||
points =
|
||||
N41.46.09.87, W72.04.36.02
|
||||
N41.36.21.35, W72.09.04.81
|
||||
N41.34.11.28, W72.14.28.43
|
||||
N41.20.46.46, W72.19.05.95
|
||||
N41.17.36.80, W72.17.34.26
|
||||
N41.20.01.55, W72.10.11.89
|
||||
N41.22.29.41, W71.25.29.04
|
||||
N41.38.51.06, W71.25.29.60
|
||||
N41.36.52.97, W71.19.17.43
|
||||
N41.36.30.33, W71.19.11.80
|
||||
N41.35.54.25, W71.18.54.37
|
||||
N41.35.23.43, W71.18.34.52
|
||||
N41.35.01.52, W71.18.17.01
|
||||
N41.34.20.18, W71.17.33.84
|
||||
N41.33.56.96, W71.17.02.78
|
||||
N41.33.22.05, W71.15.59.36
|
||||
N41.33.05.77, W71.15.19.41
|
||||
N41.32.54.52, W71.14.42.09
|
||||
N41.32.44.45, W71.13.57.16
|
||||
N41.32.38.67, W71.13.14.00
|
||||
N41.32.35.78, W71.12.36.56
|
||||
N41.32.36.04, W71.11.49.00
|
||||
N41.32.40.81, W71.10.55.26
|
||||
N41.32.49.37, W71.10.10.77
|
||||
N41.32.58.29, W71.09.33.60
|
||||
N41.37.55.38, W71.01.06.94
|
||||
N41.50.42.31, W71.30.30.25
|
||||
N41.46.41.57, W71.37.04.68
|
||||
|
||||
[area6]
|
||||
shape = circle
|
||||
altitude = 2000
|
||||
name = X
|
||||
radius = 1
|
||||
labelpos = N41.32.22.46, W71.45.32.46
|
||||
position = N0.0, W0.0
|
||||
|
||||
[area7]
|
||||
shape = circle
|
||||
altitude = 0
|
||||
labelpos = N0.0, W0.0
|
||||
radius = 3.0
|
||||
position = N41.24.55.25, W72.11.39.60
|
||||
|
||||
[area8]
|
||||
shape = circle
|
||||
altitude = 2500
|
||||
name = X
|
||||
radius = 1
|
||||
labelpos = N41.25.12.39, W72.13.13.54
|
||||
position = N0.0, W0.0
|
||||
|
||||
[area9]
|
||||
shape = circle
|
||||
altitude = 0
|
||||
labelpos = N0.0, W0.0
|
||||
radius = 3.0
|
||||
position = N41.52.12.12, W71.17.40.72
|
||||
|
||||
[area10]
|
||||
shape = circle
|
||||
altitude = 2100
|
||||
name = X
|
||||
radius = 1
|
||||
labelpos = N41.53.02.25, W71.19.55.57
|
||||
position = N0.0, W0.0
|
||||
|
||||
[airport1]
|
||||
name = Providence T.F. Green Airport
|
||||
code = KPVD
|
||||
|
||||
climbaltitude = 4000
|
||||
|
||||
runways =
|
||||
rwy5, 5, N41.710270, W71.437944, 32.2, 8700
|
||||
rwy16, 16, N41.731669, W71.432184, 141.6, 6081, 565, 0
|
||||
|
||||
sids =
|
||||
jumpr, N41.10.15.34, W071.14.49.50, jumper
|
||||
put
|
||||
|
||||
entrypoints =
|
||||
230, jordn
|
||||
280, orw
|
||||
|
||||
airlines =
|
||||
aal, 7, b738/a320, american, sw
|
||||
jia, 10, crj7/crj9, blue streak, sw
|
||||
dal, 5, b738/a321, delta, sw
|
||||
jbu, 5, a320/a321, jet blue, sw
|
||||
ups, 6, b752, u p s, sw
|
||||
fdx, 6, b752, fed ex, sw
|
||||
wig, 4, c208, wiggins, sw
|
||||
aca, 6, a320, air canada, w
|
||||
|
||||
[airport2]
|
||||
name = Groton-New London Airport
|
||||
code = GN
|
||||
|
||||
runways =
|
||||
rwy15gon, 15, N41.333120, W72.053016, 135.0, 4000
|
||||
rwy5gon, 5, N41.325054, W72.048004, 34.0, 5000
|
||||
|
||||
traffic = 5
|
||||
inboundbeacon = gon
|
||||
|
||||
airlines =
|
||||
n-12345, 10, c750/c172/p28a/tbm8
|
||||
|
||||
sids =
|
||||
sey
|
||||
put
|
||||
orw
|
||||
mvy
|
||||
hto
|
||||
|
||||
|
||||
[airport3]
|
||||
name = New Bedford Regional Airport
|
||||
code = EW
|
||||
|
||||
runways =
|
||||
rwy14ewb, 14, N41.680300, W70.963923, 128.5, 5000
|
||||
rwy5ewb, 5, N41.671290, W70.964954, 38.4, 5400
|
||||
|
||||
traffic = 5
|
||||
inboundbeacon = pvd
|
||||
|
||||
airlines =
|
||||
n-12345, 10, c750/c172/p28a/tbm8
|
||||
|
||||
sids =
|
||||
sey
|
||||
put
|
||||
orw
|
||||
mvy
|
||||
hto
|
||||
|
||||
[configurations]
|
||||
config1 =
|
||||
0, rwy5, landstart, 050, nosid
|
||||
0, rwy16, landrev
|
||||
0, rwy5ewb, landstart, 050, nosid
|
||||
0, rwy5gon, landstart, 050, nosid
|
||||
|
||||
config2 =
|
||||
0, rwy5, landstartrev, 230, nosid
|
||||
0, rwy5ewb, landstartrev, 230, nosid
|
||||
0, rwy5gon, landstartrev, 270, nosid
|
||||
|
||||
config3 =
|
||||
0, rwy16, landstart, 160, nosid
|
||||
0, rwy14ewb, landstart, 180, nosid
|
||||
0, rwy15gon, landstartrev, 090, nosid
|
||||
|
||||
config4 =
|
||||
0, rwy5, landstart, 050, nosid
|
||||
0, rwy16, landrev
|
||||
0, rwy14ewb, landrev
|
||||
0, rwy15gon, landstartrev, 330, nosid
|
||||
|
||||
[approach1]
|
||||
runway = rwy5
|
||||
beacon = orw
|
||||
route1 =
|
||||
142
|
||||
N41.5564036, W71.999353
|
||||
N41.29.22.03, W071.48.01.95
|
||||
N41.27.45.22, W071.43.16.43
|
||||
end, 129
|
||||
|
||||
[approach2]
|
||||
runway = rwy5, rev
|
||||
beacon = orw
|
||||
route1 =
|
||||
142
|
||||
N41.5564036, W71.9993533
|
||||
N41.29.22.03, W071.48.01.95
|
||||
N41.37.11.58, W071.39.09.45
|
||||
N41.46.44.52, W071.30.42.26
|
||||
N41.49.57.59, W071.27.59.91
|
||||
end, 047
|
||||
|
||||
[approach3]
|
||||
runway = rwy5
|
||||
beacon = jordn
|
||||
route1 =
|
||||
081
|
||||
N41.03.16.92, W071.54.52.66
|
||||
N41.21.40.67, W071.25.27.20
|
||||
end, 015
|
||||
|
||||
[approach4]
|
||||
runway = rwy5, rev
|
||||
beacon = jordn
|
||||
route1 =
|
||||
081
|
||||
N41.03.16.92, W071.54.52.66
|
||||
N41.21.40.67, W071.25.27.20
|
||||
end, 015
|
||||
|
||||
[approach5]
|
||||
runway = rwy5gon, rev
|
||||
beacon = orw
|
||||
route1 =
|
||||
137
|
||||
N41.5564036, W71.9993533
|
||||
N41.30.08.10, W071.53.20.71, 2100
|
||||
6.0, 2000, 250
|
||||
|
||||
[approach6]
|
||||
runway = rwy5gon, rev
|
||||
beacon = jogil, N41.30.08.10, W071.53.20.71, 0, joe gill
|
||||
route1 =
|
||||
228
|
||||
N41.30.08.10, W071.53.20.71, 2100
|
||||
6.0, 2000, 250
|
||||
|
||||
[approach7]
|
||||
runway = rwy5gon, rev
|
||||
beacon = lafay, N41.27.45.22, W071.43.16.43, 0, lafay
|
||||
route1 =
|
||||
302
|
||||
N41.27.45.22, W071.43.16.43
|
||||
N41.30.08.10, W071.53.20.71, 2100
|
||||
6.0, 2000, 250
|
||||
|
||||
[approach8]
|
||||
runway = rwy5gon, rev
|
||||
beacon = pvd
|
||||
route1 =
|
||||
251
|
||||
N41.43.25.46, W071.25.54.17
|
||||
N41.30.08.10, W071.53.20.71, 2100
|
||||
6.0, 2000, 250
|
||||
|
||||
[approach9]
|
||||
runway = runway15gon, rev
|
||||
beacon = jordn
|
||||
route1 =
|
||||
045
|
||||
N41.03.16.92, W071.54.52.66
|
||||
N41.09.47.61, W071.49.44.10, 2000
|
||||
5.7, 1900, 250
|
||||
|
||||
[approach10]
|
||||
runway = runway15gon, rev
|
||||
beacon = sufok, N41.09.47.61, W071.49.44.10, 0, suh fock
|
||||
route1 =
|
||||
329
|
||||
N41.09.47.61, W071.49.44.10, 2000
|
||||
5.7, 1900, 250
|
||||
|
||||
[approach11]
|
||||
runway = runway15gon, rev
|
||||
beacon = sey
|
||||
route1 =
|
||||
283
|
||||
N41.1674361, W71.5760861
|
||||
N41.09.47.61, W071.49.44.10, 2000
|
||||
5.7, 1900, 250
|
||||
|
||||
[approach12]
|
||||
runway = rwy5ewb
|
||||
beacon = bonni, N41.32.07.22, W071.06.30.45, 0, bonnie
|
||||
route1 =
|
||||
054
|
||||
N41.32.07.22, W071.06.30.45, 2100
|
||||
4.4, 1500, 250
|
||||
|
||||
[approach13]
|
||||
runway = rwy5ewb
|
||||
beacon = rodme, N41.27.00.56, W071.02.19.17, 0, rod me
|
||||
route1 =
|
||||
344
|
||||
N41.27.00.56, W071.02.19.17
|
||||
N41.32.07.22, W071.06.30.45, 2100
|
||||
4.4, 1500, 250
|
||||
|
||||
[approach14]
|
||||
runway = rwy5ewb
|
||||
beacon = cepig, N41.34.00.30, W071.14.05.68, 0, sea pig
|
||||
route1 =
|
||||
124
|
||||
N41.34.00.30, W071.14.05.68
|
||||
N41.32.07.22, W071.06.30.45, 2100
|
||||
4.4, 1500, 250
|
||||
|
||||
[approach15]
|
||||
runway = rwy5ewb
|
||||
beacon = pvd
|
||||
route1 =
|
||||
153
|
||||
N41.43.25.46, W071.25.54.17
|
||||
N41.34.00.30, W071.14.05.68
|
||||
N41.32.07.22, W071.06.30.45, 2100
|
||||
4.4, 1500, 250
|
||||
|
||||
[approach16]
|
||||
runway = rwy14ewb
|
||||
beacon = lafay
|
||||
route1 =
|
||||
072
|
||||
N41.27.45.22, W071.43.16.43
|
||||
N41.42.00.61, W071.14.53.39, 3200, 210
|
||||
N41.47.30.24, W071.09.05.43
|
||||
4.3, 1600, 210
|
||||
|
||||
[approach17]
|
||||
runway = rwy14ewb
|
||||
beacon = zisga, N41.42.00.61, W071.14.53.39, 0, zis gah
|
||||
route1 =
|
||||
054
|
||||
N41.42.00.61, W071.14.53.39, 3200, 210
|
||||
N41.47.30.24, W071.09.05.43
|
||||
4.3, 1600, 210
|
||||
|
||||
[approach18]
|
||||
runway = rwy14ewb
|
||||
beacon = cirir, N41.47.30.24, W071.09.05.43, 0, cirir
|
||||
route1 =
|
||||
144
|
||||
N41.47.30.24, W071.09.05.43, 3200
|
||||
4.3, 1600, 250
|
||||
|
||||
[approach19]
|
||||
runway = rwy14ewb
|
||||
beacon = ogfig, OGFIG, 0, ogg fig
|
||||
route1 =
|
||||
234
|
||||
N41.52.12.54, W071.04.06.39, 3200, 210
|
||||
N41.47.30.24, W071.09.05.43
|
||||
4.3, 1600, 210
|
||||
|
||||
[approach20]
|
||||
runway = rwy16, rev
|
||||
beacon = orw
|
||||
route1 =
|
||||
142
|
||||
N41.5564036, W71.999353
|
||||
N41.29.22.03, W071.48.01.95
|
||||
N41.27.45.22, W071.43.16.43
|
||||
end, 129
|
||||
|
||||
[approach21]
|
||||
runway = rwy16
|
||||
beacon = orw
|
||||
route1 =
|
||||
142
|
||||
N41.5564036, W71.9993533
|
||||
N41.29.22.03, W071.48.01.95
|
||||
N41.37.11.58, W071.39.09.45
|
||||
N41.46.44.52, W071.30.42.26
|
||||
N41.49.57.59, W071.27.59.91
|
||||
end, 047
|
||||
@@ -0,0 +1,41 @@
|
||||
# PVD ATCT/TRACON (Version 1.0)
|
||||
This is a recreation of the real-world FAA facility PVD for [Endless ATC](https://steamcommunity.com/app/666610).
|
||||
The PVD ATCT/TRACON in the real-world covers the Providence International Airport (KPVD) and its surrounding satellites,
|
||||
New Bedford (KEWB) and Groton-New London (KGON).
|
||||
|
||||
All data in this is based on the FAA's data (AIRAC 2102) which it provides to the public for free. Minimum altitudes are based off
|
||||
the real-world PVD MVA map (also provided to the public by the FAA).
|
||||
|
||||
## Airports
|
||||
### `KPVD` T.F. Green International Airport
|
||||
T. F. Green International Airport is a public international airport in Warwick, Rhode Island, United States, 6 miles
|
||||
south of the state's capital and largest city of Providence. Opened in 1931, the airport was named for former Rhode Island
|
||||
governor and longtime senator Theodore Francis Green. While KPVD is located underneath Class C airspace in real life,
|
||||
this is not implemented.
|
||||
|
||||
### `KEWB` New Bedford Regional Airport
|
||||
New Bedford Regional Airport is a Part 139 Commercial-Service Airport, municipally-owned and available for public use.
|
||||
The airport is located three nautical miles northwest of the City of New Bedford, a city in Bristol County,
|
||||
Massachusetts, United States.
|
||||
|
||||
### `KGON` Groton-New London Airport
|
||||
Groton–New London Airport is a state-owned public-use airport located three nautical miles southeast of the central
|
||||
business district of Groton, a town in New London County, Connecticut, United States.
|
||||
|
||||
|
||||
#### STARs
|
||||
In this version of PVD, all 2 STARs are implemented:
|
||||
<ul>
|
||||
<li>WIPOR2 (at ORW)</li>
|
||||
<li>JORDN2</li>
|
||||
</ul>
|
||||
All aircraft will arrive inbound direct their gate. From there, you can click on the `APP` button to put them on the
|
||||
STAR transition.
|
||||
|
||||
##### A note on vector segments
|
||||
On the JORDN2 arrival, all aircraft leave the final fix (MINNK) on a 015 heading regardless of the runway configuration.
|
||||
In a land 16/23 config, aircraft will be on a right base for runway 23 on the WIPOR3 arrival. In the land 5/34 config, aircraft
|
||||
will be put on a 10 mile left base for runway 5.
|
||||
|
||||
#### SIDs
|
||||
There are no SIDs at PVD. All aircraft will leave the PVD airspace via PUT or JUMPR.
|
||||
+351
-307
@@ -1,307 +1,351 @@
|
||||
# Custom airport file (experimental!)
|
||||
# Save a copy of example.txt before editing it, and keep this file as a guide.
|
||||
# On Windows, place the txt file in the /locations/ folder of the game.
|
||||
# On android (4.4+), place the txt file in /Android/data/com.dirgtrats.endlessatc/files/.
|
||||
# Copy, edit and use and share airport files at your own risk!
|
||||
|
||||
# This example file has lots of comments (#), to use it as a guide. Uncomment the 'code = ' item in the [airport1] section below to make the airport appear in-game.
|
||||
|
||||
# This file has several [sections] (but most are optional), namely:
|
||||
# [airspace]: various general properties
|
||||
# [airport1]: main airport
|
||||
# [airport2]: optional secondary airports
|
||||
# [area1]: optional restricted areas
|
||||
# [configurations]: optional runway usage configurations
|
||||
# [transition1]: optional runway transition routes
|
||||
# [planetypes]: optional custom plane types
|
||||
# [scenario]: optional nonrandom traffic
|
||||
|
||||
# Each section can have multiple items, each item with one or more properties. The format/order of properties are explained after a double hashtag (##) in this file.
|
||||
# Properties are comma separated. Multi-line properties (lists) must start with a tab or space at the beginning of each line.
|
||||
# Properties in this file that are explained between <brackets> are optional properties (do not include the brackets themselves).
|
||||
# If the game fails to load a property, or you omit, #comment, or zero an (optional) property, a default value may be automatically used instead.
|
||||
# Positions must be given either in x, y coordinates (in nautical miles NM), with 0, 0 being the center of the screen, and 20.1, 12.82 being somewhere at the top left,
|
||||
# or, in latitude, longitude coordinates, which must always start with a N/W/S/E prefix, for example N40.7128, W74.0060 or S049.43.45.000, E002.09.51.000 (DMS notation).
|
||||
# Lat/long coordinates (and true headings) are rotated automatically when a magnetic variance is defined; this is to align the radar display with the magnetic north,
|
||||
# because heading 360 is a vertical line on the radar screen.
|
||||
# X, y coordinates are screen coordinates; they are not rotated.
|
||||
# Either way, all positions consist of two values, seperated by a comma. Whether you want to use x,y or latlong coordinates is up to you.
|
||||
# For real world data it is probably easier to search the internet for the actual latlong coordinates, while for text labels on the screen x,y positions are more convenient.
|
||||
# Press the left Ctrl key in the sim to display the current coordinates of the mouse. These values are also copied into the Windows clipboard.
|
||||
|
||||
|
||||
##############################################################
|
||||
[airspace]
|
||||
##############################################################
|
||||
|
||||
radius = 30 ; airspace radius in NM
|
||||
zoom = 7.0 ; default zoom level, increase to zoom in
|
||||
elevation = 13 ; ground altitude in feet
|
||||
floor = 1500 ; minimum selectable altitude
|
||||
descendaltitude = 7000 ; minimum initial altitude for arrivals
|
||||
ceiling = 9000 ; maximum selectable altitude in feet
|
||||
above = 12000 ; SID top altitude in feet (above ceiling)
|
||||
transitionlevel = 18001 ; lowest altitude in feet to be displayed as flight level
|
||||
speedrestriction = 15, 220 ; radius in NM, and speed in knots
|
||||
usa = true ; American-style callsign pronunciation and runway names
|
||||
metric = false ; display altitudes in metres instead of feet
|
||||
center = N50.1234, E2.0060 ; lat/long location of center of radar display (required when using lat/long coordinates elsewhere in this file)
|
||||
magneticvar = 2.0 ; magnetic variance; east = positive (used to rotate lat/long coordinates if defined below)
|
||||
|
||||
|
||||
beacons =
|
||||
vor, 0, -3, 0, main v-o-r
|
||||
bco, 18.6, 6.8, 090, beacon two
|
||||
trd, N50.0, E2.1, -090, the third one
|
||||
## name, position, <holdingheading>, <pronunciation>
|
||||
# the first given beacon will be the default beacon for arrivals inbound the main airport
|
||||
# when holdingheading is 0 or omitted, planes will hold there using the plane's current heading
|
||||
# when a holdingheading is given, planes will fly that heading (or magnetic course) on the inbound leg when holding
|
||||
# when holdingheading is negative, planes will make left-hand turns instead of right-hand
|
||||
|
||||
|
||||
line1 =
|
||||
10, 10
|
||||
10, 40
|
||||
40, 40
|
||||
40, 10
|
||||
10, 10
|
||||
## positions
|
||||
# pointlist of optional green (coast)line.
|
||||
|
||||
line2 =
|
||||
-15, 0
|
||||
-22, 0
|
||||
-22, -12.23
|
||||
-15, -14
|
||||
-15, 0
|
||||
|
||||
|
||||
##############################################################
|
||||
[airport1]
|
||||
##############################################################
|
||||
|
||||
name = Example Airport ; name of the main airport
|
||||
#code = EXAM ; four letter code, displayed in airport menu (required)
|
||||
|
||||
runways =
|
||||
rwy1, 36, -4.3, 3.23, 360.0, 11400, 0, 0, 100, 3, 360.0, 3, 180.0, YY, 8.0, ZZ, 8.5
|
||||
## identifier, name, position, true_heading, <length>, <displaced>, <displaced2>, <elevation>, <glideslope>, <localizer>, <glideslope2>, <localizer2>, <beaconname, distance>, <beaconname2, distance2>
|
||||
# where identifier is a unique name used to define a runway usage configuration below
|
||||
# name is one or two digits, optionally suffixed with an L, R or C character
|
||||
# position is the location of the beginning of the runway (including displaced threshold)
|
||||
# length is in feet
|
||||
# displaced threshold length in feet (for landings), displaced2 is for the other end of the runway
|
||||
# elevation is in feet, and must be within 1000 feet difference from the airspace ground elevation defined above
|
||||
# glideslope is the angle in degrees; the default value is 3
|
||||
# localizer is the true heading in degrees of the ILS until touchdown; by default it's the same as runway true heading, but a small offset is allowed
|
||||
# beacon is a point on the localizer at a certain distance (NM) from the threshold
|
||||
# second beacon is a point on the localizer when runway is used in opposite direction (rev)
|
||||
|
||||
climbaltitude = 5000 ; maximum initial climb altitude in feet for departures
|
||||
|
||||
sids =
|
||||
north, 0, 25, northbound
|
||||
south, 0, -25, southbound
|
||||
bco
|
||||
## name, position, <pronunciation>
|
||||
# you may also give just the name of a beacon from the beacon list
|
||||
|
||||
entrypoints =
|
||||
090
|
||||
270, bco
|
||||
## true_heading, <beacon>
|
||||
# this is where new arrivals enter at the boundary (approximately), e.g. 090 means planes will enter from the east, heading 270 (westbound)
|
||||
# inbound beacon is optional; choose a beacon name from the beacon list above; otherwise the first beacon from that list is chosen automatically
|
||||
|
||||
airlines =
|
||||
air, 3, a333/e175, airliner, w
|
||||
air, 2, dh8d, airliner, e
|
||||
ph-abc, 1, c271, 0, nwe
|
||||
n-123ab,1, f200
|
||||
## name, amount, planetype, pronunciation, <direction>
|
||||
# name is the 3 letter airline code, or a private regristration (with a land code, dash(-), and then the format)
|
||||
# amount determines the relative likelihood of appearance (e.g. 0=never, 1=occasionally, 10=frequently, etc)
|
||||
# planetype determines plane characteristics, put a dash (/) between multiple types for random type selection
|
||||
# pronuniation is the callsign, used for airlines
|
||||
# direction lets the plane arrive/depart in (more or less) the specified direction:
|
||||
# give the direction as a string containing one or more of the letters nwse, for north west south east,
|
||||
# but make sure there are actually entrypoints defined at those directions (approximately); w needs an entrypoint near 270
|
||||
|
||||
##############################################################
|
||||
[airport2]
|
||||
##############################################################
|
||||
|
||||
name = Secondary Airport ; name of secondairy airport
|
||||
code = SC ; two letter code, will be added to the runways and plane tags
|
||||
|
||||
runways =
|
||||
rwy2, 06, 6.7, -3.5, 60.0, 1.88, 0, 0, 100, 3,0,3,0, WL, 8.0
|
||||
## identifier, name, position, true_heading, <length>, <displaced>, <displaced2>, <elevation>, <glideslope>, <localizer>, <glideslope2>, <localizer2>, <beaconname, distance>, <beaconname2, distance2>
|
||||
# identifier must be unique to all other runways defined in this file
|
||||
|
||||
traffic = 5 ; average time between airplanes per active runway, in minutes (but this decreases at higher skill values)
|
||||
inboundbeacon = bco ; beacon name, for arrivals (choose one from the beacon list above)
|
||||
entrypoints =
|
||||
300
|
||||
330
|
||||
# headings only
|
||||
|
||||
airlines =
|
||||
jet, 2, b735, jetliner
|
||||
n-12345, 1, c271
|
||||
|
||||
climbaltitude = 3000 ; maximum initial climb altitude in feet for departures
|
||||
|
||||
sids =
|
||||
north
|
||||
south
|
||||
west, -25, 0, westbound
|
||||
bco
|
||||
## name, position, <pronunciation>
|
||||
# you may also give just the name of a beacon from the beacon list, or the name of a sid from the airport1 sid list
|
||||
|
||||
# You can add more airports sections if needed ([airport3], etc).
|
||||
|
||||
##############################################################
|
||||
[area1]
|
||||
##############################################################
|
||||
shape = circle ; circle or polygon
|
||||
altitude = 3000 ; minimum allowed altitude in feet
|
||||
name = SC ; <name, if omited then only planes inbound the main airport may enter this area>
|
||||
radius = 6 ; radius of circle in NM
|
||||
position = 7, -3.6 ; position of circle center
|
||||
labelpos = 6, 0 ; <position of label>
|
||||
draw = 0, 5.9 ; <start and end angle of visible arc, in radians, omit for a full circle>
|
||||
|
||||
|
||||
##############################################################
|
||||
[area2]
|
||||
##############################################################
|
||||
shape = polygon ; circle or polygon
|
||||
altitude = 3500 ; minimum allowed altitude in feet
|
||||
#name = X ; <name, if omited then planes inbound the main airport may enter this area>
|
||||
draw = 1 ; <number of invisible lines at the end of the polygon, omit for a full polygon>
|
||||
labelpos = -3.1, 10.9 ; <position of label>
|
||||
points =
|
||||
-8.1, 13.3
|
||||
0, 13
|
||||
-1, -4
|
||||
-7.6, -4
|
||||
-9.0, 10
|
||||
## positions
|
||||
# the last point will be automatically connected to the first point
|
||||
# note: the polygon must be convex, for example a rectangle, for it to work correctly
|
||||
# you may need to split up non-convex shapes into simpler convex polygons with some invisible lines
|
||||
# each polygon must have its own [area] section
|
||||
|
||||
|
||||
##############################################################
|
||||
[configurations]
|
||||
##############################################################
|
||||
|
||||
config1 =
|
||||
0, rwy1, landstart
|
||||
7, rwy1, startland, 020, nosid
|
||||
8, rwy2, startlandrev
|
||||
## score, identifier, use, <offsetheading>, <nosid>
|
||||
# score is the score (skill) at which the runway will be activated
|
||||
# identifier is a unique runway name specified earlier
|
||||
# use is a string (without spaces) that may contain these words: start, land, rev, int, track
|
||||
# where rev means reversed use (opposite direction), int means intersection departure (takeoffs begin 30% down the rwy), track means backtrack after landing
|
||||
# offsetheading means planes will fly a specific heading just after takeoff (especially useful for allowing parallel takeoffs with divergent headings)
|
||||
# nosid option means planes will depart on the given offsetheading, with SID mode disabled
|
||||
# when rwy configurations are omited, two configs are automatically created, one for each rwy direction, with all runways active
|
||||
|
||||
config2 =
|
||||
0, rwy1, landstartrev
|
||||
7, rwy1, startlandrev, 200, nosid
|
||||
8, rwy2, startland
|
||||
|
||||
|
||||
##############################################################
|
||||
[transition1]
|
||||
##############################################################
|
||||
|
||||
runway = rwy1, rev ; runway identifier, <reversed use>
|
||||
beacon = lima, 1, 18, 0, lima ; selectable beacon to enable NAV mode; define a beacon, or choose a name from beacon list above
|
||||
route1 =
|
||||
100
|
||||
-3, 22, 5500, 210
|
||||
1, 22
|
||||
1, 18, 4000
|
||||
-3, 18, 0, 180
|
||||
10.5, 3000, 200
|
||||
# first item of the route is the bearing from the plane towards the beacon; if there are multiple routes defined, the closest bearing defines which route is selected.
|
||||
# next lines are optional waypoints: ## location, <maximum altitude>, <maximum speed>
|
||||
# last line is the interception point on the ILS: ## distance (NM) from the threshold, <maximum altitude>, <maximum speed>
|
||||
|
||||
route2 =
|
||||
240
|
||||
1, 18, 4000
|
||||
-3, 18, 0, 180
|
||||
10.5, 3000, 200
|
||||
|
||||
route3 =
|
||||
020
|
||||
1, 10
|
||||
1, 18, 4000
|
||||
-3, 18, 0, 180
|
||||
10.5, 3000, 200
|
||||
|
||||
# multiple [transition] sections can be used for the same runway
|
||||
|
||||
|
||||
##############################################################
|
||||
[planetypes]
|
||||
##############################################################
|
||||
types =
|
||||
f200, 5, 140, 230, 2.9, 3.2, 1400, 1600, 115, 125, 1.1, 1.2, big jet
|
||||
c271, 6, 90, 120, 2.9, 3.2, 1400, 1600, 90, 105, 1.1, 1.2, singleprop
|
||||
## type, category, minspeed, maxspeed, minturnrate, maxturnrate, mindescendrate, maxdescendrate, minaccelrate, maxaccelrate, <manufacturer>
|
||||
# custom plane types, useful when specified custom types in the airline lists above, or to override default type properties
|
||||
# category is the weight category: 1 to 6, meaning superheavy=1, upperheavy, lowerheavy, uppermedium, lowermedium, light=6
|
||||
# turnrate is in degrees per second
|
||||
# descendrate is in feet per minute
|
||||
# accelrate is in knots per second
|
||||
# manufacturer name is optional, only used for private callsign pronunciation in usa mode
|
||||
|
||||
|
||||
##############################################################
|
||||
[scenario]
|
||||
##############################################################
|
||||
finish = 2 ; amount of planes to land to finish the scenario
|
||||
|
||||
events =
|
||||
0, config, 1
|
||||
0, score, 6
|
||||
0, wind, 180, 10
|
||||
0, cloud, -1, 25
|
||||
0, cloud, -2, 24
|
||||
0, cloud, -4, 24
|
||||
0, dep, rwy1, north, f200
|
||||
0, elapse, 20
|
||||
0, arr, 230, vor, f200
|
||||
0, elapse, 100
|
||||
5, arr, 90, bco, f200
|
||||
40, dep, rwy1, north, f200
|
||||
70, dep, rwy1, south, a333
|
||||
20, score, 8
|
||||
90, dep, rwy1, north
|
||||
0, wind, 200, 8
|
||||
0, cloud, 19, -26.5
|
||||
50, dep, rwy1, west, f200
|
||||
1, text, Hello!
|
||||
5, arr, 210, vor, a333, 15000, 6000, 300, 0, 0, 1, air
|
||||
10, arr, 090, 0, 0, 0, 0, 0, 0, 0, 0, 0, sc
|
||||
10, dep, rwy2, north
|
||||
## elapsed time after previous event in seconds, eventtype, properties
|
||||
# available eventtypes: arr, dep, score, elapse, wind, cloud, config, text
|
||||
## arr: entrypoint, <beacon>, <planetype>, <altitude>, <targetaltitude>, <speed>, <delaytimer>, <fuel>, <emergency>, <callsign>, <destination> ; arrival (fuel counts up; lowfuel from 5000+, emergency=1 for medical, 2 for engine, destination is the two letter code of a secondary airport)
|
||||
## dep: runwayidentifier, sid, <planetype>, <emergency>, <callsign> ; departure
|
||||
## score: score ; set higher score/skill to open more runways, or lower to close runways
|
||||
## elapse: seconds ; elapse simulation time between events (only use this to build traffic before the start, so at time 0)
|
||||
## wind: heading, speed ; set wind (preferably in small steps when changing the wind)
|
||||
## cloud: position ; add cloud with radius of 1 NM (preferably just outside the airspace boundary, to avoid incidents, unless time is 0)
|
||||
## config: entry ; change to different runway config, as specified in the rwy configurations section
|
||||
## text: message ; display yellow text at the top of screen
|
||||
# Custom airport file (experimental!)
|
||||
# Save a copy of example.txt before editing it, to keep this file as a guide.
|
||||
# On Windows, place the txt file in the /locations/ folder of the game.
|
||||
# On android (4.4+), place the txt file in /Android/data/com.dirgtrats.endlessatc/files/.
|
||||
# Copy, edit and use and share airport files at your own risk!
|
||||
|
||||
# This example file has lots of comments (#), to use it as a guide. Uncomment the 'code = ' item in the [airport1] section below to make the airport appear in-game.
|
||||
|
||||
# This file has several [sections] (but most are optional), namely:
|
||||
# [airspace]: various general properties
|
||||
# [airport1]: main airport
|
||||
# [airport2]: optional secondary airports
|
||||
# [area1]: optional restricted areas
|
||||
# [configurations]: optional runway usage configurations
|
||||
# [departure1]: optional runway departure routes
|
||||
# [approach1]: optional runway approach routes
|
||||
# [planetypes]: optional custom plane types
|
||||
# [scenario]: optional nonrandom traffic
|
||||
|
||||
# Each section can have multiple items, each item with one or more properties. The format/order of properties are explained after a double hashtag (##) in this file.
|
||||
# Properties are comma separated. Multi-line properties (lists) must start with a tab or space at the beginning of each line.
|
||||
# Properties in this file that are explained between <brackets> are optional properties (do not include the brackets themselves).
|
||||
# If the game fails to load a property, or you omit or #comment or zero an (optional) property, a default value may be automatically used instead.
|
||||
# Positions must be given either in x, y coordinates (in nautical miles, NM), with 0, 0 being the center of the screen, and 20.1, 12.82 being somewhere at the top left,
|
||||
# or, in latitude, longitude coordinates, which must always start with a N/W/S/E prefix, for example N40.7128, W74.0060 or S049.43.45.000, E002.09.51.000 (DMS notation).
|
||||
# Lat/long coordinates (and true headings) are rotated automatically when a magnetic variance is defined; this is to align the radar display with the magnetic north,
|
||||
# to make a heading of 360 degreees a vertical line on the radar screen.
|
||||
# X, y coordinates are simple screen coordinates; they are not rotated.
|
||||
# Either way, all positions consist of two values, seperated by a comma. Whether you want to use x,y or latlong coordinates is up to you.
|
||||
# For real world data it is probably easier to search the internet for the actual latlong coordinates.
|
||||
# Press the left Ctrl key in the sim to display the coordinates of the mouse position. These values are also copied into the Windows clipboard, to be easily pasted into a file.
|
||||
|
||||
|
||||
##############################################################
|
||||
[airspace]
|
||||
##############################################################
|
||||
|
||||
radius = 30 ; airspace radius in NM
|
||||
zoom = 7.0 ; default zoom level, increase to zoom in
|
||||
elevation = 13 ; ground altitude in feet
|
||||
floor = 1500 ; minimum selectable altitude
|
||||
descendaltitude = 7000 ; minimum initial altitude for arrivals
|
||||
ceiling = 9000 ; maximum selectable altitude
|
||||
above = 12000 ; maximum departure altitude when SID is enabled (must be above ceiling)
|
||||
transitionaltitude = 18000 ; highest altitude displayed in feet instead of flight level
|
||||
speedrestriction = 15, 220 ; radius in NM, and speed in knots
|
||||
usa = true ; American-style callsign pronunciation and runway names
|
||||
metric = false ; display altitudes in metres instead of feet
|
||||
separation = 3 ; minimum allowed distance between aircraft in NM
|
||||
center = N50.1234, E2.0060 ; lat/long location of center of radar display (required when using lat/long coordinates elsewhere in this file)
|
||||
magneticvar = 2.0 ; magnetic variance; east = positive (used to rotate lat/long coordinates if defined below)
|
||||
|
||||
|
||||
beacons =
|
||||
vor, 0, -3, 0, main v-o-r
|
||||
bco, 18.6, 6.8, 090, beacon two
|
||||
trd, N50.0, E2.1, -090, the third one
|
||||
## name, position, <holdingheading>, <pronunciation>
|
||||
# the first given beacon will be the default beacon for arrivals inbound the main airport
|
||||
# when holdingheading is 0 or omitted, planes will hold there using the plane's current heading
|
||||
# when a holdingheading is given, planes will fly that heading (or magnetic course) on the inbound leg when flying the holding
|
||||
# when holdingheading is negative, planes will make left-hand turns instead of right-hand
|
||||
|
||||
boundary =
|
||||
-25, -22
|
||||
25, -22
|
||||
25, 22
|
||||
-25, 22
|
||||
## positions
|
||||
# pointlist of optional airspace boundary polygon; this will override the default (circular) airspace radius.
|
||||
# last point is automatically connected to first point
|
||||
|
||||
line1 =
|
||||
10, 10
|
||||
10, 40
|
||||
40, 40
|
||||
40, 10
|
||||
10, 10
|
||||
## positions
|
||||
# pointlist of optional green (coast)line.
|
||||
|
||||
line2 =
|
||||
-15, 0
|
||||
-22, 0
|
||||
-22, -12.23
|
||||
-15, -14
|
||||
-15, 0
|
||||
|
||||
|
||||
##############################################################
|
||||
[airport1]
|
||||
##############################################################
|
||||
|
||||
name = Example Airport ; name of the main airport
|
||||
#code = EXAM ; four letter code, displayed in airport menu (required!)
|
||||
|
||||
runways =
|
||||
rwy1, 36, -4.3, 3.23, 360.0, 11400, 0, 0, 100, 3, 360.0, 3, 180.0, YY, 8.0, ZZ, 8.5
|
||||
## identifier, name, position, true_heading, <length>, <displaced>, <displaced2>, <elevation>, <glideslope>, <localizer>, <glideslope2>, <localizer2>, <beaconname, distance>, <beaconname2, distance2>
|
||||
# where identifier is a unique name used to define a runway usage configuration later in this file
|
||||
# name is one or two digits, optionally suffixed with an L, R or C character
|
||||
# position is the location of the beginning of the runway (including displaced threshold)
|
||||
# length is in feet
|
||||
# displaced threshold length in feet, displaced2 is for the other end of the runway
|
||||
# elevation is in feet, and must be within 1000 feet difference from the airspace ground elevation defined above
|
||||
# glideslope is the angle in degrees; the default value is 3.0
|
||||
# localizer is the true heading in degrees of the ILS until touchdown; by default it's the same as runway true heading, but a small offset is allowed
|
||||
# beacon is a point on the localizer at a certain distance (NM) from the (displaced) threshold
|
||||
# second beacon is a point on the localizer when runway is used in opposite direction (rev)
|
||||
|
||||
climbaltitude = 5000 ; maximum initial climb altitude in feet for departures
|
||||
|
||||
sids =
|
||||
north, 0, 25, northbound
|
||||
south, 0, -25, southbound
|
||||
bco
|
||||
## name, position, <pronunciation>
|
||||
# you may also give just the name of a beacon from the beacon list
|
||||
|
||||
entrypoints =
|
||||
090
|
||||
270, bco
|
||||
## true_heading, <beaconname>
|
||||
# this is where new arrivals enter at the boundary (approximately), e.g. 090 means planes will enter from the east, heading 270 (westbound)
|
||||
# inbound beacon is optional; choose a beacon name from the beacon list above; otherwise the first beacon from that list is chosen automatically
|
||||
|
||||
airlines =
|
||||
air, 3, e175, airliner, w
|
||||
air, 2, a333, airliner
|
||||
air, 1, dh8d/f200, airliner, e
|
||||
ph-abc, 1, c271, 0, nwe
|
||||
n-123ab,1, f200
|
||||
## name, amount, planetype, pronunciation, <direction>
|
||||
# name is the 3 letter airline code, or a private regristration (with a land code, dash(-), and then the format)
|
||||
# amount determines the relative likelihood of appearance (e.g. 0=never, 1=occasionally, 10=frequently, etc)
|
||||
# planetype determines the plane characteristics (optionally put a dash (/) between multiple types)
|
||||
# pronuniation is the callsign, used for airlines
|
||||
# direction lets the plane arrive/depart in (roughly) a preferred direction:
|
||||
# give the direction as a string containing one or more of the letters nwse, for north west south east,
|
||||
# but make sure there are actually entrypoints defined at those directions (approximately); w needs an entrypoint near 270
|
||||
|
||||
##############################################################
|
||||
[airport2]
|
||||
##############################################################
|
||||
|
||||
name = Secondary Airport ; name of secondary airport
|
||||
code = SC ; two letter code, which will be added to the runways and plane tags
|
||||
|
||||
runways =
|
||||
rwy2, 06, 6.7, -3.5, 60.0, 1.88, 0, 0, 100, 3,0,3,0, WL, 8.0
|
||||
## identifier, name, position, true_heading, <length>, <displaced>, <displaced2>, <elevation>, <glideslope>, <localizer>, <glideslope2>, <localizer2>, <beaconname, distance>, <beaconname2, distance2>
|
||||
# identifier must be unique to all other runways defined in this file
|
||||
|
||||
traffic = 5 ; average time between airplanes per active runway, in minutes (but this decreases at higher skill values)
|
||||
inboundbeacon = bco ; beacon name; the default initial beacon for arrivals (choose one from the beacon list above)
|
||||
entrypoints =
|
||||
300
|
||||
330, trd
|
||||
## true_heading, <beaconname>
|
||||
|
||||
airlines =
|
||||
jet, 2, b735, jetliner
|
||||
n-12345, 1, c271
|
||||
## name, amount, planetype, pronunciation, <direction>
|
||||
|
||||
climbaltitude = 3000 ; maximum initial climb altitude in feet for departures
|
||||
|
||||
sids =
|
||||
north
|
||||
south
|
||||
west, -25, 0, westbound
|
||||
bco
|
||||
## name, position, <pronunciation>
|
||||
# you may also give just the name of a beacon from the beacon list, or the name of a sid from the airport1 sid list
|
||||
|
||||
# You can add more airports sections if needed ([airport3], etc).
|
||||
|
||||
##############################################################
|
||||
[area1]
|
||||
##############################################################
|
||||
shape = circle ; circle or polygon
|
||||
altitude = 3000 ; minimum allowed altitude in feet
|
||||
name = SC ; <name, if omited then only planes inbound the main airport may enter this area>
|
||||
radius = 6 ; radius of circle in NM
|
||||
position = 7, -3.6 ; position of circle center
|
||||
labelpos = 6, 0 ; <position of label>
|
||||
draw = 0, 5.9 ; <start and end angle of visible arc, in radians (orientated to the left), omit for a full circle>
|
||||
|
||||
|
||||
##############################################################
|
||||
[area2]
|
||||
##############################################################
|
||||
shape = polygon ; circle or polygon
|
||||
altitude = 3500 ; minimum allowed altitude in feet
|
||||
#name = X ; <name, if omited then planes inbound the main airport may enter this area>
|
||||
draw = 1 ; <number of invisible lines at the end of the polygon, omit for a full polygon>
|
||||
labelpos = -3.1, 10.9 ; <position of label>
|
||||
points =
|
||||
-8.1, 13.3
|
||||
0, 13
|
||||
-1, -4
|
||||
-7.6, -4
|
||||
-9.0, 10
|
||||
## positions
|
||||
# the last point will be automatically connected to the first point
|
||||
|
||||
|
||||
##############################################################
|
||||
[configurations]
|
||||
##############################################################
|
||||
|
||||
config1 =
|
||||
0, rwy1, landstart
|
||||
7, rwy1, startland, 020, nosid
|
||||
8, rwy2, startlandrev
|
||||
## score, identifier, usage, <offsetheading>, <nosid>
|
||||
# score is the score (skill) at which the runway will be activated
|
||||
# identifier is a unique runway name specified earlier
|
||||
# usage is a string (without spaces) that may contain these words: start, land, rev, int, track
|
||||
# where rev means reversed use (opposite direction), int means intersection departure (takeoffs begin 30% down the rwy), track means backtrack after landing
|
||||
# offsetheading means planes will fly a specific heading just after takeoff (especially useful for allowing parallel takeoffs with divergent climbout headings)
|
||||
# nosid option means planes will depart on the given offsetheading, with SID mode disabled
|
||||
# when rwy configurations are omited, two configs are automatically created, one for each rwy direction, with all runways active
|
||||
|
||||
config2 =
|
||||
0, rwy1, landstartrev
|
||||
7, rwy1, startlandrev, 200, nosid
|
||||
8, rwy2, startland
|
||||
|
||||
|
||||
##############################################################
|
||||
[departure1]
|
||||
##############################################################
|
||||
|
||||
runway = rwy2 ; runway identifier, <reversed use>
|
||||
route1 =
|
||||
bco2, beacon two
|
||||
12, 0
|
||||
18.6, 0
|
||||
18.6, 6.8
|
||||
25, 16.5
|
||||
# first line of the route is the sid name (up to 5 characters will be displayed), and optional <pronunciation> of the sid name
|
||||
# next lines are one or more waypoint positions
|
||||
|
||||
route2 =
|
||||
south
|
||||
12, 0
|
||||
15.3, -4.7
|
||||
0, -16.6
|
||||
0, -25
|
||||
|
||||
# the optional [departure] section adds routes to a specific runway direction
|
||||
# this overrides the default (single waypoint) SIDs with more detailed routes, and applies the routes to the specified runway only
|
||||
# departing planes from that runway will then follow the one of the routes, unless the user deactivates SID mode
|
||||
# re-enabling SID mode will select just the last point of the route
|
||||
# defining one or more departure routes disables all the default SID points for that runway; planes will use the given routes only
|
||||
# use one [departure] section per runway direction, each with one or more routes
|
||||
# [departure] routes are not used in the built-in airports, for simplicity
|
||||
|
||||
|
||||
##############################################################
|
||||
[approach1]
|
||||
##############################################################
|
||||
|
||||
runway = rwy1, rev ; runway identifier, <reversed use>
|
||||
beacon = lima, 1, 18, 0, lima ; selectable beacon to enable APP mode; define a beacon, or choose a name from beacon list above
|
||||
route1 =
|
||||
060
|
||||
-3, 22, 5500, 210
|
||||
1, 22
|
||||
1, 18, 4000
|
||||
-3, 18, 0, 180
|
||||
10.5, 3000, 200
|
||||
# first item of the route is the bearing from the plane towards the beacon; if there are multiple routes defined for this beacon, the closest bearing defines which route is selected
|
||||
# next lines are optional waypoints: ## position, <maximum altitude>, <maximum speed>
|
||||
# last line is the interception point on the ILS: ## distance (NM) from the (displaced) threshold, <maximum altitude>, <maximum speed>
|
||||
|
||||
route2 =
|
||||
310
|
||||
1, 18, 4000
|
||||
-3, 18, 0, 180
|
||||
10.5, 3000, 200
|
||||
|
||||
route3 =
|
||||
010
|
||||
1, 10
|
||||
1, 18, 4000
|
||||
-3, 18, 0, 180
|
||||
10.5, 3000, 200
|
||||
|
||||
# multiple [approach] sections can be used for the same runway, to allow for multiple beacons
|
||||
# for easier creation of routes, use left Ctrl key to display current mouse coordinates, and left click while holding down Ctrl places temporary visual markers
|
||||
# Longpress the airport name button in the menu to display all routes at once
|
||||
# [approach] routes are not used in the built-in airports as the game is focussed on vectors for simplicity
|
||||
|
||||
|
||||
##############################################################
|
||||
[planetypes]
|
||||
##############################################################
|
||||
types =
|
||||
f200, 5, 140, 230, 2.9, 3.2, 1400, 1600, 115, 125, 1.1, 1.2, big jet
|
||||
c271, 6, 90, 120, 2.9, 3.2, 1400, 1600, 90, 105, 1.1, 1.2, singleprop
|
||||
## type, category, minspeed, maxspeed, minturnrate, maxturnrate, mindescendrate, maxdescendrate, minfinalapproachspeed, maxfinalapproachspeed, minaccelrate, maxaccelrate, <manufacturer>
|
||||
# custom [planetypes] are only needed when using unknown custom types in the airlinelists above (game will show warning on startup), or to override default type properties
|
||||
# category is the weight category: 1 to 6, meaning superheavy=1, upperheavy, lowerheavy, uppermedium, lowermedium, light=6
|
||||
# turnrate is in degrees per second
|
||||
# descendrate is in feet per minute
|
||||
# accelrate is in knots per second
|
||||
# manufacturer name is optional, and only used for private callsign pronunciation in usa mode
|
||||
# example of default values for b737, 4, 160, 250, 2.6, 3.0, 1440, 1560, 131, 144, 1.2, 1.3
|
||||
|
||||
|
||||
##############################################################
|
||||
[scenario]
|
||||
##############################################################
|
||||
finish = 2 ; amount of planes to land to finish the scenario
|
||||
|
||||
events =
|
||||
0, config, 1
|
||||
0, score, 6
|
||||
0, wind, 180, 10
|
||||
0, cloud, -1, 25
|
||||
0, cloud, -2, 24
|
||||
0, cloud, -4, 24
|
||||
0, dep, rwy1, north, f200
|
||||
0, elapse, 20
|
||||
0, arr, 230, vor, f200
|
||||
0, elapse, 100
|
||||
5, arr, 90, bco, f200
|
||||
40, dep, rwy1, north, f200
|
||||
70, dep, rwy1, south, a333
|
||||
20, score, 8
|
||||
90, dep, rwy1, north
|
||||
0, wind, 200, 8
|
||||
0, cloud, 19, -26.5
|
||||
50, dep, rwy1, west, f200
|
||||
1, text, Hello!
|
||||
5, arr, 210, vor, a333, 15000, 6000, 300, 0, 0, 1, air
|
||||
10, arr, 090, 0, 0, 0, 0, 0, 0, 0, 0, 0, sc
|
||||
10, dep, rwy2, north
|
||||
## elapsed time after previous event in seconds, eventtype, properties
|
||||
# available eventtypes: arr, dep, score, elapse, wind, cloud, config, text
|
||||
## arr: entrypoint, <beacon>, <planetype>, <altitude>, <targetaltitude>, <speed>, <delaytimer>, <fuel>, <emergency>, <callsign>, <destination> ; arrival (fuel counts up; lowfuel from 5000+, emergency=1 for medical, 2 for engine, destination is the two letter code of a secondary airport)
|
||||
## dep: runwayidentifier, sid, <planetype>, <emergency>, <callsign> ; departure
|
||||
## score: score ; set higher score/skill to open more runways, or lower to close runways
|
||||
## elapse: seconds ; elapse simulation time between events (only use this to build traffic before the start, so at time 0)
|
||||
## wind: heading, speed ; set wind (preferably in small steps when changing the wind)
|
||||
## cloud: position ; add cloud with radius of 1 NM (preferably just outside the airspace boundary, to avoid incidents, unless time is 0)
|
||||
## config: entry ; change to different runway config, as specified in the rwy configurations section
|
||||
## text: message ; display yellow text at the top of screen
|
||||
# the [scenario] can be enabled in the traffic menu
|
||||
@@ -0,0 +1,4 @@
|
||||
[flake8]
|
||||
ignore =
|
||||
E501,
|
||||
E128
|
||||
@@ -0,0 +1,16 @@
|
||||
In this directory are a few tools useful for writing Endless ATC airport files. You can see examples of its usage in RJTT and RJCC.
|
||||
|
||||
The tools are Python 3 scripts. They have not been tested in Python 2. There should be no dependencies.
|
||||
|
||||
Depending on your platform, you will need to run 'python3 deploy.py', 'python deploy.py', or possibly even 'deploy.py' will work.
|
||||
|
||||
For further help, view the help available by running 'python deploy.py -h'
|
||||
|
||||
If you find any bugs, you can report on the community Discord.
|
||||
|
||||
## Changelog
|
||||
* 0.8.0 - 2021/02/20
|
||||
- Added generated approaches feature
|
||||
- Tagged approaches are now runway-specific
|
||||
- Added argument to test loading from common callsigns
|
||||
- Added argument to parse source and build, not do not write product
|
||||
@@ -0,0 +1,195 @@
|
||||
[expand.callsigns]
|
||||
|
||||
#pax
|
||||
afl = aeroflot
|
||||
cpa = cathay
|
||||
axm = red cap
|
||||
kzr = astana line
|
||||
crk = bauhinia
|
||||
hke = hong kong shuttle
|
||||
abl = air busan
|
||||
aca = air canada
|
||||
cca = air china
|
||||
afr = air frans
|
||||
aic = air india
|
||||
mau = air mauritius
|
||||
anz = new zealand
|
||||
ang = niugini
|
||||
ana = all neep pawn
|
||||
aar = asiana
|
||||
aal = american
|
||||
asv = air seoul
|
||||
bkp = bangkok air
|
||||
bbc = bangladesh
|
||||
baw = speed bird
|
||||
kme = giant ibis
|
||||
ceb = cebu air
|
||||
cal = dynasty
|
||||
ces = china eastern
|
||||
csn = china southern
|
||||
esr = eastar jet
|
||||
msr = egypt air
|
||||
ely = el al
|
||||
uae = emirates
|
||||
eth = ethiopian
|
||||
etd = etihad
|
||||
eva = eva
|
||||
eza = eznis
|
||||
fji = fiji
|
||||
fin = finn air
|
||||
gia = indonesia
|
||||
igo = i fly
|
||||
jal = japan air
|
||||
jja = jeju air
|
||||
jjp = orange liner
|
||||
jna = jin air
|
||||
klm = k-l-m
|
||||
kal = korean air
|
||||
mkr = air lanme
|
||||
lni = lion inter
|
||||
dlh = lufthansa
|
||||
mas = malaysian
|
||||
mxd = malindo
|
||||
mda = mandarin
|
||||
gec = lufthansa cargo
|
||||
mgl = mongol air
|
||||
uba = union air
|
||||
rna = royal nepal
|
||||
pic = pacific airlines
|
||||
apj = air peach
|
||||
pal = philippine
|
||||
apg = cool red
|
||||
qfa = qantas
|
||||
qtr = qatar
|
||||
rba = brunei
|
||||
rja = jordanian
|
||||
sbi = siberian
|
||||
tgw = scooter
|
||||
cdg = shandong
|
||||
csh = shanghai air
|
||||
csz = shenzhen air
|
||||
csc = see chuan
|
||||
sia = singapore
|
||||
sej = spice jet
|
||||
cqh = air spring
|
||||
swr = swiss
|
||||
aiq = thai asia
|
||||
tha = thai
|
||||
thd = thai smile
|
||||
thy = turkish
|
||||
ual = united
|
||||
vjc = viet jet air
|
||||
hvn = viet nam airlines
|
||||
vir = virgin
|
||||
cxa = xiamen air
|
||||
xax = xanadu
|
||||
sky = skymark
|
||||
akx = alfa wing
|
||||
jta = j-ocean
|
||||
jac = commuter
|
||||
rac = ryukyu
|
||||
snj = new sky
|
||||
sfj = star flyer
|
||||
ttw = smart cat
|
||||
cbj = capital jet
|
||||
amu = air macau
|
||||
bav = bamboo
|
||||
jcc = cambo
|
||||
ryl = double gold
|
||||
sjx = star walker
|
||||
kor = air koh-ryo
|
||||
jsa = jetstar asia
|
||||
dkh = air june-yao
|
||||
twb = tee-way
|
||||
ado = air do
|
||||
aza = alitalia
|
||||
dal = delta
|
||||
chh = hainan
|
||||
hal = hawaiian
|
||||
oka = okayjet
|
||||
sas = scandinavian
|
||||
gcr = bohai
|
||||
sjo = j spring
|
||||
amx = aero mexico
|
||||
aci = air calin
|
||||
tht = tahiti airlines
|
||||
shu = aurora
|
||||
aua = austrian
|
||||
drk = royal bhutan
|
||||
ibe = iberia
|
||||
jst = jet star
|
||||
lot = pollot
|
||||
pia = pakistan
|
||||
vsv = vlasta
|
||||
alk = sri-lankan
|
||||
tax = express wing
|
||||
tlm = mentari
|
||||
uzb = uzbek
|
||||
tzp = zipair
|
||||
mmz = euro atlantic
|
||||
|
||||
#cargo
|
||||
abw = air bridge cargo
|
||||
cao = air china freight
|
||||
clx = cargolux
|
||||
icv = cargolux italia
|
||||
icl = cal
|
||||
tay = quality
|
||||
ckk = cargo king
|
||||
soo = southern air
|
||||
cks = connie
|
||||
box = german cargo
|
||||
ahk = air hong kong
|
||||
epa = donghai
|
||||
fdx = fedex
|
||||
gti = giant
|
||||
kmi = kay-mile air
|
||||
nca = neep pawn cargo
|
||||
pac = polar
|
||||
run = cargo turk
|
||||
abd = atlanta
|
||||
css = shun feng
|
||||
azg = silk west
|
||||
yzr = yangtze river
|
||||
rmy = raya express
|
||||
tmg = tri lines
|
||||
ups = u-p-s
|
||||
oae = cimber
|
||||
vda = volga
|
||||
adb = antonov
|
||||
ncr = national
|
||||
hyt = quick air
|
||||
tup = tupolev air
|
||||
cyz = china post
|
||||
cjt = cargo jet
|
||||
vas = atran
|
||||
|
||||
#special
|
||||
_jf = japan force
|
||||
_af = air force
|
||||
code = code
|
||||
_cf = can force
|
||||
cotam = cotam
|
||||
koc = kingdom of cambodia
|
||||
svw = silver arrows
|
||||
bga = beluga
|
||||
auh = sultan
|
||||
aws = arab wings
|
||||
qaf = amiri
|
||||
gaf = german air force
|
||||
sva = saudia
|
||||
ame = spanish air force
|
||||
brs = brasilian air force
|
||||
asy = aussie
|
||||
ssg = slovak government
|
||||
saa = springbok
|
||||
jcg = japan coast guard
|
||||
flc = flight check
|
||||
vjt = vista jet
|
||||
ivy0 = ivory coast
|
||||
trk = turkish republic
|
||||
kac = kuwaiti
|
||||
bah = bahrain
|
||||
|
||||
[expand.gateways]
|
||||
* = nswe
|
||||
+102
@@ -0,0 +1,102 @@
|
||||
import argparse
|
||||
import configparser
|
||||
import glob
|
||||
import os
|
||||
import shutil
|
||||
|
||||
"""Endless ATC custom airport file deployment utility.
|
||||
|
||||
Can build from source and deploy to game folder in one step.
|
||||
|
||||
See argparse help for details."""
|
||||
|
||||
config = configparser.ConfigParser()
|
||||
config.read('eatcdev.ini')
|
||||
if 'deploy' not in config:
|
||||
config.add_section('deploy')
|
||||
default_destination = config['deploy'].get(
|
||||
"path",
|
||||
"C:\\Program Files (x86)\\Steam\\steamapps\\common\\Endless ATC\\locations\\"
|
||||
)
|
||||
|
||||
|
||||
def main(args):
|
||||
"""Builds an Endless ATC custom airport source file and deploys the built file
|
||||
to the game folder.
|
||||
|
||||
Refer to argparse help for details.
|
||||
|
||||
Args:
|
||||
`args`: An `argparse.Namespace`. The command line args when invoked as a module."""
|
||||
|
||||
if args.build:
|
||||
import expand
|
||||
import renumber
|
||||
|
||||
destination = args.destination_path or default_destination
|
||||
if args.deploy:
|
||||
print(f"Deploying to {args.destination_path or destination}.")
|
||||
|
||||
if not args.codes:
|
||||
from distutils.util import strtobool
|
||||
if not strtobool(input("Confirm you wish to process all airport files? (y/n) ")):
|
||||
print("Aborting.")
|
||||
return
|
||||
args.codes.append("")
|
||||
|
||||
for code in args.codes:
|
||||
path = os.path.join(
|
||||
args.input_dir,
|
||||
"**",
|
||||
args.source_dir,
|
||||
args.pattern.format(code=code))
|
||||
for file in glob.glob(path, recursive=True):
|
||||
print(f'Found {file}')
|
||||
if args.build:
|
||||
if not args.legacy:
|
||||
renumber.process(args, file)
|
||||
file = expand.process(args, file)
|
||||
if args.legacy:
|
||||
renumber.process(args, file)
|
||||
if args.deploy and not args.parse_only:
|
||||
result = shutil.copy(file, destination)
|
||||
print(f"Copied {file} to {result}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Build specified Endless ATC airports and copy to the Endless ATC directory.",
|
||||
epilog="https://github.com/AdamJCavanaugh/EndlessATCAirports")
|
||||
parser.add_argument('codes', nargs='*', metavar="code",
|
||||
help='''Airport codes to build and deploy. Prefixes can be used.
|
||||
If no code specified, you will be prompted if all airport files are to be processed.''')
|
||||
parser.add_argument('-w', '--input-dir',
|
||||
default=os.path.join(os.pardir, 'final'),
|
||||
help='''The directory containing the airport files.
|
||||
Subdirectories that are not source directories will also be searched.
|
||||
Defaults to '../final'.''')
|
||||
parser.add_argument('-s', '--source-dir', default='source',
|
||||
help='''The name of the folders that will contain source files.
|
||||
Defaults to 'source'.''')
|
||||
parser.add_argument('-p', '--pattern', default='{code}*.txt',
|
||||
help="The glob pattern for the file names to build based on the input codes. Defaults to '{code}*.txt'.")
|
||||
parser.add_argument('-o', '--output-path', default=os.pardir,
|
||||
help='''The path to the directory to store the output of the build process relative to the source file.
|
||||
Defaults to the parent directory relative to the source file.''')
|
||||
parser.add_argument('-d', '--destination-path',
|
||||
help='''The directory to copy the output of the build process to (e.g. Endless ATC locations folder).
|
||||
Defaults to "C:\\Program Files (x86)\\Steam\\steamapps\\common\\Endless ATC\\locations\\".
|
||||
This default can be overridden by a 'path = ' entry under a [deploy] section in an eatcdev.ini.''')
|
||||
parser.add_argument('-n', '--no-build', action='store_false', dest='build',
|
||||
help='Specify to skip build, and just copy sources to output folder.')
|
||||
parser.add_argument('-b', '--build-only',
|
||||
action='store_false', dest='deploy',
|
||||
help="Specify this option to skip copying output of build processes to destination folder.")
|
||||
parser.add_argument('-P', '--parse-only', action='store_true',
|
||||
help="Do not write any output of build. Also has effect of --build-only.")
|
||||
parser.add_argument('-t', '--test-callsigns', action = 'store_true',
|
||||
help="Tests loading of shared callsigns. Actual output is not based on shared callsigns.")
|
||||
parser.add_argument('-l', '--legacy',
|
||||
action="store_true", help="Use legacy processing method.")
|
||||
|
||||
main(parser.parse_args())
|
||||
@@ -0,0 +1,2 @@
|
||||
[deploy]
|
||||
path = C:\Program Files (x86)\Steam\steamapps\common\Endless ATC\locations\test
|
||||
+570
@@ -0,0 +1,570 @@
|
||||
import argparse
|
||||
from collections import namedtuple
|
||||
import configparser
|
||||
from dataclasses import dataclass
|
||||
import os
|
||||
import re
|
||||
|
||||
"""Endless ATC custom airport file build utility."""
|
||||
|
||||
|
||||
@dataclass
|
||||
class Fix:
|
||||
"""Simple class to represent a fix."""
|
||||
name: str
|
||||
lat: str
|
||||
lon: str
|
||||
heading: str
|
||||
pronunciation: str
|
||||
|
||||
def __init__(self, name, lat, lon, heading, pronunciation):
|
||||
self.name = name.strip()
|
||||
self.lat = lat.strip()
|
||||
self.lon = lon.strip()
|
||||
self.heading = heading.strip()
|
||||
self.pronunciation = pronunciation.strip()
|
||||
|
||||
@property
|
||||
def short_def(self):
|
||||
"""Position definition as string."""
|
||||
return f"{self.lat}, {self.lon}"
|
||||
|
||||
@property
|
||||
def minor_def(self):
|
||||
"""Definition without holding as string."""
|
||||
return f"{self.name}, {self.lat}, {self.lon}, {self.pronunciation}"
|
||||
|
||||
@property
|
||||
def full_def(self):
|
||||
"""Full definition as string."""
|
||||
return f"{self.name}, {self.lat}, {self.lon}, {self.heading.lstrip('!') or 0}, {self.pronunciation}"
|
||||
|
||||
|
||||
@dataclass
|
||||
class Airline:
|
||||
"""Simple class to represent an airline declaration."""
|
||||
callsign: str
|
||||
frequency: int
|
||||
types: str
|
||||
pronunciation: str
|
||||
directions: str
|
||||
|
||||
callsigns = None
|
||||
use_callsigns = True
|
||||
test_callsigns = False
|
||||
|
||||
def __init__(self, callsign, frequency, types, *data, gateways=None):
|
||||
"""Create an airline from an entry in the airlines= list. `data` should be
|
||||
`(pronunciation, directions)`.
|
||||
|
||||
If `Airline.callsigns` is defined, `pronunciation` should be omitted from `data`.
|
||||
|
||||
If `gateways` is provided, `directions` becomes `arrival_gateways`, `departure_gateways`."""
|
||||
|
||||
self.frequency = int(frequency.strip())
|
||||
self.types = types.strip()
|
||||
self.callsign = callsign.strip()
|
||||
try:
|
||||
if Airline.callsigns is not None and (Airline.use_callsigns or Airline.test_callsigns):
|
||||
if '-' not in callsign:
|
||||
self.pronunciation = Airline.callsigns[callsign]
|
||||
else:
|
||||
# if length of key is more than 3, assume it is not registration
|
||||
key = callsign[:callsign.index('-')]
|
||||
self.callsign = callsign.strip('_')
|
||||
# if key length is longer than 3 and key doesn't have match,
|
||||
# we strip '_' to allow for mil callsigns with length <= 3
|
||||
self.pronunciation = Airline.callsigns.get(key, key.strip('_')) if len(key) > 3 \
|
||||
else Airline.callsigns.get(key, '0')
|
||||
if Airline.test_callsigns:
|
||||
print(f'{self.callsign}: {self.pronunciation}')
|
||||
if Airline.callsigns is None or not Airline.use_callsigns:
|
||||
self.pronunciation = data[0].strip()
|
||||
data = data[1:]
|
||||
if gateways is not None:
|
||||
arrival_gateways = {gateway.strip() for gateway in data[0].split("/")}
|
||||
departure_gateways = {gateway.strip() for gateway in data[1].split("/")}
|
||||
self.directions = "".join(sorted(
|
||||
{gateways[gateway] for gateway in arrival_gateways | departure_gateways}))
|
||||
else:
|
||||
self.directions = data[0].strip()
|
||||
except Exception as e:
|
||||
raise ValueError(f"Could not create airline from ({callsign}, {frequency}, {types}, {str(data)})" +
|
||||
f"\nCallsign pronunciation lookup = {Airline.use_callsigns}") from e
|
||||
|
||||
|
||||
def process_fix_line(line, fixes):
|
||||
"""Expands special commands for a fix definition in short format
|
||||
and returns the expanded definition as the result.
|
||||
|
||||
Substitute "!<name>[, <extra_data>]" in `line` with
|
||||
"lat, lon[, <extra_data>]" based on `fixes`.
|
||||
|
||||
Args:
|
||||
`line` (list): A fix definition.
|
||||
`fixes` (dict): A lookup of `Fix`es."""
|
||||
if line.startswith('!'):
|
||||
def_fix, def_sep, def_data = line.lstrip('!').partition(',')
|
||||
return fixes[def_fix.strip()].short_def + def_sep + def_data
|
||||
else:
|
||||
return line
|
||||
|
||||
|
||||
def process_fix_list(fix_list, fixes):
|
||||
"""Expands special commands in a list of fixes in short format
|
||||
and produces an iterable of definitions as the result.
|
||||
|
||||
Substitute any "!<name>[, <extra_data>]" in `fix_list` with
|
||||
"lat, lon[, <extra_data>]" based on `fixes`.
|
||||
|
||||
Args:
|
||||
`fix_list` (list): A list of fix definitions.
|
||||
`fixes` (dict): A lookup of `Fix`es."""
|
||||
for line in fix_list:
|
||||
yield process_fix_line(line, fixes)
|
||||
|
||||
|
||||
def _process_approach_fix_list(fix_list, fixes, tagged_routes, generated_approaches):
|
||||
"""Inner worker function for `process_approach_fix_list()`.
|
||||
|
||||
Works the same as `process_fix_list`, but in addition, any fix definitions processed
|
||||
will be added to any generated approaches in `generated_approaches`. Also, any fixes
|
||||
processed will be checked for any approach generator parameters; if found, a new
|
||||
generated approach is added to `generated_approaches`. The route of such generated
|
||||
approach will also be added to `tagged_routes` if tagged in the fix definition.
|
||||
|
||||
Args:
|
||||
`fix_list` (list): A list of fix definitions.
|
||||
`fixes` (dict): A lookup of `Fix`es.
|
||||
`tagged_routes` (dict): A lookup of approach routes that were tagged for lookup.
|
||||
`generated_approaches`: A list of dicts of parameters to be used to generate
|
||||
derived approaches in post-processing."""
|
||||
for line in fix_list:
|
||||
def_data, _, approach_generator_params = line.rpartition(',')
|
||||
if def_data and '!' in approach_generator_params:
|
||||
fix_name, _, _ = def_data.partition(',')
|
||||
fix_name = fix_name.lstrip('!')
|
||||
heading, _, tag = approach_generator_params.lstrip(' !').partition('@')
|
||||
route = []
|
||||
generated_approach = {"heading": heading, "beacon": fix_name, "route": route}
|
||||
generated_approaches.append(generated_approach)
|
||||
if tag:
|
||||
tagged_routes[tag] = route
|
||||
else:
|
||||
def_data = line
|
||||
result = process_fix_line(def_data, fixes)
|
||||
for generated_approach in generated_approaches:
|
||||
generated_approach['route'].append(result)
|
||||
yield result
|
||||
|
||||
|
||||
def process_approach_fix_list(fix_list, fixes, tagged_routes, generated_approaches, generate_approaches=True):
|
||||
"""Processes special commands in a list of departure fixes
|
||||
in short format and produces an iterable of definitions as the result.
|
||||
|
||||
Substitute any "!<name>[, <extra_data>]" in `fix_list` with
|
||||
"lat, lon[, <extra_data>]" based on `fixes`.
|
||||
|
||||
If the last item in `fix_list` is "@<name>", substitute in
|
||||
the contents of the approach route tagged <name>.
|
||||
|
||||
Args:
|
||||
`fix_list` (list): A list of fix definitions.
|
||||
`fixes` (dict): A lookup of `Fix`es.
|
||||
`tagged_routes` (dict): A lookup of approach routes that were tagged for lookup.
|
||||
`generated_approaches`: A list of dicts of parameters to be used to generate
|
||||
derived approaches in post-processing.
|
||||
`generate_approaches`: Whether or not to process any approach generator commands."""
|
||||
current_tag = None
|
||||
if fix_list:
|
||||
if fix_list[0].startswith('@'):
|
||||
tagged_route = fix_list[2:]
|
||||
if fix_list[0].startswith('@!'):
|
||||
tagged_route = tagged_route[1:]
|
||||
current_tag = fix_list[0].lstrip('@!')
|
||||
tagged_routes[current_tag] = tagged_route
|
||||
fix_list = fix_list[1:]
|
||||
if fix_list[-1].startswith('@'):
|
||||
following_tag = fix_list[-1].lstrip('@')
|
||||
if current_tag is not None and current_tag == following_tag:
|
||||
raise RuntimeError(
|
||||
'''Unable to build as approach tagged as @{tag} is trying to reference itself.
|
||||
The following is the route= contents after the @tag: \n{lines}'''
|
||||
.format(tag=current_tag, lines="\n".join(fix_list)))
|
||||
yield from _process_approach_fix_list(fix_list[:-1], fixes, tagged_routes, generated_approaches)
|
||||
yield from process_approach_fix_list(tagged_routes[following_tag], fixes, tagged_routes, generated_approaches, False)
|
||||
else:
|
||||
yield from _process_approach_fix_list(fix_list, fixes, tagged_routes, generated_approaches)
|
||||
|
||||
|
||||
def process_departure_fix_list(fix_list, fixes, tagged_routes):
|
||||
"""Processes special commands in a list of departure fixes
|
||||
in short format and produces an iterable of definitions as the result,
|
||||
or `None` if there is no result (fix_list was recorded in `tagged_routes`.
|
||||
|
||||
Substitute any "!<name>[, <extra_data>]" in `fix_list` with
|
||||
"lat, lon[, <extra_data>]" based on `fixes`.
|
||||
|
||||
If and the first item of fix_list is "@<name>",
|
||||
record the rest of the `fix_list` in `tagged_routes` under "name".
|
||||
|
||||
If the second (first if a tagged departure route) item in `fix_list`
|
||||
is "@<name>", substitute in the contents of the departure route
|
||||
tagged <name>.
|
||||
|
||||
Args:
|
||||
`fix_list` (list): A list of fix definitions.
|
||||
`fixes` (dict): A lookup of `Fix`es.
|
||||
`tagged_routes` (dict): A lookup of departure routes."""
|
||||
if fix_list:
|
||||
if fix_list[0].startswith('@'):
|
||||
tagged_routes[fix_list[0].lstrip('@')] = fix_list[1:]
|
||||
return None
|
||||
else:
|
||||
return _process_departure_fix_list(fix_list, fixes, tagged_routes)
|
||||
|
||||
|
||||
def _process_departure_fix_list(fix_list, fixes, tagged_routes, top_level=True):
|
||||
if fix_list:
|
||||
if top_level:
|
||||
yield fix_list[0]
|
||||
fix_list = fix_list[1:]
|
||||
if fix_list[0].startswith('@'):
|
||||
yield from _process_departure_fix_list(tagged_routes[fix_list[0].lstrip('@')], fixes, tagged_routes, top_level=False)
|
||||
yield from process_fix_list(fix_list[1:], fixes)
|
||||
else:
|
||||
yield from process_fix_list(fix_list, fixes)
|
||||
|
||||
|
||||
def process_sids_fix_list(fix_list, fixes):
|
||||
"""Processes special commands in a list of fixes in minor format
|
||||
and produces an iterable of definitions as the result.
|
||||
|
||||
Substitute any "!<name>[, <extra_data>]" in `fix_list` with
|
||||
"lat, lon[, <extra_data>]" based on `fixes`.
|
||||
|
||||
Args:
|
||||
`fix_list` (list): A list of fix definitions.
|
||||
`fixes` (dict): A lookup of `Fix`es."""
|
||||
for line in fix_list:
|
||||
if line.startswith('!'):
|
||||
def_fix, def_sep, def_data = line.lstrip('!').partition(',')
|
||||
yield fixes[def_fix.strip()].minor_def + def_sep + def_data
|
||||
else:
|
||||
yield line
|
||||
|
||||
|
||||
def process_repeatable_departure_fix_list(fix_list, fixes, departure_routes):
|
||||
"""`Processes special commands in a list of departure fixes
|
||||
in short format and produces an iterable of n iterables of
|
||||
definitions as the result.
|
||||
|
||||
If the first item of `fix_list` is *n, n iterables are produced.
|
||||
Otherwise, `n = 1`.
|
||||
|
||||
See `process_departure_fix_list` for further special commands."""
|
||||
if not fix_list[0]:
|
||||
fix_list = fix_list[1:]
|
||||
if fix_list[0].startswith('*'):
|
||||
result = list(process_departure_fix_list(fix_list[1:], fixes, departure_routes))
|
||||
for i in range(int(fix_list[0].removeprefix('*'))):
|
||||
yield result
|
||||
else:
|
||||
yield process_departure_fix_list(fix_list, fixes, departure_routes)
|
||||
|
||||
|
||||
def process_beacons(fixes):
|
||||
"""Returns a generator of [airspace] beacons= lines, while removing any
|
||||
beacons with ! as the holding heading."""
|
||||
for fix in fixes.values():
|
||||
if not fix.heading.startswith("!"):
|
||||
yield fix.full_def
|
||||
|
||||
|
||||
def process_airlines_list(airline_list):
|
||||
"""Returns generator of airline declaration strings based on the list of `Airline`s `airline_list`.
|
||||
|
||||
If frequency is greater than 10, write floor(frequency / 10) 10 frequency
|
||||
declarations and 1x (frequency mod 10) declaration."""
|
||||
for airline in airline_list:
|
||||
n, r = divmod(airline.frequency, 10)
|
||||
for i in range(n):
|
||||
yield f"{airline.callsign}, 10, {airline.types}, {airline.pronunciation}, {airline.directions}"
|
||||
if r:
|
||||
yield f"{airline.callsign}, {r}, {airline.types}, {airline.pronunciation}, {airline.directions}"
|
||||
|
||||
|
||||
def enumerate_routes(route_list, start=1):
|
||||
"""built-in `enumerate()` but the enumeration is a string "route#"."""
|
||||
for route in route_list:
|
||||
yield f"route{start}", route
|
||||
start += 1
|
||||
|
||||
|
||||
def process(args, input_file=None):
|
||||
"""Parses an Endless ATC custom airport "source" file and expands certain special commands,
|
||||
then rewrites as a minimized output suitable for use by the game.
|
||||
|
||||
Refer to argparse help for detailed syntax of special commands.
|
||||
|
||||
Args:
|
||||
`args`: An `argparse.Namespace`. The command line args from the invoking module.
|
||||
`file`: The file to process. Defaults to `input_file` in `args`."""
|
||||
|
||||
# if input_file is None, we were invoked standalone and not from deploy.py
|
||||
if input_file is None:
|
||||
input_file = args.input_file
|
||||
output_file = input_file if args.output_file is None else args.output_file
|
||||
else:
|
||||
output_file = os.path.join(os.path.dirname(input_file), args.output_path, os.path.basename(input_file))
|
||||
print(f"Building {input_file} to {output_file}")
|
||||
|
||||
config = configparser.ConfigParser()
|
||||
config.read("common.ini")
|
||||
config.read(os.path.join(os.path.dirname(input_file), "common.ini"))
|
||||
Airline.callsigns = config['expand.callsigns'] if 'expand.callsigns' in config else {}
|
||||
default_gateways = config['expand.gateways'] if 'expand.gateways' in config else {}
|
||||
|
||||
if 'legacy' not in args or not args.legacy:
|
||||
source = configparser.ConfigParser()
|
||||
source.read(input_file)
|
||||
|
||||
# read optional header to be written in output
|
||||
header = None
|
||||
if 'meta' in source:
|
||||
if 'header' in source['meta']:
|
||||
header = ["# " + line for line in source['meta']['header'].splitlines()]
|
||||
header.extend([
|
||||
"",
|
||||
f"# This file is generated from the source file {os.path.relpath(input_file, os.path.dirname(output_file))} using expand.py.",
|
||||
"# All comments have been stripped, and edits are not made directly to this file.",
|
||||
"# If you would like to contribute, or see the author's comments, please refer to the source file.",
|
||||
"",
|
||||
""])
|
||||
header = "\n".join(header)
|
||||
if 'callsigns' not in source['meta']:
|
||||
Airline.use_callsigns = False
|
||||
else:
|
||||
Airline.use_callsigns = source['meta'].getboolean('callsigns')
|
||||
if args.test_callsigns:
|
||||
Airline.test_callsigns = True
|
||||
# remove meta section so it won't be written in output
|
||||
del source['meta']
|
||||
|
||||
# build a fix database from [airspace] beacons=
|
||||
fixes = {fix.name: fix for fix in (
|
||||
Fix(*definition.split(",")) for definition in
|
||||
source['airspace']['beacons'].strip().splitlines()
|
||||
)}
|
||||
|
||||
source['airspace']['beacons'] = "\n".join(process_beacons(fixes))
|
||||
|
||||
source['airspace']['boundary'] = "\n".join(
|
||||
process_fix_list(source['airspace']['boundary'].splitlines(), fixes))
|
||||
|
||||
areas = {section: source[section] for section in source if section.startswith('area')}
|
||||
|
||||
for area_data in areas.values():
|
||||
if 'points' in area_data:
|
||||
area_data['points'] = "\n".join(
|
||||
process_fix_list(area_data['points'].splitlines(), fixes))
|
||||
|
||||
# process airport sections
|
||||
airports = {section: source[section] for section in source if section.startswith('airport')}
|
||||
|
||||
for airport_data in airports.values():
|
||||
|
||||
gateways = dict((tuple(map(str.strip, gateway.split(","))) for gateway in airport_data['gateways'].strip().splitlines()),
|
||||
**default_gateways) if 'gateways' in airport_data else None
|
||||
|
||||
if 'airlines' in airport_data:
|
||||
airlines = [Airline(*airline.split(","), gateways=gateways)
|
||||
for airline in airport_data['airlines'].splitlines() if airline]
|
||||
airport_data['airlines'] = "\n".join(process_airlines_list(airlines))
|
||||
|
||||
if 'sids' in airport_data:
|
||||
airport_data['sids'] = "\n".join(
|
||||
process_sids_fix_list(airport_data['sids'].splitlines(), fixes))
|
||||
|
||||
# process approach/transition sections
|
||||
approaches = [source[section] for section in source
|
||||
if section.startswith('approach') or section.startswith('transition')]
|
||||
tagged_approaches_by_runway = {}
|
||||
generated_approaches_by_runway = {}
|
||||
highest_app_index = 0
|
||||
|
||||
for approach_data in approaches:
|
||||
runway = approach_data['runway']
|
||||
if runway not in tagged_approaches_by_runway:
|
||||
tagged_approaches_by_runway[runway] = {}
|
||||
tagged_approaches = tagged_approaches_by_runway[runway]
|
||||
generated_approaches = []
|
||||
if 'beacon' in approach_data and ',' not in approach_data['beacon']:
|
||||
approach_data['beacon'] = approach_data['beacon'].removeprefix("!")
|
||||
if approach_data['beacon'] in fixes and fixes[approach_data['beacon']].heading.startswith('!'):
|
||||
approach_data['beacon'] = fixes[approach_data['beacon']].full_def
|
||||
for option in approach_data:
|
||||
if option.startswith('route'):
|
||||
approach_data[option] = "\n".join(process_approach_fix_list(approach_data[option].splitlines(),
|
||||
fixes, tagged_approaches, generated_approaches))
|
||||
if runway not in generated_approaches_by_runway:
|
||||
generated_approaches_by_runway[approach_data['runway']] = []
|
||||
generated_approaches_by_runway[approach_data['runway']].extend(generated_approaches)
|
||||
|
||||
# find highest approach index as we need to add more approaches
|
||||
for section in source:
|
||||
if section.startswith('approach'):
|
||||
highest_app_index = max(highest_app_index, int(section[8:]))
|
||||
|
||||
for runway, generated_approaches in generated_approaches_by_runway.items():
|
||||
for generated_approach in generated_approaches:
|
||||
section = f'approach{highest_app_index}'
|
||||
highest_app_index += 1
|
||||
beacon = generated_approach['beacon']
|
||||
if fixes[beacon].heading.startswith('!'):
|
||||
beacon = fixes[beacon].full_def
|
||||
source[section] = {
|
||||
"runway": runway,
|
||||
"beacon": beacon,
|
||||
"route1": generated_approach['heading'] + "\n" + "\n".join(
|
||||
generated_approach['route'])
|
||||
}
|
||||
|
||||
# process departure sections
|
||||
departures = [source[section] for section in source if section.startswith('departure')]
|
||||
tagged_departures = {}
|
||||
|
||||
for departure_data in departures:
|
||||
routes = {int(option.removeprefix('route')): departure_data[option]
|
||||
for option in departure_data if option.startswith('route')}
|
||||
processed_routes = []
|
||||
for route_index in sorted(routes):
|
||||
processed_routes.extend("\n".join(route) for route in
|
||||
process_repeatable_departure_fix_list(
|
||||
routes[route_index].splitlines(), fixes, tagged_departures)
|
||||
if route)
|
||||
del departure_data[f'route{route_index}']
|
||||
departure_data.update(enumerate_routes(processed_routes, start=1))
|
||||
|
||||
# write output file
|
||||
if not args.parse_only:
|
||||
with open(output_file, 'w', newline='') as airport_file:
|
||||
airport_file.write(header)
|
||||
source.write(airport_file)
|
||||
|
||||
# legacy processor in regex. Don't use for new projects.
|
||||
else:
|
||||
pattern = re.compile(r"^(?P<airport_section>\[airport(?P<airport_id>\d*)\])|(?P<airline_entry>#!\t(?P<airline_code>[-\w]*), (?P<airline_frequency>\d*), (?P<airline_parameters>[\w/d]*, [-\w ]*, [nswe]*))|(?P<result_marker>#!expansionoutput(?P<result_id>\d+))|(?P<result_end_marker>#!expansionoutputend)|(?P<sid_marker>#!sid(?P<sid_frequency>[\d]+)x)")
|
||||
|
||||
result = {'output': []}
|
||||
airport = 0
|
||||
ignore_lines = False
|
||||
ignore_one_line = False
|
||||
sid_frequency = 0
|
||||
sid_lines = []
|
||||
|
||||
with open(input_file, 'r', newline='') as airport_file:
|
||||
for line in airport_file:
|
||||
match = pattern.match(line)
|
||||
if match:
|
||||
if match['airport_section']:
|
||||
airport = match['airport_id']
|
||||
if airport not in result:
|
||||
result[airport] = []
|
||||
|
||||
elif match['airline_entry']:
|
||||
total_frequency = int(match['airline_frequency'])
|
||||
frequencies = []
|
||||
while total_frequency > 10:
|
||||
frequencies.append(10)
|
||||
total_frequency -= 10
|
||||
frequencies.append(total_frequency)
|
||||
for frequency in frequencies:
|
||||
result[airport].append(
|
||||
f"\t{match['airline_code']}, {frequency}, {match['airline_parameters']}\n"
|
||||
)
|
||||
|
||||
elif match['result_marker']:
|
||||
result['output'].append(line)
|
||||
for result_line in result[match['result_id']]:
|
||||
result['output'].append(result_line)
|
||||
ignore_lines = True
|
||||
|
||||
elif match['result_end_marker']:
|
||||
ignore_lines = False
|
||||
|
||||
elif match['sid_marker']:
|
||||
sid_frequency = int(match['sid_frequency']) - 1
|
||||
ignore_one_line = True
|
||||
|
||||
if sid_frequency:
|
||||
if line.isspace():
|
||||
for _ in range(sid_frequency):
|
||||
result['output'].extend(sid_lines)
|
||||
sid_frequency = 0
|
||||
sid_lines = []
|
||||
elif not len(sid_lines):
|
||||
sid_lines.append("\n")
|
||||
else:
|
||||
sid_lines.append(line)
|
||||
|
||||
if not ignore_lines and not ignore_one_line:
|
||||
result['output'].append(line)
|
||||
|
||||
if ignore_one_line:
|
||||
ignore_one_line = False
|
||||
|
||||
if not args.parse_only:
|
||||
with open(output_file, 'w', newline='') as airport_file:
|
||||
airport_file.writelines(result['output'])
|
||||
return output_file if not args.parse_only else None
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description='''Expands certain commands to allow for concise Endless ATC airport source files.
|
||||
\n\n
|
||||
Available functions:
|
||||
\n\n
|
||||
In [airspace] boundary=, [area] points=, or the route= of an [approach/departure/transition], specify "!<name>" instead of lat, lon
|
||||
to substitute the lat, lon from the fix with the corresponding name in [airspace] beacons=. In [airport] sids=, "!<name>"
|
||||
can also be specified, and will become name, lat, lon instead. In [approach/departure/transition], "!<name>" can also be specified
|
||||
in beacon=, where it will become the full fix definition.
|
||||
\n\n
|
||||
In [airport] airlines=, definitions with frequency >10 with be broken down into multiple definitions of frequency 10 or less.
|
||||
\n\n
|
||||
In [airport], you can define gateways=, a list of <name>, direction. If gateways= is defined, the ", <directions>"" in
|
||||
[airport] airlines= becomes ", <arrival_gateways>, <departure_gateways>", and the directions are used based on the defined
|
||||
gateways. Default gateways can be specified in a common.ini in the same directory as the source file, or in the folder where
|
||||
this tool is located; gateways= still needs to be defined in an [airport] to activate this feature for the [airport].
|
||||
\n\n
|
||||
In [airport] airlines=, the airline <pronunciation> can be omitted if [meta] callsigns= is true. A lookup will be loaded from
|
||||
[expand.callsigns] defined in a common.ini in the same directory as the source file, or in the folder where this tool is
|
||||
located. The former takes precedence. [expand.callsigns] is a list of <code>, <pronunciation>. The first item in each
|
||||
line of airlines (stripped of a dash and anything after it, hereafter referred to as the "key") is used to lookup in
|
||||
[expand.callsigns] to obtain the pronunciation. If nothing is found, pronunication defaults to the key if it is longer than
|
||||
3 characters (assuming it is a military callsign), otherwise it defaults to "0".
|
||||
\n\n
|
||||
In a [approach/transition] route=, specify "@<name>" to "tag" the approach route. Any subsequent [approach] route= can then
|
||||
specify "@<name>" as the last point to chain the approach route tagged as "name" to the end.
|
||||
\n\n
|
||||
In a [departure] route=, specify "@<name>" to "tag" the route. This will remove the departure route from the resulting file
|
||||
(as it is an incomplete departure route). Any subsequent [departure] route= can then specify "@<name>" as the *first* point
|
||||
(second line, after the route name) to chain the departure route tagged as "name" to the beginning.
|
||||
\n\n
|
||||
*n as the first line of a [departure] route= value will repeat that route n times. Obviously, a repeated route= cannot be
|
||||
tagged as it wouldn't make any sense.''')
|
||||
parser.add_argument('input_file')
|
||||
parser.add_argument('output_file', nargs='?')
|
||||
parser.add_argument('-l', '--legacy', action="store_true",
|
||||
help='''Use legacy processing method. Don't use for new projects.
|
||||
\n\n
|
||||
#!expansionoutput<airport_id> can be inserted on its own line in a source file terminated by
|
||||
#!expansionoutputend on a following line. This block, which should remain empty, will be used
|
||||
to write the result of expanding any airline definitions in a #! comment. Any #! definitions
|
||||
with frequency greater are split into entries with max 10 frequency each.
|
||||
\n\n
|
||||
#!sid<n>x can be inserted before any "routex =" declaration in a [departure] section to repeat the
|
||||
route <n> times. This can be used to adjust the distribution of traffic on each SID. Note the
|
||||
numbering of each "route" will not be adjusted. See renumber.py for such operation.''')
|
||||
|
||||
process(parser.parse_args())
|
||||
@@ -0,0 +1,45 @@
|
||||
import argparse
|
||||
import re
|
||||
|
||||
"""Endless ATC custom airport file section renumbering utility."""
|
||||
|
||||
|
||||
def process(args, file=None):
|
||||
"""Rewrites an Endless ATC airport file with renumbered sections.
|
||||
|
||||
Sections are renumbered from 1. Sections do not need to be numbered
|
||||
in the input. Routes, however, need to be numbered in the input.
|
||||
|
||||
Args:
|
||||
`args`: An `argparse.Namespace`. The command line args from the invoking module.
|
||||
`file`: The file to process. Defaults to `input_file` in `args`."""
|
||||
|
||||
header_re = re.compile(r"^(?:\[(?P<header>(?:approach)|(?:transition)|(?:departure)|(?:area))\d*\])|^(?:route\d+ *= *)")
|
||||
|
||||
def number_approach(match, indexes={'approach': 0, 'transition': 0, 'departure': 0, 'area': 0, 'route': 0}):
|
||||
header = match.group("header")
|
||||
if header:
|
||||
indexes['route'] = 0
|
||||
else:
|
||||
header = 'route'
|
||||
indexes[header] += 1
|
||||
return header == 'route' and f"{header}{indexes[header]} = " or f"[{header}{indexes[header]}]"
|
||||
|
||||
if file is None:
|
||||
file = args.input_file
|
||||
|
||||
result = []
|
||||
|
||||
with open(file, 'r', newline='') as input_file:
|
||||
for line in input_file:
|
||||
result.append(header_re.sub(number_approach, line))
|
||||
|
||||
with open(file, 'w', newline='') as output_file:
|
||||
output_file.writelines(result)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description='Re-number [approach] sections for Endless ATC airport files.')
|
||||
parser.add_argument('input_file')
|
||||
|
||||
process(parser.parse_args())
|
||||
Reference in New Issue
Block a user