Moved airfields database to public/database folder

This commit is contained in:
Pax1601
2023-08-15 12:26:05 +02:00
parent 3055378b86
commit e96cb2716d
24 changed files with 2462 additions and 2509 deletions

View File

@@ -9,7 +9,7 @@ interface ObjectIconOptions {
showFuel: boolean,
showAmmo: boolean,
showSummary: boolean,
showCallsign: boolean,
showCallsign: boolean,
rotateToHeading: boolean
}
@@ -48,7 +48,7 @@ interface Contact {
}
interface Offset {
x: number,
y: number,
x: number,
y: number,
z: number
}

View File

@@ -1,466 +0,0 @@
{
"airfields": {
"Anapa-Vityazevo": {
"ICAO": "URKA",
"elevation": "141",
"TACAN": "",
"runways": [
{
"headings": [
{
"22": {
"magHeading": "214",
"ILS": ""
},
"04": {
"magHeading": "034",
"ILS": ""
}
}
],
"length": "9000"
}
]
},
"Batumi": {
"ICAO": "UGSB",
"elevation": "33",
"TACAN": "16X",
"runways": [
{
"headings": [
{
"13": {
"magHeading": "119",
"ILS": ""
},
"31": {
"magHeading": "299",
"ILS": ""
}
}
],
"length": "7500"
}
]
},
"Beslan": {
"ICAO": "URMO",
"elevation": "1722",
"TACAN": "",
"runways": [
{
"headings": [
{
"10": {
"magHeading": "086",
"ILS": "110.50"
},
"28": {
"magHeading": "266",
"ILS": ""
}
}
],
"length": "9600"
}
]
},
"Gelendzhik": {
"ICAO": "URKG",
"elevation": "72",
"TACAN": "",
"runways": [
{
"headings": [
{
"19": {
"magHeading": "212",
"ILS": ""
},
"01": {
"magHeading": "032",
"ILS": ""
}
}
],
"length": "5400"
}
]
},
"Gudauta": {
"ICAO": "UG23",
"elevation": "69",
"TACAN": "",
"runways": [
{
"headings": [
{
"15": {
"magHeading": "144",
"ILS": ""
},
"33": {
"magHeading": "324",
"ILS": ""
}
}
],
"length": "7700"
}
]
},
"Kobuleti": {
"ICAO": "UG5X",
"elevation": "69",
"TACAN": "67X",
"runways": [
{
"headings": [
{
"25": {
"magHeading": "243",
"ILS": ""
},
"07": {
"magHeading": "063",
"ILS": "111.50"
}
}
],
"length": "7400"
}
]
},
"Krasnodar-Center": {
"ICAO": "URKL",
"elevation": "98",
"TACAN": "",
"runways": [
{
"headings": [
{
"27": {
"magHeading": "259",
"ILS": ""
},
"09": {
"magHeading": "079",
"ILS": ""
}
}
],
"length": "7700"
}
]
},
"Krasnodar-Pashkovsky": {
"ICAO": "URKK",
"elevation": "112",
"TACAN": "",
"runways": [
{
"headings": [
{
"23": {
"magHeading": "219",
"ILS": ""
},
"05": {
"magHeading": "039",
"ILS": ""
}
}
],
"length": "9600"
}
]
},
"Krymsk": {
"ICAO": "URKW",
"elevation": "66",
"TACAN": "",
"runways": [
{
"headings": [
{
"22": {
"magHeading": "212",
"ILS": ""
},
"04": {
"magHeading": "032",
"ILS": ""
}
}
],
"length": "8000"
}
]
},
"Kutaisi": {
"ICAO": "UGKO",
"elevation": "148",
"TACAN": "44X",
"runways": [
{
"headings": [
{
"25": {
"magHeading": "247",
"ILS": ""
},
"07": {
"magHeading": "067'",
"ILS": "109.75"
}
}
],
"length": "7700"
}
]
},
"Maykop-Khanskaya": {
"ICAO": "URKH",
"elevation": "591",
"TACAN": "",
"runways": [
{
"headings": [
{
"22": {
"magHeading": "211",
"ILS": ""
},
"04": {
"magHeading": "031",
"ILS": ""
}
}
],
"length": "10100"
}
]
},
"Mineralnye Vody": {
"ICAO": "URMM",
"elevation": "1050",
"TACAN": "",
"runways": [
{
"headings": [
{
"12": {
"magHeading": "108",
"ILS": "111.70"
},
"30": {
"magHeading": "288",
"ILS": "109.30"
}
}
],
"length": "12700"
}
]
},
"Mozdok": {
"ICAO": "XRMF",
"elevation": "507",
"TACAN": "",
"runways": [
{
"headings": [
{
"26": {
"magHeading": "255",
"ILS": ""
},
"08": {
"magHeading": "075",
"ILS": ""
}
}
],
"length": "9400"
}
]
},
"Nalchik": {
"ICAO": "URMN",
"elevation": "1411",
"TACAN": "",
"runways": [
{
"headings": [
{
"24": {
"magHeading": "228",
"ILS": "110.50"
},
"06": {
"magHeading": "048'",
"ILS": ""
}
}
],
"length": "7000"
}
]
},
"Novorossiysk": {
"ICAO": "URKN",
"elevation": "131",
"TACAN": "",
"runways": [
{
"headings": [
{
"22": {
"magHeading": "214",
"ILS": ""
},
"04": {
"magHeading": "034",
"ILS": ""
}
}
],
"length": "5400"
}
]
},
"Senaki-Kolkhi": {
"ICAO": "UGKS",
"elevation": "43",
"TACAN": "31X",
"runways": [
{
"headings": [
{
"27": {
"magHeading": "268",
"ILS": ""
},
"09": {
"magHeading": "088'",
"ILS": "108.90"
}
}
],
"length": "7400"
}
]
},
"Sochi-Adler": {
"ICAO": "URSS",
"elevation": "98",
"TACAN": "",
"runways": [
{
"headings": [
{
"27": {
"magHeading": "235",
"ILS": ""
},
"06": {
"magHeading": "055",
"ILS": "111.10"
}
}
],
"length": "9700"
}
]
},
"Tbilisi-Lochini": {
"ICAO": "UGTB",
"elevation": "1574",
"TACAN": "25X",
"runways": [
{
"headings": [
{
"13": {
"magHeading": "121",
"ILS": "110.30"
},
"31": {
"magHeading": "301",
"ILS": "108.90"
}
}
],
"length": "9300"
}
]
},
"Soganlug": {
"ICAO": "UG24",
"elevation": "1500",
"TACAN": "25X",
"runways": [
{
"headings": [
{
"14": {
"magHeading": "125",
"ILS": ""
},
"32": {
"magHeading": "305",
"ILS": ""
}
}
],
"length": "6500"
}
]
},
"Sukhumi-Babushara": {
"ICAO": "UGSS",
"elevation": "43",
"TACAN": "",
"runways": [
{
"headings": [
{
"12": {
"magHeading": "109",
"ILS": ""
},
"30": {
"magHeading": "289",
"ILS": ""
}
}
],
"length": "11400"
}
]
},
"Vaziani": {
"ICAO": "UG27",
"elevation": "1524",
"TACAN": "22X",
"runways": [
{
"headings": [
{
"13": {
"magHeading": "129",
"ILS": "108.75"
},
"31": {
"magHeading": "309",
"ILS": "108.75"
}
}
],
"length": "7700"
}
]
}
}
}

View File

@@ -1,466 +0,0 @@
{
"airfields": {
"Anapa-Vityazevo": {
"ICAO": "URKA",
"elevation": "141",
"TACAN": "",
"runways": [
{
"headings": [
{
"22": {
"magHeading": "214",
"ILS": ""
},
"04": {
"magHeading": "034",
"ILS": ""
}
}
],
"length": "9000"
}
]
},
"Batumi": {
"ICAO": "UGSB",
"elevation": "33",
"TACAN": "16X",
"runways": [
{
"headings": [
{
"13": {
"magHeading": "119",
"ILS": ""
},
"31": {
"magHeading": "299",
"ILS": ""
}
}
],
"length": "7500"
}
]
},
"Beslan": {
"ICAO": "URMO",
"elevation": "1722",
"TACAN": "",
"runways": [
{
"headings": [
{
"10": {
"magHeading": "086",
"ILS": "110.50"
},
"28": {
"magHeading": "266",
"ILS": ""
}
}
],
"length": "9600"
}
]
},
"Gelendzhik": {
"ICAO": "URKG",
"elevation": "72",
"TACAN": "",
"runways": [
{
"headings": [
{
"19": {
"magHeading": "212",
"ILS": ""
},
"01": {
"magHeading": "032",
"ILS": ""
}
}
],
"length": "5400"
}
]
},
"Gudauta": {
"ICAO": "UG23",
"elevation": "69",
"TACAN": "",
"runways": [
{
"headings": [
{
"15": {
"magHeading": "144",
"ILS": ""
},
"33": {
"magHeading": "324",
"ILS": ""
}
}
],
"length": "7700"
}
]
},
"Kobuleti": {
"ICAO": "UG5X",
"elevation": "69",
"TACAN": "67X",
"runways": [
{
"headings": [
{
"25": {
"magHeading": "243",
"ILS": ""
},
"07": {
"magHeading": "063",
"ILS": "111.50"
}
}
],
"length": "7400"
}
]
},
"Krasnodar-Center": {
"ICAO": "URKL",
"elevation": "98",
"TACAN": "",
"runways": [
{
"headings": [
{
"27": {
"magHeading": "259",
"ILS": ""
},
"09": {
"magHeading": "079",
"ILS": ""
}
}
],
"length": "7700"
}
]
},
"Krasnodar-Pashkovsky": {
"ICAO": "URKK",
"elevation": "112",
"TACAN": "",
"runways": [
{
"headings": [
{
"23": {
"magHeading": "219",
"ILS": ""
},
"05": {
"magHeading": "039",
"ILS": ""
}
}
],
"length": "9600"
}
]
},
"Krymsk": {
"ICAO": "URKW",
"elevation": "66",
"TACAN": "",
"runways": [
{
"headings": [
{
"22": {
"magHeading": "212",
"ILS": ""
},
"04": {
"magHeading": "032",
"ILS": ""
}
}
],
"length": "8000"
}
]
},
"Kutaisi": {
"ICAO": "UGKO",
"elevation": "148",
"TACAN": "44X",
"runways": [
{
"headings": [
{
"25": {
"magHeading": "247",
"ILS": ""
},
"07": {
"magHeading": "067'",
"ILS": "109.75"
}
}
],
"length": "7700"
}
]
},
"Maykop-Khanskaya": {
"ICAO": "URKH",
"elevation": "591",
"TACAN": "",
"runways": [
{
"headings": [
{
"22": {
"magHeading": "211",
"ILS": ""
},
"04": {
"magHeading": "031",
"ILS": ""
}
}
],
"length": "10100"
}
]
},
"Mineralnye Vody": {
"ICAO": "URMM",
"elevation": "1050",
"TACAN": "",
"runways": [
{
"headings": [
{
"12": {
"magHeading": "108",
"ILS": "111.70"
},
"30": {
"magHeading": "288",
"ILS": "109.30"
}
}
],
"length": "12700"
}
]
},
"Mozdok": {
"ICAO": "XRMF",
"elevation": "507",
"TACAN": "",
"runways": [
{
"headings": [
{
"26": {
"magHeading": "255",
"ILS": ""
},
"08": {
"magHeading": "075",
"ILS": ""
}
}
],
"length": "9400"
}
]
},
"Nalchik": {
"ICAO": "URMN",
"elevation": "1411",
"TACAN": "",
"runways": [
{
"headings": [
{
"24": {
"magHeading": "228",
"ILS": "110.50"
},
"06": {
"magHeading": "048'",
"ILS": ""
}
}
],
"length": "7000"
}
]
},
"Novorossiysk": {
"ICAO": "URKN",
"elevation": "131",
"TACAN": "",
"runways": [
{
"headings": [
{
"22": {
"magHeading": "214",
"ILS": ""
},
"04": {
"magHeading": "034",
"ILS": ""
}
}
],
"length": "5400"
}
]
},
"Senaki-Kolkhi": {
"ICAO": "UGKS",
"elevation": "43",
"TACAN": "31X",
"runways": [
{
"headings": [
{
"27": {
"magHeading": "268",
"ILS": ""
},
"09": {
"magHeading": "088'",
"ILS": "108.90"
}
}
],
"length": "7400"
}
]
},
"Sochi-Adler": {
"ICAO": "URSS",
"elevation": "98",
"TACAN": "",
"runways": [
{
"headings": [
{
"27": {
"magHeading": "235",
"ILS": ""
},
"06": {
"magHeading": "055",
"ILS": "111.10"
}
}
],
"length": "9700"
}
]
},
"Tbilisi-Lochini": {
"ICAO": "UGTB",
"elevation": "1574",
"TACAN": "25X",
"runways": [
{
"headings": [
{
"13": {
"magHeading": "121",
"ILS": "110.30"
},
"31": {
"magHeading": "301",
"ILS": "108.90"
}
}
],
"length": "9300"
}
]
},
"Soganlug": {
"ICAO": "UG24",
"elevation": "1500",
"TACAN": "25X",
"runways": [
{
"headings": [
{
"14": {
"magHeading": "125",
"ILS": ""
},
"32": {
"magHeading": "305",
"ILS": ""
}
}
],
"length": "6500"
}
]
},
"Sukhumi-Babushara": {
"ICAO": "UGSS",
"elevation": "43",
"TACAN": "",
"runways": [
{
"headings": [
{
"12": {
"magHeading": "109",
"ILS": ""
},
"30": {
"magHeading": "289",
"ILS": ""
}
}
],
"length": "11400"
}
]
},
"Vaziani": {
"ICAO": "UG27",
"elevation": "1524",
"TACAN": "22X",
"runways": [
{
"headings": [
{
"13": {
"magHeading": "129",
"ILS": "108.75"
},
"31": {
"magHeading": "309",
"ILS": "108.75"
}
}
],
"length": "7700"
}
]
}
}
}

View File

@@ -1,558 +0,0 @@
{
"airfields": {
"Beatty": {
"ICAO": "KBTY",
"elevation": "3173",
"TACAN": "94X",
"runways": [
{
"headings": [
{
"16": {
"magHeading": "168",
"ILS": ""
},
"34": {
"magHeading": "348",
"ILS": ""
}
}
],
"length": "5500"
}
]
},
"Boulder City": {
"ICAO": "KBVU",
"elevation": "2205",
"TACAN": "114X",
"runways": [
{
"headings": [
{
"15": {
"magHeading": "153",
"ILS": ""
},
"33": {
"magHeading": "333",
"ILS": ""
}
}
],
"length": "3700"
},
{
"headings": [
{
"27": {
"magHeading": "267",
"ILS": ""
},
"09": {
"magHeading": "087",
"ILS": ""
}
}
],
"length": "4400"
}
]
},
"Creech": {
"ICAO": "KINS",
"elevation": "3126",
"TACAN": "87X",
"runways": [
{
"headings": [
{
"13": {
"magHeading": "134",
"ILS": ""
},
"31": {
"magHeading": "314",
"ILS": ""
}
}
],
"length": "4700"
},
{
"headings": [
{
"26": {
"magHeading": "260",
"ILS": ""
},
"08": {
"magHeading": "080",
"ILS": "108.70"
}
}
],
"length": "8700"
}
]
},
"Echo Bay": {
"ICAO": "0L9",
"elevation": "1549",
"TACAN": "",
"runways": [
{
"headings": [
{
"24": {
"magHeading": "246",
"ILS": ""
},
"06": {
"magHeading": "066",
"ILS": ""
}
}
],
"length": "3300"
}
]
},
"Groom Lake": {
"ICAO": "KXTA",
"elevation": "4495",
"TACAN": "18X",
"runways": [
{
"headings": [
{
"14L": {
"magHeading": "145",
"ILS": ""
},
"32R": {
"magHeading": "325",
"ILS": "109.30"
}
}
],
"length": "11700"
},
{
"headings": [
{
"14R (CLOSED)": {
"magHeading": "145",
"ILS": ""
},
"32L (CLOSED)": {
"magHeading": "325",
"ILS": ""
}
}
],
"length": "17800"
}
]
},
"Henderson Executive": {
"ICAO": "KHND",
"elevation": "2493",
"TACAN": "",
"runways": [
{
"headings": [
{
"17L": {
"magHeading": "168",
"ILS": ""
},
"35R": {
"magHeading": "348",
"ILS": ""
}
}
],
"length": "4600"
},
{
"headings": [
{
"17R": {
"magHeading": "168",
"ILS": ""
},
"35L": {
"magHeading": "348",
"ILS": ""
}
}
],
"length": "6100"
}
]
},
"Jean": {
"ICAO": "",
"elevation": "2825",
"TACAN": "",
"runways": [
{
"headings": [
{
"02L": {
"magHeading": "020",
"ILS": ""
},
"20R": {
"magHeading": "200",
"ILS": ""
}
}
],
"length": "4500"
},
{
"headings": [
{
"02R": {
"magHeading": "020",
"ILS": ""
},
"20L": {
"magHeading": "200",
"ILS": ""
}
}
],
"length": "3600"
}
]
},
"McCarran International": {
"ICAO": "KLAS",
"elevation": "2178",
"TACAN": "116X",
"runways": [
{
"headings": [
{
"01L": {
"magHeading": "013",
"ILS": ""
},
"19R": {
"magHeading": "193",
"ILS": ""
}
}
],
"length": "8000"
},
{
"headings": [
{
"01R": {
"magHeading": "013",
"ILS": ""
},
"19L": {
"magHeading": "193",
"ILS": ""
}
}
],
"length": "8000"
},
{
"headings": [
{
"07L": {
"magHeading": "078",
"ILS": ""
},
"25R": {
"magHeading": "258",
"ILS": "110.30"
}
}
],
"length": "10600"
},
{
"headings": [
{
"07R": {
"magHeading": "078",
"ILS": ""
},
"25L": {
"magHeading": "258",
"ILS": ""
}
}
],
"length": "10100"
}
]
},
"Laughlin": {
"ICAO": "KIFP",
"elevation": "673",
"TACAN": "",
"runways": [
{
"headings": [
{
"16": {
"magHeading": "164",
"ILS": ""
},
"34": {
"magHeading": "344",
"ILS": ""
}
}
],
"length": "7100"
}
]
},
"Lincoln County": {
"ICAO": "",
"elevation": "4816",
"TACAN": "",
"runways": [
{
"headings": [
{
"17": {
"magHeading": "170",
"ILS": ""
},
"35": {
"magHeading": "350",
"ILS": ""
}
}
],
"length": "4500"
}
]
},
"Mesquite": {
"ICAO": "67L",
"elevation": "1859",
"TACAN": "",
"runways": [
{
"headings": [
{
"19": {
"magHeading": "197",
"ILS": ""
},
"01": {
"magHeading": "017",
"ILS": ""
}
}
],
"length": "5000"
}
]
},
"Mina": {
"ICAO": "",
"elevation": "4560",
"TACAN": "",
"runways": [
{
"headings": [
{
"13": {
"magHeading": "140",
"ILS": ""
},
"31": {
"magHeading": "320",
"ILS": ""
}
}
],
"length": "4100"
}
]
},
"Nellis": {
"ICAO": "KLSV",
"elevation": "1849",
"TACAN": "12X",
"runways": [
{
"headings": [
{
"03L": {
"magHeading": "029",
"ILS": ""
},
"21R": {
"magHeading": "209",
"ILS": ""
}
}
],
"length": "9800"
},
{
"headings": [
{
"03R": {
"magHeading": "029",
"ILS": ""
},
"21L": {
"magHeading": "209",
"ILS": "109.10"
}
}
],
"length": "9800"
}
]
},
"North Las Vegas": {
"ICAO": "KVGT",
"elevation": "2228",
"TACAN": "",
"runways": [
{
"headings": [
{
"25": {
"magHeading": "256",
"ILS": ""
},
"07": {
"magHeading": "076",
"ILS": ""
}
}
],
"length": "4900"
},
{
"headings": [
{
"12L": {
"magHeading": "122",
"ILS": "110.70"
},
"30R": {
"magHeading": "302",
"ILS": "109.10"
}
}
],
"length": "3800"
},
{
"headings": [
{
"12R": {
"magHeading": "122",
"ILS": ""
},
"30L": {
"magHeading": "302",
"ILS": ""
}
}
],
"length": "4600"
}
]
},
"Pahute Mesa": {
"ICAO": "",
"elevation": "5059",
"TACAN": "",
"runways": [
{
"headings": [
{
"18": {
"magHeading": "182",
"ILS": ""
},
"36": {
"magHeading": "002",
"ILS": ""
}
}
],
"length": "5500"
}
]
},
"Tonopah": {
"ICAO": "KTPH",
"elevation": "5390",
"TACAN": "119X",
"runways": [
{
"headings": [
{
"11": {
"magHeading": "113",
"ILS": ""
},
"29": {
"magHeading": "293",
"ILS": ""
}
}
],
"length": "5600"
},
{
"headings": [
{
"15": {
"magHeading": "153",
"ILS": ""
},
"33": {
"magHeading": "333",
"ILS": ""
}
}
],
"length": "6800"
}
]
},
"Tonopah Test Range": {
"ICAO": "KTNX",
"elevation": "5535",
"TACAN": "77X",
"runways": [
{
"headings": [
{
"14": {
"magHeading": "145",
"ILS": "108.30"
},
"32": {
"magHeading": "325",
"ILS": "111.70"
}
}
],
"length": "11700"
}
]
}
}
}

View File

@@ -1,747 +0,0 @@
{
"airfields": {
"Abu_Dhabi_International_Airport": {
"ICAO": "OMAA",
"elevation": "92",
"TACAN": "",
"runways": [
{
"headings": [
{
"13L": {
"magHeading": "127",
"ILS": ""
},
"31R": {
"magHeading": "307",
"ILS": ""
}
}
],
"length": "13100"
},
{
"headings": [
{
"13R": {
"magHeading": "127",
"ILS": ""
},
"31L": {
"magHeading": "307",
"ILS": ""
}
}
],
"length": "13200"
}
]
},
"Ai_Ain_International_Airport": {
"ICAO": "OMAL",
"elevation": "814",
"TACAN": "",
"runways": [
{
"headings": [
{
"19": {
"magHeading": "186",
"ILS": ""
},
"01": {
"magHeading": "006",
"ILS": ""
}
}
],
"length": "12800"
}
]
},
"abu_musa_airport": {
"ICAO": "OIBA",
"elevation": "16",
"TACAN": "",
"runways": [
{
"headings": [
{
"26": {
"magHeading": "262",
"ILS": ""
},
"08": {
"magHeading": "082",
"ILS": ""
}
}
],
"length": "7800"
}
]
},
"Dhafra_AFB": {
"ICAO": "OMAM",
"elevation": "52",
"TACAN": "96X",
"runways": [
{
"headings": [
{
"13L": {
"magHeading": "126",
"ILS": "111.10"
},
"31R": {
"magHeading": "306",
"ILS": "109.10"
}
}
],
"length": "11700"
},
{
"headings": [
{
"13R": {
"magHeading": "16",
"ILS": "108.70"
},
"31L": {
"magHeading": "306",
"ILS": "108.70"
}
}
],
"length": "11700"
}
]
},
"Al_Maktoum_International_Airport": {
"ICAO": "OMDW",
"elevation": "125",
"TACAN": "",
"runways": [
{
"headings": [
{
"12": {
"magHeading": "120",
"ILS": "111.75"
},
"30": {
"magHeading": "300",
"ILS": "109.75"
}
}
],
"length": "14400"
}
]
},
"Minhad_AFB": {
"ICAO": "OMDM",
"elevation": "190",
"TACAN": "99X",
"runways": [
{
"headings": [
{
"27": {
"magHeading": "268",
"ILS": "110.75"
},
"09": {
"magHeading": "088",
"ILS": "110.70"
}
}
],
"length": "12600"
}
]
},
"Al_Bateen_Airport": {
"ICAO": "OMAD",
"elevation": "12",
"TACAN": "",
"runways": [
{
"headings": [
{
"13": {
"magHeading": "127",
"ILS": ""
},
"31": {
"magHeading": "307",
"ILS": ""
}
}
],
"length": "7000"
}
]
},
"Bandar_Abbas_airfield": {
"ICAO": "OIKB",
"elevation": "29",
"TACAN": "78X",
"runways": [
{
"headings": [
{
"03L": {
"magHeading": "25",
"ILS": ""
},
"21R": {
"magHeading": "205",
"ILS": ""
}
}
],
"length": "11000"
},
{
"headings": [
{
"03R": {
"magHeading": "25",
"ILS": ""
},
"21L": {
"magHeading": "205",
"ILS": "109.90"
}
}
],
"length": "11700"
}
]
},
"Bandar_Lengeh_Airport": {
"ICAO": "OIBL",
"elevation": "82",
"TACAN": "",
"runways": [
{
"headings": [
{
"26": {
"magHeading": "259",
"ILS": ""
},
"08": {
"magHeading": "079",
"ILS": ""
}
}
],
"length": "7900"
}
]
},
"Bandar_e_Jask_airfield": {
"ICAO": "OIZJ",
"elevation": "26",
"TACAN": "110X",
"runways": [
{
"headings": [
{
"24": {
"magHeading": "239",
"ILS": ""
},
"06": {
"magHeading": "059",
"ILS": ""
}
}
],
"length": "7300"
}
]
},
"Dubai_International_Airport": {
"ICAO": "OMDB",
"elevation": "16",
"TACAN": "",
"runways": [
{
"headings": [
{
"12L": {
"magHeading": "120",
"ILS": "110.10"
},
"30R": {
"magHeading": "300",
"ILS": "110.90"
}
}
],
"length": "11400"
},
{
"headings": [
{
"12R": {
"magHeading": "120",
"ILS": "109.50"
},
"30L": {
"magHeading": "300",
"ILS": "111.30"
}
}
],
"length": "11400"
}
]
},
"Fujarirah_AFB": {
"ICAO": "OMFJ",
"elevation": "121",
"TACAN": "",
"runways": [
{
"headings": [
{
"11": {
"magHeading": "111",
"ILS": ""
},
"29": {
"magHeading": "291",
"ILS": "111.50"
}
}
],
"length": "9700"
}
]
},
"Havadarya_AFB": {
"ICAO": "OIKP",
"elevation": "52",
"TACAN": "47X",
"runways": [
{
"headings": [
{
"26": {
"magHeading": "257",
"ILS": ""
},
"08": {
"magHeading": "077",
"ILS": "108.90"
}
}
],
"length": "7200"
}
]
},
"Jiroft_airfield": {
"ICAO": "OIKJ",
"elevation": "2664",
"TACAN": "",
"runways": [
{
"headings": [
{
"13": {
"magHeading": "125",
"ILS": ""
},
"31": {
"magHeading": "305",
"ILS": ""
}
}
],
"length": "9600"
}
]
},
"Kerman_AFB": {
"ICAO": "OIKK",
"elevation": "5745",
"TACAN": "97X",
"runways": [
{
"headings": [
{
"16": {
"magHeading": "155",
"ILS": ""
},
"34": {
"magHeading": "335",
"ILS": ""
}
}
],
"length": "12400"
}
]
},
"Khasab_AFB": {
"ICAO": "OOKB",
"elevation": "102",
"TACAN": "",
"runways": [
{
"headings": [
{
"19": {
"magHeading": "192",
"ILS": "110.30"
},
"01": {
"magHeading": "012",
"ILS": ""
}
}
],
"length": "8000"
}
]
},
"Kish_International_Airport": {
"ICAO": "OIBK",
"elevation": "115",
"TACAN": "112X",
"runways": [
{
"headings": [
{
"10": {
"magHeading": "094",
"ILS": ""
},
"28": {
"magHeading": "274",
"ILS": ""
}
}
],
"length": "11700"
},
{
"headings": [
{
"09R": {
"magHeading": "094",
"ILS": ""
},
"27L": {
"magHeading": "274",
"ILS": ""
}
}
],
"length": "11700"
}
]
},
"Lar_airbase": {
"ICAO": "OISL",
"elevation": "2635",
"TACAN": "",
"runways": [
{
"headings": [
{
"27": {
"magHeading": "268",
"ILS": ""
},
"09": {
"magHeading": "088",
"ILS": ""
}
}
],
"length": "10100"
}
]
},
"Lavan_Island_Airport": {
"ICAO": "OIBV",
"elevation": "75",
"TACAN": "",
"runways": [
{
"headings": [
{
"11": {
"magHeading": "110",
"ILS": ""
},
"29": {
"magHeading": "290",
"ILS": ""
}
}
],
"length": "8600"
}
]
},
"Liwa_Airbase": {
"ICAO": "OMLW",
"elevation": "400",
"TACAN": "121X",
"runways": [
{
"headings": [
{
"13": {
"magHeading": "130",
"ILS": ""
},
"31": {
"magHeading": "310",
"ILS": ""
}
}
],
"length": "11600"
}
]
},
"Qeshm_Airport": {
"ICAO": "OIKQ",
"elevation": "26",
"TACAN": "",
"runways": [
{
"headings": [
{
"23": {
"magHeading": "227",
"ILS": ""
},
"05": {
"magHeading": "047",
"ILS": ""
}
}
],
"length": "13600"
}
]
},
"Ras_Ai_Khaimah_International_Airport": {
"ICAO": "OMRK",
"elevation": "330",
"TACAN": "",
"runways": [
{
"headings": [
{
"17": {
"magHeading": "163",
"ILS": ""
},
"35": {
"magHeading": "343",
"ILS": ""
}
}
],
"length": "12000"
}
]
},
"Sas_Ai_Nakheel_Airport": {
"ICAO": "OMNK",
"elevation": "10",
"TACAN": "",
"runways": [
{
"headings": [
{
"16": {
"magHeading": "160",
"ILS": ""
},
"34": {
"magHeading": "340",
"ILS": ""
}
}
],
"length": "6000"
}
]
},
"Sharjah_International_Airport": {
"ICAO": "OMSJ",
"elevation": "26",
"TACAN": "",
"runways": [
{
"headings": [
{
"12L": {
"magHeading": "121",
"ILS": "108.55"
},
"30R": {
"magHeading": "301",
"ILS": "111.95"
}
}
],
"length": "10500"
},
{
"headings": [
{
"12R": {
"magHeading": "121",
"ILS": ""
},
"30L": {
"magHeading": "301",
"ILS": ""
}
}
],
"length": "10500"
}
]
},
"Shiraz_AFB": {
"ICAO": "OISS",
"elevation": "4879",
"TACAN": "94X",
"runways": [
{
"headings": [
{
"11L": {
"magHeading": "113",
"ILS": ""
},
"29R": {
"magHeading": "293",
"ILS": ""
}
}
],
"length": "14000"
},
{
"headings": [
{
"11R": {
"magHeading": "113",
"ILS": ""
},
"29L": {
"magHeading": "293",
"ILS": "108.50"
}
}
],
"length": "13800"
}
]
},
"Sir_Abu_Nuayr": {
"ICAO": "OMSN",
"elevation": "26",
"TACAN": "",
"runways": [
{
"headings": [
{
"10": {
"magHeading": "097",
"ILS": ""
},
"28": {
"magHeading": "277",
"ILS": ""
}
}
],
"length": "2300"
}
]
},
"Sirri_Island_AFB": {
"ICAO": "OIBS",
"elevation": "20",
"TACAN": "",
"runways": [
{
"headings": [
{
"12": {
"magHeading": "125",
"ILS": ""
},
"30": {
"magHeading": "305",
"ILS": ""
}
}
],
"length": "7900"
}
]
},
"Tunb_Islab_AFB": {
"ICAO": "OIGI",
"elevation": "43",
"TACAN": "",
"runways": [
{
"headings": [
{
"21": {
"magHeading": "205",
"ILS": ""
},
"03": {
"magHeading": "025",
"ILS": ""
}
}
],
"length": "6200"
}
]
},
"Tonb_e_Kochak_Airport": {
"ICAO": "OITK",
"elevation": "16",
"TACAN": "89X",
"runways": [
{
"headings": [
{
"26": {
"magHeading": "259",
"ILS": ""
},
"08": {
"magHeading": "079",
"ILS": ""
}
}
],
"length": "2500"
}
]
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -2,8 +2,7 @@ import { DivIcon } from 'leaflet';
import { CustomMarker } from '../map/custommarker';
import { SVGInjector } from '@tanem/svg-injector';
export interface AirbaseOptions
{
export interface AirbaseOptions {
name: string,
position: L.LatLng
}
@@ -28,8 +27,7 @@ export interface AirbaseChartRunwayHeadingData {
}
}
export class Airbase extends CustomMarker
{
export class Airbase extends CustomMarker {
#name: string = "";
#chartData: AirbaseChartData = {
elevation: "",
@@ -38,12 +36,11 @@ export class Airbase extends CustomMarker
runways: []
};
#coalition: string = "";
#hasChartDataBeenSet:boolean = false;
#hasChartDataBeenSet: boolean = false;
#properties: string[] = [];
#parkings: string[] = [];
constructor(options: AirbaseOptions)
{
constructor(options: AirbaseOptions) {
super(options.position, { riseOnHover: true });
this.#name = options.name;
@@ -54,12 +51,12 @@ export class Airbase extends CustomMarker
}
createIcon() {
var icon = new DivIcon({
var icon = new DivIcon({
className: 'leaflet-airbase-marker',
iconSize: [40, 40],
iconAnchor: [20, 20]
}); // Set the marker, className must be set to avoid white square
this.setIcon(icon);
}); // Set the marker, className must be set to avoid white square
this.setIcon(icon);
var el = document.createElement("div");
el.classList.add("airbase-icon");
@@ -72,55 +69,45 @@ export class Airbase extends CustomMarker
el.dataset.coalition = this.#coalition;
}
setCoalition(coalition: string)
{
setCoalition(coalition: string) {
this.#coalition = coalition;
(<HTMLElement> this.getElement()?.querySelector(".airbase-icon")).dataset.coalition = this.#coalition;
(<HTMLElement>this.getElement()?.querySelector(".airbase-icon")).dataset.coalition = this.#coalition;
}
getChartData()
{
getChartData() {
return this.#chartData;
}
getCoalition()
{
getCoalition() {
return this.#coalition;
}
setName(name: string)
{
setName(name: string) {
this.#name = name;
}
getName()
{
getName() {
return this.#name;
}
setChartData( chartData:AirbaseChartData )
{
setChartData(chartData: AirbaseChartData) {
this.#hasChartDataBeenSet = true;
this.#chartData = chartData;
this.#chartData = chartData;
}
setProperties(properties: string[])
{
setProperties(properties: string[]) {
this.#properties = properties;
}
getProperties()
{
getProperties() {
return this.#properties;
}
setParkings(parkings: string[])
{
setParkings(parkings: string[]) {
this.#parkings = parkings;
}
getParkings()
{
getParkings() {
return this.#parkings;
}
}

View File

@@ -49,17 +49,18 @@ export class MissionHandler {
updateAirbases(data: AirbasesData) {
for (let idx in data.airbases) {
var airbase = data.airbases[idx]
if (this.#airbases[idx] === undefined && airbase.callsign != '') {
this.#airbases[idx] = new Airbase({
if (this.#airbases[airbase.callsign] === undefined && airbase.callsign != '') {
this.#airbases[airbase.callsign] = new Airbase({
position: new LatLng(airbase.latitude, airbase.longitude),
name: airbase.callsign
}).addTo(getMap());
this.#airbases[idx].on('contextmenu', (e) => this.#onAirbaseClick(e));
this.#airbases[airbase.callsign].on('contextmenu', (e) => this.#onAirbaseClick(e));
this.#loadAirbaseChartData(airbase.callsign);
}
if (this.#airbases[idx] != undefined && airbase.latitude && airbase.longitude && airbase.coalition) {
this.#airbases[idx].setLatLng(new LatLng(airbase.latitude, airbase.longitude));
this.#airbases[idx].setCoalition(airbase.coalition);
if (this.#airbases[airbase.callsign] != undefined && airbase.latitude && airbase.longitude && airbase.coalition) {
this.#airbases[airbase.callsign].setLatLng(new LatLng(airbase.latitude, airbase.longitude));
this.#airbases[airbase.callsign].setCoalition(airbase.coalition);
}
}
}
@@ -72,8 +73,6 @@ export class MissionHandler {
this.#theatre = data.mission.theatre;
getMap().setTheatre(this.#theatre);
getInfoPopup().setText("Map set to " + this.#theatre);
this.#loadAirbaseChartData();
}
/* Set the date and time data */
@@ -235,32 +234,23 @@ export class MissionHandler {
getMap().showAirbaseContextMenu(e.originalEvent.x, e.originalEvent.y, e.latlng, e.sourceTarget);
}
#loadAirbaseChartData() {
#loadAirbaseChartData(callsign: string) {
if ( !this.#theatre ) {
return;
}
fetch( '/api/airbases/' + this.#theatre , {
method: 'GET',
headers: {
'Accept': '*/*',
'Content-Type': 'application/json'
var xhr = new XMLHttpRequest();
xhr.open('GET', `api/airbases/${this.#theatre.toLowerCase()}/${callsign}`, true);
xhr.responseType = 'json';
xhr.onload = () => {
var status = xhr.status;
if (status === 200) {
const data = xhr.response;
this.getAirbases()[callsign].setChartData(data);
} else {
console.error(`Error retrieving data for ${callsign} airbase`)
}
})
.then( response => response.json() )
.then( data => {
for ( const [ id, airbase ] of Object.entries( this.#airbases ) ) {
let airbaseName = airbase.getName();
if ( data.hasOwnProperty( airbaseName ) ) {
airbase.setChartData( data[ airbaseName ] );
} else {
console.error( `Airbase "${airbaseName}" not found in chart data.` );
}
}
});
};
xhr.send();
}
}

View File

@@ -4,7 +4,7 @@ import { UnitDatabase } from "./unitdatabase"
export class AircraftDatabase extends UnitDatabase {
constructor() {
super('databases/aircraftdatabase.json');
super('databases/units/aircraftdatabase.json');
}
getCategory() {

View File

@@ -4,7 +4,7 @@ import { UnitDatabase } from "./unitdatabase"
export class GroundUnitDatabase extends UnitDatabase {
constructor() {
super('databases/groundunitdatabase.json');
super('databases/units/groundunitdatabase.json');
}
getSpawnPointsByName(name: string) {

View File

@@ -4,7 +4,7 @@ import { UnitDatabase } from "./unitdatabase"
export class HelicopterDatabase extends UnitDatabase {
constructor() {
super('databases/helicopterdatabase.json');
super('databases/units/helicopterdatabase.json');
}
getSpawnPointsByName(name: string) {

View File

@@ -4,7 +4,7 @@ import { UnitDatabase } from "./unitdatabase"
export class NavyUnitDatabase extends UnitDatabase {
constructor() {
super('databases/navyunitdatabase.json');
super('databases/units/navyunitdatabase.json');
}
getSpawnPointsByName(name: string) {