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.countries import country_dict
from game.airfields import AtcData
from game.atcdata import AtcData
from game.dcs.beacons import Beacons
from game.dcs.helpers import unit_type_from_name
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 game.airfields import AtcData
from game.atcdata import AtcData
from game.dcs.beacons import BeaconType, Beacons
from game.radio.radios import RadioFrequency
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