mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
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:
parent
e0160ac876
commit
037ff85396
@ -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
28
game/atcdata.py
Normal 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),
|
||||
)
|
||||
@ -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 (
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -1,9 +0,0 @@
|
||||
---
|
||||
name: Gelendzhik
|
||||
id: 17
|
||||
icao: URKG
|
||||
elevation: 72
|
||||
runway_length: 5452
|
||||
vor:
|
||||
callsign: GN
|
||||
frequency: 114.030 MHz
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Gudauta
|
||||
id: 21
|
||||
icao: UG23
|
||||
elevation: 68
|
||||
runway_length: 7839
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Novorossiysk
|
||||
id: 14
|
||||
icao: URKN
|
||||
elevation: 131
|
||||
runway_length: 5639
|
||||
@ -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
|
||||
@ -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
|
||||
@ -1,9 +0,0 @@
|
||||
---
|
||||
name: Soganlug
|
||||
id: 30
|
||||
icao: UG24
|
||||
elevation: 1474
|
||||
runway_length: 7871
|
||||
tacan:
|
||||
callsign: GTB
|
||||
channel: 25X
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -1,9 +0,0 @@
|
||||
---
|
||||
name: Andersen AFB
|
||||
id: 6
|
||||
icao: PGUA
|
||||
elevation: 545
|
||||
runway_length: 10490
|
||||
tacan:
|
||||
callsign: UAM
|
||||
channel: 54X
|
||||
@ -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
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Rota Intl
|
||||
id: 1
|
||||
icao: PGRO
|
||||
elevation: 568
|
||||
runway_length: 6105
|
||||
@ -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
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Tinian Intl
|
||||
id: 3
|
||||
icao: PGWT
|
||||
elevation: 240
|
||||
runway_length: 7777
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Beatty
|
||||
id: 5
|
||||
icao: KBTY
|
||||
elevation: 3173
|
||||
runway_length: 5380
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Boulder City
|
||||
id: 6
|
||||
icao: KBVU
|
||||
elevation: 2121
|
||||
runway_length: 4612
|
||||
@ -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
|
||||
@ -1,9 +0,0 @@
|
||||
---
|
||||
name: Echo Bay
|
||||
id: 7
|
||||
icao: OL9
|
||||
elevation: 3126
|
||||
runway_length: 6100
|
||||
tacan:
|
||||
callsign: INS
|
||||
channel: 87X
|
||||
@ -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
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Henderson Executive
|
||||
id: 8
|
||||
icao: KHND
|
||||
elevation: 2491
|
||||
runway_length: 5999
|
||||
@ -1,5 +0,0 @@
|
||||
---
|
||||
name: Jean
|
||||
id: 9
|
||||
elevation: 2824
|
||||
runway_length: 4053
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Laughlin
|
||||
id: 10
|
||||
icao: KIFP
|
||||
elevation: 656
|
||||
runway_length: 7139
|
||||
@ -1,5 +0,0 @@
|
||||
---
|
||||
name: Lincoln County
|
||||
id: 11
|
||||
elevation: 4815
|
||||
runway_length: 4408
|
||||
@ -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
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Mesquite
|
||||
id: 13
|
||||
icao: 67L
|
||||
elevation: 1858
|
||||
runway_length: 4937
|
||||
@ -1,5 +0,0 @@
|
||||
---
|
||||
name: Mina
|
||||
id: 14
|
||||
elevation: 4562
|
||||
runway_length: 4222
|
||||
@ -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
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: North Las Vegas
|
||||
id: 15
|
||||
icao: KVGT
|
||||
elevation: 2228
|
||||
runway_length: 4734
|
||||
@ -1,5 +0,0 @@
|
||||
---
|
||||
name: Pahute Mesa
|
||||
id: 16
|
||||
elevation: 5056
|
||||
runway_length: 5420
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Tonopah
|
||||
id: 17
|
||||
icao: KTPH
|
||||
elevation: 5394
|
||||
runway_length: 6715
|
||||
@ -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
|
||||
@ -1,5 +0,0 @@
|
||||
---
|
||||
name: Argentan
|
||||
id: 32
|
||||
elevation: 639
|
||||
runway_length: 3283
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Azeville
|
||||
id: 15
|
||||
icao: A-7
|
||||
elevation: 74
|
||||
runway_length: 3357
|
||||
@ -1,5 +0,0 @@
|
||||
---
|
||||
name: Barville
|
||||
id: 34
|
||||
elevation: 462
|
||||
runway_length: 3493
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Bazenville
|
||||
id: 20
|
||||
icao: B-2
|
||||
elevation: 199
|
||||
runway_length: 3800
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Beny-sur-Mer
|
||||
id: 22
|
||||
icao: B-4
|
||||
elevation: 199
|
||||
runway_length: 3155
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Beuzeville
|
||||
id: 14
|
||||
icao: A-6
|
||||
elevation: 114
|
||||
runway_length: 3840
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Biniville
|
||||
id: 10
|
||||
icao: A-24
|
||||
elevation: 106
|
||||
runway_length: 3283
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Brucheville
|
||||
id: 5
|
||||
icao: A-16
|
||||
elevation: 45
|
||||
runway_length: 3413
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Cardonville
|
||||
id: 11
|
||||
icao: A-3
|
||||
elevation: 101
|
||||
runway_length: 4541
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Carpiquet
|
||||
id: 19
|
||||
icao: B-17
|
||||
elevation: 187
|
||||
runway_length: 3799
|
||||
@ -1,5 +0,0 @@
|
||||
---
|
||||
name: Chailey
|
||||
id: 27
|
||||
elevation: 134
|
||||
runway_length: 5080
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Chippelle
|
||||
id: 13
|
||||
icao: A-5
|
||||
elevation: 124
|
||||
runway_length: 4643
|
||||
@ -1,5 +0,0 @@
|
||||
---
|
||||
name: Conches
|
||||
id: 40
|
||||
elevation: 541
|
||||
runway_length: 4199
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Cretteville
|
||||
id: 3
|
||||
icao: A-14
|
||||
elevation: 95
|
||||
runway_length: 4594
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Cricqueville-en-Bessin
|
||||
id: 7
|
||||
icao: A-2
|
||||
elevation: 81
|
||||
runway_length: 3459
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Deux Jumeaux
|
||||
id: 12
|
||||
icao: A-4
|
||||
elevation: 123
|
||||
runway_length: 4628
|
||||
@ -1,5 +0,0 @@
|
||||
---
|
||||
name: Essay
|
||||
id: 35
|
||||
elevation: 507
|
||||
runway_length: 3283
|
||||
@ -1,5 +0,0 @@
|
||||
---
|
||||
name: Evreux
|
||||
id: 26
|
||||
elevation: 423
|
||||
runway_length: 4296
|
||||
@ -1,5 +0,0 @@
|
||||
---
|
||||
name: Ford AB
|
||||
id: 31
|
||||
elevation: 29
|
||||
runway_length: 4296
|
||||
@ -1,5 +0,0 @@
|
||||
---
|
||||
name: Funtington
|
||||
id: 29
|
||||
elevation: 164
|
||||
runway_length: 5080
|
||||
@ -1,5 +0,0 @@
|
||||
---
|
||||
name: Goulet
|
||||
id: 33
|
||||
elevation: 616
|
||||
runway_length: 3283
|
||||
@ -1,5 +0,0 @@
|
||||
---
|
||||
name: Hauterive
|
||||
id: 36
|
||||
elevation: 476
|
||||
runway_length: 3283
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Lantheuil
|
||||
id: 25
|
||||
icao: B-9
|
||||
elevation: 174
|
||||
runway_length: 3597
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Le Molay
|
||||
id: 17
|
||||
icao: A-9
|
||||
elevation: 104
|
||||
runway_length: 3840
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Lessay
|
||||
id: 8
|
||||
icao: A-20
|
||||
elevation: 65
|
||||
runway_length: 5080
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Lignerolles
|
||||
id: 2
|
||||
icao: A-12
|
||||
elevation: 404
|
||||
runway_length: 3436
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Longues-sur-Mer
|
||||
id: 18
|
||||
icao: B-11
|
||||
elevation: 225
|
||||
runway_length: 3155
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Maupertus
|
||||
id: 4
|
||||
icao: A-15
|
||||
elevation: 441
|
||||
runway_length: 4666
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Meautis
|
||||
id: 6
|
||||
icao: A-17
|
||||
elevation: 83
|
||||
runway_length: 3840
|
||||
@ -1,5 +0,0 @@
|
||||
---
|
||||
name: Needs Oar Point
|
||||
id: 28
|
||||
elevation: 30
|
||||
runway_length: 5259
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Picauville
|
||||
id: 16
|
||||
icao: A-8
|
||||
elevation: 72
|
||||
runway_length: 3840
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Rucqueville
|
||||
id: 23
|
||||
icao: B-7
|
||||
elevation: 192
|
||||
runway_length: 4561
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Saint Pierre du Mont
|
||||
id: 1
|
||||
icao: A-1
|
||||
elevation: 103
|
||||
runway_length: 4737
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Sainte-Croix-sur-Mer
|
||||
id: 21
|
||||
icao: B-3
|
||||
elevation: 160
|
||||
runway_length: 3840
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Sainte-Laurent-sur-Mer
|
||||
id: 9
|
||||
icao: A-21
|
||||
elevation: 145
|
||||
runway_length: 4561
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Sommervieu
|
||||
id: 24
|
||||
icao: B-8
|
||||
elevation: 186
|
||||
runway_length: 3840
|
||||
@ -1,5 +0,0 @@
|
||||
---
|
||||
name: Tangmere
|
||||
id: 30
|
||||
elevation: 47
|
||||
runway_length: 4296
|
||||
@ -1,5 +0,0 @@
|
||||
---
|
||||
name: Vrigny
|
||||
id: 38
|
||||
elevation: 590
|
||||
runway_length: 3283
|
||||
@ -1,9 +0,0 @@
|
||||
---
|
||||
name: Abu Dhabi Intl
|
||||
id: 22
|
||||
icao: OMAA
|
||||
elevation: 91
|
||||
runway_length: 12817
|
||||
vor:
|
||||
callsign: ADV
|
||||
frequency: 114.250 MHz
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Abu Musa Island
|
||||
id: 1
|
||||
icao: OIBA
|
||||
elevation: 16
|
||||
runway_length: 7616
|
||||
@ -1,9 +0,0 @@
|
||||
---
|
||||
name: Al Ain Intl
|
||||
id: 25
|
||||
icao: OMAL
|
||||
elevation: 813
|
||||
runway_length: 11267
|
||||
vor:
|
||||
callsign: ALN
|
||||
frequency: 112.600 MHz
|
||||
@ -1,9 +0,0 @@
|
||||
---
|
||||
name: Al-Bateen
|
||||
id: 23
|
||||
icao: OMAD
|
||||
elevation: 11
|
||||
runway_length: 6808
|
||||
vor:
|
||||
callsign: ALB
|
||||
frequency: 114 MHz
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -1,9 +0,0 @@
|
||||
---
|
||||
name: Bandar-e-Jask
|
||||
id: 21
|
||||
icao: OIZJ
|
||||
elevation: 26
|
||||
runway_length: 6842
|
||||
vor:
|
||||
callsign: KHM
|
||||
frequency: 116.300 MHz
|
||||
@ -1,9 +0,0 @@
|
||||
---
|
||||
name: Bandar Lengeh
|
||||
id: 3
|
||||
icao: OIBL
|
||||
elevation: 80
|
||||
runway_length: 7625
|
||||
vor:
|
||||
callsign: LEN
|
||||
frequency: 114.800 MHz
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Jiroft
|
||||
id: 27
|
||||
icao: OIKJ
|
||||
elevation: 2664
|
||||
runway_length: 9160
|
||||
@ -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
Loading…
x
Reference in New Issue
Block a user