mirror of
https://github.com/Pax1601/DCSOlympus.git
synced 2025-10-29 16:56:34 +00:00
Merge pull request #355 from Pax1601/208-fix-airport-info-and-spawn-menu-1
Moved code from broken branch.
This commit is contained in:
commit
df432b1635
@ -360,7 +360,7 @@ class DemoDataGenerator {
|
||||
airbases(req, res){
|
||||
var ret = {airbases: {
|
||||
["0"]: {
|
||||
callsign: "Neutral",
|
||||
callsign: "Nellis",
|
||||
latitude: 37.3,
|
||||
longitude: -115.8,
|
||||
coalition: "neutral"
|
||||
|
||||
466
client/public/databases/airbases/caucasus.json
Normal file
466
client/public/databases/airbases/caucasus.json
Normal file
@ -0,0 +1,466 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
466
client/public/databases/airbases/marianas.json
Normal file
466
client/public/databases/airbases/marianas.json
Normal file
@ -0,0 +1,466 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
558
client/public/databases/airbases/nevada.json
Normal file
558
client/public/databases/airbases/nevada.json
Normal file
@ -0,0 +1,558 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
747
client/public/databases/airbases/persiangulf.json
Normal file
747
client/public/databases/airbases/persiangulf.json
Normal file
@ -0,0 +1,747 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
1366
client/public/databases/airbases/syria.json
Normal file
1366
client/public/databases/airbases/syria.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -1074,10 +1074,6 @@ dl.ol-data-grid {
|
||||
row-gap: 4px;
|
||||
}
|
||||
|
||||
dl.ol-data-grid dd {
|
||||
width: fit-content;
|
||||
}
|
||||
|
||||
dl.ol-data-grid dt.icon {
|
||||
text-indent: 10px;
|
||||
}
|
||||
|
||||
@ -148,7 +148,7 @@
|
||||
}
|
||||
|
||||
#aircaft-loadout-list,
|
||||
#helicopter-loadout-list {
|
||||
#helicopter-loadout-list {
|
||||
align-content: center;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@ -156,7 +156,7 @@
|
||||
}
|
||||
|
||||
#aircraft-unit-image,
|
||||
#helicopter-unit-image {
|
||||
#helicopter-unit-image {
|
||||
filter: invert(100%);
|
||||
height: 100px;
|
||||
margin-bottom: 10px;
|
||||
@ -210,10 +210,10 @@
|
||||
}
|
||||
|
||||
.ol-context-menu .ol-slider-value {
|
||||
color: var(--accent-light-blue);
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
color: var(--accent-light-blue);
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.ol-context-menu .ol-slider-container {
|
||||
@ -264,6 +264,9 @@
|
||||
width: 16px;
|
||||
}
|
||||
|
||||
|
||||
/* Buttons */
|
||||
|
||||
#center-map::before {
|
||||
content: url("/resources/theme/images/icons/arrows-to-eye-solid.svg");
|
||||
}
|
||||
@ -443,4 +446,44 @@
|
||||
margin-top: 5px;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Airbase context menu */
|
||||
#airbase-chart-data dd {
|
||||
width: 60%;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#airbase-runways {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
row-gap: 4px;
|
||||
}
|
||||
|
||||
#airbase-runways>.runway {
|
||||
border: 1px solid #ccc;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
#airbase-runways>.runway abbr {
|
||||
cursor: help;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#airbase-runways>.runway>.heading {
|
||||
align-items: center;
|
||||
column-gap: 4px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
#airbase-runways>.runway>.heading>abbr {
|
||||
font-weight: var(--font-weight-bolder);
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
#airbase-runways>.runway>.heading:last-of-type {
|
||||
flex-direction: row-reverse;
|
||||
}
|
||||
@ -15,69 +15,48 @@ const allowedTheatres = [
|
||||
"syria"
|
||||
];
|
||||
|
||||
|
||||
function getAirbasesData( theatreName ) {
|
||||
|
||||
if ( !isValidTheatre( theatreName ) ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return JSON.parse( fs.readFileSync( `src/airfields/${theatreName}.json` ) ).airfields
|
||||
|
||||
return JSON.parse( fs.readFileSync( `public/databases/airbases/${theatreName}.json` ) ).airfields
|
||||
}
|
||||
|
||||
|
||||
function isValidTheatre( theatre ) {
|
||||
|
||||
return ( allowedTheatres.indexOf( theatre ) > -1 )
|
||||
|
||||
}
|
||||
|
||||
|
||||
function sendInvalidTheatre( res ) {
|
||||
|
||||
res.status( 400 ).send( "Missing/invalid theatre name; must be one of:\n\t" + allowedTheatres.join( "\n\t" ) );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**************************************************************************************************************/
|
||||
// Endpoints
|
||||
/**************************************************************************************************************/
|
||||
|
||||
|
||||
|
||||
app.get( "/", ( req, res ) => {
|
||||
|
||||
sendInvalidTheatre( res );
|
||||
|
||||
});
|
||||
|
||||
|
||||
app.get( "/:theatreName/:airbaseName", ( req, res ) => {
|
||||
|
||||
const airbases = getAirbasesData( req.params.theatreName );
|
||||
|
||||
if ( !airbases ) {
|
||||
sendInvalidTheatre( res );
|
||||
return;
|
||||
}
|
||||
|
||||
const airbaseName = req.params.airbaseName;
|
||||
|
||||
if ( !airbases.hasOwnProperty( airbaseName ) ) {
|
||||
res.status( 404 ).send( `Unknown airbase name "${airbaseName}". Available options are:\n\t` + Object.keys( airbases ).join( "\n\t" ) );
|
||||
} else {
|
||||
res.status( 200 ).json( airbases[ airbaseName ] );
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
app.get( "/:theatreName", ( req, res ) => {
|
||||
|
||||
const airbases = getAirbasesData( req.params.theatreName );
|
||||
const theatreName = req.params.theatreName.toLowerCase().replace( /\s*/g, "" );
|
||||
const airbases = getAirbasesData( theatreName );
|
||||
|
||||
if ( !airbases ) {
|
||||
sendInvalidTheatre( res );
|
||||
@ -85,9 +64,6 @@ app.get( "/:theatreName", ( req, res ) => {
|
||||
}
|
||||
|
||||
res.status( 200 ).json( airbases );
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
module.exports = app;
|
||||
6
client/src/@types/unit.d.ts
vendored
6
client/src/@types/unit.d.ts
vendored
@ -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
|
||||
}
|
||||
@ -1,361 +0,0 @@
|
||||
{
|
||||
"airfields": {
|
||||
"Anapa-Vityazevo": {
|
||||
"ICAO": "URKA",
|
||||
"Elevation": "141",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"04": {
|
||||
"Mag Hdg": "034",
|
||||
"Length": "9000",
|
||||
"ILS": ""
|
||||
},
|
||||
"22": {
|
||||
"Mag Hdg": "214",
|
||||
"Length": "9000",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Batumi": {
|
||||
"ICAO": "UGSB",
|
||||
"Elevation": "33",
|
||||
"TACAN": "16X",
|
||||
"Runways": {
|
||||
"13": {
|
||||
"Mag Hdg": "119",
|
||||
"Length": "7500",
|
||||
"ILS": ""
|
||||
},
|
||||
"31": {
|
||||
"Mag Hdg": "299",
|
||||
"Length": "7500",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Beslan": {
|
||||
"ICAO": "URMO",
|
||||
"Elevation": "1722",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"10": {
|
||||
"Mag Hdg": "086",
|
||||
"Length": "9600",
|
||||
"ILS": "110.50"
|
||||
},
|
||||
"28": {
|
||||
"Mag Hdg": "266",
|
||||
"Length": "9600",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Gelendzhik": {
|
||||
"ICAO": "URKG",
|
||||
"Elevation": "72",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"01": {
|
||||
"Mag Hdg": "032",
|
||||
"Length": "5400",
|
||||
"ILS": ""
|
||||
},
|
||||
"19": {
|
||||
"Mag Hdg": "212",
|
||||
"Length": "5400",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Gudauta": {
|
||||
"ICAO": "UG23",
|
||||
"Elevation": "69",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"15": {
|
||||
"Mag Hdg": "144",
|
||||
"Length": "7700",
|
||||
"ILS": ""
|
||||
},
|
||||
"33": {
|
||||
"Mag Hdg": "324",
|
||||
"Length": "7700",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Kobuleti": {
|
||||
"ICAO": "UG5X",
|
||||
"Elevation": "69",
|
||||
"TACAN": "67X",
|
||||
"Runways": {
|
||||
"07": {
|
||||
"Mag Hdg": "063",
|
||||
"Length": "7400",
|
||||
"ILS": "111.50"
|
||||
},
|
||||
"25": {
|
||||
"Mag Hdg": "243",
|
||||
"Length": "7400",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Krasnodar-Center": {
|
||||
"ICAO": "URKL",
|
||||
"Elevation": "98",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"09": {
|
||||
"Mag Hdg": "079",
|
||||
"Length": "7700",
|
||||
"ILS": ""
|
||||
},
|
||||
"27": {
|
||||
"Mag Hdg": "259",
|
||||
"Length": "7700",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Krasnodar-Pashkovsky": {
|
||||
"ICAO": "URKK",
|
||||
"Elevation": "112",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"05": {
|
||||
"Mag Hdg": "039",
|
||||
"Length": "9600",
|
||||
"ILS": ""
|
||||
},
|
||||
"23": {
|
||||
"Mag Hdg": "219",
|
||||
"Length": "9600",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Krymsk": {
|
||||
"ICAO": "URKW",
|
||||
"Elevation": "66",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"04": {
|
||||
"Mag Hdg": "032",
|
||||
"Length": "8000",
|
||||
"ILS": ""
|
||||
},
|
||||
"22": {
|
||||
"Mag Hdg": "212",
|
||||
"Length": "8000",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Kutaisi": {
|
||||
"ICAO": "UGKO",
|
||||
"Elevation": "148",
|
||||
"TACAN": "44X",
|
||||
"Runways": {
|
||||
"07": {
|
||||
"Mag Hdg": "067'",
|
||||
"Length": "7700",
|
||||
"ILS": "109.75"
|
||||
},
|
||||
"25": {
|
||||
"Mag Hdg": "247",
|
||||
"Length": "7700",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Maykop-Khanskaya": {
|
||||
"ICAO": "URKH",
|
||||
"Elevation": "591",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"04": {
|
||||
"Mag Hdg": "031",
|
||||
"Length": "10100",
|
||||
"ILS": ""
|
||||
},
|
||||
"22": {
|
||||
"Mag Hdg": "211",
|
||||
"Length": "10100",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Mineralnye Vody": {
|
||||
"ICAO": "URMM",
|
||||
"Elevation": "1050",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"12": {
|
||||
"Mag Hdg": "108",
|
||||
"Length": "12700",
|
||||
"ILS": "111.70"
|
||||
},
|
||||
"30": {
|
||||
"Mag Hdg": "288",
|
||||
"Length": "12700",
|
||||
"ILS": "109.30"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Mozdok": {
|
||||
"ICAO": "XRMF",
|
||||
"Elevation": "507",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"08": {
|
||||
"Mag Hdg": "075",
|
||||
"Length": "9400",
|
||||
"ILS": ""
|
||||
},
|
||||
"26": {
|
||||
"Mag Hdg": "255",
|
||||
"Length": "9400",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Nalchick": {
|
||||
"ICAO": "URMN",
|
||||
"Elevation": "1411",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"06": {
|
||||
"Mag Hdg": "048'",
|
||||
"Length": "7000",
|
||||
"ILS": ""
|
||||
},
|
||||
"24": {
|
||||
"Mag Hdg": "228",
|
||||
"Length": "7000",
|
||||
"ILS": "110.50"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Novorossiysk": {
|
||||
"ICAO": "URKN",
|
||||
"Elevation": "131",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"04": {
|
||||
"Mag Hdg": "034",
|
||||
"Length": "5400",
|
||||
"ILS": ""
|
||||
},
|
||||
"22": {
|
||||
"Mag Hdg": "214",
|
||||
"Length": "5400",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Senaki-Kolkhi": {
|
||||
"ICAO": "UGKS",
|
||||
"Elevation": "43",
|
||||
"TACAN": "31X",
|
||||
"Runways": {
|
||||
"09": {
|
||||
"Mag Hdg": "088'",
|
||||
"Length": "7400",
|
||||
"ILS": "108.90"
|
||||
},
|
||||
"27": {
|
||||
"Mag Hdg": "268",
|
||||
"Length": "7400",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Sochi-Adler": {
|
||||
"ICAO": "URSS",
|
||||
"Elevation": "98",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"06": {
|
||||
"Mag Hdg": "055",
|
||||
"Length": "9700",
|
||||
"ILS": "111.10"
|
||||
},
|
||||
"27": {
|
||||
"Mag Hdg": "235",
|
||||
"Length": "9700",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Tbilisi-Lochini": {
|
||||
"ICAO": "UGTB",
|
||||
"Elevation": "1574",
|
||||
"TACAN": "25X",
|
||||
"Runways": {
|
||||
"13": {
|
||||
"Mag Hdg": "121",
|
||||
"Length": "9300",
|
||||
"ILS": "110.30"
|
||||
},
|
||||
"31": {
|
||||
"Mag Hdg": "301",
|
||||
"Length": "9300",
|
||||
"ILS": "108.90"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Soganlug": {
|
||||
"ICAO": "UG24",
|
||||
"Elevation": "1500",
|
||||
"TACAN": "25X",
|
||||
"Runways": {
|
||||
"14": {
|
||||
"Mag Hdg": "125",
|
||||
"Length": "6500",
|
||||
"ILS": ""
|
||||
},
|
||||
"32": {
|
||||
"Mag Hdg": "305",
|
||||
"Length": "6500",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Sukhumi-Babushara": {
|
||||
"ICAO": "UGSS",
|
||||
"Elevation": "43",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"12": {
|
||||
"Mag Hdg": "109",
|
||||
"Length": "11400",
|
||||
"ILS": ""
|
||||
},
|
||||
"30": {
|
||||
"Mag Hdg": "289",
|
||||
"Length": "11400",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Vaziani": {
|
||||
"ICAO": "UG27",
|
||||
"Elevation": "1524",
|
||||
"TACAN": "22X",
|
||||
"Runways": {
|
||||
"13": {
|
||||
"Mag Hdg": "129",
|
||||
"Length": "7700",
|
||||
"ILS": "108.75"
|
||||
},
|
||||
"31": {
|
||||
"Mag Hdg": "309",
|
||||
"Length": "7700",
|
||||
"ILS": "108.75"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,170 +0,0 @@
|
||||
{
|
||||
"airfields": {
|
||||
"Andersen_AFB": {
|
||||
"ICAO": "PGUA",
|
||||
"Elevation": "606",
|
||||
"TACAN": "54X",
|
||||
"Runways:": {
|
||||
"06L": {
|
||||
"Mag Hdg": "066",
|
||||
"Length": "10300",
|
||||
"ILS": "109.30"
|
||||
},
|
||||
"24R": {
|
||||
"Mag Hdg": "246",
|
||||
"Length": "10300",
|
||||
"ILS": "109.35"
|
||||
},
|
||||
"06R": {
|
||||
"Mag Hdg": "066",
|
||||
"Length": "10900",
|
||||
"ILS": "110.10"
|
||||
},
|
||||
"24l": {
|
||||
"Mag Hdg": "246",
|
||||
"Length": "10900",
|
||||
"ILS": "110.15"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Antonio_B._Won_Pat_Int_Airport": {
|
||||
"ICAO": "PGUM",
|
||||
"Elevation": "255",
|
||||
"TACAN": "105X",
|
||||
"Runways:": {
|
||||
"06L": {
|
||||
"Mag Hdg": "066",
|
||||
"Length": "10600",
|
||||
"ILS": "110.30"
|
||||
},
|
||||
"24R": {
|
||||
"Mag Hdg": "245",
|
||||
"Length": "10600",
|
||||
"ILS": ""
|
||||
},
|
||||
"06R": {
|
||||
"Mag Hdg": "066",
|
||||
"Length": "8600",
|
||||
"ILS": "110.90"
|
||||
},
|
||||
"24L": {
|
||||
"Mag Hdg": "245",
|
||||
"Length": "8600",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"North_West_Field": {
|
||||
"ICAO": "",
|
||||
"Elevation": "522",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"06": {
|
||||
"Mag Hdg": "063",
|
||||
"Length": "4500",
|
||||
"ILS": ""
|
||||
},
|
||||
"24": {
|
||||
"Mag Hdg": "243",
|
||||
"Length": "4500",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Olf_Orote_Field": {
|
||||
"ICAO": "",
|
||||
"Elevation": "94",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"07": {
|
||||
"Mag Hdg": "067",
|
||||
"Length": "3500",
|
||||
"ILS": ""
|
||||
},
|
||||
"25": {
|
||||
"Mag Hdg": "247",
|
||||
"Length": "3500",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Pagan_Airstrip": {
|
||||
"ICAO": "",
|
||||
"Elevation": "49",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"11": {
|
||||
"Mag Hdg": "112",
|
||||
"Length": "1800",
|
||||
"ILS": ""
|
||||
},
|
||||
"29": {
|
||||
"Mag Hdg": "292",
|
||||
"Length": "1800",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Rota_Int": {
|
||||
"ICAO": "PGRO",
|
||||
"Elevation": "569",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"09": {
|
||||
"Mag Hdg": "092",
|
||||
"Length": "6600",
|
||||
"ILS": ""
|
||||
},
|
||||
"27": {
|
||||
"Mag Hdg": "272",
|
||||
"Length": "6600",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Saipan_Int": {
|
||||
"ICAO": "PGSN",
|
||||
"Elevation": "213",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"06": {
|
||||
"Mag Hdg": "068",
|
||||
"Length": "6200",
|
||||
"ILS": ""
|
||||
},
|
||||
"24": {
|
||||
"Mag Hdg": "248",
|
||||
"Length": "6200",
|
||||
"ILS": ""
|
||||
},
|
||||
"07": {
|
||||
"Mag Hdg": "068",
|
||||
"Length": "10600",
|
||||
"ILS": "109.90"
|
||||
},
|
||||
"25": {
|
||||
"Mag Hdg": "248",
|
||||
"Length": "10600",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Tinian_Int": {
|
||||
"ICAO": "PGWT",
|
||||
"Elevation": "284",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"08": {
|
||||
"Mag Hdg": "079",
|
||||
"Length": "8200",
|
||||
"ILS": ""
|
||||
},
|
||||
"26": {
|
||||
"Mag Hdg": "259",
|
||||
"Length": "8200",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,413 +0,0 @@
|
||||
{
|
||||
"airfields": {
|
||||
"BeattyAirport": {
|
||||
"ICAO": "KBTY",
|
||||
"Elevation": "3173",
|
||||
"TACAN": "94X",
|
||||
"Runways:": {
|
||||
"16": {
|
||||
"Mag Hdg": "168",
|
||||
"Length": "5500",
|
||||
"ILS": ""
|
||||
},
|
||||
"34": {
|
||||
"Mag Hdg": "348",
|
||||
"Length": "5500",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"BoulderCityAirport": {
|
||||
"ICAO": "KBVU",
|
||||
"Elevation": "2205",
|
||||
"TACAN": "114X",
|
||||
"Runways:": {
|
||||
"09": {
|
||||
"Mag Hdg": "087",
|
||||
"Length": "4400",
|
||||
"ILS": ""
|
||||
},
|
||||
"27": {
|
||||
"Mag Hdg": "267",
|
||||
"Length": "4400",
|
||||
"ILS": ""
|
||||
},
|
||||
"15": {
|
||||
"Mag Hdg": "153",
|
||||
"Length": "3700",
|
||||
"ILS": ""
|
||||
},
|
||||
"33": {
|
||||
"Mag Hdg": "333",
|
||||
"Length": "3700",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Creech": {
|
||||
"ICAO": "KINS",
|
||||
"Elevation": "3126",
|
||||
"TACAN": "87X",
|
||||
"Runways:": {
|
||||
"08": {
|
||||
"Mag Hdg": "080",
|
||||
"Length": "8700",
|
||||
"ILS": "108.70"
|
||||
},
|
||||
"26": {
|
||||
"Mag Hdg": "260",
|
||||
"Length": "8700",
|
||||
"ILS": ""
|
||||
},
|
||||
"13": {
|
||||
"Mag Hdg": "134",
|
||||
"Length": "4700",
|
||||
"ILS": ""
|
||||
},
|
||||
"31": {
|
||||
"Mag Hdg": "314",
|
||||
"Length": "4700",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"EchoBayAirport": {
|
||||
"ICAO": "0L9",
|
||||
"Elevation": "1549",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"06": {
|
||||
"Mag Hdg": "066",
|
||||
"Length": "3300",
|
||||
"ILS": ""
|
||||
},
|
||||
"24": {
|
||||
"Mag Hdg": "246",
|
||||
"Length": "3300",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"groom": {
|
||||
"ICAO": "KXTA",
|
||||
"Elevation": "4495",
|
||||
"TACAN": "18X",
|
||||
"Runways:": {
|
||||
"14L": {
|
||||
"Mag Hdg": "145",
|
||||
"Length": "11700",
|
||||
"ILS": ""
|
||||
},
|
||||
"32R": {
|
||||
"Mag Hdg": "325",
|
||||
"Length": "11700",
|
||||
"ILS": "109.30"
|
||||
},
|
||||
"14R (CLOSED)": {
|
||||
"Mag Hdg": "145",
|
||||
"Length": "17800",
|
||||
"ILS": ""
|
||||
},
|
||||
"32L (CLOSED)": {
|
||||
"Mag Hdg": "325",
|
||||
"Length": "17800",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"HendersonExecutiveAirport": {
|
||||
"ICAO": "KHND",
|
||||
"Elevation": "2493",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"17L": {
|
||||
"Mag Hdg": "168",
|
||||
"Length": "4600",
|
||||
"ILS": ""
|
||||
},
|
||||
"35R": {
|
||||
"Mag Hdg": "348",
|
||||
"Length": "4600",
|
||||
"ILS": ""
|
||||
},
|
||||
"17R": {
|
||||
"Mag Hdg": "168",
|
||||
"Length": "6100",
|
||||
"ILS": ""
|
||||
},
|
||||
"35L": {
|
||||
"Mag Hdg": "348",
|
||||
"Length": "6100",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"JeanAirport": {
|
||||
"ICAO": "",
|
||||
"Elevation": "2825",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"02L": {
|
||||
"Mag Hdg": "020",
|
||||
"Length": "4500",
|
||||
"ILS": ""
|
||||
},
|
||||
"20R": {
|
||||
"Mag Hdg": "200",
|
||||
"Length": "4500",
|
||||
"ILS": ""
|
||||
},
|
||||
"02R": {
|
||||
"Mag Hdg": "020",
|
||||
"Length": "3600",
|
||||
"ILS": ""
|
||||
},
|
||||
"20L": {
|
||||
"Mag Hdg": "200",
|
||||
"Length": "3600",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"LasVegas": {
|
||||
"ICAO": "KLAS",
|
||||
"Elevation": "2178",
|
||||
"TACAN": "116X",
|
||||
"Runways:": {
|
||||
"01L": {
|
||||
"Mag Hdg": "013",
|
||||
"Length": "8000",
|
||||
"ILS": ""
|
||||
},
|
||||
"19R": {
|
||||
"Mag Hdg": "193",
|
||||
"Length": "8000",
|
||||
"ILS": ""
|
||||
},
|
||||
"01R": {
|
||||
"Mag Hdg": "013",
|
||||
"Length": "8000",
|
||||
"ILS": ""
|
||||
},
|
||||
"19L": {
|
||||
"Mag Hdg": "193",
|
||||
"Length": "8000",
|
||||
"ILS": ""
|
||||
},
|
||||
"07L": {
|
||||
"Mag Hdg": "078",
|
||||
"Length": "10600",
|
||||
"ILS": ""
|
||||
},
|
||||
"25R": {
|
||||
"Mag Hdg": "258",
|
||||
"Length": "10600",
|
||||
"ILS": "110.30"
|
||||
},
|
||||
"07R": {
|
||||
"Mag Hdg": "078",
|
||||
"Length": "10100",
|
||||
"ILS": ""
|
||||
},
|
||||
"25L": {
|
||||
"Mag Hdg": "258",
|
||||
"Length": "10100",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"LaughlinAirport": {
|
||||
"ICAO": "KIFP",
|
||||
"Elevation": "673",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"16": {
|
||||
"Mag Hdg": "164",
|
||||
"Length": "7100",
|
||||
"ILS": ""
|
||||
},
|
||||
"34": {
|
||||
"Mag Hdg": "344",
|
||||
"Length": "7100",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"LincolnCountyAirport": {
|
||||
"ICAO": "",
|
||||
"Elevation": "4816",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"17": {
|
||||
"Mag Hdg": "170",
|
||||
"Length": "4500",
|
||||
"ILS": ""
|
||||
},
|
||||
"35": {
|
||||
"Mag Hdg": "350",
|
||||
"Length": "4500",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"MesquiteAirport": {
|
||||
"ICAO": "67L",
|
||||
"Elevation": "1859",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"01": {
|
||||
"Mag Hdg": "017",
|
||||
"Length": "5000",
|
||||
"ILS": ""
|
||||
},
|
||||
"19": {
|
||||
"Mag Hdg": "197",
|
||||
"Length": "5000",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"MinahAirport_3Q0": {
|
||||
"ICAO": "",
|
||||
"Elevation": "4560",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"13": {
|
||||
"Mag Hdg": "140",
|
||||
"Length": "4100",
|
||||
"ILS": ""
|
||||
},
|
||||
"31": {
|
||||
"Mag Hdg": "320",
|
||||
"Length": "4100",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"nellis": {
|
||||
"ICAO": "KLSV",
|
||||
"Elevation": "1849",
|
||||
"TACAN": "12X",
|
||||
"Runways:": {
|
||||
"03L": {
|
||||
"Mag Hdg": "029",
|
||||
"Length": "9800",
|
||||
"ILS": ""
|
||||
},
|
||||
"21R": {
|
||||
"Mag Hdg": "209",
|
||||
"Length": "9800",
|
||||
"ILS": ""
|
||||
},
|
||||
"03R": {
|
||||
"Mag Hdg": "029",
|
||||
"Length": "9800",
|
||||
"ILS": ""
|
||||
},
|
||||
"21L": {
|
||||
"Mag Hdg": "209",
|
||||
"Length": "9800",
|
||||
"ILS": "109.10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"NorthLasVegasAirport": {
|
||||
"ICAO": "KVGT",
|
||||
"Elevation": "2228",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"07": {
|
||||
"Mag Hdg": "076",
|
||||
"Length": "4900",
|
||||
"ILS": ""
|
||||
},
|
||||
"25": {
|
||||
"Mag Hdg": "256",
|
||||
"Length": "4900",
|
||||
"ILS": ""
|
||||
},
|
||||
"12L": {
|
||||
"Mag Hdg": "122",
|
||||
"Length": "3800",
|
||||
"ILS": "110.70"
|
||||
},
|
||||
"30R": {
|
||||
"Mag Hdg": "302",
|
||||
"Length": "3800",
|
||||
"ILS": "109.10"
|
||||
},
|
||||
"12R": {
|
||||
"Mag Hdg": "122",
|
||||
"Length": "4600",
|
||||
"ILS": ""
|
||||
},
|
||||
"30L": {
|
||||
"Mag Hdg": "302",
|
||||
"Length": "4600",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"PahuteMesaAirstrip": {
|
||||
"ICAO": "",
|
||||
"Elevation": "5059",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"18": {
|
||||
"Mag Hdg": "182",
|
||||
"Length": "5500",
|
||||
"ILS": ""
|
||||
},
|
||||
"36": {
|
||||
"Mag Hdg": "002",
|
||||
"Length": "5500",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"TonopahAirport": {
|
||||
"ICAO": "KTPH",
|
||||
"Elevation": "5390",
|
||||
"TACAN": "119X",
|
||||
"Runways:": {
|
||||
"11": {
|
||||
"Mag Hdg": "113",
|
||||
"Length": "5600",
|
||||
"ILS": ""
|
||||
},
|
||||
"29": {
|
||||
"Mag Hdg": "293",
|
||||
"Length": "5600",
|
||||
"ILS": ""
|
||||
},
|
||||
"15": {
|
||||
"Mag Hdg": "153",
|
||||
"Length": "6800",
|
||||
"ILS": ""
|
||||
},
|
||||
"33": {
|
||||
"Mag Hdg": "333",
|
||||
"Length": "6800",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"TonopathAFB": {
|
||||
"ICAO": "KTNX",
|
||||
"Elevation": "5535",
|
||||
"TACAN": "77X",
|
||||
"Runways:": {
|
||||
"14": {
|
||||
"Mag Hdg": "145",
|
||||
"Length": "11700",
|
||||
"ILS": "108.30"
|
||||
},
|
||||
"32": {
|
||||
"Mag Hdg": "325",
|
||||
"Length": "11700",
|
||||
"ILS": "111.70"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,567 +0,0 @@
|
||||
{
|
||||
"airfields": {
|
||||
"Abu_Dhabi_International_Airport": {
|
||||
"ICAO": "OMAA",
|
||||
"Elevation": "92",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"13L": {
|
||||
"Mag Hdg": "127",
|
||||
"Length": "13100",
|
||||
"ILS": ""
|
||||
},
|
||||
"13R": {
|
||||
"Mag Hdg": "127",
|
||||
"Length": "13200",
|
||||
"ILS": ""
|
||||
},
|
||||
"31L": {
|
||||
"Mag Hdg": "307",
|
||||
"Length": "13100",
|
||||
"ILS": ""
|
||||
},
|
||||
"31R": {
|
||||
"Mag Hdg": "307",
|
||||
"Length": "13200",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Ai_Ain_International_Airport": {
|
||||
"ICAO": "OMAL",
|
||||
"Elevation": "814",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"01": {
|
||||
"Mag Hdg": "006",
|
||||
"Length": "12800",
|
||||
"ILS": ""
|
||||
},
|
||||
"19": {
|
||||
"Mag Hdg": "186",
|
||||
"Length": "12800",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"abu_musa_airport": {
|
||||
"ICAO": "OIBA",
|
||||
"Elevation": "16",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"08": {
|
||||
"Mag Hdg": "082",
|
||||
"Length": "7800",
|
||||
"ILS": ""
|
||||
},
|
||||
"26": {
|
||||
"Mag Hdg": "262",
|
||||
"Length": "7800",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Dhafra_AFB": {
|
||||
"ICAO": "OMAM",
|
||||
"Elevation": "52",
|
||||
"TACAN": "96X",
|
||||
"Runways:": {
|
||||
"13L": {
|
||||
"Mag Hdg": "126",
|
||||
"Length": "11700",
|
||||
"ILS": "111.10"
|
||||
},
|
||||
"31R": {
|
||||
"Mag Hdg": "306",
|
||||
"Length": "11700",
|
||||
"ILS": "109.10"
|
||||
},
|
||||
"13R": {
|
||||
"Mag Hdg": "16",
|
||||
"Length": "11700",
|
||||
"ILS": "108.70"
|
||||
},
|
||||
"31L": {
|
||||
"Mag Hdg": "306",
|
||||
"Length": "11700",
|
||||
"ILS": "108.70"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Al_Maktoum_International_Airport": {
|
||||
"ICAO": "OMDW",
|
||||
"Elevation": "125",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"12": {
|
||||
"Mag Hdg": "120",
|
||||
"Length": "14400",
|
||||
"ILS": "111.75"
|
||||
},
|
||||
"30": {
|
||||
"Mag Hdg": "300",
|
||||
"Length": "14400",
|
||||
"ILS": "109.75"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Minhad_AFB": {
|
||||
"ICAO": "OMDM",
|
||||
"Elevation": "190",
|
||||
"TACAN": "99X",
|
||||
"Runways:": {
|
||||
"09": {
|
||||
"Mag Hdg": "088",
|
||||
"Length": "12600",
|
||||
"ILS": "110.70"
|
||||
},
|
||||
"27": {
|
||||
"Mag Hdg": "268",
|
||||
"Length": "12600",
|
||||
"ILS": "110.75"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Al_Bateen_Airport": {
|
||||
"ICAO": "OMAD",
|
||||
"Elevation": "12",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"13": {
|
||||
"Mag Hdg": "127",
|
||||
"Length": "7000",
|
||||
"ILS": ""
|
||||
},
|
||||
"31": {
|
||||
"Mag Hdg": "307",
|
||||
"Length": "7000",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Bandar_Abbas_airfield": {
|
||||
"ICAO": "OIKB",
|
||||
"Elevation": "29",
|
||||
"TACAN": "78X",
|
||||
"Runways:": {
|
||||
"03L": {
|
||||
"Mag Hdg": "25",
|
||||
"Length": "11000",
|
||||
"ILS": ""
|
||||
},
|
||||
"21R": {
|
||||
"Mag Hdg": "205",
|
||||
"Length": "10000",
|
||||
"ILS": ""
|
||||
},
|
||||
"03R": {
|
||||
"Mag Hdg": "25",
|
||||
"Length": "11700",
|
||||
"ILS": ""
|
||||
},
|
||||
"21L": {
|
||||
"Mag Hdg": "205",
|
||||
"Length": "11700",
|
||||
"ILS": "109.90"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Bandar_Lengeh_Airport": {
|
||||
"ICAO": "OIBL",
|
||||
"Elevation": "82",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"08": {
|
||||
"Mag Hdg": "079",
|
||||
"Length": "7900",
|
||||
"ILS": ""
|
||||
},
|
||||
"26": {
|
||||
"Mag Hdg": "259",
|
||||
"Length": "7900",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Bandar_e_Jask_airfield": {
|
||||
"ICAO": "OIZJ",
|
||||
"Elevation": "26",
|
||||
"TACAN": "110X",
|
||||
"Runways:": {
|
||||
"06": {
|
||||
"Mag Hdg": "059",
|
||||
"Length": "7300",
|
||||
"ILS": ""
|
||||
},
|
||||
"24": {
|
||||
"Mag Hdg": "239",
|
||||
"Length": "7300",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Dubai_International_Airport": {
|
||||
"ICAO": "OMDB",
|
||||
"Elevation": "16",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"12L": {
|
||||
"Mag Hdg": "120",
|
||||
"Length": "11400",
|
||||
"ILS": "110.10"
|
||||
},
|
||||
"30R": {
|
||||
"Mag Hdg": "300",
|
||||
"Length": "11400",
|
||||
"ILS": "110.90"
|
||||
},
|
||||
"12R": {
|
||||
"Mag Hdg": "120",
|
||||
"Length": "11400",
|
||||
"ILS": "109.50"
|
||||
},
|
||||
"30L": {
|
||||
"Mag Hdg": "300",
|
||||
"Length": "11400",
|
||||
"ILS": "111.30"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Fujarirah_AFB": {
|
||||
"ICAO": "OMFJ",
|
||||
"Elevation": "121",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"11": {
|
||||
"Mag Hdg": "111",
|
||||
"Length": "9700",
|
||||
"ILS": ""
|
||||
},
|
||||
"29": {
|
||||
"Mag Hdg": "291",
|
||||
"Length": "9700",
|
||||
"ILS": "111.50"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Havadarya_AFB": {
|
||||
"ICAO": "OIKP",
|
||||
"Elevation": "52",
|
||||
"TACAN": "47X",
|
||||
"Runways:": {
|
||||
"08": {
|
||||
"Mag Hdg": "077",
|
||||
"Length": "7200",
|
||||
"ILS": "108.90"
|
||||
},
|
||||
"26": {
|
||||
"Mag Hdg": "257",
|
||||
"Length": "7200",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Jiroft_airfield": {
|
||||
"ICAO": "OIKJ",
|
||||
"Elevation": "2664",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"13": {
|
||||
"Mag Hdg": "125",
|
||||
"Length": "9600",
|
||||
"ILS": ""
|
||||
},
|
||||
"31": {
|
||||
"Mag Hdg": "305",
|
||||
"Length": "9600",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Kerman_AFB": {
|
||||
"ICAO": "OIKK",
|
||||
"Elevation": "5745",
|
||||
"TACAN": "97X",
|
||||
"Runways:": {
|
||||
"16": {
|
||||
"Mag Hdg": "155",
|
||||
"Length": "12400",
|
||||
"ILS": ""
|
||||
},
|
||||
"34": {
|
||||
"Mag Hdg": "335",
|
||||
"Length": "12400",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Khasab_AFB": {
|
||||
"ICAO": "OOKB",
|
||||
"Elevation": "102",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"01": {
|
||||
"Mag Hdg": "012",
|
||||
"Length": "8000",
|
||||
"ILS": ""
|
||||
},
|
||||
"19": {
|
||||
"Mag Hdg": "192",
|
||||
"Length": "8000",
|
||||
"ILS": "110.30"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Kish_International_Airport": {
|
||||
"ICAO": "OIBK",
|
||||
"Elevation": "115",
|
||||
"TACAN": "112X",
|
||||
"Runways:": {
|
||||
"10": {
|
||||
"Mag Hdg": "094",
|
||||
"Length": "11700",
|
||||
"ILS": ""
|
||||
},
|
||||
"28": {
|
||||
"Mag Hdg": "274",
|
||||
"Length": "11700",
|
||||
"ILS": ""
|
||||
},
|
||||
"09R": {
|
||||
"Mag Hdg": "094",
|
||||
"Length": "11700",
|
||||
"ILS": ""
|
||||
},
|
||||
"27L": {
|
||||
"Mag Hdg": "274",
|
||||
"Length": "11700",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Lar_airbase": {
|
||||
"ICAO": "OISL",
|
||||
"Elevation": "2635",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"09": {
|
||||
"Mag Hdg": "088",
|
||||
"Length": "10100",
|
||||
"ILS": ""
|
||||
},
|
||||
"27": {
|
||||
"Mag Hdg": "268",
|
||||
"Length": "10100",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Lavan_Island_Airport": {
|
||||
"ICAO": "OIBV",
|
||||
"Elevation": "75",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"11": {
|
||||
"Mag Hdg": "110",
|
||||
"Length": "8600",
|
||||
"ILS": ""
|
||||
},
|
||||
"29": {
|
||||
"Mag Hdg": "290",
|
||||
"Length": "8600",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Liwa_Airbase": {
|
||||
"ICAO": "OMLW",
|
||||
"Elevation": "400",
|
||||
"TACAN": "121X",
|
||||
"Runways:": {
|
||||
"13": {
|
||||
"Mag Hdg": "130",
|
||||
"Length": "11600",
|
||||
"ILS": ""
|
||||
},
|
||||
"31": {
|
||||
"Mag Hdg": "310",
|
||||
"Length": "11600",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Qeshm_Airport": {
|
||||
"ICAO": "OIKQ",
|
||||
"Elevation": "26",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"05": {
|
||||
"Mag Hdg": "047",
|
||||
"Length": "13600",
|
||||
"ILS": ""
|
||||
},
|
||||
"23": {
|
||||
"Mag Hdg": "227",
|
||||
"Length": "13600",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Ras_Ai_Khaimah_International_Airport": {
|
||||
"ICAO": "OMRK",
|
||||
"Elevation": "330",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"17": {
|
||||
"Mag Hdg": "163",
|
||||
"Length": "12000",
|
||||
"ILS": ""
|
||||
},
|
||||
"35": {
|
||||
"Mag Hdg": "343",
|
||||
"Length": "12000",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Sas_Ai_Nakheel_Airport": {
|
||||
"ICAO": "OMNK",
|
||||
"Elevation": "10",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"16": {
|
||||
"Mag Hdg": "160",
|
||||
"Length": "6000",
|
||||
"ILS": ""
|
||||
},
|
||||
"34": {
|
||||
"Mag Hdg": "340",
|
||||
"Length": "6000",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Sharjah_International_Airport": {
|
||||
"ICAO": "OMSJ",
|
||||
"Elevation": "26",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"12L": {
|
||||
"Mag Hdg": "121",
|
||||
"Length": "10500",
|
||||
"ILS": "108.55"
|
||||
},
|
||||
"30R": {
|
||||
"Mag Hdg": "301",
|
||||
"Length": "10500",
|
||||
"ILS": "111.95"
|
||||
},
|
||||
"12R": {
|
||||
"Mag Hdg": "121",
|
||||
"Length": "10500",
|
||||
"ILS": ""
|
||||
},
|
||||
"30L": {
|
||||
"Mag Hdg": "301",
|
||||
"Length": "10500",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Shiraz_AFB": {
|
||||
"ICAO": "OISS",
|
||||
"Elevation": "4879",
|
||||
"TACAN": "94X",
|
||||
"Runways:": {
|
||||
"11L": {
|
||||
"Mag Hdg": "113",
|
||||
"Length": "14000",
|
||||
"ILS": ""
|
||||
},
|
||||
"29R": {
|
||||
"Mag Hdg": "293",
|
||||
"Length": "14000",
|
||||
"ILS": ""
|
||||
},
|
||||
"11R": {
|
||||
"Mag Hdg": "113",
|
||||
"Length": "13800",
|
||||
"ILS": ""
|
||||
},
|
||||
"29L": {
|
||||
"Mag Hdg": "293",
|
||||
"Length": "13800",
|
||||
"ILS": "108.50"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Sir_Abu_Nuayr": {
|
||||
"ICAO": "OMSN",
|
||||
"Elevation": "26",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"10": {
|
||||
"Mag Hdg": "097",
|
||||
"Length": "2300",
|
||||
"ILS": ""
|
||||
},
|
||||
"28": {
|
||||
"Mag Hdg": "277",
|
||||
"Length": "2300",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Sirri_Island_AFB": {
|
||||
"ICAO": "OIBS",
|
||||
"Elevation": "20",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"12": {
|
||||
"Mag Hdg": "125",
|
||||
"Length": "7900",
|
||||
"ILS": ""
|
||||
},
|
||||
"30": {
|
||||
"Mag Hdg": "305",
|
||||
"Length": "7900",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Tunb_Islab_AFB": {
|
||||
"ICAO": "OIGI",
|
||||
"Elevation": "43",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"03": {
|
||||
"Mag Hdg": "025",
|
||||
"Length": "6200",
|
||||
"ILS": ""
|
||||
},
|
||||
"21": {
|
||||
"Mag Hdg": "205",
|
||||
"Length": "6200",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Tonb_e_Kochak_Airport": {
|
||||
"ICAO": "OITK",
|
||||
"Elevation": "16",
|
||||
"TACAN": "89X",
|
||||
"Runways:": {
|
||||
"08": {
|
||||
"Mag Hdg": "079",
|
||||
"Length": "2500",
|
||||
"ILS": ""
|
||||
},
|
||||
"26": {
|
||||
"Mag Hdg": "259",
|
||||
"Length": "2500",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,995 +0,0 @@
|
||||
{
|
||||
"airfields": {
|
||||
"Abu_al-Duhur": {
|
||||
"ICAO": "OS57",
|
||||
"Elevation": "820",
|
||||
"TACAN": "",
|
||||
"Runways:": {
|
||||
"09": {
|
||||
"Mag Hdg": "088",
|
||||
"Length": "9200",
|
||||
"ILS": ""
|
||||
},
|
||||
"27": {
|
||||
"Mag Hdg": "268",
|
||||
"Length": "9200",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Adana": {
|
||||
"ICAO": "LTAF",
|
||||
"Elevation": "56",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"05": {
|
||||
"Mag Hdg": "050",
|
||||
"Length": "8800",
|
||||
"ILS": "108.70"
|
||||
},
|
||||
"23": {
|
||||
"Mag Hdg": "230",
|
||||
"Length": "8800",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Akrotiri": {
|
||||
"ICAO": "LCRA",
|
||||
"Elevation": "69",
|
||||
"TACAN": "107X",
|
||||
"Runways": {
|
||||
"10": {
|
||||
"Mag Hdg": "106",
|
||||
"Length": "8800",
|
||||
"ILS": ""
|
||||
},
|
||||
"28": {
|
||||
"Mag Hdg": "286",
|
||||
"Length": "8800",
|
||||
"ILS": "109.70"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Al_Qusayr": {
|
||||
"ICAO": "OS70",
|
||||
"Elevation": "1729",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"10": {
|
||||
"Mag Hdg": "096",
|
||||
"Length": "9500",
|
||||
"ILS": ""
|
||||
},
|
||||
"28": {
|
||||
"Mag Hdg": "276",
|
||||
"Length": "9500",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Dumayr": {
|
||||
"ICAO": "OS61",
|
||||
"Elevation": "2067",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"06": {
|
||||
"Mag Hdg": "060",
|
||||
"Length": "9500",
|
||||
"ILS": ""
|
||||
},
|
||||
"24": {
|
||||
"Mag Hdg": "240",
|
||||
"Length": "9500",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Aleppo": {
|
||||
"ICAO": "OSAP",
|
||||
"Elevation": "1254",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"09": {
|
||||
"Mag Hdg": "092",
|
||||
"Length": "9200",
|
||||
"ILS": ""
|
||||
},
|
||||
"27": {
|
||||
"Mag Hdg": "272",
|
||||
"Length": "9200",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"An_Nasiriyah": {
|
||||
"ICAO": "OSAP",
|
||||
"Elevation": "1254",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"09": {
|
||||
"Mag Hdg": "092",
|
||||
"Length": "9200",
|
||||
"ILS": ""
|
||||
},
|
||||
"27": {
|
||||
"Mag Hdg": "272",
|
||||
"Length": "9200",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"At_Tanf": {
|
||||
"ICAO": "",
|
||||
"Elevation": "2329",
|
||||
"TACAN": "",
|
||||
"Runways": ""
|
||||
},
|
||||
"Bassel_Al-Assad": {
|
||||
"ICAO": "OSLK",
|
||||
"Elevation": "92",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"17L": {
|
||||
"Mag Hdg": "173",
|
||||
"Length": "7900",
|
||||
"ILS": ""
|
||||
},
|
||||
"35R": {
|
||||
"Mag Hdg": "353",
|
||||
"Length": "7900",
|
||||
"ILS": ""
|
||||
},
|
||||
"17R": {
|
||||
"Mag Hdg": "173",
|
||||
"Length": "8900",
|
||||
"ILS": "109.10"
|
||||
},
|
||||
"35L": {
|
||||
"Mag Hdg": "353",
|
||||
"Length": "8900",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Beirut": {
|
||||
"ICAO": "OLBA",
|
||||
"Elevation": "39",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"03": {
|
||||
"Mag Hdg": "030",
|
||||
"Length": "7000",
|
||||
"ILS": "110.70"
|
||||
},
|
||||
"21": {
|
||||
"Mag Hdg": "210",
|
||||
"Length": "7000",
|
||||
"ILS": ""
|
||||
},
|
||||
"16": {
|
||||
"Mag Hdg": "164",
|
||||
"Length": "10300",
|
||||
"ILS": "110.10"
|
||||
},
|
||||
"34": {
|
||||
"Mag Hdg": "344",
|
||||
"Length": "10300",
|
||||
"ILS": ""
|
||||
},
|
||||
"17": {
|
||||
"Mag Hdg": "174",
|
||||
"Length": "7600",
|
||||
"ILS": "109.50"
|
||||
},
|
||||
"35": {
|
||||
"Mag Hdg": "354",
|
||||
"Length": "7600",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Damascus": {
|
||||
"ICAO": "OSDI",
|
||||
"Elevation": "2008",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"05L": {
|
||||
"Mag Hdg": "045",
|
||||
"Length": "11600",
|
||||
"ILS": ""
|
||||
},
|
||||
"23R": {
|
||||
"Mag Hdg": "225",
|
||||
"Length": "11600",
|
||||
"ILS": "109.90"
|
||||
},
|
||||
"05R": {
|
||||
"Mag Hdg": "045",
|
||||
"Length": "11600",
|
||||
"ILS": "111.10"
|
||||
},
|
||||
"23L": {
|
||||
"Mag Hdg": "225",
|
||||
"Length": "11600",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Deir_ez_Zor": {
|
||||
"ICAO": "OSDZ",
|
||||
"Elevation": "713",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"10": {
|
||||
"Mag Hdg": "104",
|
||||
"Length": "9500",
|
||||
"ILS": ""
|
||||
},
|
||||
"28": {
|
||||
"Mag Hdg": "284",
|
||||
"Length": "9500",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Ercan": {
|
||||
"ICAO": "LCEN",
|
||||
"Elevation": "312",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"11": {
|
||||
"Mag Hdg": "110",
|
||||
"Length": "8700",
|
||||
"ILS": ""
|
||||
},
|
||||
"29": {
|
||||
"Mag Hdg": "290",
|
||||
"Length": "8700",
|
||||
"ILS": "108.30"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Eyn_Shemer": {
|
||||
"ICAO": "LLES",
|
||||
"Elevation": "110",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"09": {
|
||||
"Mag Hdg": "095",
|
||||
"Length": "4000",
|
||||
"ILS": ""
|
||||
},
|
||||
"27": {
|
||||
"Mag Hdg": "2750",
|
||||
"Length": "4000",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Gaziantep": {
|
||||
"ICAO": "LTAJ",
|
||||
"Elevation": "2290",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"10": {
|
||||
"Mag Hdg": "100",
|
||||
"Length": "9100",
|
||||
"ILS": ""
|
||||
},
|
||||
"28": {
|
||||
"Mag Hdg": "280",
|
||||
"Length": "9100",
|
||||
"ILS": "109.10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Gazipasa": {
|
||||
"ICAO": "LTFG",
|
||||
"Elevation": "130",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"08": {
|
||||
"Mag Hdg": "080",
|
||||
"Length": "7500",
|
||||
"ILS": "108.50"
|
||||
},
|
||||
"26": {
|
||||
"Mag Hdg": "260",
|
||||
"Length": "7500",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Gecitkale": {
|
||||
"ICAO": "LCGK",
|
||||
"Elevation": "148",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"09": {
|
||||
"Mag Hdg": "088",
|
||||
"Length": "9100",
|
||||
"ILS": "108.50"
|
||||
},
|
||||
"27": {
|
||||
"Mag Hdg": "268",
|
||||
"Length": "9100",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"H3": {
|
||||
"ICAO": "",
|
||||
"Elevation": "2583",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"06": {
|
||||
"Mag Hdg": "059",
|
||||
"Length": "9800",
|
||||
"ILS": ""
|
||||
},
|
||||
"24": {
|
||||
"Mag Hdg": "239",
|
||||
"Length": "9800",
|
||||
"ILS": ""
|
||||
},
|
||||
"11": {
|
||||
"Mag Hdg": "107",
|
||||
"Length": "9500",
|
||||
"ILS": ""
|
||||
},
|
||||
"29": {
|
||||
"Mag Hdg": "287",
|
||||
"Length": "9500",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"H3_Northwest": {
|
||||
"ICAO": "",
|
||||
"Elevation": "2582",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"12": {
|
||||
"Mag Hdg": "117",
|
||||
"Length": "8000",
|
||||
"ILS": ""
|
||||
},
|
||||
"30": {
|
||||
"Mag Hdg": "297",
|
||||
"Length": "8000",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"H3_Southwest": {
|
||||
"ICAO": "",
|
||||
"Elevation": "2671",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"12": {
|
||||
"Mag Hdg": "116",
|
||||
"Length": "8000",
|
||||
"ILS": ""
|
||||
},
|
||||
"30": {
|
||||
"Mag Hdg": "296",
|
||||
"Length": "8000",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"H4": {
|
||||
"ICAO": "OJHR",
|
||||
"Elevation": "2257",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"10": {
|
||||
"Mag Hdg": "098",
|
||||
"Length": "8000",
|
||||
"ILS": ""
|
||||
},
|
||||
"28": {
|
||||
"Mag Hdg": "278",
|
||||
"Length": "8000",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Haifa": {
|
||||
"ICAO": "LLHA",
|
||||
"Elevation": "20",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"16": {
|
||||
"Mag Hdg": "157",
|
||||
"Length": "3300",
|
||||
"ILS": ""
|
||||
},
|
||||
"34": {
|
||||
"Mag Hdg": "337",
|
||||
"Length": "3300",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Hama": {
|
||||
"ICAO": "OS58",
|
||||
"Elevation": "984",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"09": {
|
||||
"Mag Hdg": "095",
|
||||
"Length": "8600",
|
||||
"ILS": ""
|
||||
},
|
||||
"27": {
|
||||
"Mag Hdg": "275",
|
||||
"Length": "8600",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Hatay": {
|
||||
"ICAO": "LTDA",
|
||||
"Elevation": "253",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"04": {
|
||||
"Mag Hdg": "039",
|
||||
"Length": "9600",
|
||||
"ILS": "108.90"
|
||||
},
|
||||
"22": {
|
||||
"Mag Hdg": "219",
|
||||
"Length": "9600",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Incirlik": {
|
||||
"ICAO": "LTAG",
|
||||
"Elevation": "230",
|
||||
"TACAN": "21X",
|
||||
"Runways": {
|
||||
"05": {
|
||||
"Mag Hdg": "049",
|
||||
"Length": "9600",
|
||||
"ILS": "109.30"
|
||||
},
|
||||
"23": {
|
||||
"Mag Hdg": "229",
|
||||
"Length": "9500",
|
||||
"ILS": "111.70"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Jirah": {
|
||||
"ICAO": "OS62",
|
||||
"Elevation": "1173",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"10": {
|
||||
"Mag Hdg": "095",
|
||||
"Length": "9600",
|
||||
"ILS": ""
|
||||
},
|
||||
"28": {
|
||||
"Mag Hdg": "275",
|
||||
"Length": "9600",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Khalkhalah": {
|
||||
"ICAO": "OS69",
|
||||
"Elevation": "2418",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"07": {
|
||||
"Mag Hdg": "071",
|
||||
"Length": "9500",
|
||||
"ILS": ""
|
||||
},
|
||||
"25": {
|
||||
"Mag Hdg": "251",
|
||||
"Length": "9500",
|
||||
"ILS": ""
|
||||
},
|
||||
"15": {
|
||||
"Mag Hdg": "146",
|
||||
"Length": "8300",
|
||||
"ILS": ""
|
||||
},
|
||||
"33": {
|
||||
"Mag Hdg": "326",
|
||||
"Length": "8300",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Kharab_Ishk": {
|
||||
"ICAO": "",
|
||||
"Elevation": "1416",
|
||||
"TACAN": "",
|
||||
"Runways": ""
|
||||
},
|
||||
"King_Hussein": {
|
||||
"ICAO": "OJMF",
|
||||
"Elevation": "2205",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"13": {
|
||||
"Mag Hdg": "127",
|
||||
"Length": "9500",
|
||||
"ILS": ""
|
||||
},
|
||||
"31": {
|
||||
"Mag Hdg": "307",
|
||||
"Length": "9500",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Kingsfield": {
|
||||
"ICAO": "LCRE",
|
||||
"Elevation": "276",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"06": {
|
||||
"Mag Hdg": "058",
|
||||
"Length": "3300",
|
||||
"ILS": ""
|
||||
},
|
||||
"24": {
|
||||
"Mag Hdg": "238",
|
||||
"Length": "3300",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Kiryat_Shmona": {
|
||||
"ICAO": "LLKS",
|
||||
"Elevation": "360",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"03": {
|
||||
"Mag Hdg": "033",
|
||||
"Length": "3500",
|
||||
"ILS": ""
|
||||
},
|
||||
"21": {
|
||||
"Mag Hdg": "213",
|
||||
"Length": "3500",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Kuweires": {
|
||||
"ICAO": "OS66",
|
||||
"Elevation": "1201",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"10": {
|
||||
"Mag Hdg": "095",
|
||||
"Length": "7700",
|
||||
"ILS": ""
|
||||
},
|
||||
"28": {
|
||||
"Mag Hdg": "275",
|
||||
"Length": "7700",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Lakatamia": {
|
||||
"ICAO": "",
|
||||
"Elevation": "758",
|
||||
"TACAN": "",
|
||||
"Runways": ""
|
||||
},
|
||||
"Larnaca": {
|
||||
"ICAO": "LCRE",
|
||||
"Elevation": "16",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"04": {
|
||||
"Mag Hdg": "043",
|
||||
"Length": "8800",
|
||||
"ILS": ""
|
||||
},
|
||||
"22": {
|
||||
"Mag Hdg": "223",
|
||||
"Length": "8800",
|
||||
"ILS": "110.30"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Marj_Al_Sultan": {
|
||||
"ICAO": "",
|
||||
"Elevation": "2008",
|
||||
"TACAN": "",
|
||||
"Runways": ""
|
||||
},
|
||||
"Marj_Ruhayyil": {
|
||||
"ICAO": "OS63",
|
||||
"Elevation": "2161",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"06L": {
|
||||
"Mag Hdg": "059",
|
||||
"Length": "9400",
|
||||
"ILS": ""
|
||||
},
|
||||
"24R": {
|
||||
"Mag Hdg": "239",
|
||||
"Length": "9400",
|
||||
"ILS": ""
|
||||
},
|
||||
"06R": {
|
||||
"Mag Hdg": "059",
|
||||
"Length": "8400",
|
||||
"ILS": ""
|
||||
},
|
||||
"24L": {
|
||||
"Mag Hdg": "239",
|
||||
"Length": "8400",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Megiddo": {
|
||||
"ICAO": "LLMG",
|
||||
"Elevation": "180",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"09": {
|
||||
"Mag Hdg": "088",
|
||||
"Length": "6200",
|
||||
"ILS": ""
|
||||
},
|
||||
"27": {
|
||||
"Mag Hdg": "268",
|
||||
"Length": "6200",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Mezzeh": {
|
||||
"ICAO": "OS67",
|
||||
"Elevation": "2387",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"06": {
|
||||
"Mag Hdg": "056",
|
||||
"Length": "8800",
|
||||
"ILS": ""
|
||||
},
|
||||
"24": {
|
||||
"Mag Hdg": "236",
|
||||
"Length": "8800",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Minakh": {
|
||||
"ICAO": "OS71",
|
||||
"Elevation": "1614",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"10": {
|
||||
"Mag Hdg": "096",
|
||||
"Length": "4500",
|
||||
"ILS": ""
|
||||
},
|
||||
"28": {
|
||||
"Mag Hdg": "276",
|
||||
"Length": "4500",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Naqoura": {
|
||||
"ICAO": "",
|
||||
"Elevation": "381",
|
||||
"TACAN": "",
|
||||
"Runways": ""
|
||||
},
|
||||
"Palmyra": {
|
||||
"ICAO": "OSPR",
|
||||
"Elevation": "1325",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"08": {
|
||||
"Mag Hdg": "079",
|
||||
"Length": "9200",
|
||||
"ILS": ""
|
||||
},
|
||||
"26": {
|
||||
"Mag Hdg": "259",
|
||||
"Length": "9200",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Paphos": {
|
||||
"ICAO": "LCPH",
|
||||
"Elevation": "40",
|
||||
"TACAN": "79X",
|
||||
"Runways": {
|
||||
"11": {
|
||||
"Mag Hdg": "109",
|
||||
"Length": "8600",
|
||||
"ILS": ""
|
||||
},
|
||||
"29": {
|
||||
"Mag Hdg": "289",
|
||||
"Length": "8600",
|
||||
"ILS": "108.90"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Qabr_al_Sitt": {
|
||||
"ICAO": "",
|
||||
"Elevation": "2135",
|
||||
"TACAN": "",
|
||||
"Runways": ""
|
||||
},
|
||||
"Ramat_David": {
|
||||
"ICAO": "LLRD",
|
||||
"Elevation": "146",
|
||||
"TACAN": "84X",
|
||||
"Runways": {
|
||||
"09": {
|
||||
"Mag Hdg": "084",
|
||||
"Length": "7600",
|
||||
"ILS": ""
|
||||
},
|
||||
"27": {
|
||||
"Mag Hdg": "264",
|
||||
"Length": "7600",
|
||||
"ILS": ""
|
||||
},
|
||||
"11": {
|
||||
"Mag Hdg": "105",
|
||||
"Length": "7700",
|
||||
"ILS": ""
|
||||
},
|
||||
"29": {
|
||||
"Mag Hdg": "285",
|
||||
"Length": "7700",
|
||||
"ILS": ""
|
||||
},
|
||||
"15": {
|
||||
"Mag Hdg": "141",
|
||||
"Length": "7700",
|
||||
"ILS": ""
|
||||
},
|
||||
"33": {
|
||||
"Mag Hdg": "321",
|
||||
"Length": "7700",
|
||||
"ILS": "111.10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Rayak": {
|
||||
"ICAO": "OLRA",
|
||||
"Elevation": "3035",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"04": {
|
||||
"Mag Hdg": "042",
|
||||
"Length": "9400",
|
||||
"ILS": ""
|
||||
},
|
||||
"22": {
|
||||
"Mag Hdg": "222",
|
||||
"Length": "9400",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Rene_Mouawad": {
|
||||
"ICAO": "OLKA",
|
||||
"Elevation": "23",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"06": {
|
||||
"Mag Hdg": "058",
|
||||
"Length": "9000",
|
||||
"ILS": ""
|
||||
},
|
||||
"24": {
|
||||
"Mag Hdg": "238",
|
||||
"Length": "9000",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Rosh_Pina": {
|
||||
"ICAO": "LLIB",
|
||||
"Elevation": "914",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"05": {
|
||||
"Mag Hdg": "049",
|
||||
"Length": "3200",
|
||||
"ILS": ""
|
||||
},
|
||||
"23": {
|
||||
"Mag Hdg": "229",
|
||||
"Length": "3200",
|
||||
"ILS": ""
|
||||
},
|
||||
"15": {
|
||||
"Mag Hdg": "147",
|
||||
"Length": "2900",
|
||||
"ILS": ""
|
||||
},
|
||||
"33": {
|
||||
"Mag Hdg": "327",
|
||||
"Length": "2900",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Ruwayshid": {
|
||||
"ICAO": "",
|
||||
"Elevation": "2980",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"09": {
|
||||
"Mag Hdg": "091",
|
||||
"Length": "7000",
|
||||
"ILS": ""
|
||||
},
|
||||
"27": {
|
||||
"Mag Hdg": "271",
|
||||
"Length": "7000",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Sanliurfa": {
|
||||
"ICAO": "LTCS",
|
||||
"Elevation": "2703",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"04": {
|
||||
"Mag Hdg": "036",
|
||||
"Length": "12900",
|
||||
"ILS": ""
|
||||
},
|
||||
"22": {
|
||||
"Mag Hdg": "216",
|
||||
"Length": "12900",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Sayqal": {
|
||||
"ICAO": "OS68",
|
||||
"Elevation": "2274",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"05": {
|
||||
"Mag Hdg": "055",
|
||||
"Length": "7600",
|
||||
"ILS": ""
|
||||
},
|
||||
"23": {
|
||||
"Mag Hdg": "235",
|
||||
"Length": "7600",
|
||||
"ILS": ""
|
||||
},
|
||||
"08": {
|
||||
"Mag Hdg": "085",
|
||||
"Length": "9500",
|
||||
"ILS": ""
|
||||
},
|
||||
"26": {
|
||||
"Mag Hdg": "265",
|
||||
"Length": "9500",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Shayrat": {
|
||||
"ICAO": "OS65",
|
||||
"Elevation": "2638",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"11": {
|
||||
"Mag Hdg": "107",
|
||||
"Length": "9300",
|
||||
"ILS": ""
|
||||
},
|
||||
"29": {
|
||||
"Mag Hdg": "287",
|
||||
"Length": "9300",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Tabqa": {
|
||||
"ICAO": "OS59",
|
||||
"Elevation": "1099",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"09": {
|
||||
"Mag Hdg": "088",
|
||||
"Length": "9300",
|
||||
"ILS": ""
|
||||
},
|
||||
"27": {
|
||||
"Mag Hdg": "268",
|
||||
"Length": "9300",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Taftanaz": {
|
||||
"ICAO": "",
|
||||
"Elevation": "",
|
||||
"TACAN": "",
|
||||
"Runways": ""
|
||||
},
|
||||
"Tal_Siman": {
|
||||
"ICAO": "",
|
||||
"Elevation": "",
|
||||
"TACAN": "",
|
||||
"Runways": ""
|
||||
},
|
||||
"thalah": {
|
||||
"ICAO": "OS60",
|
||||
"Elevation": "2414",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"05": {
|
||||
"Mag Hdg": "053",
|
||||
"Length": "9500",
|
||||
"ILS": ""
|
||||
},
|
||||
"23": {
|
||||
"Mag Hdg": "233",
|
||||
"Length": "9500",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Tiyas": {
|
||||
"ICAO": "OS72",
|
||||
"Elevation": "1798",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"09": {
|
||||
"Mag Hdg": "085",
|
||||
"Length": "9500",
|
||||
"ILS": ""
|
||||
},
|
||||
"27": {
|
||||
"Mag Hdg": "265",
|
||||
"Length": "9500",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"Wujah_Al_Hajar": {
|
||||
"ICAO": "Z190",
|
||||
"Elevation": "641",
|
||||
"TACAN": "",
|
||||
"Runways": {
|
||||
"02": {
|
||||
"Mag Hdg": "024",
|
||||
"Length": "4800",
|
||||
"ILS": ""
|
||||
},
|
||||
"20": {
|
||||
"Mag Hdg": "204",
|
||||
"Length": "4800",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,6 +1,7 @@
|
||||
import { getMap, getMissionHandler, getUnitsManager, setActiveCoalition } from "..";
|
||||
import { BLUE_COMMANDER, GAME_MASTER, RED_COMMANDER } from "../constants/constants";
|
||||
import { Airbase } from "../mission/airbase";
|
||||
import { dataPointMap } from "../other/utils";
|
||||
import { ContextMenu } from "./contextmenu";
|
||||
|
||||
export class AirbaseContextMenu extends ContextMenu {
|
||||
@ -21,12 +22,16 @@ export class AirbaseContextMenu extends ContextMenu {
|
||||
|
||||
setAirbase(airbase: Airbase) {
|
||||
this.#airbase = airbase;
|
||||
this.setName(airbase.getName());
|
||||
this.setProperties(airbase.getProperties());
|
||||
this.setParkings(airbase.getParkings());
|
||||
this.setCoalition(airbase.getCoalition());
|
||||
this.enableLandButton(getUnitsManager().getSelectedUnitsTypes().length == 1 && ["Aircraft", "Helicopter"].includes(getUnitsManager().getSelectedUnitsTypes()[0]) && (getUnitsManager().getSelectedUnitsCoalition() === airbase.getCoalition() || airbase.getCoalition() === "neutral"))
|
||||
this.setName(this.#airbase.getName());
|
||||
this.setProperties(this.#airbase.getProperties());
|
||||
this.setParkings(this.#airbase.getParkings());
|
||||
this.setCoalition(this.#airbase.getCoalition());
|
||||
this.enableLandButton(getUnitsManager().getSelectedUnitsTypes().length == 1 && ["Aircraft", "Helicopter"].includes(getUnitsManager().getSelectedUnitsTypes()[0]) && (getUnitsManager().getSelectedUnitsCoalition() === this.#airbase.getCoalition() || this.#airbase.getCoalition() === "neutral"))
|
||||
this.enableSpawnButton(getMissionHandler().getCommandModeOptions().commandMode == GAME_MASTER || this.#airbase.getCoalition() == getMissionHandler().getCommandedCoalition());
|
||||
|
||||
this.#setAirbaseData();
|
||||
|
||||
this.clip();
|
||||
}
|
||||
|
||||
setName(airbaseName: string) {
|
||||
@ -75,4 +80,60 @@ export class AirbaseContextMenu extends ContextMenu {
|
||||
getMap().getMapContextMenu().setLatLng(this.#airbase.getLatLng());
|
||||
}
|
||||
}
|
||||
|
||||
#setAirbaseData() {
|
||||
if (this.#airbase && this.getContainer()) {
|
||||
dataPointMap(this.getContainer() as HTMLElement, {
|
||||
"coalition": this.#airbase.getCoalition(),
|
||||
"airbaseName": this.#airbase.getName()
|
||||
});
|
||||
|
||||
dataPointMap( this.getContainer() as HTMLElement, this.#airbase.getChartData() );
|
||||
|
||||
const runwaysContainer = this.getContainer()?.querySelector( "#airbase-runways" ) as HTMLElement;
|
||||
runwaysContainer.innerHTML = "";
|
||||
|
||||
if ( runwaysContainer instanceof HTMLElement ) {
|
||||
const runways = this.#airbase.getChartData().runways;
|
||||
|
||||
if ( runways.length === 0 ) {
|
||||
runwaysContainer.innerText = "No data";
|
||||
} else {
|
||||
runways.forEach( runway => {
|
||||
let runwayDiv = document.createElement( "div" );
|
||||
runwayDiv.classList.add( "runway" );
|
||||
|
||||
runway.headings.forEach( headings => {
|
||||
for ( const [ heading, data ] of Object.entries( headings ) ) {
|
||||
|
||||
let headingDiv = document.createElement( "div" );
|
||||
headingDiv.classList.add( "heading" );
|
||||
|
||||
let abbr = document.createElement( "abbr" );
|
||||
abbr.title = `Mag heading: ${data.magHeading}`;
|
||||
abbr.innerText = heading;
|
||||
|
||||
headingDiv.appendChild( abbr );
|
||||
runwayDiv.appendChild( headingDiv );
|
||||
|
||||
if ( data.ILS ) {
|
||||
let ilsDiv = document.createElement( "div" );
|
||||
ilsDiv.classList.add( "ils" );
|
||||
|
||||
abbr = document.createElement( "abbr" );
|
||||
abbr.title = data.ILS;
|
||||
abbr.innerText = "ILS";
|
||||
|
||||
ilsDiv.appendChild( abbr );
|
||||
headingDiv.appendChild( ilsDiv );
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
runwaysContainer.appendChild( runwayDiv );
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2,33 +2,61 @@ 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
|
||||
}
|
||||
|
||||
export class Airbase extends CustomMarker
|
||||
{
|
||||
|
||||
export interface AirbaseChartData {
|
||||
elevation: string,
|
||||
ICAO: string,
|
||||
TACAN: string,
|
||||
runways: AirbaseChartRunwayData[]
|
||||
}
|
||||
|
||||
export interface AirbaseChartRunwayData {
|
||||
"headings": AirbaseChartRunwayHeadingData[],
|
||||
"length": string
|
||||
}
|
||||
|
||||
export interface AirbaseChartRunwayHeadingData {
|
||||
[index: string]: {
|
||||
"magHeading": string,
|
||||
"ILS": string
|
||||
}
|
||||
}
|
||||
|
||||
export class Airbase extends CustomMarker {
|
||||
#name: string = "";
|
||||
#chartData: AirbaseChartData = {
|
||||
elevation: "",
|
||||
ICAO: "",
|
||||
TACAN: "",
|
||||
runways: []
|
||||
};
|
||||
#coalition: string = "";
|
||||
#hasChartDataBeenSet: boolean = false;
|
||||
#properties: string[] = [];
|
||||
#parkings: string[] = [];
|
||||
|
||||
constructor(options: AirbaseOptions)
|
||||
{
|
||||
constructor(options: AirbaseOptions) {
|
||||
super(options.position, { riseOnHover: true });
|
||||
|
||||
this.#name = options.name;
|
||||
}
|
||||
|
||||
chartDataHasBeenSet() {
|
||||
return this.#hasChartDataBeenSet;
|
||||
}
|
||||
|
||||
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");
|
||||
@ -41,44 +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;
|
||||
}
|
||||
|
||||
getCoalition()
|
||||
{
|
||||
getChartData() {
|
||||
return this.#chartData;
|
||||
}
|
||||
|
||||
getCoalition() {
|
||||
return this.#coalition;
|
||||
}
|
||||
|
||||
setName(name: string)
|
||||
{
|
||||
setName(name: string) {
|
||||
this.#name = name;
|
||||
}
|
||||
|
||||
getName()
|
||||
{
|
||||
getName() {
|
||||
return this.#name;
|
||||
}
|
||||
|
||||
setProperties(properties: string[])
|
||||
{
|
||||
setChartData(chartData: AirbaseChartData) {
|
||||
this.#hasChartDataBeenSet = true;
|
||||
this.#chartData = chartData;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
import { LatLng } from "leaflet";
|
||||
import { getInfoPopup, getMap } from "..";
|
||||
import { Airbase } from "./airbase";
|
||||
import { Airbase, AirbaseChartData } from "./airbase";
|
||||
import { Bullseye } from "./bullseye";
|
||||
import { BLUE_COMMANDER, GAME_MASTER, NONE, RED_COMMANDER } from "../constants/constants";
|
||||
import { refreshAll, setCommandModeOptions } from "../server/server";
|
||||
@ -49,23 +49,25 @@ 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
updateMission(data: MissionData) {
|
||||
if (data.mission) {
|
||||
|
||||
/* Set the mission theatre */
|
||||
if (data.mission.theatre != this.#theatre) {
|
||||
this.#theatre = data.mission.theatre;
|
||||
@ -231,4 +233,24 @@ export class MissionHandler {
|
||||
#onAirbaseClick(e: any) {
|
||||
getMap().showAirbaseContextMenu(e.originalEvent.x, e.originalEvent.y, e.latlng, e.sourceTarget);
|
||||
}
|
||||
|
||||
#loadAirbaseChartData(callsign: string) {
|
||||
if ( !this.#theatre ) {
|
||||
return;
|
||||
}
|
||||
|
||||
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`)
|
||||
}
|
||||
};
|
||||
xhr.send();
|
||||
}
|
||||
}
|
||||
@ -4,7 +4,7 @@ import { UnitDatabase } from "./unitdatabase"
|
||||
|
||||
export class AircraftDatabase extends UnitDatabase {
|
||||
constructor() {
|
||||
super('databases/aircraftdatabase.json');
|
||||
super('databases/units/aircraftdatabase.json');
|
||||
}
|
||||
|
||||
getCategory() {
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -211,12 +211,23 @@
|
||||
|
||||
<div id="airbase-contextmenu" class="ol-panel" oncontextmenu="return false;">
|
||||
<h3 id="airbase-name"></h3>
|
||||
<div id="airbase-properties"></div>
|
||||
|
||||
<hr />
|
||||
|
||||
<h4>Parking available:</h4>
|
||||
<div id="airbase-parking"></div>
|
||||
<dl id="airbase-chart-data" class="ol-data-grid">
|
||||
<dt>ICAO</dt>
|
||||
<dd data-point="ICAO"></dd>
|
||||
<dt>Coalition</dt>
|
||||
<dd data-point="coalition"></dd>
|
||||
<dt>Elevation</dt>
|
||||
<dd><span data-point="elevation"></span>ft</dd>
|
||||
<dt>TACAN</dt>
|
||||
<dd data-point="TACAN"></dd>
|
||||
</dl>
|
||||
|
||||
<h4>Runways</h4>
|
||||
<div id="airbase-runways">
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<button id="spawn-airbase-aircraft-button" data-coalition="blue" title="Spawn aircraft" data-on-click="contextMenuSpawnAirbase" class="deploy-unit-button">Spawn</button>
|
||||
<button id="land-here-button" title="Land here" data-on-click="contextMenuLandAirbase" class="hide">Land here</button>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user