RJTT 3.1.0 & tools 0.9.1

This commit is contained in:
Calvin Ng
2021-05-31 23:59:38 -07:00
parent 6dc87e25ee
commit 4073e83552
6 changed files with 440 additions and 500 deletions
+385 -470
View File
File diff suppressed because it is too large Load Diff
+10 -2
View File
@@ -1,4 +1,4 @@
# `RJTT` ACA 3.0.0
# `RJTT` ACA 3.0.1
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.
@@ -287,4 +287,12 @@ Note that traffic data (`airlines = `) is expanded by a python script `expand_ai
- 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`
- Implement ILS X 34L/ILS Y 34R approaches at `RJTT`
* 3.1.0 - 2021/05/31
- Corrected definition of `TEMIS`, shouldn't affect gameplay
- Revised ILS Z 34L at `RJTT`
- removed -5000 altitude restriction at `ARLON`
- ILS intercept changed to 15.5nmi from runway (D15.7 `IHA`/0.6nmi from `APOLO`)
- previously, the ILS intercept was at `ARLON`
- In reality, there was no restriction at `ARLON` in the first place (rather, there was a +5000 restriction at `CREAM`
- Corrected coordinates of `RJTL` runway, shouldn't affect gameplay
+9 -1
View File
@@ -239,4 +239,12 @@ Approaches are available using APP mode from `TOHNE` and `ASEKI`. Arrival routes
- 16Rからの離陸を22との交差点より先から始まるように修正
- `RJTL`の発着レートを三分の一に下げました.
- `RJAA` ILS Y 16L/16R アプローチを実装
- `RJTT` ILS X 34L/ILS Y 34R アプローチを実装
- `RJTT` ILS X 34L/ILS Y 34R アプローチを実装
* 3.1.0 - 2021/05/31
- `TEMIS`の設定を修正 ※プレイに影響はありません
- `RJTT`のILS Z 34Lを修正
- `ARLON`の高度5000以下の制限を解除
- 滑走路から15.5nmiの時点(D15.7`IHA`/`APOLO`0.6nmi前)でローカライザーに合流
- 以前は`ARLON`で合流
- 実際`ARLON`では高度制限はなかった(正しくは`CREAM`には高度5000以上の制限があった)
- `RJTL`の滑走路の位置情報を修正 ※プレイに影響はありません
+17 -17
View File
@@ -1,5 +1,5 @@
[meta]
header = RJTT ACA 3.0.0
header = RJTT ACA 3.1.0
See RJTT_readme.md
callsigns = True
@@ -638,21 +638,21 @@ name = Tokyo International Airport
code = RJTT
runways =
#A RWY
RJTTRWYA, 34L, N035.32.11.760, E139.47.08.410, 329.88, 9842.52, 0, 1574.8, 18, 3, 329.88, 3, 149.88
RJTTRWYA, 34L, N035.32.11.760, E139.47.08.410, 329.88, 9842.52, 0, 1574.8, 18, 3, 329.88, 3, 149.88, 0, 0, 0, 0, 118.1
##duplicate for afternoon ops
RJTTRWYA2, 34L, N035.32.11.760, E139.47.08.410, 329.88, 9842.52, 0, 1574.8, 18, 3, 329.88, 3, 149.88
RJTTRWYA2, 34L, N035.32.11.760, E139.47.08.410, 329.88, 9842.52, 0, 1574.8, 18, 3, 329.88, 3, 149.88, 0, 0, 0, 0, 118.1
#B RWY
RJTTRWYB, 22, N035.34.02.880, E139.46.37.610, 215.01, 8200, 0, 0, 35
RJTTRWYB, 22, N035.34.02.880, E139.46.37.610, 215.01, 8200, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 118.575
##duplicate for LDA
RJTTRWYBLDA, 22C, N35.36.19.28, E139.46.16, 270, 8200, 0, 0, 35
RJTTRWYBLDA, 22C, N35.36.19.28, E139.46.16, 270, 8200, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 118.575
#C RWY
RJTTRWYC, 34R, N035.32.22.90, E139.48.18.490, 329.88, 11023.62, 1181.1, 1279.53, 21
RJTTRWYC, 34R, N035.32.22.90, E139.48.18.490, 329.88, 11023.62, 1181.1, 1279.53, 21, 0, 0, 0, 0, 0, 0, 0, 0, 124.35
##duplicate for afternoon ops
RJTTRWYC2, 34R, N035.32.22.90, E139.48.18.490, 329.88, 11023.62, 1181.1, 1279.53, 21
RJTTRWYC2, 34R, N035.32.22.90, E139.48.18.490, 329.88, 11023.62, 1181.1, 1279.53, 21, 0, 0, 0, 0, 0, 0, 0, 0, 124.35
#D RWY
RJTTRWYD, 23, N035.32.26.150, E139.49.19.610, 222.56, 8200, 0, 0, 55, 3, 224.56
RJTTRWYD, 23, N035.32.26.150, E139.49.19.610, 222.56, 8200, 0, 0, 55, 3, 224.56, 0, 0, 0, 0, 0, 0, 124.35
##duplicate for LDA
RJTTRWYDLDA, 23C, N35.34.16.51, E139.49.58, 270, 8200, 0, 0, 55
RJTTRWYDLDA, 23C, N35.34.16.51, E139.49.58, 270, 8200, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 124.35
climbaltitude = 15000
@@ -847,9 +847,9 @@ traffic = 3
runways =
#A RWY
RJAARWYA, 34L, N35.44.35.96, E140.23.26.66, 329.51, 13123.36, 0, 0, 135
RJAARWYA, 34L, N35.44.35.96, E140.23.26.66, 329.51, 13123.36, 0, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 118.2
#B RWY
RJAARWYB, 34R, N35.47.08.82, E140.23.31.72, 329.51, 8202.1, 0, 0, 137
RJAARWYB, 34R, N35.47.08.82, E140.23.31.72, 329.51, 8202.1, 0, 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, 118.35
climbaltitude = 7000
@@ -1080,7 +1080,7 @@ inboundbeacon = MESSE
traffic = 180
runways =
RJTLRWY, 19, N35.809078, N140.011968, 179, 7400, 0, 0, 91
RJTLRWY, 19, N35.809078, E140.011968, 179, 7400, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 325.4
climbaltitude = 3000
@@ -1120,7 +1120,7 @@ inboundbeacon = HME
traffic = 60
runways =
RJTFRWY, 17, N35.40.29.98, E139.31.35.94, 163.2, 2624.67, 0, 0, 139
RJTFRWY, 17, N35.40.29.98, E139.31.35.94, 163.2, 2624.67, 0, 0, 139, 0, 0, 0, 0, 0, 0, 0, 0, 130.8
sids =
!KOSKA
@@ -1139,7 +1139,7 @@ inboundbeacon = XAC
traffic = 60
runways =
RJTORWY, 03, N34.46.27.00, E139.21.24.87, 20.15, 5905.51, 0, 0, 129
RJTORWY, 03, N34.46.27.00, E139.21.24.87, 20.15, 5905.51, 0, 0, 129, 0, 0, 0, 0, 0, 0, 0, 0, 118.6
climbaltitude = 4000
@@ -1150,7 +1150,7 @@ inboundbeacon = XAC
traffic = 60
runways =
RJANRWY, 11, N34.22.13.11, E139.15.51.44, 102.32, 2624.67, 0, 0, 94
RJANRWY, 11, N34.22.13.11, E139.15.51.44, 102.32, 2624.67, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 124.3
#TOKYO CTR 3000/SFC / TOKYO PCA NR1 4000/3000 (EXC 3000)
[area1]
@@ -2317,10 +2317,10 @@ draw = 5.4, 7
[approach1]
runway = RJTTRWYA
beacon = APOLO
route1 = @!ILSZ34L
route1 = @ILSZ34L
337
!ARLON
19.4, 5000, 200
15.5, 5000, 200
#APOLO +5000
[approach2]
+3 -1
View File
@@ -1,4 +1,4 @@
# Endless ATC Custom Airport Tools 0.9.0
# Endless ATC Custom Airport Tools 0.9.1
In this directory are a few tools useful for writing Endless ATC airport files. You can see examples of its usage in `RJTT` and `RJBB`.
@@ -390,3 +390,5 @@ route = *4
- Added support for creating fixes on the fly from references in `route=`s
- Only works for generated fixes, you cannot define a fix by position in a `route=`
- It should now be easier to tell where a build failed (at the cost of long error messages)
* 0.9.1 - 2021/05/31
- Runway coordinates are no longer assumed to be `[D]DDMMSS[.SS]`
+16 -9
View File
@@ -102,13 +102,20 @@ class Fix:
return self._latlon
def _generate_latlon(self):
lat = self._lat
lon = self._lon
if lat[:1].isalpha():
lat = lat[1:] + lat[:1]
if lon[:1].isalpha():
lon = lon[1:] + lon[:1]
self._latlon = LatLon(parseDMS(lat, sep='.'), parseDMS(lon, sep='.'))
try:
lat = self._lat
lon = self._lon
if lat[:1].isalpha():
lat = lat[1:] + lat[:1]
if lon[:1].isalpha():
lon = lon[1:] + lon[:1]
if lat.find('.') != lat.rfind('.'):
lat = parseDMS(lat, sep='.')
if lon.find('.') != lon.rfind('.'):
lon = parseDMS(lon, sep='.')
self._latlon = LatLon(lat, lon)
except Exception as e:
raise RuntimeError(f"Unable to generate a LatLon for fix {self.name}: {self}") from e
def meters_on_heading(self, meters, heading, true_heading=False):
if isinstance(heading, str):
@@ -365,8 +372,8 @@ class Airline:
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
raise ValueError(f'''Could not create airline from ({callsign}, {frequency}, {types}, {str(data)})
Callsign pronunciation lookup = {Airline.use_callsigns}''') from e
def process_fix_line(line, fixes):