Alter the beacon format to be keyed by ID.

ID based lookup will be used for finding ILS and TACAN beacons from the
pydcs data.
This commit is contained in:
Dan Albert 2022-09-08 20:43:59 -07:00
parent 5621b4cbd4
commit a9348154af
11 changed files with 500 additions and 476 deletions

View File

@ -1,12 +1,13 @@
from dataclasses import dataclass
from enum import auto, IntEnum
import json import json
from collections.abc import Iterator
from dataclasses import dataclass
from enum import IntEnum, auto
from pathlib import Path from pathlib import Path
from typing import Iterable, Optional from typing import Optional
from game.radio.radios import RadioFrequency from game.radio.radios import RadioFrequency
from game.radio.tacan import TacanBand, TacanChannel from game.radio.tacan import TacanBand, TacanChannel
from game.theater import ConflictTheater
BEACONS_RESOURCE_PATH = Path("resources/dcs/beacons") BEACONS_RESOURCE_PATH = Path("resources/dcs/beacons")
@ -65,10 +66,32 @@ class Beacon:
return TacanChannel(self.channel, TacanBand.X) return TacanChannel(self.channel, TacanBand.X)
def load_beacons_for_terrain(name: str) -> Iterable[Beacon]: class Beacons:
beacons_file = BEACONS_RESOURCE_PATH / f"{name.lower()}.json" _by_terrain: dict[str, dict[str, Beacon]] = {}
@classmethod
def _load_for_theater_if_needed(cls, theater: ConflictTheater) -> None:
if theater.terrain.name in cls._by_terrain:
return
beacons_file = BEACONS_RESOURCE_PATH / f"{theater.terrain.name.lower()}.json"
if not beacons_file.exists(): if not beacons_file.exists():
raise RuntimeError(f"Beacon file {beacons_file.resolve()} is missing") raise RuntimeError(f"Beacon file {beacons_file.resolve()} is missing")
for beacon in json.loads(beacons_file.read_text()): beacons = {}
yield Beacon(**beacon) for bid, beacon in json.loads(beacons_file.read_text()).items():
beacons[bid] = Beacon(**beacon)
cls._by_terrain[theater.terrain.name] = beacons
@classmethod
def _dict_for_theater(cls, theater: ConflictTheater) -> dict[str, Beacon]:
cls._load_for_theater_if_needed(theater)
return cls._by_terrain[theater.terrain.name]
@classmethod
def iter_theater(cls, theater: ConflictTheater) -> Iterator[Beacon]:
yield from cls._dict_for_theater(theater).values()
@classmethod
def with_id(cls, beacon_id: str, theater: ConflictTheater) -> Beacon:
return cls._dict_for_theater(theater)[beacon_id]

View File

@ -23,7 +23,7 @@ from game.theater.bullseye import Bullseye
from game.unitmap import UnitMap from game.unitmap import UnitMap
from .airconflictdescription import AirConflictDescription from .airconflictdescription import AirConflictDescription
from .airsupportgenerator import AirSupportGenerator from .airsupportgenerator import AirSupportGenerator
from .beacons import load_beacons_for_terrain from .beacons import Beacons
from .briefinggenerator import BriefingGenerator, MissionInfoGenerator from .briefinggenerator import BriefingGenerator, MissionInfoGenerator
from .cargoshipgenerator import CargoShipGenerator from .cargoshipgenerator import CargoShipGenerator
from .convoygenerator import ConvoyGenerator from .convoygenerator import ConvoyGenerator
@ -169,8 +169,7 @@ class MissionGenerator:
Dedup beacon/radio frequencies, since some maps have some frequencies Dedup beacon/radio frequencies, since some maps have some frequencies
used multiple times. used multiple times.
""" """
beacons = load_beacons_for_terrain(self.game.theater.terrain.name) for beacon in Beacons.iter_theater(self.game.theater):
for beacon in beacons:
unique_map_frequencies.add(beacon.frequency) unique_map_frequencies.add(beacon.frequency)
if beacon.is_tacan: if beacon.is_tacan:
if beacon.channel is None: if beacon.channel is None:

File diff suppressed because it is too large Load Diff

View File

@ -1,198 +1,198 @@
[ {
{ "airfield14_0": {
"name": "ELCALACAFE", "name": "ELCALACAFE",
"callsign": "EC", "callsign": "EC",
"beacon_type": 15, "beacon_type": 15,
"hertz": 108900000, "hertz": 108900000,
"channel": null "channel": null
}, },
{ "airfield14_1": {
"name": "ELCALAFATE", "name": "ELCALAFATE",
"callsign": "ec", "callsign": "ec",
"beacon_type": 14, "beacon_type": 14,
"hertz": 108900000, "hertz": 108900000,
"channel": null "channel": null
}, },
{ "airfield14_2": {
"name": "ECA", "name": "ECA",
"callsign": "ECA", "callsign": "ECA",
"beacon_type": 4, "beacon_type": 4,
"hertz": 114700000, "hertz": 114700000,
"channel": 94 "channel": 94
}, },
{ "airfield2_0": {
"name": "MTPLEASANT", "name": "MTPLEASANT",
"callsign": "imp", "callsign": "imp",
"beacon_type": 14, "beacon_type": 14,
"hertz": 111900000, "hertz": 111900000,
"channel": null "channel": null
}, },
{ "airfield2_1": {
"name": "MP", "name": "MP",
"callsign": "MP", "callsign": "MP",
"beacon_type": 10, "beacon_type": 10,
"hertz": 380000, "hertz": 380000,
"channel": null "channel": null
}, },
{ "airfield2_2": {
"name": "MPA", "name": "MPA",
"callsign": "MPA", "callsign": "MPA",
"beacon_type": 5, "beacon_type": 5,
"hertz": 112200000, "hertz": 112200000,
"channel": 59 "channel": 59
}, },
{ "airfield2_3": {
"name": "MTP", "name": "MTP",
"callsign": "MTP", "callsign": "MTP",
"beacon_type": 2, "beacon_type": 2,
"hertz": 114700000, "hertz": 114700000,
"channel": 94 "channel": 94
}, },
{ "airfield2_4": {
"name": "MTPLEASANT", "name": "MTPLEASANT",
"callsign": "IMP", "callsign": "IMP",
"beacon_type": 15, "beacon_type": 15,
"hertz": 111900000, "hertz": 111900000,
"channel": null "channel": null
}, },
{ "airfield1_0": {
"name": "stanleyairport", "name": "stanleyairport",
"callsign": "SA", "callsign": "SA",
"beacon_type": 10, "beacon_type": 10,
"hertz": 305000, "hertz": 305000,
"channel": null "channel": null
}, },
{ "airfield1_1": {
"name": "DFO", "name": "DFO",
"callsign": "DFO", "callsign": "DFO",
"beacon_type": 2, "beacon_type": 2,
"hertz": 113300000, "hertz": 113300000,
"channel": null "channel": null
}, },
{ "airfield13_0": {
"name": "PUERTO NATALES", "name": "PUERTO NATALES",
"callsign": "PNT", "callsign": "PNT",
"beacon_type": 4, "beacon_type": 4,
"hertz": 115900000, "hertz": 115900000,
"channel": 106 "channel": 106
}, },
{ "airfield12_0": {
"name": "Puerto Williams", "name": "Puerto Williams",
"callsign": "PWL", "callsign": "PWL",
"beacon_type": 4, "beacon_type": 4,
"hertz": 114900000, "hertz": 114900000,
"channel": 96 "channel": 96
}, },
{ "airfield9_0": {
"name": "ptarenas", "name": "ptarenas",
"callsign": "inas", "callsign": "inas",
"beacon_type": 15, "beacon_type": 15,
"hertz": 109900000, "hertz": 109900000,
"channel": null "channel": null
}, },
{ "airfield9_1": {
"name": "", "name": "",
"callsign": "INAS", "callsign": "INAS",
"beacon_type": 14, "beacon_type": 14,
"hertz": 109900000, "hertz": 109900000,
"channel": null "channel": null
}, },
{ "airfield9_2": {
"name": "NAS", "name": "NAS",
"callsign": "NAS", "callsign": "NAS",
"beacon_type": 4, "beacon_type": 4,
"hertz": 114100000, "hertz": 114100000,
"channel": null "channel": null
}, },
{ "airfield9_3": {
"name": "NAS", "name": "NAS",
"callsign": "NAS", "callsign": "NAS",
"beacon_type": 9, "beacon_type": 9,
"hertz": 270000, "hertz": 270000,
"channel": null "channel": null
}, },
{ "airfield5_0": {
"name": "GAL", "name": "GAL",
"callsign": "GAL", "callsign": "GAL",
"beacon_type": 4, "beacon_type": 4,
"hertz": 116700000, "hertz": 116700000,
"channel": 114 "channel": 114
}, },
{ "airfield5_1": {
"name": "RIOGALLEGOS", "name": "RIOGALLEGOS",
"callsign": "gl", "callsign": "gl",
"beacon_type": 14, "beacon_type": 14,
"hertz": 110300000, "hertz": 110300000,
"channel": null "channel": null
}, },
{ "airfield5_2": {
"name": "RIOGALLEGOS", "name": "RIOGALLEGOS",
"callsign": "gl", "callsign": "gl",
"beacon_type": 15, "beacon_type": 15,
"hertz": 110300000, "hertz": 110300000,
"channel": null "channel": null
}, },
{ "airfield6_0": {
"name": "RIOGRANDE", "name": "RIOGRANDE",
"callsign": "gr", "callsign": "gr",
"beacon_type": 14, "beacon_type": 14,
"hertz": 109500000, "hertz": 109500000,
"channel": null "channel": null
}, },
{ "airfield6_1": {
"name": "GRA", "name": "GRA",
"callsign": "GRA", "callsign": "GRA",
"beacon_type": 4, "beacon_type": 4,
"hertz": 117300000, "hertz": 117300000,
"channel": 120 "channel": 120
}, },
{ "airfield6_2": {
"name": "RIOGRANDE", "name": "RIOGRANDE",
"callsign": "gr", "callsign": "gr",
"beacon_type": 15, "beacon_type": 15,
"hertz": 109500000, "hertz": 109500000,
"channel": null "channel": null
}, },
{ "airfield6_3": {
"name": "riograndendb", "name": "riograndendb",
"callsign": "P", "callsign": "P",
"beacon_type": 10, "beacon_type": 10,
"hertz": 265000, "hertz": 265000,
"channel": null "channel": null
}, },
{ "airfield6_4": {
"name": "riogrande", "name": "riogrande",
"callsign": "gra", "callsign": "gra",
"beacon_type": 5, "beacon_type": 5,
"hertz": 1000000, "hertz": 1000000,
"channel": 31 "channel": 31
}, },
{ "airfield11_0": {
"name": "San Julian", "name": "San Julian",
"callsign": "", "callsign": "",
"beacon_type": 4, "beacon_type": 4,
"hertz": 117700000, "hertz": 117700000,
"channel": null "channel": null
}, },
{ "airfield7_0": {
"name": "RIOGRANDE", "name": "RIOGRANDE",
"callsign": "us", "callsign": "us",
"beacon_type": 14, "beacon_type": 14,
"hertz": 111300000, "hertz": 111300000,
"channel": null "channel": null
}, },
{ "airfield7_1": {
"name": "Ushuaia", "name": "Ushuaia",
"callsign": "us", "callsign": "us",
"beacon_type": 15, "beacon_type": 15,
"hertz": 111300000, "hertz": 111300000,
"channel": null "channel": null
}, },
{ "airfield7_2": {
"name": "USU", "name": "USU",
"callsign": "USU", "callsign": "USU",
"beacon_type": 2, "beacon_type": 2,
"hertz": 113700000, "hertz": 113700000,
"channel": 84 "channel": 84
} }
] }

View File

@ -1,135 +1,135 @@
[ {
{ "world_0": {
"name": "MTMACAJNA", "name": "MTMACAJNA",
"callsign": "AJA", "callsign": "AJA",
"beacon_type": 9, "beacon_type": 9,
"hertz": 385000, "hertz": 385000,
"channel": null "channel": null
}, },
{ "world_1": {
"name": "Nimitz", "name": "Nimitz",
"callsign": "UNZ", "callsign": "UNZ",
"beacon_type": 6, "beacon_type": 6,
"hertz": 115800000, "hertz": 115800000,
"channel": 105 "channel": 105
}, },
{ "world_2": {
"name": "SAIPAN", "name": "SAIPAN",
"callsign": "SN", "callsign": "SN",
"beacon_type": 9, "beacon_type": 9,
"hertz": 312000, "hertz": 312000,
"channel": null "channel": null
}, },
{ "airfield6_0": {
"name": "ANDERSEN", "name": "ANDERSEN",
"callsign": "UAM", "callsign": "UAM",
"beacon_type": 5, "beacon_type": 5,
"hertz": null, "hertz": null,
"channel": 54 "channel": 54
}, },
{ "airfield6_1": {
"name": "", "name": "",
"callsign": "IPMY", "callsign": "IPMY",
"beacon_type": 15, "beacon_type": 15,
"hertz": 110150000, "hertz": 110150000,
"channel": null "channel": null
}, },
{ "airfield6_2": {
"name": "", "name": "",
"callsign": "IUAM", "callsign": "IUAM",
"beacon_type": 15, "beacon_type": 15,
"hertz": 110100000, "hertz": 110100000,
"channel": null "channel": null
}, },
{ "airfield6_3": {
"name": "", "name": "",
"callsign": "IYIG", "callsign": "IYIG",
"beacon_type": 15, "beacon_type": 15,
"hertz": 109350000, "hertz": 109350000,
"channel": null "channel": null
}, },
{ "airfield6_4": {
"name": "", "name": "",
"callsign": "IAND", "callsign": "IAND",
"beacon_type": 15, "beacon_type": 15,
"hertz": 109300000, "hertz": 109300000,
"channel": null "channel": null
}, },
{ "airfield6_5": {
"name": "", "name": "",
"callsign": "IUAM", "callsign": "IUAM",
"beacon_type": 14, "beacon_type": 14,
"hertz": 110100000, "hertz": 110100000,
"channel": null "channel": null
}, },
{ "airfield6_6": {
"name": "", "name": "",
"callsign": "IAND", "callsign": "IAND",
"beacon_type": 14, "beacon_type": 14,
"hertz": 109300000, "hertz": 109300000,
"channel": null "channel": null
}, },
{ "airfield6_7": {
"name": "", "name": "",
"callsign": "IYIG", "callsign": "IYIG",
"beacon_type": 14, "beacon_type": 14,
"hertz": 109350000, "hertz": 109350000,
"channel": null "channel": null
}, },
{ "airfield6_8": {
"name": "", "name": "",
"callsign": "IPMY", "callsign": "IPMY",
"beacon_type": 14, "beacon_type": 14,
"hertz": 110150000, "hertz": 110150000,
"channel": null "channel": null
}, },
{ "airfield4_0": {
"name": "", "name": "",
"callsign": "IGUM", "callsign": "IGUM",
"beacon_type": 14, "beacon_type": 14,
"hertz": 110300000, "hertz": 110300000,
"channel": null "channel": null
}, },
{ "airfield4_1": {
"name": "", "name": "",
"callsign": "PGUM", "callsign": "PGUM",
"beacon_type": 15, "beacon_type": 15,
"hertz": 110300000, "hertz": 110300000,
"channel": null "channel": null
}, },
{ "airfield4_2": {
"name": "", "name": "",
"callsign": "IAWD", "callsign": "IAWD",
"beacon_type": 14, "beacon_type": 14,
"hertz": 110900000, "hertz": 110900000,
"channel": null "channel": null
}, },
{ "airfield4_3": {
"name": "", "name": "",
"callsign": "PGUM", "callsign": "PGUM",
"beacon_type": 15, "beacon_type": 15,
"hertz": 110900000, "hertz": 110900000,
"channel": null "channel": null
}, },
{ "airfield1_0": {
"name": "ROTA", "name": "ROTA",
"callsign": "GRO", "callsign": "GRO",
"beacon_type": 9, "beacon_type": 9,
"hertz": 332000, "hertz": 332000,
"channel": null "channel": null
}, },
{ "airfield2_0": {
"name": "", "name": "",
"callsign": "IGSN", "callsign": "IGSN",
"beacon_type": 14, "beacon_type": 14,
"hertz": 109900000, "hertz": 109900000,
"channel": null "channel": null
}, },
{ "airfield2_1": {
"name": "", "name": "",
"callsign": "PGSN", "callsign": "PGSN",
"beacon_type": 15, "beacon_type": 15,
"hertz": 109900000, "hertz": 109900000,
"channel": null "channel": null
} }
] }

View File

@ -1,317 +1,317 @@
[ {
{ "airfield1_0": {
"name": "Creech", "name": "Creech",
"callsign": "ICRR", "callsign": "ICRR",
"beacon_type": 15, "beacon_type": 15,
"hertz": 108700000, "hertz": 108700000,
"channel": 24 "channel": 24
}, },
{ "airfield1_1": {
"name": "Creech", "name": "Creech",
"callsign": "ICRR", "callsign": "ICRR",
"beacon_type": 14, "beacon_type": 14,
"hertz": 108700000, "hertz": 108700000,
"channel": 24 "channel": 24
}, },
{ "airfield1_2": {
"name": "Creech", "name": "Creech",
"callsign": "ICRS", "callsign": "ICRS",
"beacon_type": 14, "beacon_type": 14,
"hertz": 108500000, "hertz": 108500000,
"channel": 22 "channel": 22
}, },
{ "airfield1_3": {
"name": "Creech", "name": "Creech",
"callsign": "ICRS", "callsign": "ICRS",
"beacon_type": 15, "beacon_type": 15,
"hertz": 108500000, "hertz": 108500000,
"channel": 22 "channel": 22
}, },
{ "airfield1_4": {
"name": "Creech", "name": "Creech",
"callsign": "INS", "callsign": "INS",
"beacon_type": 5, "beacon_type": 5,
"hertz": null, "hertz": null,
"channel": 87 "channel": 87
}, },
{ "airfield2_0": {
"name": "Groom-Lake", "name": "Groom-Lake",
"callsign": "GLRI", "callsign": "GLRI",
"beacon_type": 14, "beacon_type": 14,
"hertz": 109300000, "hertz": 109300000,
"channel": 30 "channel": 30
}, },
{ "airfield2_1": {
"name": "Groom-Lake", "name": "Groom-Lake",
"callsign": "GLRI", "callsign": "GLRI",
"beacon_type": 15, "beacon_type": 15,
"hertz": 109300000, "hertz": 109300000,
"channel": 30 "channel": 30
}, },
{ "airfield2_2": {
"name": "Groom-Lake", "name": "Groom-Lake",
"callsign": "GRL", "callsign": "GRL",
"beacon_type": 5, "beacon_type": 5,
"hertz": null, "hertz": null,
"channel": 18 "channel": 18
}, },
{ "airfield3_0": {
"name": "McCarran-International", "name": "McCarran-International",
"callsign": "I-RLE", "callsign": "I-RLE",
"beacon_type": 15, "beacon_type": 15,
"hertz": 111750000, "hertz": 111750000,
"channel": null "channel": null
}, },
{ "airfield3_1": {
"name": "McCarran-International", "name": "McCarran-International",
"callsign": "I-LAS", "callsign": "I-LAS",
"beacon_type": 15, "beacon_type": 15,
"hertz": 110300000, "hertz": 110300000,
"channel": 40 "channel": 40
}, },
{ "airfield3_2": {
"name": "McCarran-International", "name": "McCarran-International",
"callsign": "I-RLE", "callsign": "I-RLE",
"beacon_type": 14, "beacon_type": 14,
"hertz": 111750000, "hertz": 111750000,
"channel": null "channel": null
}, },
{ "airfield3_3": {
"name": "McCarran-International", "name": "McCarran-International",
"callsign": "I-LAS", "callsign": "I-LAS",
"beacon_type": 14, "beacon_type": 14,
"hertz": 110300000, "hertz": 110300000,
"channel": 40 "channel": 40
}, },
{ "airfield3_4": {
"name": "McCarran-International", "name": "McCarran-International",
"callsign": "LAS", "callsign": "LAS",
"beacon_type": 6, "beacon_type": 6,
"hertz": 116900000, "hertz": 116900000,
"channel": 116 "channel": 116
}, },
{ "airfield4_0": {
"name": "Nellis", "name": "Nellis",
"callsign": "IDIQ", "callsign": "IDIQ",
"beacon_type": 15, "beacon_type": 15,
"hertz": 109100000, "hertz": 109100000,
"channel": null "channel": null
}, },
{ "airfield4_1": {
"name": "Nellis", "name": "Nellis",
"callsign": "LSV", "callsign": "LSV",
"beacon_type": 5, "beacon_type": 5,
"hertz": null, "hertz": null,
"channel": 12 "channel": 12
}, },
{ "airfield4_2": {
"name": "Nellis", "name": "Nellis",
"callsign": "IDIQ", "callsign": "IDIQ",
"beacon_type": 14, "beacon_type": 14,
"hertz": 109100000, "hertz": 109100000,
"channel": null "channel": null
}, },
{ "airfield15_0": {
"name": "North-Las-Vegas", "name": "North-Las-Vegas",
"callsign": "I-HWG", "callsign": "I-HWG",
"beacon_type": 14, "beacon_type": 14,
"hertz": 110700000, "hertz": 110700000,
"channel": null "channel": null
}, },
{ "airfield15_1": {
"name": "North-Las-Vegas", "name": "North-Las-Vegas",
"callsign": "I-HWG", "callsign": "I-HWG",
"beacon_type": 15, "beacon_type": 15,
"hertz": 110700000, "hertz": 110700000,
"channel": null "channel": null
}, },
{ "airfield18_0": {
"name": "Tonopah-Test-Range", "name": "Tonopah-Test-Range",
"callsign": "I-RVP", "callsign": "I-RVP",
"beacon_type": 14, "beacon_type": 14,
"hertz": 108300000, "hertz": 108300000,
"channel": null "channel": null
}, },
{ "airfield18_1": {
"name": "Tonopah-Test-Range", "name": "Tonopah-Test-Range",
"callsign": "I-UVV", "callsign": "I-UVV",
"beacon_type": 14, "beacon_type": 14,
"hertz": 111700000, "hertz": 111700000,
"channel": null "channel": null
}, },
{ "airfield18_2": {
"name": "Tonopah-Test-Range", "name": "Tonopah-Test-Range",
"callsign": "I-UVV", "callsign": "I-UVV",
"beacon_type": 15, "beacon_type": 15,
"hertz": 111700000, "hertz": 111700000,
"channel": null "channel": null
}, },
{ "airfield18_3": {
"name": "Tonopah-Test-Range", "name": "Tonopah-Test-Range",
"callsign": "I-RVP", "callsign": "I-RVP",
"beacon_type": 15, "beacon_type": 15,
"hertz": 108300000, "hertz": 108300000,
"channel": null "channel": null
}, },
{ "airfield18_4": {
"name": "Silverbow", "name": "Silverbow",
"callsign": "TQQ", "callsign": "TQQ",
"beacon_type": 6, "beacon_type": 6,
"hertz": 113000000, "hertz": 113000000,
"channel": 77 "channel": 77
}, },
{ "world_0": {
"name": "St George", "name": "St George",
"callsign": "UTI", "callsign": "UTI",
"beacon_type": 4, "beacon_type": 4,
"hertz": 108600000, "hertz": 108600000,
"channel": 23 "channel": 23
}, },
{ "world_1": {
"name": "Grand Canyon", "name": "Grand Canyon",
"callsign": "GCN", "callsign": "GCN",
"beacon_type": 4, "beacon_type": 4,
"hertz": 113100000, "hertz": 113100000,
"channel": 78 "channel": 78
}, },
{ "world_2": {
"name": "Kingman", "name": "Kingman",
"callsign": "IGM", "callsign": "IGM",
"beacon_type": 4, "beacon_type": 4,
"hertz": 108800000, "hertz": 108800000,
"channel": 25 "channel": 25
}, },
{ "world_3": {
"name": "Colorado City", "name": "Colorado City",
"callsign": "AZC", "callsign": "AZC",
"beacon_type": 10, "beacon_type": 10,
"hertz": 403000, "hertz": 403000,
"channel": null "channel": null
}, },
{ "world_4": {
"name": "Meggi", "name": "Meggi",
"callsign": "EC", "callsign": "EC",
"beacon_type": 10, "beacon_type": 10,
"hertz": 217000, "hertz": 217000,
"channel": null "channel": null
}, },
{ "world_5": {
"name": "Daggett", "name": "Daggett",
"callsign": "DAG", "callsign": "DAG",
"beacon_type": 6, "beacon_type": 6,
"hertz": 113200000, "hertz": 113200000,
"channel": 79 "channel": 79
}, },
{ "world_6": {
"name": "Hector", "name": "Hector",
"callsign": "HEC", "callsign": "HEC",
"beacon_type": 6, "beacon_type": 6,
"hertz": 112700000, "hertz": 112700000,
"channel": 74 "channel": 74
}, },
{ "world_7": {
"name": "Needles", "name": "Needles",
"callsign": "EED", "callsign": "EED",
"beacon_type": 6, "beacon_type": 6,
"hertz": 115200000, "hertz": 115200000,
"channel": 99 "channel": 99
}, },
{ "world_8": {
"name": "Milford", "name": "Milford",
"callsign": "MLF", "callsign": "MLF",
"beacon_type": 6, "beacon_type": 6,
"hertz": 112100000, "hertz": 112100000,
"channel": 58 "channel": 58
}, },
{ "world_9": {
"name": "GOFFS", "name": "GOFFS",
"callsign": "GFS", "callsign": "GFS",
"beacon_type": 6, "beacon_type": 6,
"hertz": 114400000, "hertz": 114400000,
"channel": 91 "channel": 91
}, },
{ "world_10": {
"name": "Tonopah", "name": "Tonopah",
"callsign": "TPH", "callsign": "TPH",
"beacon_type": 6, "beacon_type": 6,
"hertz": 117200000, "hertz": 117200000,
"channel": 119 "channel": 119
}, },
{ "world_11": {
"name": "Mina", "name": "Mina",
"callsign": "MVA", "callsign": "MVA",
"beacon_type": 6, "beacon_type": 6,
"hertz": 115100000, "hertz": 115100000,
"channel": 98 "channel": 98
}, },
{ "world_12": {
"name": "Wilson Creek", "name": "Wilson Creek",
"callsign": "ILC", "callsign": "ILC",
"beacon_type": 6, "beacon_type": 6,
"hertz": 116300000, "hertz": 116300000,
"channel": 110 "channel": 110
}, },
{ "world_13": {
"name": "Cedar City", "name": "Cedar City",
"callsign": "CDC", "callsign": "CDC",
"beacon_type": 6, "beacon_type": 6,
"hertz": 117300000, "hertz": 117300000,
"channel": 120 "channel": 120
}, },
{ "world_14": {
"name": "Bryce Canyon", "name": "Bryce Canyon",
"callsign": "BCE", "callsign": "BCE",
"beacon_type": 6, "beacon_type": 6,
"hertz": 112800000, "hertz": 112800000,
"channel": 75 "channel": 75
}, },
{ "world_15": {
"name": "Mormon Mesa", "name": "Mormon Mesa",
"callsign": "MMM", "callsign": "MMM",
"beacon_type": 6, "beacon_type": 6,
"hertz": 114300000, "hertz": 114300000,
"channel": 90 "channel": 90
}, },
{ "world_16": {
"name": "Beatty", "name": "Beatty",
"callsign": "BTY", "callsign": "BTY",
"beacon_type": 6, "beacon_type": 6,
"hertz": 114700000, "hertz": 114700000,
"channel": 94 "channel": 94
}, },
{ "world_17": {
"name": "Bishop", "name": "Bishop",
"callsign": "BIH", "callsign": "BIH",
"beacon_type": 6, "beacon_type": 6,
"hertz": 109600000, "hertz": 109600000,
"channel": 33 "channel": 33
}, },
{ "world_18": {
"name": "Coaldale", "name": "Coaldale",
"callsign": "OAL", "callsign": "OAL",
"beacon_type": 6, "beacon_type": 6,
"hertz": 117700000, "hertz": 117700000,
"channel": 124 "channel": 124
}, },
{ "world_19": {
"name": "Peach Springs", "name": "Peach Springs",
"callsign": "PGS", "callsign": "PGS",
"beacon_type": 6, "beacon_type": 6,
"hertz": 112000000, "hertz": 112000000,
"channel": 57 "channel": 57
}, },
{ "world_20": {
"name": "Boulder City", "name": "Boulder City",
"callsign": "BLD", "callsign": "BLD",
"beacon_type": 6, "beacon_type": 6,
"hertz": 116700000, "hertz": 116700000,
"channel": 114 "channel": 114
}, },
{ "world_21": {
"name": "Mercury", "name": "Mercury",
"callsign": "MCY", "callsign": "MCY",
"beacon_type": 10, "beacon_type": 10,
"hertz": 326000, "hertz": 326000,
"channel": null "channel": null
} }
] }

View File

@ -1 +1 @@
[] {}

View File

@ -1,709 +1,709 @@
[ {
{ "airfield22_0": {
"name": "ABUDHABI", "name": "ABUDHABI",
"callsign": "ADV", "callsign": "ADV",
"beacon_type": 2, "beacon_type": 2,
"hertz": 114250000, "hertz": 114250000,
"channel": null "channel": null
}, },
{ "airfield22_1": {
"name": "AbuDhabiInt", "name": "AbuDhabiInt",
"callsign": "ADV", "callsign": "ADV",
"beacon_type": 3, "beacon_type": 3,
"hertz": 114250000, "hertz": 114250000,
"channel": 119 "channel": 119
}, },
{ "airfield1_0": {
"name": "Abumusa", "name": "Abumusa",
"callsign": "ABM", "callsign": "ABM",
"beacon_type": 3, "beacon_type": 3,
"hertz": 285000, "hertz": 285000,
"channel": 101 "channel": 101
}, },
{ "airfield25_0": {
"name": "AlAinInt", "name": "AlAinInt",
"callsign": "ALN", "callsign": "ALN",
"beacon_type": 4, "beacon_type": 4,
"hertz": 112600000, "hertz": 112600000,
"channel": 119 "channel": 119
}, },
{ "airfield23_0": {
"name": "AlBateenInt", "name": "AlBateenInt",
"callsign": "ALB", "callsign": "ALB",
"beacon_type": 2, "beacon_type": 2,
"hertz": 114000000, "hertz": 114000000,
"channel": 119 "channel": 119
}, },
{ "airfield2_0": {
"name": "BandarAbbas", "name": "BandarAbbas",
"callsign": "BND", "callsign": "BND",
"beacon_type": 4, "beacon_type": 4,
"hertz": 117200000, "hertz": 117200000,
"channel": 119 "channel": 119
}, },
{ "airfield2_1": {
"name": "BandarAbbas", "name": "BandarAbbas",
"callsign": "BND", "callsign": "BND",
"beacon_type": 9, "beacon_type": 9,
"hertz": 250000, "hertz": 250000,
"channel": null "channel": null
}, },
{ "airfield2_2": {
"name": "", "name": "",
"callsign": "IBND", "callsign": "IBND",
"beacon_type": 14, "beacon_type": 14,
"hertz": 109900000, "hertz": 109900000,
"channel": null "channel": null
}, },
{ "airfield2_3": {
"name": "", "name": "",
"callsign": "IBND", "callsign": "IBND",
"beacon_type": 15, "beacon_type": 15,
"hertz": 109900000, "hertz": 109900000,
"channel": null "channel": null
}, },
{ "airfield2_4": {
"name": "BandarAbbas", "name": "BandarAbbas",
"callsign": "BND", "callsign": "BND",
"beacon_type": 5, "beacon_type": 5,
"hertz": null, "hertz": null,
"channel": 78 "channel": 78
}, },
{ "airfield21_0": {
"name": "BandarEJask", "name": "BandarEJask",
"callsign": "KHM", "callsign": "KHM",
"beacon_type": 4, "beacon_type": 4,
"hertz": 116300000, "hertz": 116300000,
"channel": null "channel": null
}, },
{ "airfield21_1": {
"name": "JASK", "name": "JASK",
"callsign": "JSK", "callsign": "JSK",
"beacon_type": 9, "beacon_type": 9,
"hertz": 349000, "hertz": 349000,
"channel": null "channel": null
}, },
{ "airfield21_2": {
"name": "", "name": "",
"callsign": "JSK", "callsign": "JSK",
"beacon_type": 5, "beacon_type": 5,
"hertz": null, "hertz": null,
"channel": 110 "channel": 110
}, },
{ "airfield3_0": {
"name": "BandarLengeh", "name": "BandarLengeh",
"callsign": "LEN", "callsign": "LEN",
"beacon_type": 9, "beacon_type": 9,
"hertz": 408000, "hertz": 408000,
"channel": null "channel": null
}, },
{ "airfield3_1": {
"name": "BandarLengeh", "name": "BandarLengeh",
"callsign": "LEN", "callsign": "LEN",
"beacon_type": 4, "beacon_type": 4,
"hertz": 114800000, "hertz": 114800000,
"channel": 95 "channel": 95
}, },
{ "airfield4_0": {
"name": "", "name": "",
"callsign": "MMA", "callsign": "MMA",
"beacon_type": 15, "beacon_type": 15,
"hertz": 109100000, "hertz": 109100000,
"channel": 28 "channel": 28
}, },
{ "airfield4_1": {
"name": "", "name": "",
"callsign": "LMA", "callsign": "LMA",
"beacon_type": 15, "beacon_type": 15,
"hertz": 108700000, "hertz": 108700000,
"channel": 24 "channel": 24
}, },
{ "airfield4_2": {
"name": "", "name": "",
"callsign": "IMA", "callsign": "IMA",
"beacon_type": 15, "beacon_type": 15,
"hertz": 111100000, "hertz": 111100000,
"channel": 48 "channel": 48
}, },
{ "airfield4_3": {
"name": "", "name": "",
"callsign": "RMA", "callsign": "RMA",
"beacon_type": 15, "beacon_type": 15,
"hertz": 108700000, "hertz": 108700000,
"channel": 24 "channel": 24
}, },
{ "airfield4_4": {
"name": "", "name": "",
"callsign": "MMA", "callsign": "MMA",
"beacon_type": 14, "beacon_type": 14,
"hertz": 109100000, "hertz": 109100000,
"channel": 28 "channel": 28
}, },
{ "airfield4_5": {
"name": "", "name": "",
"callsign": "RMA", "callsign": "RMA",
"beacon_type": 14, "beacon_type": 14,
"hertz": 108700000, "hertz": 108700000,
"channel": 24 "channel": 24
}, },
{ "airfield4_6": {
"name": "", "name": "",
"callsign": "LMA", "callsign": "LMA",
"beacon_type": 14, "beacon_type": 14,
"hertz": 108700000, "hertz": 108700000,
"channel": 24 "channel": 24
}, },
{ "airfield4_7": {
"name": "", "name": "",
"callsign": "IMA", "callsign": "IMA",
"beacon_type": 14, "beacon_type": 14,
"hertz": 111100000, "hertz": 111100000,
"channel": 48 "channel": 48
}, },
{ "airfield4_8": {
"name": "AlDhafra", "name": "AlDhafra",
"callsign": "MA", "callsign": "MA",
"beacon_type": 6, "beacon_type": 6,
"hertz": 114900000, "hertz": 114900000,
"channel": 96 "channel": 96
}, },
{ "airfield5_0": {
"name": "", "name": "",
"callsign": "IDBW", "callsign": "IDBW",
"beacon_type": 14, "beacon_type": 14,
"hertz": 109500000, "hertz": 109500000,
"channel": null "channel": null
}, },
{ "airfield5_1": {
"name": "", "name": "",
"callsign": "IDBR", "callsign": "IDBR",
"beacon_type": 14, "beacon_type": 14,
"hertz": 110100000, "hertz": 110100000,
"channel": null "channel": null
}, },
{ "airfield5_2": {
"name": "", "name": "",
"callsign": "IDBE", "callsign": "IDBE",
"beacon_type": 14, "beacon_type": 14,
"hertz": 111300000, "hertz": 111300000,
"channel": null "channel": null
}, },
{ "airfield5_3": {
"name": "", "name": "",
"callsign": "IDBL", "callsign": "IDBL",
"beacon_type": 14, "beacon_type": 14,
"hertz": 110900000, "hertz": 110900000,
"channel": null "channel": null
}, },
{ "airfield5_4": {
"name": "", "name": "",
"callsign": "IDBL", "callsign": "IDBL",
"beacon_type": 15, "beacon_type": 15,
"hertz": 110900000, "hertz": 110900000,
"channel": null "channel": null
}, },
{ "airfield5_5": {
"name": "", "name": "",
"callsign": "IDBR", "callsign": "IDBR",
"beacon_type": 15, "beacon_type": 15,
"hertz": 110100000, "hertz": 110100000,
"channel": null "channel": null
}, },
{ "airfield5_6": {
"name": "", "name": "",
"callsign": "IDBE", "callsign": "IDBE",
"beacon_type": 15, "beacon_type": 15,
"hertz": 111300000, "hertz": 111300000,
"channel": null "channel": null
}, },
{ "airfield5_7": {
"name": "", "name": "",
"callsign": "IDBW", "callsign": "IDBW",
"beacon_type": 15, "beacon_type": 15,
"hertz": 109500000, "hertz": 109500000,
"channel": null "channel": null
}, },
{ "airfield6_0": {
"name": "", "name": "",
"callsign": "IJEA", "callsign": "IJEA",
"beacon_type": 14, "beacon_type": 14,
"hertz": 111750000, "hertz": 111750000,
"channel": null "channel": null
}, },
{ "airfield6_1": {
"name": "", "name": "",
"callsign": "IJWA", "callsign": "IJWA",
"beacon_type": 15, "beacon_type": 15,
"hertz": 109750000, "hertz": 109750000,
"channel": null "channel": null
}, },
{ "airfield6_2": {
"name": "", "name": "",
"callsign": "IJEA", "callsign": "IJEA",
"beacon_type": 15, "beacon_type": 15,
"hertz": 111750000, "hertz": 111750000,
"channel": null "channel": null
}, },
{ "airfield6_3": {
"name": "", "name": "",
"callsign": "IJWA", "callsign": "IJWA",
"beacon_type": 14, "beacon_type": 14,
"hertz": 109750000, "hertz": 109750000,
"channel": null "channel": null
}, },
{ "airfield7_0": {
"name": "Fujairah", "name": "Fujairah",
"callsign": "FJV", "callsign": "FJV",
"beacon_type": 4, "beacon_type": 4,
"hertz": 113800000, "hertz": 113800000,
"channel": 85 "channel": 85
}, },
{ "airfield7_1": {
"name": "", "name": "",
"callsign": "IFJR", "callsign": "IFJR",
"beacon_type": 15, "beacon_type": 15,
"hertz": 111500000, "hertz": 111500000,
"channel": null "channel": null
}, },
{ "airfield7_2": {
"name": "", "name": "",
"callsign": "IFJR", "callsign": "IFJR",
"beacon_type": 14, "beacon_type": 14,
"hertz": 111500000, "hertz": 111500000,
"channel": null "channel": null
}, },
{ "airfield9_0": {
"name": "Havadarya", "name": "Havadarya",
"callsign": "HDR", "callsign": "HDR",
"beacon_type": 5, "beacon_type": 5,
"hertz": 111000000, "hertz": 111000000,
"channel": 47 "channel": 47
}, },
{ "airfield9_1": {
"name": "", "name": "",
"callsign": "IBHD", "callsign": "IBHD",
"beacon_type": 14, "beacon_type": 14,
"hertz": 108900000, "hertz": 108900000,
"channel": null "channel": null
}, },
{ "airfield9_2": {
"name": "", "name": "",
"callsign": "IBHD", "callsign": "IBHD",
"beacon_type": 15, "beacon_type": 15,
"hertz": 108900000, "hertz": 108900000,
"channel": null "channel": null
}, },
{ "airfield27_0": {
"name": "Jiroft", "name": "Jiroft",
"callsign": "JIR", "callsign": "JIR",
"beacon_type": 10, "beacon_type": 10,
"hertz": 276000, "hertz": 276000,
"channel": null "channel": null
}, },
{ "airfield18_0": {
"name": "KERMAN", "name": "KERMAN",
"callsign": "KER", "callsign": "KER",
"beacon_type": 5, "beacon_type": 5,
"hertz": 122500000, "hertz": 122500000,
"channel": 97 "channel": 97
}, },
{ "airfield18_1": {
"name": "KERMAN", "name": "KERMAN",
"callsign": "KER", "callsign": "KER",
"beacon_type": 4, "beacon_type": 4,
"hertz": 112000000, "hertz": 112000000,
"channel": 57 "channel": 57
}, },
{ "airfield18_2": {
"name": "KERMAN", "name": "KERMAN",
"callsign": "KER", "callsign": "KER",
"beacon_type": 3, "beacon_type": 3,
"hertz": 290000000, "hertz": 290000000,
"channel": null "channel": null
}, },
{ "airfield10_0": {
"name": "", "name": "",
"callsign": "IBKS", "callsign": "IBKS",
"beacon_type": 14, "beacon_type": 14,
"hertz": 110300000, "hertz": 110300000,
"channel": null "channel": null
}, },
{ "airfield10_1": {
"name": "", "name": "",
"callsign": "IBKS", "callsign": "IBKS",
"beacon_type": 15, "beacon_type": 15,
"hertz": 110300000, "hertz": 110300000,
"channel": null "channel": null
}, },
{ "airfield24_0": {
"name": "KishIsland", "name": "KishIsland",
"callsign": "KIH", "callsign": "KIH",
"beacon_type": 9, "beacon_type": 9,
"hertz": 201000, "hertz": 201000,
"channel": null "channel": null
}, },
{ "airfield24_1": {
"name": "KishIsland", "name": "KishIsland",
"callsign": "KIH", "callsign": "KIH",
"beacon_type": 5, "beacon_type": 5,
"hertz": null, "hertz": null,
"channel": 112 "channel": 112
}, },
{ "airfield11_0": {
"name": "LAR", "name": "LAR",
"callsign": "LAR", "callsign": "LAR",
"beacon_type": 4, "beacon_type": 4,
"hertz": 117900000, "hertz": 117900000,
"channel": null "channel": null
}, },
{ "airfield11_1": {
"name": "LAR", "name": "LAR",
"callsign": "OISL", "callsign": "OISL",
"beacon_type": 9, "beacon_type": 9,
"hertz": 224000, "hertz": 224000,
"channel": null "channel": null
}, },
{ "airfield26_0": {
"name": "LavanIsland", "name": "LavanIsland",
"callsign": "LVA", "callsign": "LVA",
"beacon_type": 4, "beacon_type": 4,
"hertz": 116850000, "hertz": 116850000,
"channel": 115 "channel": 115
}, },
{ "airfield26_1": {
"name": "LavanIsland", "name": "LavanIsland",
"callsign": "LVA", "callsign": "LVA",
"beacon_type": 9, "beacon_type": 9,
"hertz": 310000, "hertz": 310000,
"channel": 0 "channel": 0
}, },
{ "airfield29_0": {
"name": "LiwaAirbase", "name": "LiwaAirbase",
"callsign": "OMLW", "callsign": "OMLW",
"beacon_type": 6, "beacon_type": 6,
"hertz": 117400000, "hertz": 117400000,
"channel": 121 "channel": 121
}, },
{ "airfield12_0": {
"name": "Minhad", "name": "Minhad",
"callsign": "MIN", "callsign": "MIN",
"beacon_type": 5, "beacon_type": 5,
"hertz": 115200000, "hertz": 115200000,
"channel": 99 "channel": 99
}, },
{ "airfield12_1": {
"name": "", "name": "",
"callsign": "IMNW", "callsign": "IMNW",
"beacon_type": 14, "beacon_type": 14,
"hertz": 110700000, "hertz": 110700000,
"channel": null "channel": null
}, },
{ "airfield12_2": {
"name": "", "name": "",
"callsign": "IMNW", "callsign": "IMNW",
"beacon_type": 15, "beacon_type": 15,
"hertz": 110700000, "hertz": 110700000,
"channel": null "channel": null
}, },
{ "airfield12_3": {
"name": "", "name": "",
"callsign": "IMNR", "callsign": "IMNR",
"beacon_type": 14, "beacon_type": 14,
"hertz": 110750000, "hertz": 110750000,
"channel": null "channel": null
}, },
{ "airfield12_4": {
"name": "", "name": "",
"callsign": "IMNR", "callsign": "IMNR",
"beacon_type": 15, "beacon_type": 15,
"hertz": 110750000, "hertz": 110750000,
"channel": null "channel": null
}, },
{ "airfield13_0": {
"name": "GheshmIsland", "name": "GheshmIsland",
"callsign": "KHM", "callsign": "KHM",
"beacon_type": 9, "beacon_type": 9,
"hertz": 233000, "hertz": 233000,
"channel": null "channel": null
}, },
{ "airfield13_1": {
"name": "GheshmIsland", "name": "GheshmIsland",
"callsign": "KHM", "callsign": "KHM",
"beacon_type": 4, "beacon_type": 4,
"hertz": 117100000, "hertz": 117100000,
"channel": null "channel": null
}, },
{ "airfield28_0": {
"name": "RasAlKhaimah", "name": "RasAlKhaimah",
"callsign": "OMRK", "callsign": "OMRK",
"beacon_type": 4, "beacon_type": 4,
"hertz": 113600000, "hertz": 113600000,
"channel": 83 "channel": 83
}, },
{ "airfield20_0": {
"name": "SasAlNakheel", "name": "SasAlNakheel",
"callsign": "SAS", "callsign": "SAS",
"beacon_type": 4, "beacon_type": 4,
"hertz": 128925000, "hertz": 128925000,
"channel": 119 "channel": 119
}, },
{ "airfield14_0": {
"name": "", "name": "",
"callsign": "ISRE", "callsign": "ISRE",
"beacon_type": 14, "beacon_type": 14,
"hertz": 108550000, "hertz": 108550000,
"channel": null "channel": null
}, },
{ "airfield14_1": {
"name": "", "name": "",
"callsign": "ISHW", "callsign": "ISHW",
"beacon_type": 14, "beacon_type": 14,
"hertz": 111950000, "hertz": 111950000,
"channel": null "channel": null
}, },
{ "airfield14_2": {
"name": "", "name": "",
"callsign": "ISHW", "callsign": "ISHW",
"beacon_type": 15, "beacon_type": 15,
"hertz": 111950000, "hertz": 111950000,
"channel": null "channel": null
}, },
{ "airfield14_3": {
"name": "", "name": "",
"callsign": "ISRE", "callsign": "ISRE",
"beacon_type": 15, "beacon_type": 15,
"hertz": 108550000, "hertz": 108550000,
"channel": null "channel": null
}, },
{ "airfield19_0": {
"name": "SHIRAZ", "name": "SHIRAZ",
"callsign": "SYZ", "callsign": "SYZ",
"beacon_type": 4, "beacon_type": 4,
"hertz": 117800000, "hertz": 117800000,
"channel": 125 "channel": 125
}, },
{ "airfield19_1": {
"name": "SHIRAZ", "name": "SHIRAZ",
"callsign": "SYZ1", "callsign": "SYZ1",
"beacon_type": 5, "beacon_type": 5,
"hertz": 114700000, "hertz": 114700000,
"channel": 94 "channel": 94
}, },
{ "airfield19_2": {
"name": "SHIRAZ", "name": "SHIRAZ",
"callsign": "SR", "callsign": "SR",
"beacon_type": 9, "beacon_type": 9,
"hertz": 205000, "hertz": 205000,
"channel": null "channel": null
}, },
{ "airfield19_3": {
"name": "", "name": "",
"callsign": "ISYZ", "callsign": "ISYZ",
"beacon_type": 15, "beacon_type": 15,
"hertz": 108500000, "hertz": 108500000,
"channel": null "channel": null
}, },
{ "airfield19_4": {
"name": "", "name": "",
"callsign": "ISYZ", "callsign": "ISYZ",
"beacon_type": 14, "beacon_type": 14,
"hertz": 108500000, "hertz": 108500000,
"channel": null "channel": null
}, },
{ "airfield15_0": {
"name": "SirriIsland", "name": "SirriIsland",
"callsign": "SIR", "callsign": "SIR",
"beacon_type": 9, "beacon_type": 9,
"hertz": 300000, "hertz": 300000,
"channel": null "channel": null
}, },
{ "airfield15_1": {
"name": "SirriIsland", "name": "SirriIsland",
"callsign": "SIR", "callsign": "SIR",
"beacon_type": 4, "beacon_type": 4,
"hertz": 113750000, "hertz": 113750000,
"channel": null "channel": null
}, },
{ "airfield16_0": {
"name": "Kochak", "name": "Kochak",
"callsign": "KCK", "callsign": "KCK",
"beacon_type": 5, "beacon_type": 5,
"hertz": 114200000, "hertz": 114200000,
"channel": 89 "channel": 89
}, },
{ "world_0": {
"name": "Kish", "name": "Kish",
"callsign": "KIS", "callsign": "KIS",
"beacon_type": 4, "beacon_type": 4,
"hertz": 117400000, "hertz": 117400000,
"channel": 121 "channel": 121
}, },
{ "world_1": {
"name": "DohaAirport", "name": "DohaAirport",
"callsign": "DIA", "callsign": "DIA",
"beacon_type": 4, "beacon_type": 4,
"hertz": 112400000, "hertz": 112400000,
"channel": 71 "channel": 71
}, },
{ "world_2": {
"name": "HamadInternationalAirport", "name": "HamadInternationalAirport",
"callsign": "DOH", "callsign": "DOH",
"beacon_type": 4, "beacon_type": 4,
"hertz": 114400000, "hertz": 114400000,
"channel": 91 "channel": 91
}, },
{ "world_3": {
"name": "DezfulAirport", "name": "DezfulAirport",
"callsign": "DZF", "callsign": "DZF",
"beacon_type": 9, "beacon_type": 9,
"hertz": 293000, "hertz": 293000,
"channel": null "channel": null
}, },
{ "world_4": {
"name": "AbadanIntAirport", "name": "AbadanIntAirport",
"callsign": "ABD", "callsign": "ABD",
"beacon_type": 4, "beacon_type": 4,
"hertz": 115100000, "hertz": 115100000,
"channel": 98 "channel": 98
}, },
{ "world_5": {
"name": "AhvazIntAirport", "name": "AhvazIntAirport",
"callsign": "AWZ", "callsign": "AWZ",
"beacon_type": 4, "beacon_type": 4,
"hertz": 114000000, "hertz": 114000000,
"channel": 87 "channel": 87
}, },
{ "world_6": {
"name": "AghajariAirport", "name": "AghajariAirport",
"callsign": "AJR", "callsign": "AJR",
"beacon_type": 4, "beacon_type": 4,
"hertz": 114900000, "hertz": 114900000,
"channel": 96 "channel": 96
}, },
{ "world_7": {
"name": "BirjandIntAirport", "name": "BirjandIntAirport",
"callsign": "BJD", "callsign": "BJD",
"beacon_type": 4, "beacon_type": 4,
"hertz": 113500000, "hertz": 113500000,
"channel": 82 "channel": 82
}, },
{ "world_8": {
"name": "BushehrIntAirport", "name": "BushehrIntAirport",
"callsign": "BUZ", "callsign": "BUZ",
"beacon_type": 4, "beacon_type": 4,
"hertz": 117450000, "hertz": 117450000,
"channel": 121 "channel": 121
}, },
{ "world_9": {
"name": "KonarakAirport", "name": "KonarakAirport",
"callsign": "CBH", "callsign": "CBH",
"beacon_type": 4, "beacon_type": 4,
"hertz": 115600000, "hertz": 115600000,
"channel": 103 "channel": 103
}, },
{ "world_10": {
"name": "IsfahanIntAirport", "name": "IsfahanIntAirport",
"callsign": "ISN", "callsign": "ISN",
"beacon_type": 4, "beacon_type": 4,
"hertz": 113200000, "hertz": 113200000,
"channel": 79 "channel": 79
}, },
{ "world_11": {
"name": "KhoramabadAirport", "name": "KhoramabadAirport",
"callsign": "KRD", "callsign": "KRD",
"beacon_type": 4, "beacon_type": 4,
"hertz": 113750000, "hertz": 113750000,
"channel": 84 "channel": 84
}, },
{ "world_12": {
"name": "PersianGulfIntAirport", "name": "PersianGulfIntAirport",
"callsign": "PRG", "callsign": "PRG",
"beacon_type": 4, "beacon_type": 4,
"hertz": 112100000, "hertz": 112100000,
"channel": 58 "channel": 58
}, },
{ "world_13": {
"name": "YasoujAirport", "name": "YasoujAirport",
"callsign": "YSJ", "callsign": "YSJ",
"beacon_type": 4, "beacon_type": 4,
"hertz": 116550000, "hertz": 116550000,
"channel": 112 "channel": 112
}, },
{ "world_14": {
"name": "BamAirport", "name": "BamAirport",
"callsign": "BAM", "callsign": "BAM",
"beacon_type": 4, "beacon_type": 4,
"hertz": 114900000, "hertz": 114900000,
"channel": 96 "channel": 96
}, },
{ "world_15": {
"name": "MahshahrAirport", "name": "MahshahrAirport",
"callsign": "MAH", "callsign": "MAH",
"beacon_type": 4, "beacon_type": 4,
"hertz": 115800000, "hertz": 115800000,
"channel": 105 "channel": 105
}, },
{ "world_16": {
"name": "IranShahrAirport", "name": "IranShahrAirport",
"callsign": "ISR", "callsign": "ISR",
"beacon_type": 4, "beacon_type": 4,
"hertz": 117000000, "hertz": 117000000,
"channel": 117 "channel": 117
}, },
{ "world_17": {
"name": "LamerdAirport", "name": "LamerdAirport",
"callsign": "LAM", "callsign": "LAM",
"beacon_type": 4, "beacon_type": 4,
"hertz": 117000000, "hertz": 117000000,
"channel": 117 "channel": 117
}, },
{ "world_18": {
"name": "SirjanAirport", "name": "SirjanAirport",
"callsign": "SRJ", "callsign": "SRJ",
"beacon_type": 4, "beacon_type": 4,
"hertz": 114600000, "hertz": 114600000,
"channel": 93 "channel": 93
}, },
{ "world_19": {
"name": "YazdIntAirport", "name": "YazdIntAirport",
"callsign": "YZD", "callsign": "YZD",
"beacon_type": 4, "beacon_type": 4,
"hertz": 117700000, "hertz": 117700000,
"channel": 124 "channel": 124
}, },
{ "world_20": {
"name": "ZabolAirport", "name": "ZabolAirport",
"callsign": "ZAL", "callsign": "ZAL",
"beacon_type": 4, "beacon_type": 4,
"hertz": 113100000, "hertz": 113100000,
"channel": 78 "channel": 78
}, },
{ "world_21": {
"name": "ZahedanIntAirport", "name": "ZahedanIntAirport",
"callsign": "ZDN", "callsign": "ZDN",
"beacon_type": 4, "beacon_type": 4,
"hertz": 116000000, "hertz": 116000000,
"channel": 107 "channel": 107
}, },
{ "world_22": {
"name": "RafsanjanAirport", "name": "RafsanjanAirport",
"callsign": "RAF", "callsign": "RAF",
"beacon_type": 4, "beacon_type": 4,
"hertz": 112300000, "hertz": 112300000,
"channel": 70 "channel": 70
}, },
{ "world_23": {
"name": "SaravanAirport", "name": "SaravanAirport",
"callsign": "SRN", "callsign": "SRN",
"beacon_type": 4, "beacon_type": 4,
"hertz": 114100000, "hertz": 114100000,
"channel": 88 "channel": 88
}, },
{ "world_24": {
"name": "BuHasa", "name": "BuHasa",
"callsign": "BH", "callsign": "BH",
"beacon_type": 3, "beacon_type": 3,
"hertz": 309000000, "hertz": 309000000,
"channel": null "channel": null
} }
] }

View File

@ -1,590 +1,590 @@
[ {
{ "world_0": {
"name": "BANIAS", "name": "BANIAS",
"callsign": "BAN", "callsign": "BAN",
"beacon_type": 10, "beacon_type": 10,
"hertz": 304000, "hertz": 304000,
"channel": null "channel": null
}, },
{ "world_1": {
"name": "KAHRAMANMARAS", "name": "KAHRAMANMARAS",
"callsign": "KHM", "callsign": "KHM",
"beacon_type": 10, "beacon_type": 10,
"hertz": 374000, "hertz": 374000,
"channel": null "channel": null
}, },
{ "world_2": {
"name": "KLEYATE", "name": "KLEYATE",
"callsign": "RA", "callsign": "RA",
"beacon_type": 10, "beacon_type": 10,
"hertz": 450000, "hertz": 450000,
"channel": null "channel": null
}, },
{ "world_3": {
"name": "KARIATAIN", "name": "KARIATAIN",
"callsign": "KTN", "callsign": "KTN",
"beacon_type": 10, "beacon_type": 10,
"hertz": 372500, "hertz": 372500,
"channel": null "channel": null
}, },
{ "world_4": {
"name": "TURAIF", "name": "TURAIF",
"callsign": "TRF", "callsign": "TRF",
"beacon_type": 4, "beacon_type": 4,
"hertz": 116100000, "hertz": 116100000,
"channel": null "channel": null
}, },
{ "world_5": {
"name": "BAYSUR", "name": "BAYSUR",
"callsign": "BAR", "callsign": "BAR",
"beacon_type": 2, "beacon_type": 2,
"hertz": 113900000, "hertz": 113900000,
"channel": null "channel": null
}, },
{ "world_6": {
"name": "MARKA", "name": "MARKA",
"callsign": "AMN", "callsign": "AMN",
"beacon_type": 4, "beacon_type": 4,
"hertz": 116300000, "hertz": 116300000,
"channel": null "channel": null
}, },
{ "world_7": {
"name": "TANF", "name": "TANF",
"callsign": "TAN", "callsign": "TAN",
"beacon_type": 4, "beacon_type": 4,
"hertz": 114000000, "hertz": 114000000,
"channel": null "channel": null
}, },
{ "world_8": {
"name": "NATANIA", "name": "NATANIA",
"callsign": "NAT", "callsign": "NAT",
"beacon_type": 4, "beacon_type": 4,
"hertz": 112400000, "hertz": 112400000,
"channel": null "channel": null
}, },
{ "world_9": {
"name": "KAHRAMANMARAS", "name": "KAHRAMANMARAS",
"callsign": "KHM", "callsign": "KHM",
"beacon_type": 4, "beacon_type": 4,
"hertz": 113900000, "hertz": 113900000,
"channel": null "channel": null
}, },
{ "world_10": {
"name": "KARIATAIN", "name": "KARIATAIN",
"callsign": "KTN", "callsign": "KTN",
"beacon_type": 4, "beacon_type": 4,
"hertz": 117700000, "hertz": 117700000,
"channel": null "channel": null
}, },
{ "world_11": {
"name": "MUT", "name": "MUT",
"callsign": "MUT", "callsign": "MUT",
"beacon_type": 4, "beacon_type": 4,
"hertz": 112300000, "hertz": 112300000,
"channel": null "channel": null
}, },
{ "world_12": {
"name": "DHEKELIA", "name": "DHEKELIA",
"callsign": "DKA", "callsign": "DKA",
"beacon_type": 10, "beacon_type": 10,
"hertz": 343000, "hertz": 343000,
"channel": null "channel": null
}, },
{ "airfield2_0": {
"name": "", "name": "",
"callsign": "IADA", "callsign": "IADA",
"beacon_type": 14, "beacon_type": 14,
"hertz": 108700000, "hertz": 108700000,
"channel": null "channel": null
}, },
{ "airfield2_1": {
"name": "", "name": "",
"callsign": "IADA", "callsign": "IADA",
"beacon_type": 15, "beacon_type": 15,
"hertz": 108700000, "hertz": 108700000,
"channel": null "channel": null
}, },
{ "airfield2_2": {
"name": "ADANA", "name": "ADANA",
"callsign": "ADN", "callsign": "ADN",
"beacon_type": 11, "beacon_type": 11,
"hertz": 395000, "hertz": 395000,
"channel": null "channel": null
}, },
{ "airfield2_3": {
"name": "ADANA", "name": "ADANA",
"callsign": "ADA", "callsign": "ADA",
"beacon_type": 4, "beacon_type": 4,
"hertz": 112700000, "hertz": 112700000,
"channel": null "channel": null
}, },
{ "airfield44_0": {
"name": "", "name": "",
"callsign": "IAK", "callsign": "IAK",
"beacon_type": 14, "beacon_type": 14,
"hertz": 109700000, "hertz": 109700000,
"channel": null "channel": null
}, },
{ "airfield44_1": {
"name": "", "name": "",
"callsign": "IAK", "callsign": "IAK",
"beacon_type": 15, "beacon_type": 15,
"hertz": 109700000, "hertz": 109700000,
"channel": null "channel": null
}, },
{ "airfield44_2": {
"name": "Akrotiri", "name": "Akrotiri",
"callsign": "AKR", "callsign": "AKR",
"beacon_type": 5, "beacon_type": 5,
"hertz": 116000000, "hertz": 116000000,
"channel": 107 "channel": 107
}, },
{ "airfield44_3": {
"name": "AKROTIRI", "name": "AKROTIRI",
"callsign": "AK", "callsign": "AK",
"beacon_type": 10, "beacon_type": 10,
"hertz": 365000, "hertz": 365000,
"channel": null "channel": null
}, },
{ "airfield6_0": {
"name": "KALDE", "name": "KALDE",
"callsign": "KAD", "callsign": "KAD",
"beacon_type": 4, "beacon_type": 4,
"hertz": 112600000, "hertz": 112600000,
"channel": null "channel": null
}, },
{ "airfield6_1": {
"name": "", "name": "",
"callsign": "IBB", "callsign": "IBB",
"beacon_type": 15, "beacon_type": 15,
"hertz": 110100000, "hertz": 110100000,
"channel": null "channel": null
}, },
{ "airfield6_2": {
"name": "", "name": "",
"callsign": "IKK", "callsign": "IKK",
"beacon_type": 14, "beacon_type": 14,
"hertz": 110700000, "hertz": 110700000,
"channel": null "channel": null
}, },
{ "airfield6_3": {
"name": "", "name": "",
"callsign": "BIL", "callsign": "BIL",
"beacon_type": 14, "beacon_type": 14,
"hertz": 109500000, "hertz": 109500000,
"channel": null "channel": null
}, },
{ "airfield6_4": {
"name": "", "name": "",
"callsign": "IBB", "callsign": "IBB",
"beacon_type": 14, "beacon_type": 14,
"hertz": 110100000, "hertz": 110100000,
"channel": null "channel": null
}, },
{ "airfield6_5": {
"name": "", "name": "",
"callsign": "BIL", "callsign": "BIL",
"beacon_type": 15, "beacon_type": 15,
"hertz": 109500000, "hertz": 109500000,
"channel": null "channel": null
}, },
{ "airfield6_6": {
"name": "", "name": "",
"callsign": "IKK", "callsign": "IKK",
"beacon_type": 15, "beacon_type": 15,
"hertz": 110700000, "hertz": 110700000,
"channel": null "channel": null
}, },
{ "airfield6_7": {
"name": "BEIRUT", "name": "BEIRUT",
"callsign": "BOD", "callsign": "BOD",
"beacon_type": 11, "beacon_type": 11,
"hertz": 351000, "hertz": 351000,
"channel": null "channel": null
}, },
{ "airfield7_0": {
"name": "", "name": "",
"callsign": "IDA", "callsign": "IDA",
"beacon_type": 15, "beacon_type": 15,
"hertz": 109900000, "hertz": 109900000,
"channel": null "channel": null
}, },
{ "airfield7_1": {
"name": "", "name": "",
"callsign": "IDA", "callsign": "IDA",
"beacon_type": 14, "beacon_type": 14,
"hertz": 109900000, "hertz": 109900000,
"channel": null "channel": null
}, },
{ "airfield7_2": {
"name": "Damascus", "name": "Damascus",
"callsign": "DAM", "callsign": "DAM",
"beacon_type": 4, "beacon_type": 4,
"hertz": 116000000, "hertz": 116000000,
"channel": null "channel": null
}, },
{ "airfield7_3": {
"name": "", "name": "",
"callsign": "DAML", "callsign": "DAML",
"beacon_type": 14, "beacon_type": 14,
"hertz": 111100000, "hertz": 111100000,
"channel": null "channel": null
}, },
{ "airfield7_4": {
"name": "DAMASCUS", "name": "DAMASCUS",
"callsign": "DAL", "callsign": "DAL",
"beacon_type": 11, "beacon_type": 11,
"hertz": 342000000, "hertz": 342000000,
"channel": null "channel": null
}, },
{ "airfield7_5": {
"name": "ABYAD", "name": "ABYAD",
"callsign": "ABD", "callsign": "ABD",
"beacon_type": 10, "beacon_type": 10,
"hertz": 264000, "hertz": 264000,
"channel": null "channel": null
}, },
{ "airfield7_6": {
"name": "", "name": "",
"callsign": "DAML", "callsign": "DAML",
"beacon_type": 15, "beacon_type": 15,
"hertz": 111100000, "hertz": 111100000,
"channel": null "channel": null
}, },
{ "airfield42_0": {
"name": "Deir ez-Zor", "name": "Deir ez-Zor",
"callsign": "DRZ", "callsign": "DRZ",
"beacon_type": 10, "beacon_type": 10,
"hertz": 295000, "hertz": 295000,
"channel": null "channel": null
}, },
{ "airfield42_1": {
"name": "Deir ez-Zor", "name": "Deir ez-Zor",
"callsign": "DRZ", "callsign": "DRZ",
"beacon_type": 4, "beacon_type": 4,
"hertz": 117000000, "hertz": 117000000,
"channel": null "channel": null
}, },
{ "airfield49_0": {
"name": "ERCAN", "name": "ERCAN",
"callsign": "ECN", "callsign": "ECN",
"beacon_type": 4, "beacon_type": 4,
"hertz": 117000000, "hertz": 117000000,
"channel": null "channel": null
}, },
{ "airfield49_1": {
"name": "", "name": "",
"callsign": "IECR", "callsign": "IECR",
"beacon_type": 14, "beacon_type": 14,
"hertz": 108300000, "hertz": 108300000,
"channel": null "channel": null
}, },
{ "airfield11_0": {
"name": "", "name": "",
"callsign": "IGNP", "callsign": "IGNP",
"beacon_type": 14, "beacon_type": 14,
"hertz": 109100000, "hertz": 109100000,
"channel": null "channel": null
}, },
{ "airfield11_1": {
"name": "", "name": "",
"callsign": "IGNP", "callsign": "IGNP",
"beacon_type": 15, "beacon_type": 15,
"hertz": 109100000, "hertz": 109100000,
"channel": null "channel": null
}, },
{ "airfield11_2": {
"name": "GAZIANTEP", "name": "GAZIANTEP",
"callsign": "GAZ", "callsign": "GAZ",
"beacon_type": 10, "beacon_type": 10,
"hertz": 432000, "hertz": 432000,
"channel": null "channel": null
}, },
{ "airfield11_3": {
"name": "GAZIANTEP", "name": "GAZIANTEP",
"callsign": "GAZ", "callsign": "GAZ",
"beacon_type": 4, "beacon_type": 4,
"hertz": 116700000, "hertz": 116700000,
"channel": null "channel": null
}, },
{ "airfield41_0": {
"name": "", "name": "",
"callsign": "IGZP", "callsign": "IGZP",
"beacon_type": 14, "beacon_type": 14,
"hertz": 108500000, "hertz": 108500000,
"channel": null "channel": null
}, },
{ "airfield41_1": {
"name": "ALANYA/GAZIPASA", "name": "ALANYA/GAZIPASA",
"callsign": "GZP", "callsign": "GZP",
"beacon_type": 3, "beacon_type": 3,
"hertz": 0, "hertz": 0,
"channel": 89 "channel": 89
}, },
{ "airfield41_2": {
"name": "GAZIPASA/ALANYA", "name": "GAZIPASA/ALANYA",
"callsign": "GZP", "callsign": "GZP",
"beacon_type": 10, "beacon_type": 10,
"hertz": 316000, "hertz": 316000,
"channel": null "channel": null
}, },
{ "airfield50_0": {
"name": "FAMAGUSTA_GECITKALE", "name": "FAMAGUSTA_GECITKALE",
"callsign": "GKE", "callsign": "GKE",
"beacon_type": 4, "beacon_type": 4,
"hertz": 114300000, "hertz": 114300000,
"channel": null "channel": null
}, },
{ "airfield50_1": {
"name": "GECITKALE", "name": "GECITKALE",
"callsign": "GKE", "callsign": "GKE",
"beacon_type": 10, "beacon_type": 10,
"hertz": 435000, "hertz": 435000,
"channel": null "channel": null
}, },
{ "airfield15_0": {
"name": "HATAY", "name": "HATAY",
"callsign": "HTY", "callsign": "HTY",
"beacon_type": 4, "beacon_type": 4,
"hertz": 112050000, "hertz": 112050000,
"channel": null "channel": null
}, },
{ "airfield15_1": {
"name": "", "name": "",
"callsign": "IHAT", "callsign": "IHAT",
"beacon_type": 14, "beacon_type": 14,
"hertz": 108900000, "hertz": 108900000,
"channel": null "channel": null
}, },
{ "airfield15_2": {
"name": "", "name": "",
"callsign": "IHAT", "callsign": "IHAT",
"beacon_type": 15, "beacon_type": 15,
"hertz": 108900000, "hertz": 108900000,
"channel": null "channel": null
}, },
{ "airfield15_3": {
"name": "HATAY", "name": "HATAY",
"callsign": "HTY", "callsign": "HTY",
"beacon_type": 10, "beacon_type": 10,
"hertz": 336000, "hertz": 336000,
"channel": null "channel": null
}, },
{ "airfield16_0": {
"name": "INCIRLIC", "name": "INCIRLIC",
"callsign": "DAN", "callsign": "DAN",
"beacon_type": 5, "beacon_type": 5,
"hertz": null, "hertz": null,
"channel": 21 "channel": 21
}, },
{ "airfield16_1": {
"name": "", "name": "",
"callsign": "IDAN", "callsign": "IDAN",
"beacon_type": 14, "beacon_type": 14,
"hertz": 109300000, "hertz": 109300000,
"channel": null "channel": null
}, },
{ "airfield16_2": {
"name": "", "name": "",
"callsign": "IDAN", "callsign": "IDAN",
"beacon_type": 15, "beacon_type": 15,
"hertz": 109300000, "hertz": 109300000,
"channel": null "channel": null
}, },
{ "airfield16_3": {
"name": "", "name": "",
"callsign": "IDNA", "callsign": "IDNA",
"beacon_type": 15, "beacon_type": 15,
"hertz": 111700000, "hertz": 111700000,
"channel": null "channel": null
}, },
{ "airfield16_4": {
"name": "", "name": "",
"callsign": "IDNA", "callsign": "IDNA",
"beacon_type": 14, "beacon_type": 14,
"hertz": 111700000, "hertz": 111700000,
"channel": null "channel": null
}, },
{ "airfield47_0": {
"name": "", "name": "",
"callsign": "ILC", "callsign": "ILC",
"beacon_type": 14, "beacon_type": 14,
"hertz": 110300000, "hertz": 110300000,
"channel": null "channel": null
}, },
{ "airfield47_1": {
"name": "Larnaca", "name": "Larnaca",
"callsign": "LCA", "callsign": "LCA",
"beacon_type": 4, "beacon_type": 4,
"hertz": 112800000, "hertz": 112800000,
"channel": null "channel": null
}, },
{ "airfield47_2": {
"name": "", "name": "",
"callsign": "ILC", "callsign": "ILC",
"beacon_type": 15, "beacon_type": 15,
"hertz": 110300000, "hertz": 110300000,
"channel": null "channel": null
}, },
{ "airfield47_3": {
"name": "Larnaca", "name": "Larnaca",
"callsign": "LCA", "callsign": "LCA",
"beacon_type": 9, "beacon_type": 9,
"hertz": 432000, "hertz": 432000,
"channel": null "channel": null
}, },
{ "airfield21_0": {
"name": "", "name": "",
"callsign": "IBA", "callsign": "IBA",
"beacon_type": 15, "beacon_type": 15,
"hertz": 109100000, "hertz": 109100000,
"channel": null "channel": null
}, },
{ "airfield21_1": {
"name": "", "name": "",
"callsign": "IBA", "callsign": "IBA",
"beacon_type": 14, "beacon_type": 14,
"hertz": 109100000, "hertz": 109100000,
"channel": null "channel": null
}, },
{ "airfield21_2": {
"name": "LATAKIA", "name": "LATAKIA",
"callsign": "LTK", "callsign": "LTK",
"beacon_type": 4, "beacon_type": 4,
"hertz": 114800000, "hertz": 114800000,
"channel": null "channel": null
}, },
{ "airfield21_3": {
"name": "LATAKIA", "name": "LATAKIA",
"callsign": "LTK", "callsign": "LTK",
"beacon_type": 9, "beacon_type": 9,
"hertz": 414000, "hertz": 414000,
"channel": null "channel": null
}, },
{ "airfield25_0": {
"name": "MEZZEH", "name": "MEZZEH",
"callsign": "MEZ", "callsign": "MEZ",
"beacon_type": 10, "beacon_type": 10,
"hertz": 358000, "hertz": 358000,
"channel": null "channel": null
}, },
{ "airfield27_0": {
"name": "ALEPPO", "name": "ALEPPO",
"callsign": "ALE", "callsign": "ALE",
"beacon_type": 10, "beacon_type": 10,
"hertz": 396000, "hertz": 396000,
"channel": null "channel": null
}, },
{ "airfield27_1": {
"name": "ALEPPO", "name": "ALEPPO",
"callsign": "MER", "callsign": "MER",
"beacon_type": 10, "beacon_type": 10,
"hertz": 365000, "hertz": 365000,
"channel": null "channel": null
}, },
{ "airfield27_2": {
"name": "ALEPPO", "name": "ALEPPO",
"callsign": "ALE", "callsign": "ALE",
"beacon_type": 4, "beacon_type": 4,
"hertz": 114500000, "hertz": 114500000,
"channel": null "channel": null
}, },
{ "airfield28_0": {
"name": "PALMYRA", "name": "PALMYRA",
"callsign": "PLR", "callsign": "PLR",
"beacon_type": 10, "beacon_type": 10,
"hertz": 363000, "hertz": 363000,
"channel": null "channel": null
}, },
{ "airfield28_1": {
"name": "PALMYRA", "name": "PALMYRA",
"callsign": "PAL", "callsign": "PAL",
"beacon_type": 10, "beacon_type": 10,
"hertz": 337000, "hertz": 337000,
"channel": null "channel": null
}, },
{ "airfield46_0": {
"name": "Pafos", "name": "Pafos",
"callsign": "PHA", "callsign": "PHA",
"beacon_type": 10, "beacon_type": 10,
"hertz": 328000, "hertz": 328000,
"channel": null "channel": null
}, },
{ "airfield46_1": {
"name": "", "name": "",
"callsign": "IPA", "callsign": "IPA",
"beacon_type": 15, "beacon_type": 15,
"hertz": 108900000, "hertz": 108900000,
"channel": null "channel": null
}, },
{ "airfield46_2": {
"name": "", "name": "",
"callsign": "IPA", "callsign": "IPA",
"beacon_type": 14, "beacon_type": 14,
"hertz": 108900000, "hertz": 108900000,
"channel": null "channel": null
}, },
{ "airfield46_3": {
"name": "Pafos", "name": "Pafos",
"callsign": "IPA", "callsign": "IPA",
"beacon_type": 3, "beacon_type": 3,
"hertz": 108900000, "hertz": 108900000,
"channel": null "channel": null
}, },
{ "airfield46_4": {
"name": "Pafos", "name": "Pafos",
"callsign": "PHA", "callsign": "PHA",
"beacon_type": 4, "beacon_type": 4,
"hertz": 117900000, "hertz": 117900000,
"channel": null "channel": null
}, },
{ "airfield46_5": {
"name": "Pafos", "name": "Pafos",
"callsign": "PHA", "callsign": "PHA",
"beacon_type": 5, "beacon_type": 5,
"hertz": null, "hertz": null,
"channel": 79 "channel": 79
}, },
{ "airfield30_0": {
"name": "RAMATDAVID", "name": "RAMATDAVID",
"callsign": "RMD", "callsign": "RMD",
"beacon_type": 10, "beacon_type": 10,
"hertz": 368000, "hertz": 368000,
"channel": null "channel": null
}, },
{ "airfield30_1": {
"name": "RAMATDAVID", "name": "RAMATDAVID",
"callsign": "RMD", "callsign": "RMD",
"beacon_type": 6, "beacon_type": 6,
"hertz": 113700000, "hertz": 113700000,
"channel": 84 "channel": 84
}, },
{ "airfield30_2": {
"name": "", "name": "",
"callsign": "RMD", "callsign": "RMD",
"beacon_type": 14, "beacon_type": 14,
"hertz": 111100000, "hertz": 111100000,
"channel": null "channel": null
}, },
{ "airfield30_3": {
"name": "", "name": "",
"callsign": "RMD", "callsign": "RMD",
"beacon_type": 15, "beacon_type": 15,
"hertz": 111100000, "hertz": 111100000,
"channel": null "channel": null
}, },
{ "airfield34_0": {
"name": "ROSH-PINA", "name": "ROSH-PINA",
"callsign": "ROP", "callsign": "ROP",
"beacon_type": 4, "beacon_type": 4,
"hertz": 115300000, "hertz": 115300000,
"channel": null "channel": null
}, },
{ "airfield40_0": {
"name": "Cheka", "name": "Cheka",
"callsign": "CAK", "callsign": "CAK",
"beacon_type": 4, "beacon_type": 4,
"hertz": 116200000, "hertz": 116200000,
"channel": null "channel": null
} }
] }

View File

@ -1 +1 @@
[] {}

View File

@ -21,18 +21,19 @@ beacons = {
""" """
import argparse import argparse
from contextlib import contextmanager
import dataclasses import dataclasses
import gettext import gettext
import json
import logging import logging
import os import os
from pathlib import Path
import textwrap import textwrap
from contextlib import contextmanager
from pathlib import Path
from typing import Dict, Iterable, Union from typing import Dict, Iterable, Union
import lupa import lupa
from game.missiongenerator.beacons import Beacon, BeaconType, BEACONS_RESOURCE_PATH from game.missiongenerator.beacons import BEACONS_RESOURCE_PATH, Beacon, BeaconType
THIS_DIR = Path(__file__).parent.resolve() THIS_DIR = Path(__file__).parent.resolve()
SRC_DIR = THIS_DIR.parents[1] SRC_DIR = THIS_DIR.parents[1]
@ -59,7 +60,7 @@ def convert_lua_frequency(raw: Union[float, int]) -> int:
return raw return raw
def beacons_from_terrain(dcs_path: Path, path: Path) -> Iterable[Beacon]: def beacons_from_terrain(dcs_path: Path, path: Path) -> Iterable[tuple[str, Beacon]]:
logging.info(f"Loading terrain data from {path}") logging.info(f"Loading terrain data from {path}")
# TODO: Fix case-sensitive issues. # TODO: Fix case-sensitive issues.
# The beacons.lua file differs by case in some terrains. Will need to be # The beacons.lua file differs by case in some terrains. Will need to be
@ -133,7 +134,7 @@ def beacons_from_terrain(dcs_path: Path, path: Path) -> Iterable[Beacon]:
) )
beacon_type = beacon_types_map[beacon_type_lua] beacon_type = beacon_types_map[beacon_type_lua]
yield Beacon( yield beacon["beaconId"], Beacon(
beacon["display_name"], beacon["display_name"],
beacon["callsign"], beacon["callsign"],
beacon_type, beacon_type,
@ -161,12 +162,13 @@ class Importer:
beacons = beacons_from_terrain(self.dcs_path, terrain) beacons = beacons_from_terrain(self.dcs_path, terrain)
self.export_beacons(terrain.name, beacons) self.export_beacons(terrain.name, beacons)
def export_beacons(self, terrain: str, beacons: Iterable[Beacon]) -> None: def export_beacons(
self, terrain: str, beacons: Iterable[tuple[str, Beacon]]
) -> None:
terrain_py_path = self.export_dir / f"{terrain.lower()}.json" terrain_py_path = self.export_dir / f"{terrain.lower()}.json"
import json
terrain_py_path.write_text( terrain_py_path.write_text(
json.dumps([dataclasses.asdict(b) for b in beacons], indent=True) json.dumps({bid: dataclasses.asdict(b) for bid, b in beacons}, indent=True)
) )