Remove unused data.

We get TACAN, ILS, and ATC data from pydcs now. The rest of this
manually curated data is unused.
This commit is contained in:
Dan Albert 2022-09-27 18:25:11 -07:00
parent e0160ac876
commit 037ff85396
177 changed files with 30 additions and 1778 deletions

View File

@ -1,150 +0,0 @@
"""Extra airfield data that is not exposed by pydcs.
Remove once https://github.com/pydcs/dcs/issues/69 tracks getting the missing
data added to pydcs. Until then, missing data can be manually filled in here.
"""
from __future__ import annotations
import logging
from collections.abc import Iterator
from dataclasses import dataclass, field
from pathlib import Path
from typing import ClassVar, Dict, Optional, TYPE_CHECKING, Tuple
import yaml
from dcs.task import Modulation
from dcs.terrain import Airport
from game.radio.radios import RadioFrequency
if TYPE_CHECKING:
from game.theater import ConflictTheater
@dataclass
class AtcData:
hf: RadioFrequency
vhf_fm: RadioFrequency
vhf_am: RadioFrequency
uhf: RadioFrequency
@classmethod
def from_pydcs(cls, airport: Airport) -> Optional[AtcData]:
if airport.atc_radio is None:
return None
return AtcData(
RadioFrequency(airport.atc_radio.hf_hz, Modulation.FM),
RadioFrequency(airport.atc_radio.vhf_low_hz, Modulation.FM),
RadioFrequency(airport.atc_radio.vhf_high_hz, Modulation.AM),
RadioFrequency(airport.atc_radio.uhf_hz, Modulation.AM),
)
@dataclass
class AirfieldData:
"""Additional airfield data not included in pydcs."""
#: Airfield name for the UI. Not stable.
name: str
#: pydcs airport ID
id: int
#: ICAO airport code
icao: Optional[str] = None
#: Elevation (in ft).
elevation: int = 0
#: Runway length (in ft).
runway_length: int = 0
#: VOR as a tuple of (callsign, frequency).
vor: Optional[Tuple[str, RadioFrequency]] = None
#: RSBN channel as a tuple of (callsign, channel).
rsbn: Optional[Tuple[str, int]] = None
#: Dict of runway heading -> PRMG tuple of (callsign, channel).
prmg: Dict[str, Tuple[str, int]] = field(default_factory=dict)
#: Dict of runway heading -> outer NDB tuple of (callsign, frequency).
outer_ndb: Dict[str, Tuple[str, RadioFrequency]] = field(default_factory=dict)
#: Dict of runway heading -> inner NDB tuple of (callsign, frequency).
inner_ndb: Dict[str, Tuple[str, RadioFrequency]] = field(default_factory=dict)
_airfields: ClassVar[dict[str, dict[int, AirfieldData]]] = {}
@classmethod
def from_file(cls, airfield_yaml: Path) -> AirfieldData:
with airfield_yaml.open() as yaml_file:
data = yaml.safe_load(yaml_file)
vor = None
if (vor_data := data.get("vor")) is not None:
vor = (
vor_data["callsign"],
RadioFrequency.parse(vor_data["frequency"], Modulation.FM),
)
rsbn = None
if (rsbn_data := data.get("rsbn")) is not None:
rsbn = (rsbn_data["callsign"], rsbn_data["channel"])
prmg = {}
outer_ndb = {}
inner_ndb = {}
for name, runway_data in data.get("runways", {}).items():
if (prmg_data := runway_data.get("prmg")) is not None:
prmg[name] = (prmg_data["callsign"], prmg_data["channel"])
if (outer_ndb_data := runway_data.get("outer_ndb")) is not None:
outer_ndb[name] = (
outer_ndb_data["callsign"],
RadioFrequency.parse(outer_ndb_data["frequency"], Modulation.AM),
)
if (inner_ndb_data := runway_data.get("inner_ndb")) is not None:
inner_ndb[name] = (
inner_ndb_data["callsign"],
RadioFrequency.parse(inner_ndb_data["frequency"], Modulation.AM),
)
return AirfieldData(
data["name"],
data["id"],
data.get("icao"),
data["elevation"],
data["runway_length"],
vor,
rsbn,
prmg,
outer_ndb,
inner_ndb,
)
@classmethod
def _load_for_theater_if_needed(cls, theater: ConflictTheater) -> None:
if theater.terrain.name in cls._airfields:
return
airfields = {}
base_path = Path("resources/airfields") / theater.terrain.name
if base_path.is_dir():
for airfield_yaml in base_path.iterdir():
data = cls.from_file(airfield_yaml)
airfields[data.id] = data
else:
logging.warning("No airfield data available for %s", theater.terrain.name)
cls._airfields[theater.terrain.name] = airfields
@classmethod
def for_airport(cls, theater: ConflictTheater, airport: Airport) -> AirfieldData:
cls._load_for_theater_if_needed(theater)
return cls._airfields[theater.terrain.name][airport.id]
@classmethod
def for_theater(cls, theater: ConflictTheater) -> Iterator[AirfieldData]:
cls._load_for_theater_if_needed(theater)
yield from cls._airfields[theater.terrain.name].values()

28
game/atcdata.py Normal file
View File

@ -0,0 +1,28 @@
from __future__ import annotations
from dataclasses import dataclass
from typing import Optional
from dcs.task import Modulation
from dcs.terrain import Airport
from game.radio.radios import RadioFrequency
@dataclass
class AtcData:
hf: RadioFrequency
vhf_fm: RadioFrequency
vhf_am: RadioFrequency
uhf: RadioFrequency
@classmethod
def from_pydcs(cls, airport: Airport) -> Optional[AtcData]:
if airport.atc_radio is None:
return None
return AtcData(
RadioFrequency(airport.atc_radio.hf_hz, Modulation.FM),
RadioFrequency(airport.atc_radio.vhf_low_hz, Modulation.FM),
RadioFrequency(airport.atc_radio.vhf_high_hz, Modulation.AM),
RadioFrequency(airport.atc_radio.uhf_hz, Modulation.AM),
)

View File

@ -10,7 +10,7 @@ from dcs import Mission, Point
from dcs.coalition import Coalition from dcs.coalition import Coalition
from dcs.countries import country_dict from dcs.countries import country_dict
from game.airfields import AtcData from game.atcdata import AtcData
from game.dcs.beacons import Beacons from game.dcs.beacons import Beacons
from game.dcs.helpers import unit_type_from_name from game.dcs.helpers import unit_type_from_name
from game.missiongenerator.aircraft.aircraftgenerator import ( from game.missiongenerator.aircraft.aircraftgenerator import (

View File

@ -6,7 +6,7 @@ from typing import Iterator, Optional, TYPE_CHECKING
from dcs.terrain.terrain import Airport, RunwayApproach from dcs.terrain.terrain import Airport, RunwayApproach
from game.airfields import AtcData from game.atcdata import AtcData
from game.dcs.beacons import BeaconType, Beacons from game.dcs.beacons import BeaconType, Beacons
from game.radio.radios import RadioFrequency from game.radio.radios import RadioFrequency
from game.radio.tacan import TacanChannel from game.radio.tacan import TacanChannel

View File

@ -1,21 +0,0 @@
---
name: Anapa-Vityazevo
id: 12
icao: URKA
elevation: 141
runway_length: 8623
runways:
"22":
outer_ndb:
callsign: AP
frequency: 443 MHz
inner_ndb:
callsign: P
frequency: 215 MHz
"04":
outer_ndb:
callsign: AN
frequency: 443 MHz
inner_ndb:
callsign: N
frequency: 215 MHz

View File

@ -1,14 +0,0 @@
---
name: Batumi
id: 22
icao: UGSB
elevation: 32
runway_length: 6792
tacan:
callsign: BTM
channel: 16X
runways:
"13":
ils:
callsign: ILU
frequency: 110.300 MHz

View File

@ -1,17 +0,0 @@
---
name: Beslan
id: 32
icao: URMO
elevation: 1719
runway_length: 9327
runways:
"10":
ils:
callsign: ICH
frequency: 110.500 MHz
outer_ndb:
callsign: CX
frequency: 1.005 MHz
inner_ndb:
callsign: C
frequency: 250 MHz

View File

@ -1,9 +0,0 @@
---
name: Gelendzhik
id: 17
icao: URKG
elevation: 72
runway_length: 5452
vor:
callsign: GN
frequency: 114.030 MHz

View File

@ -1,6 +0,0 @@
---
name: Gudauta
id: 21
icao: UG23
elevation: 68
runway_length: 7839

View File

@ -1,20 +0,0 @@
---
name: Kobuleti
id: 24
icao: UG5X
elevation: 59
runway_length: 7406
tacan:
callsign: KBL
channel: 67X
runways:
"07":
ils:
callsign: IKB
frequency: 111.500 MHz
outer_ndb:
callsign: KT
frequency: 870 MHz
inner_ndb:
callsign: T
frequency: 490 MHz

View File

@ -1,27 +0,0 @@
---
name: Krasnodar-Center
id: 13
icao: URKL
elevation: 98
runway_length: 7659
rsbn:
callsign: MB
channel: 40
runways:
"27":
outer_ndb:
callsign: OC
frequency: 625 MHz
inner_ndb:
callsign: C
frequency: 303 MHz
09:
prmg:
callsign: MB
channel: 38
outer_ndb:
callsign: MB
frequency: 625 MHz
inner_ndb:
callsign: M
frequency: 303 MHz

View File

@ -1,24 +0,0 @@
---
name: Krasnodar-Pashkovsky
id: 19
icao: URKK
elevation: 111
runway_length: 9738
vor:
callsign: KN
frequency: 115.080 MHz
runways:
"23":
outer_ndb:
callsign: LD
frequency: 493 MHz
inner_ndb:
callsign: L
frequency: 240 MHz
"05":
outer_ndb:
callsign: KR
frequency: 493 MHz
inner_ndb:
callsign: K
frequency: 240 MHz

View File

@ -1,30 +0,0 @@
---
name: Krymsk
id: 15
icao: URKW
elevation: 65
runway_length: 6733
rsbn:
callsign: KW
channel: 28
runways:
"22":
prmg:
callsign: KW
channel: 26
outer_ndb:
callsign: KW
frequency: 408 MHz
inner_ndb:
callsign: K
frequency: 803 MHz
"04":
prmg:
callsign: OX
channel: 26
outer_ndb:
callsign: OX
frequency: 408 MHz
inner_ndb:
callsign: O
frequency: 803 MHz

View File

@ -1,14 +0,0 @@
---
name: Kutaisi
id: 25
icao: UGKO
elevation: 147
runway_length: 7937
tacan:
callsign: KTS
channel: 44X
runways:
08:
ils:
callsign: IKS
frequency: 109.750 MHz

View File

@ -1,28 +0,0 @@
---
name: Maykop-Khanskaya
id: 16
icao: URKH
elevation: 590
runway_length: 10195
rsbn:
callsign: DG
channel: 34
runways:
"22":
outer_ndb:
callsign: RK
frequency: 289 MHz
inner_ndb:
callsign: R
frequency: 591 MHz
"4":
inner_ndb:
callsign: D
frequency: 591 MHz
"04":
prmg:
callsign: DG
channel: 36
outer_ndb:
callsign: DG
frequency: 289 MHz

View File

@ -1,30 +0,0 @@
---
name: Mineralnye Vody
id: 26
icao: URMM
elevation: 1049
runway_length: 12316
vor:
callsign: MN
frequency: 117.010 MHz
runways:
"12":
ils:
callsign: IMD
frequency: 111.700 MHz
outer_ndb:
callsign: MD
frequency: 583 MHz
inner_ndb:
callsign: D
frequency: 283 MHz
"30":
ils:
callsign: IMW
frequency: 109.300 MHz
outer_ndb:
callsign: NR
frequency: 583 MHz
inner_ndb:
callsign: N
frequency: 283 MHz

View File

@ -1,30 +0,0 @@
---
name: Mozdok
id: 28
icao: XRMF
elevation: 507
runway_length: 7734
rsbn:
callsign: MZ
channel: 20
runways:
"26":
prmg:
callsign: MZ
channel: 22
outer_ndb:
callsign: RM
frequency: 525 MHz
inner_ndb:
callsign: R
frequency: 1.006 MHz
"8":
prmg:
callsign: MZ
channel: 22
outer_ndb:
callsign: DO
frequency: 525 MHz
inner_ndb:
callsign: D
frequency: 1.006 MHz

View File

@ -1,17 +0,0 @@
---
name: Nalchik
id: 27
icao: URMN
elevation: 1410
runway_length: 7082
runways:
"24":
ils:
callsign: INL
frequency: 110.500 MHz
outer_ndb:
callsign: NL
frequency: 718 MHz
inner_ndb:
callsign: N
frequency: 350 MHz

View File

@ -1,6 +0,0 @@
---
name: Novorossiysk
id: 14
icao: URKN
elevation: 131
runway_length: 5639

View File

@ -1,20 +0,0 @@
---
name: Senaki-Kolkhi
id: 23
icao: UGKS
elevation: 43
runway_length: 7256
tacan:
callsign: TSK
channel: 31X
runways:
09:
ils:
callsign: ITS
frequency: 108.900 MHz
outer_ndb:
callsign: BI
frequency: 335 MHz
inner_ndb:
callsign: I
frequency: 688 MHz

View File

@ -1,11 +0,0 @@
---
name: Sochi-Adler
id: 18
icao: URSS
elevation: 98
runway_length: 9686
runways:
"06":
ils:
callsign: ISO
frequency: 111.100 MHz

View File

@ -1,9 +0,0 @@
---
name: Soganlug
id: 30
icao: UG24
elevation: 1474
runway_length: 7871
tacan:
callsign: GTB
channel: 25X

View File

@ -1,14 +0,0 @@
---
name: Sukhumi-Babushara
id: 20
icao: UGSS
elevation: 43
runway_length: 11217
runways:
"30":
outer_ndb:
callsign: AV
frequency: 489 MHz
inner_ndb:
callsign: A
frequency: 995 MHz

View File

@ -1,30 +0,0 @@
---
name: Tbilisi-Lochini
id: 29
icao: UGTB
elevation: 1573
runway_length: 7692
tacan:
callsign: GTB
channel: 25X
runways:
"13":
ils:
callsign: INA
frequency: 110.300 MHz
outer_ndb:
callsign: BP
frequency: 342 MHz
inner_ndb:
callsign: B
frequency: 923 MHz
"30":
ils:
callsign: INA
frequency: 108.900 MHz
outer_ndb:
callsign: NA
frequency: 211 MHz
inner_ndb:
callsign: N
frequency: 435 MHz

View File

@ -1,18 +0,0 @@
---
name: Vaziani
id: 31
icao: UG27
elevation: 1523
runway_length: 7842
tacan:
callsign: VAS
channel: 22X
runways:
"31":
ils:
callsign: IVZ
frequency: 108.750 MHz
"13":
ils:
callsign: IVZ
frequency: 108.750 MHz

View File

@ -1,9 +0,0 @@
---
name: Andersen AFB
id: 6
icao: PGUA
elevation: 545
runway_length: 10490
tacan:
callsign: UAM
channel: 54X

View File

@ -1,11 +0,0 @@
---
name: Antonio B. Won Pat Intl
id: 4
icao: PGUM
elevation: 255
runway_length: 9359
runways:
"06":
ils:
callsign: IGUM
frequency: 110.030 MHz

View File

@ -1,6 +0,0 @@
---
name: Rota Intl
id: 1
icao: PGRO
elevation: 568
runway_length: 6105

View File

@ -1,11 +0,0 @@
---
name: Saipan Intl
id: 2
icao: PGSN
elevation: 213
runway_length: 7790
runways:
"07":
ils:
callsign: IGSN
frequency: 109.090 MHz

View File

@ -1,6 +0,0 @@
---
name: Tinian Intl
id: 3
icao: PGWT
elevation: 240
runway_length: 7777

View File

@ -1,6 +0,0 @@
---
name: Beatty
id: 5
icao: KBTY
elevation: 3173
runway_length: 5380

View File

@ -1,6 +0,0 @@
---
name: Boulder City
id: 6
icao: KBVU
elevation: 2121
runway_length: 4612

View File

@ -1,14 +0,0 @@
---
name: Creech
id: 1
icao: KINS
elevation: 3126
runway_length: 6100
tacan:
callsign: INS
channel: 87X
runways:
"8":
ils:
callsign: ICRR
frequency: 108.700 MHz

View File

@ -1,9 +0,0 @@
---
name: Echo Bay
id: 7
icao: OL9
elevation: 3126
runway_length: 6100
tacan:
callsign: INS
channel: 87X

View File

@ -1,14 +0,0 @@
---
name: Groom Lake
id: 2
icao: KXTA
elevation: 4494
runway_length: 11008
tacan:
callsign: GRL
channel: 18X
runways:
"32":
ils:
callsign: GLRI
frequency: 109.300 MHz

View File

@ -1,6 +0,0 @@
---
name: Henderson Executive
id: 8
icao: KHND
elevation: 2491
runway_length: 5999

View File

@ -1,5 +0,0 @@
---
name: Jean
id: 9
elevation: 2824
runway_length: 4053

View File

@ -1,6 +0,0 @@
---
name: Laughlin
id: 10
icao: KIFP
elevation: 656
runway_length: 7139

View File

@ -1,5 +0,0 @@
---
name: Lincoln County
id: 11
elevation: 4815
runway_length: 4408

View File

@ -1,14 +0,0 @@
---
name: McCarran International
id: 3
icao: KLAS
elevation: 2169
runway_length: 10377
tacan:
callsign: LAS
channel: 116X
runways:
"25":
ils:
callsign: I-LAS
frequency: 110.300 MHz

View File

@ -1,6 +0,0 @@
---
name: Mesquite
id: 13
icao: 67L
elevation: 1858
runway_length: 4937

View File

@ -1,5 +0,0 @@
---
name: Mina
id: 14
elevation: 4562
runway_length: 4222

View File

@ -1,14 +0,0 @@
---
name: Nellis
id: 4
icao: KLSV
elevation: 1841
runway_length: 9454
tacan:
callsign: LSV
channel: 12X
runways:
"21":
ils:
callsign: IDIQ
frequency: 109.100 MHz

View File

@ -1,6 +0,0 @@
---
name: North Las Vegas
id: 15
icao: KVGT
elevation: 2228
runway_length: 4734

View File

@ -1,5 +0,0 @@
---
name: Pahute Mesa
id: 16
elevation: 5056
runway_length: 5420

View File

@ -1,6 +0,0 @@
---
name: Tonopah
id: 17
icao: KTPH
elevation: 5394
runway_length: 6715

View File

@ -1,18 +0,0 @@
---
name: Tonopah Test Range
id: 18
icao: KTNX
elevation: 5534
runway_length: 11633
tacan:
callsign: TQQ
channel: 77X
runways:
"14":
ils:
callsign: I-RVP
frequency: 108.300 MHz
"32":
ils:
callsign: I-UVV
frequency: 111.700 MHz

View File

@ -1,5 +0,0 @@
---
name: Argentan
id: 32
elevation: 639
runway_length: 3283

View File

@ -1,6 +0,0 @@
---
name: Azeville
id: 15
icao: A-7
elevation: 74
runway_length: 3357

View File

@ -1,5 +0,0 @@
---
name: Barville
id: 34
elevation: 462
runway_length: 3493

View File

@ -1,6 +0,0 @@
---
name: Bazenville
id: 20
icao: B-2
elevation: 199
runway_length: 3800

View File

@ -1,6 +0,0 @@
---
name: Beny-sur-Mer
id: 22
icao: B-4
elevation: 199
runway_length: 3155

View File

@ -1,6 +0,0 @@
---
name: Beuzeville
id: 14
icao: A-6
elevation: 114
runway_length: 3840

View File

@ -1,6 +0,0 @@
---
name: Biniville
id: 10
icao: A-24
elevation: 106
runway_length: 3283

View File

@ -1,6 +0,0 @@
---
name: Brucheville
id: 5
icao: A-16
elevation: 45
runway_length: 3413

View File

@ -1,6 +0,0 @@
---
name: Cardonville
id: 11
icao: A-3
elevation: 101
runway_length: 4541

View File

@ -1,6 +0,0 @@
---
name: Carpiquet
id: 19
icao: B-17
elevation: 187
runway_length: 3799

View File

@ -1,5 +0,0 @@
---
name: Chailey
id: 27
elevation: 134
runway_length: 5080

View File

@ -1,6 +0,0 @@
---
name: Chippelle
id: 13
icao: A-5
elevation: 124
runway_length: 4643

View File

@ -1,5 +0,0 @@
---
name: Conches
id: 40
elevation: 541
runway_length: 4199

View File

@ -1,6 +0,0 @@
---
name: Cretteville
id: 3
icao: A-14
elevation: 95
runway_length: 4594

View File

@ -1,6 +0,0 @@
---
name: Cricqueville-en-Bessin
id: 7
icao: A-2
elevation: 81
runway_length: 3459

View File

@ -1,6 +0,0 @@
---
name: Deux Jumeaux
id: 12
icao: A-4
elevation: 123
runway_length: 4628

View File

@ -1,5 +0,0 @@
---
name: Essay
id: 35
elevation: 507
runway_length: 3283

View File

@ -1,5 +0,0 @@
---
name: Evreux
id: 26
elevation: 423
runway_length: 4296

View File

@ -1,5 +0,0 @@
---
name: Ford AB
id: 31
elevation: 29
runway_length: 4296

View File

@ -1,5 +0,0 @@
---
name: Funtington
id: 29
elevation: 164
runway_length: 5080

View File

@ -1,5 +0,0 @@
---
name: Goulet
id: 33
elevation: 616
runway_length: 3283

View File

@ -1,5 +0,0 @@
---
name: Hauterive
id: 36
elevation: 476
runway_length: 3283

View File

@ -1,6 +0,0 @@
---
name: Lantheuil
id: 25
icao: B-9
elevation: 174
runway_length: 3597

View File

@ -1,6 +0,0 @@
---
name: Le Molay
id: 17
icao: A-9
elevation: 104
runway_length: 3840

View File

@ -1,6 +0,0 @@
---
name: Lessay
id: 8
icao: A-20
elevation: 65
runway_length: 5080

View File

@ -1,6 +0,0 @@
---
name: Lignerolles
id: 2
icao: A-12
elevation: 404
runway_length: 3436

View File

@ -1,6 +0,0 @@
---
name: Longues-sur-Mer
id: 18
icao: B-11
elevation: 225
runway_length: 3155

View File

@ -1,6 +0,0 @@
---
name: Maupertus
id: 4
icao: A-15
elevation: 441
runway_length: 4666

View File

@ -1,6 +0,0 @@
---
name: Meautis
id: 6
icao: A-17
elevation: 83
runway_length: 3840

View File

@ -1,5 +0,0 @@
---
name: Needs Oar Point
id: 28
elevation: 30
runway_length: 5259

View File

@ -1,6 +0,0 @@
---
name: Picauville
id: 16
icao: A-8
elevation: 72
runway_length: 3840

View File

@ -1,6 +0,0 @@
---
name: Rucqueville
id: 23
icao: B-7
elevation: 192
runway_length: 4561

View File

@ -1,6 +0,0 @@
---
name: Saint Pierre du Mont
id: 1
icao: A-1
elevation: 103
runway_length: 4737

View File

@ -1,6 +0,0 @@
---
name: Sainte-Croix-sur-Mer
id: 21
icao: B-3
elevation: 160
runway_length: 3840

View File

@ -1,6 +0,0 @@
---
name: Sainte-Laurent-sur-Mer
id: 9
icao: A-21
elevation: 145
runway_length: 4561

View File

@ -1,6 +0,0 @@
---
name: Sommervieu
id: 24
icao: B-8
elevation: 186
runway_length: 3840

View File

@ -1,5 +0,0 @@
---
name: Tangmere
id: 30
elevation: 47
runway_length: 4296

View File

@ -1,5 +0,0 @@
---
name: Vrigny
id: 38
elevation: 590
runway_length: 3283

View File

@ -1,9 +0,0 @@
---
name: Abu Dhabi Intl
id: 22
icao: OMAA
elevation: 91
runway_length: 12817
vor:
callsign: ADV
frequency: 114.250 MHz

View File

@ -1,6 +0,0 @@
---
name: Abu Musa Island
id: 1
icao: OIBA
elevation: 16
runway_length: 7616

View File

@ -1,9 +0,0 @@
---
name: Al Ain Intl
id: 25
icao: OMAL
elevation: 813
runway_length: 11267
vor:
callsign: ALN
frequency: 112.600 MHz

View File

@ -1,9 +0,0 @@
---
name: Al-Bateen
id: 23
icao: OMAD
elevation: 11
runway_length: 6808
vor:
callsign: ALB
frequency: 114 MHz

View File

@ -1,21 +0,0 @@
---
name: Al Dhafra AFB
id: 4
icao: OMAM
elevation: 52
runway_length: 11530
tacan:
callsign: MA
channel: 96X
vor:
callsign: MA
frequency: 114.900 MHz
runways:
"31":
ils:
callsign: IMA
frequency: 109.100 MHz
"13":
ils:
callsign: MMA
frequency: 111.100 MHz

View File

@ -1,15 +0,0 @@
---
name: Al Maktoum Intl
id: 6
icao: OMDW
elevation: 123
runway_length: 11500
runways:
"12":
ils:
callsign: IMA
frequency: 111.750 MHz
"30":
ils:
callsign: IJWA
frequency: 109.750 MHz

View File

@ -1,18 +0,0 @@
---
name: Al Minhad AFB
id: 12
icao: OMDM
elevation: 190
runway_length: 11865
tacan:
callsign: MIN
channel: 99X
runways:
"27":
ils:
callsign: IMNR
frequency: 110.750 MHz
"9":
ils:
callsign: IMNW
frequency: 110.700 MHz

View File

@ -1,17 +0,0 @@
---
name: Bandar Abbas Intl
id: 2
icao: OIKB
elevation: 18
runway_length: 11640
tacan:
callsign: BND
channel: 78X
vor:
callsign: BND
frequency: 117.200 MHz
runways:
"21":
ils:
callsign: IBND
frequency: 109.900 MHz

View File

@ -1,9 +0,0 @@
---
name: Bandar-e-Jask
id: 21
icao: OIZJ
elevation: 26
runway_length: 6842
vor:
callsign: KHM
frequency: 116.300 MHz

View File

@ -1,9 +0,0 @@
---
name: Bandar Lengeh
id: 3
icao: OIBL
elevation: 80
runway_length: 7625
vor:
callsign: LEN
frequency: 114.800 MHz

View File

@ -1,15 +0,0 @@
---
name: Dubai Intl
id: 5
icao: OMDB
elevation: 16
runway_length: 11018
runways:
"12":
ils:
callsign: IDBR
frequency: 110.100 MHz
"30":
ils:
callsign: IDBL
frequency: 110.900 MHz

View File

@ -1,14 +0,0 @@
---
name: Fujairah Intl
id: 7
icao: OMFJ
elevation: 60
runway_length: 9437
vor:
callsign: FJV
frequency: 113.800 MHz
runways:
"29":
ils:
callsign: IFJR
frequency: 111.500 MHz

View File

@ -1,14 +0,0 @@
---
name: Havadarya
id: 9
icao: OIKP
elevation: 50
runway_length: 7300
tacan:
callsign: HDR
channel: 47X
runways:
"8":
ils:
callsign: IBHD
frequency: 108.900 MHz

View File

@ -1,6 +0,0 @@
---
name: Jiroft
id: 27
icao: OIKJ
elevation: 2664
runway_length: 9160

View File

@ -1,12 +0,0 @@
---
name: Kerman
id: 18
icao: OIKK
elevation: 5746
runway_length: 11981
tacan:
callsign: KER
channel: 97X
vor:
callsign: KER
frequency: 112 MHz

Some files were not shown because too many files have changed in this diff Show More