mirror of
https://github.com/Pax1601/DCSOlympus.git
synced 2025-10-29 16:56:34 +00:00
Refactoring of building scripts
This commit is contained in:
14
client/.vscode/launch.json
vendored
14
client/.vscode/launch.json
vendored
@@ -7,7 +7,7 @@
|
||||
{
|
||||
"type": "chrome",
|
||||
"request": "launch",
|
||||
"name": "Launch Chrome against localhost",
|
||||
"name": "Launch Chrome",
|
||||
"url": "http://localhost:3000",
|
||||
"webRoot": "${workspaceFolder}/public/",
|
||||
"sourceMapPathOverrides": {
|
||||
@@ -15,6 +15,18 @@
|
||||
},
|
||||
"preLaunchTask": "server",
|
||||
"port": 9222
|
||||
},
|
||||
{
|
||||
"type": "chrome",
|
||||
"request": "launch",
|
||||
"name": "Launch Chrome (No DCS)",
|
||||
"url": "http://localhost:3000",
|
||||
"webRoot": "${workspaceFolder}/public/",
|
||||
"sourceMapPathOverrides": {
|
||||
"src/*": "${workspaceFolder}/src/*"
|
||||
},
|
||||
"preLaunchTask": "server-nodcs",
|
||||
"port": 9222
|
||||
}
|
||||
]
|
||||
}
|
||||
6
client/.vscode/tasks.json
vendored
6
client/.vscode/tasks.json
vendored
@@ -8,6 +8,12 @@
|
||||
"type": "shell",
|
||||
"command": "npm run debug",
|
||||
"isBackground": true
|
||||
},
|
||||
{
|
||||
"label": "server-nodcs",
|
||||
"type": "shell",
|
||||
"command": "npm run debug-nodcs",
|
||||
"isBackground": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,167 +0,0 @@
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const yargs = require('yargs');
|
||||
const prompt = require('prompt-sync')({sigint: true});
|
||||
const sha256 = require('sha256');
|
||||
var jsonPath = path.join('..', 'olympus.json');
|
||||
var regedit = require('regedit')
|
||||
|
||||
const shellFoldersKey = 'HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders'
|
||||
const saveGamesKey = '{4C5C32FF-BB9D-43B0-B5B4-2D72E54EAAA4}'
|
||||
|
||||
/* Set the acceptable values */
|
||||
yargs.alias('a', 'address').describe('a', 'Backend address').string('a');
|
||||
yargs.alias('b', 'backendPort').describe('b', 'Backend port').number('b');
|
||||
yargs.alias('c', 'clientPort').describe('c', 'Client port').number('c');
|
||||
yargs.alias('p', 'gameMasterPassword').describe('p', 'Game Master password').string('p');
|
||||
yargs.alias('bp', 'blueCommanderPassword').describe('bp', 'Blue Commander password').string('bp');
|
||||
yargs.alias('rp', 'redCommanderPassword').describe('rp', 'Red Commander password').string('rp');
|
||||
yargs.alias('d', 'directory').describe('d', 'Directory where the DCS Olympus configurator is located').string('rp');
|
||||
args = yargs.argv;
|
||||
|
||||
async function run() {
|
||||
/* Check that we can read the json */
|
||||
if (fs.existsSync(jsonPath)) {
|
||||
var json = JSON.parse(fs.readFileSync(jsonPath, 'utf-8'));
|
||||
|
||||
var address = args.address ?? json["server"]["address"];
|
||||
var clientPort = args.clientPort ?? json["client"]["port"];
|
||||
var backendPort = args.backendPort ?? json["server"]["port"];
|
||||
var gameMasterPassword = args.gameMasterPassword? sha256(args.gameMasterPassword): json["authentication"]["gameMasterPassword"];
|
||||
var blueCommanderPassword = args.blueCommanderPassword? sha256(args.blueCommanderPassword): json["authentication"]["blueCommanderPassword"];
|
||||
var redCommanderPassword = args.redCommanderPassword? sha256(args.redCommanderPassword): json["authentication"]["redCommanderPassword"];
|
||||
|
||||
/* Run in interactive mode */
|
||||
if (args.address === undefined && args.clientPort === undefined && args.backendPort === undefined &&
|
||||
args.gameMasterPassword === undefined && args.blueCommanderPassword === undefined && args.redCommanderPassword === undefined) {
|
||||
|
||||
var newValue;
|
||||
var result;
|
||||
|
||||
/* Get the new address */
|
||||
newValue = prompt(`Insert an address or press Enter to keep current value ${address}. Use * for any address: `);
|
||||
address = newValue !== ""? newValue: address;
|
||||
|
||||
/* Get the new client port */
|
||||
while (true) {
|
||||
newValue = prompt(`Insert a client port or press Enter to keep current value ${clientPort}. Integers between 1025 and 65535: `);
|
||||
if (newValue === "")
|
||||
break;
|
||||
result = Number(newValue);
|
||||
|
||||
if (!isNaN(result) && Number.isInteger(result) && result > 1024 && result <= 65535)
|
||||
break;
|
||||
}
|
||||
clientPort = newValue? result: clientPort;
|
||||
|
||||
/* Get the new backend port */
|
||||
while (true) {
|
||||
newValue = prompt(`Insert a backend port or press Enter to keep current value ${backendPort}. Integers between 1025 and 65535: `);
|
||||
if (newValue === "")
|
||||
break;
|
||||
result = Number(newValue);
|
||||
|
||||
if (!isNaN(result) && Number.isInteger(result) && result > 1024 && result <= 65535 && result != clientPort)
|
||||
break;
|
||||
|
||||
if (result === clientPort)
|
||||
console.log("Client port and backend port must be different.");
|
||||
}
|
||||
backendPort = newValue? result: backendPort;
|
||||
|
||||
/* Get the new Game Master password */
|
||||
newValue = prompt(`Insert a new Game Master password or press Enter to keep current value: `, {echo: "*"});
|
||||
gameMasterPassword = newValue !== ""? sha256(newValue): gameMasterPassword;
|
||||
|
||||
/* Get the new Blue Commander password */
|
||||
newValue = prompt(`Insert a new Blue Commander password or press Enter to keep current value: `, {echo: "*"});
|
||||
blueCommanderPassword = newValue !== ""? sha256(newValue): blueCommanderPassword;
|
||||
|
||||
/* Get the new Red Commander password */
|
||||
newValue = prompt(`Insert a new Red Commander password or press Enter to keep current value: `, {echo: "*"});
|
||||
redCommanderPassword = newValue !== ""? sha256(newValue): redCommanderPassword;
|
||||
}
|
||||
|
||||
/* Apply the inputs */
|
||||
json["server"]["address"] = address;
|
||||
json["client"]["port"] = clientPort;
|
||||
json["server"]["port"] = backendPort;
|
||||
json["authentication"]["gameMasterPassword"] = gameMasterPassword;
|
||||
json["authentication"]["blueCommanderPassword"] = blueCommanderPassword;
|
||||
json["authentication"]["redCommanderPassword"] = redCommanderPassword;
|
||||
|
||||
/* Write the result to disk */
|
||||
const serialized = JSON.stringify(json, null, 4);
|
||||
fs.writeFileSync(jsonPath, serialized, 'utf8');
|
||||
console.log("Olympus.json updated correctly, goodbye!");
|
||||
}
|
||||
else {
|
||||
console.error("Error, could not read olympus.json file!")
|
||||
}
|
||||
|
||||
/* Wait a bit before closing the window */
|
||||
await new Promise(resolve => setTimeout(resolve, 3000));
|
||||
}
|
||||
|
||||
console.log('\x1b[36m%s\x1b[0m', "*********************************************************************");
|
||||
console.log('\x1b[36m%s\x1b[0m', "* _____ _____ _____ ____ _ *");
|
||||
console.log('\x1b[36m%s\x1b[0m', "* | __ \\ / ____|/ ____| / __ \\| | *");
|
||||
console.log('\x1b[36m%s\x1b[0m', "* | | | | | | (___ | | | | |_ _ _ __ ___ _ __ _ _ ___ *");
|
||||
console.log('\x1b[36m%s\x1b[0m', "* | | | | | \\___ \\ | | | | | | | | '_ ` _ \\| '_ \\| | | / __| *");
|
||||
console.log('\x1b[36m%s\x1b[0m', "* | |__| | |____ ____) | | |__| | | |_| | | | | | | |_) | |_| \\__ \\ *");
|
||||
console.log('\x1b[36m%s\x1b[0m', "* |_____/ \\_____|_____/ \\____/|_|\\__, |_| |_| |_| .__/ \\__,_|___/ *");
|
||||
console.log('\x1b[36m%s\x1b[0m', "* __/ | | | *");
|
||||
console.log('\x1b[36m%s\x1b[0m', "* |___/ |_| *");
|
||||
console.log('\x1b[36m%s\x1b[0m', "*********************************************************************");
|
||||
console.log('\x1b[36m%s\x1b[0m', "");
|
||||
|
||||
console.log("DCS Olympus configurator {{OLYMPUS_VERSION_NUMBER}}.{{OLYMPUS_COMMIT_HASH}}");
|
||||
console.log("");
|
||||
|
||||
/* Run the configurator */
|
||||
if (args.directory) {
|
||||
jsonPath = path.join(args.directory, "olympus.json");
|
||||
}
|
||||
else {
|
||||
/* Automatically detect possible DCS installation folders */
|
||||
regedit.list(shellFoldersKey, function(err, result) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
}
|
||||
else {
|
||||
if (result[shellFoldersKey] !== undefined && result[shellFoldersKey]["exists"] && result[shellFoldersKey]['values'][saveGamesKey] !== undefined && result[shellFoldersKey]['values'][saveGamesKey]['value'] !== undefined)
|
||||
{
|
||||
const searchpath = result[shellFoldersKey]['values'][saveGamesKey]['value'];
|
||||
const folders = fs.readdirSync(searchpath);
|
||||
var options = [];
|
||||
folders.forEach((folder) => {
|
||||
if (fs.existsSync(path.join(searchpath, folder, "Logs", "dcs.log"))) {
|
||||
options.push(folder);
|
||||
}
|
||||
})
|
||||
console.log("The following DCS Saved Games folders have been automatically detected.")
|
||||
options.forEach((folder, index) => {
|
||||
console.log(`(${index + 1}) ${folder}`)
|
||||
});
|
||||
while (true) {
|
||||
var newValue = prompt(`Please choose a folder onto which the configurator shall operate by typing the associated number: `)
|
||||
result = Number(newValue);
|
||||
|
||||
if (!isNaN(result) && Number.isInteger(result) && result > 0 && result <= options.length) {
|
||||
jsonPath = path.join(searchpath, options[result - 1], "Config", "olympus.json");
|
||||
break;
|
||||
}
|
||||
else {
|
||||
console.log(`Please type a number between 1 and ${options.length}`);
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
console.error("An error occured while trying to fetch the location of the DCS folder. Please type the folder location manually.")
|
||||
jsonPath = path.join(prompt(`DCS Saved Games folder location: `), "olympus.json");
|
||||
}
|
||||
console.log(`Configurator will run on ${jsonPath}, if this is incorrect please restart the configurator`)
|
||||
run();
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
echo F|xcopy /S /Q /Y /F .\\node_modules\\leaflet\\dist\\leaflet.css .\\public\\stylesheets\\leaflet\\leaflet.css
|
||||
echo F|xcopy /S /Q /Y /F .\\node_modules\\leaflet-gesture-handling\\dist\\leaflet-gesture-handling.css .\\public\\stylesheets\\leaflet\\leaflet-gesture-handling.css
|
||||
echo F|xcopy /S /Q /Y /F .\\node_modules\\leaflet.nauticscale\\dist\\leaflet.nauticscale.js .\\public\\javascripts\\leaflet.nauticscale.js
|
||||
echo F|xcopy /S /Q /Y /F .\\node_modules\\leaflet-path-drag\\dist\\L.Path.Drag.js .\\public\\javascripts\\L.Path.Drag.js
|
||||
@@ -1 +0,0 @@
|
||||
npm install --omit=dev
|
||||
@@ -1,17 +1,16 @@
|
||||
{
|
||||
"name": "DCSOlympus",
|
||||
"node-main": "./bin/www",
|
||||
"main": "client.js",
|
||||
"version": "{{OLYMPUS_VERSION_NUMBER}}",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "browserify .\\src\\index.ts --debug -o .\\public\\javascripts\\bundle.js -t [ babelify --global true --presets [ @babel/preset-env ] --extensions '.js'] -p [ tsify --noImplicitAny ] && copy.bat",
|
||||
"build-release": "browserify .\\src\\index.ts -o .\\public\\javascripts\\bundle.js -t [ babelify --global true --presets [ @babel/preset-env ] --extensions '.js'] -p [ tsify --noImplicitAny ] && copy.bat",
|
||||
"emit-declarations": "tsc --project tsconfig.json --declaration --emitDeclarationOnly --outfile ./@types/olympus/index.d.ts",
|
||||
"copy": "copy.bat",
|
||||
"start": "node ./bin/www",
|
||||
"debug": "npm run copy & concurrently --kill-others \"npm run watch\" \"nodemon --ignore ./public/databases/ ./bin/www -- --config ../moc_dcs/Config/olympus.json\"",
|
||||
"watch": "watchify .\\src\\index.ts --debug -o .\\public\\javascripts\\bundle.js -t [ babelify --global true --presets [ @babel/preset-env ] --extensions '.js'] -p [ tsify --noImplicitAny ]",
|
||||
"build-debug": "call ./scripts/build-debug.bat",
|
||||
"build-release": "call ./scripts/build-release.bat",
|
||||
"emit-declarations": "call ./scripts/emit-declarations.bat",
|
||||
"server": "node ./bin/www",
|
||||
"debug": "call ./scripts/debug.bat",
|
||||
"debug-nodcs": "call ./scripts/debug-nodcs.bat",
|
||||
"watch": "call ./scripts/watch.bat",
|
||||
"client": "electron ."
|
||||
},
|
||||
"dependencies": {
|
||||
@@ -27,7 +26,6 @@
|
||||
"js-sha256": "^0.10.1",
|
||||
"morgan": "~1.9.1",
|
||||
"open": "^10.0.0",
|
||||
"prompt-sync": "^4.2.0",
|
||||
"regedit": "^5.1.2",
|
||||
"save": "^2.9.0",
|
||||
"sha256": "^0.2.0",
|
||||
|
||||
@@ -1,466 +0,0 @@
|
||||
{
|
||||
"airfields": {
|
||||
"Anapa-Vityazevo": {
|
||||
"ICAO": "URKA",
|
||||
"elevation": "141",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"22": {
|
||||
"magHeading": "214",
|
||||
"ILS": ""
|
||||
},
|
||||
"04": {
|
||||
"magHeading": "034",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "9000"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Batumi": {
|
||||
"ICAO": "UGSB",
|
||||
"elevation": "33",
|
||||
"TACAN": "16X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"13": {
|
||||
"magHeading": "119",
|
||||
"ILS": ""
|
||||
},
|
||||
"31": {
|
||||
"magHeading": "299",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7500"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Beslan": {
|
||||
"ICAO": "URMO",
|
||||
"elevation": "1722",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"10": {
|
||||
"magHeading": "086",
|
||||
"ILS": "110.50"
|
||||
},
|
||||
"28": {
|
||||
"magHeading": "266",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "9600"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Gelendzhik": {
|
||||
"ICAO": "URKG",
|
||||
"elevation": "72",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"19": {
|
||||
"magHeading": "212",
|
||||
"ILS": ""
|
||||
},
|
||||
"01": {
|
||||
"magHeading": "032",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "5400"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Gudauta": {
|
||||
"ICAO": "UG23",
|
||||
"elevation": "69",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"15": {
|
||||
"magHeading": "144",
|
||||
"ILS": ""
|
||||
},
|
||||
"33": {
|
||||
"magHeading": "324",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7700"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Kobuleti": {
|
||||
"ICAO": "UG5X",
|
||||
"elevation": "69",
|
||||
"TACAN": "67X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"25": {
|
||||
"magHeading": "243",
|
||||
"ILS": ""
|
||||
},
|
||||
"07": {
|
||||
"magHeading": "063",
|
||||
"ILS": "111.50"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7400"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Krasnodar-Center": {
|
||||
"ICAO": "URKL",
|
||||
"elevation": "98",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"27": {
|
||||
"magHeading": "259",
|
||||
"ILS": ""
|
||||
},
|
||||
"09": {
|
||||
"magHeading": "079",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7700"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Krasnodar-Pashkovsky": {
|
||||
"ICAO": "URKK",
|
||||
"elevation": "112",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"23": {
|
||||
"magHeading": "219",
|
||||
"ILS": ""
|
||||
},
|
||||
"05": {
|
||||
"magHeading": "039",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "9600"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Krymsk": {
|
||||
"ICAO": "URKW",
|
||||
"elevation": "66",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"22": {
|
||||
"magHeading": "212",
|
||||
"ILS": ""
|
||||
},
|
||||
"04": {
|
||||
"magHeading": "032",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "8000"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Kutaisi": {
|
||||
"ICAO": "UGKO",
|
||||
"elevation": "148",
|
||||
"TACAN": "44X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"25": {
|
||||
"magHeading": "247",
|
||||
"ILS": ""
|
||||
},
|
||||
"07": {
|
||||
"magHeading": "067'",
|
||||
"ILS": "109.75"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7700"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Maykop-Khanskaya": {
|
||||
"ICAO": "URKH",
|
||||
"elevation": "591",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"22": {
|
||||
"magHeading": "211",
|
||||
"ILS": ""
|
||||
},
|
||||
"04": {
|
||||
"magHeading": "031",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "10100"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Mineralnye Vody": {
|
||||
"ICAO": "URMM",
|
||||
"elevation": "1050",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"12": {
|
||||
"magHeading": "108",
|
||||
"ILS": "111.70"
|
||||
},
|
||||
"30": {
|
||||
"magHeading": "288",
|
||||
"ILS": "109.30"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "12700"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Mozdok": {
|
||||
"ICAO": "XRMF",
|
||||
"elevation": "507",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"26": {
|
||||
"magHeading": "255",
|
||||
"ILS": ""
|
||||
},
|
||||
"08": {
|
||||
"magHeading": "075",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "9400"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Nalchik": {
|
||||
"ICAO": "URMN",
|
||||
"elevation": "1411",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"24": {
|
||||
"magHeading": "228",
|
||||
"ILS": "110.50"
|
||||
},
|
||||
"06": {
|
||||
"magHeading": "048'",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7000"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Novorossiysk": {
|
||||
"ICAO": "URKN",
|
||||
"elevation": "131",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"22": {
|
||||
"magHeading": "214",
|
||||
"ILS": ""
|
||||
},
|
||||
"04": {
|
||||
"magHeading": "034",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "5400"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Senaki-Kolkhi": {
|
||||
"ICAO": "UGKS",
|
||||
"elevation": "43",
|
||||
"TACAN": "31X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"27": {
|
||||
"magHeading": "268",
|
||||
"ILS": ""
|
||||
},
|
||||
"09": {
|
||||
"magHeading": "088'",
|
||||
"ILS": "108.90"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7400"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Sochi-Adler": {
|
||||
"ICAO": "URSS",
|
||||
"elevation": "98",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"27": {
|
||||
"magHeading": "235",
|
||||
"ILS": ""
|
||||
},
|
||||
"06": {
|
||||
"magHeading": "055",
|
||||
"ILS": "111.10"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "9700"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Tbilisi-Lochini": {
|
||||
"ICAO": "UGTB",
|
||||
"elevation": "1574",
|
||||
"TACAN": "25X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"13": {
|
||||
"magHeading": "121",
|
||||
"ILS": "110.30"
|
||||
},
|
||||
"31": {
|
||||
"magHeading": "301",
|
||||
"ILS": "108.90"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "9300"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Soganlug": {
|
||||
"ICAO": "UG24",
|
||||
"elevation": "1500",
|
||||
"TACAN": "25X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"14": {
|
||||
"magHeading": "125",
|
||||
"ILS": ""
|
||||
},
|
||||
"32": {
|
||||
"magHeading": "305",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "6500"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Sukhumi-Babushara": {
|
||||
"ICAO": "UGSS",
|
||||
"elevation": "43",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"12": {
|
||||
"magHeading": "109",
|
||||
"ILS": ""
|
||||
},
|
||||
"30": {
|
||||
"magHeading": "289",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "11400"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Vaziani": {
|
||||
"ICAO": "UG27",
|
||||
"elevation": "1524",
|
||||
"TACAN": "22X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"13": {
|
||||
"magHeading": "129",
|
||||
"ILS": "108.75"
|
||||
},
|
||||
"31": {
|
||||
"magHeading": "309",
|
||||
"ILS": "108.75"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7700"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,838 +0,0 @@
|
||||
{
|
||||
"airfields": {
|
||||
"Aerodromo De Tolhuin": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"07": {
|
||||
"magHeading": "66",
|
||||
"Heading": "77",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"25": {
|
||||
"magHeading": "246",
|
||||
"Heading": "257",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "3297"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "SAWL",
|
||||
"elevation": "355"
|
||||
},
|
||||
"Almirante Schroeders": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"12": {
|
||||
"magHeading": "114",
|
||||
"Heading": "127",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"30": {
|
||||
"magHeading": "294",
|
||||
"Heading": "307",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "4628"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"22": {
|
||||
"magHeading": "208",
|
||||
"Heading": "221",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"04": {
|
||||
"magHeading": "28",
|
||||
"Heading": "41",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "3931"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "SCDW",
|
||||
"elevation": "160"
|
||||
},
|
||||
"Rio Chico": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"08": {
|
||||
"magHeading": "73",
|
||||
"Heading": "84",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"26": {
|
||||
"magHeading": "253",
|
||||
"Heading": "264",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "3239"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "RGR",
|
||||
"elevation": "74"
|
||||
},
|
||||
"Puerto Natales": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"28": {
|
||||
"magHeading": "274",
|
||||
"Heading": "287",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"10": {
|
||||
"magHeading": "94",
|
||||
"Heading": "107",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "5281"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "SCNT",
|
||||
"elevation": "216"
|
||||
},
|
||||
"Mount Pleasant": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"10": {
|
||||
"magHeading": "101",
|
||||
"Heading": "104",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"28": {
|
||||
"magHeading": "281",
|
||||
"Heading": "284",
|
||||
"ILS": "111.90"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "6763"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"23": {
|
||||
"magHeading": "231",
|
||||
"Heading": "234",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"05": {
|
||||
"magHeading": "51",
|
||||
"Heading": "54",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "6763"
|
||||
}
|
||||
],
|
||||
"TACAN": "59X",
|
||||
"ICAO": "EGYP",
|
||||
"elevation": "243"
|
||||
},
|
||||
"Aerodromo O'Higgins": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"34": {
|
||||
"magHeading": "326",
|
||||
"Heading": "338",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"16": {
|
||||
"magHeading": "146",
|
||||
"Heading": "158",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "3968"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "SCOH",
|
||||
"elevation": "900"
|
||||
},
|
||||
"Ushuaia Helo Port": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"16": {
|
||||
"magHeading": "157",
|
||||
"Heading": "170",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"34": {
|
||||
"magHeading": "337",
|
||||
"Heading": "350",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "5076"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "SAWO",
|
||||
"elevation": "42"
|
||||
},
|
||||
"Franco Bianco": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"07": {
|
||||
"magHeading": "65",
|
||||
"Heading": "77",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"25": {
|
||||
"magHeading": "245",
|
||||
"Heading": "257",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "5008"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"20": {
|
||||
"magHeading": "185",
|
||||
"Heading": "196",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"02": {
|
||||
"magHeading": "5",
|
||||
"Heading": "16",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "5008"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "SCSB",
|
||||
"elevation": "104"
|
||||
},
|
||||
"Pampa Guanaco": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"26": {
|
||||
"magHeading": "248",
|
||||
"Heading": "260",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"08": {
|
||||
"magHeading": "68",
|
||||
"Heading": "80",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "2349"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "SCBI",
|
||||
"elevation": "519"
|
||||
},
|
||||
"Puerto Santa Cruz": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"07": {
|
||||
"magHeading": "81",
|
||||
"Heading": "69",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"25": {
|
||||
"magHeading": "261",
|
||||
"Heading": "249",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "5638"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "365"
|
||||
},
|
||||
"San Carlos FOB": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"11": {
|
||||
"magHeading": "285",
|
||||
"Heading": "288",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"29": {
|
||||
"magHeading": "105",
|
||||
"Heading": "108",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "1079"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "65"
|
||||
},
|
||||
"Goose Green": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"14": {
|
||||
"magHeading": "135",
|
||||
"Heading": "139",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"32": {
|
||||
"magHeading": "315",
|
||||
"Heading": "319",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "1976"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "57"
|
||||
},
|
||||
"Rio Turbio": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"24": {
|
||||
"magHeading": "225",
|
||||
"Heading": "239",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"06": {
|
||||
"magHeading": "45",
|
||||
"Heading": "59",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "5057"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "SAWT",
|
||||
"elevation": "895"
|
||||
},
|
||||
"Porvenir Airfield": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"09": {
|
||||
"magHeading": "87",
|
||||
"Heading": "99",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"27": {
|
||||
"magHeading": "266",
|
||||
"Heading": "279",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7821"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"21": {
|
||||
"magHeading": "203",
|
||||
"Heading": "216",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"03": {
|
||||
"magHeading": "23",
|
||||
"Heading": "36",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "3220"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "SCFM",
|
||||
"elevation": "56"
|
||||
},
|
||||
"Punta Arenas": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"30": {
|
||||
"magHeading": "295",
|
||||
"Heading": "308",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"12": {
|
||||
"magHeading": "140",
|
||||
"Heading": "128",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "6834"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"25": {
|
||||
"magHeading": "270",
|
||||
"Heading": "258",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"07": {
|
||||
"magHeading": "90",
|
||||
"Heading": "78",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "9360"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"19": {
|
||||
"magHeading": "210",
|
||||
"Heading": "198",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "5160"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "SCCI",
|
||||
"elevation": "122"
|
||||
},
|
||||
"Gull Point": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"15": {
|
||||
"magHeading": "149",
|
||||
"Heading": "152",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"33": {
|
||||
"magHeading": "329",
|
||||
"Heading": "332",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "1521"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"23": {
|
||||
"magHeading": "212",
|
||||
"Heading": "216",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"05": {
|
||||
"magHeading": "33",
|
||||
"Heading": "36",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "1352"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "4"
|
||||
},
|
||||
"Caleta Tortel Airport": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"04": {
|
||||
"magHeading": "235",
|
||||
"Heading": "223",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"22": {
|
||||
"magHeading": "55",
|
||||
"Heading": "43",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "1770"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "3"
|
||||
},
|
||||
"Comandante Luis Piedrabuena": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"26": {
|
||||
"magHeading": "272",
|
||||
"Heading": "260",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"08": {
|
||||
"magHeading": "92",
|
||||
"Heading": "80",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "3505"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "69"
|
||||
},
|
||||
"Hipico Flying Club": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"02": {
|
||||
"magHeading": "1",
|
||||
"Heading": "11",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"19": {
|
||||
"magHeading": "180",
|
||||
"Heading": "191",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "2304"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "934"
|
||||
},
|
||||
"Cullen Airport": {
|
||||
"runways": [],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "0"
|
||||
},
|
||||
"Aeropuerto de Gobernador Gregores": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"28": {
|
||||
"magHeading": "263",
|
||||
"Heading": "274",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"10": {
|
||||
"magHeading": "84",
|
||||
"Heading": "94",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "8672"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "SAWR",
|
||||
"elevation": "1168"
|
||||
},
|
||||
"San Julian": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"25": {
|
||||
"magHeading": "242",
|
||||
"Heading": "251",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"07": {
|
||||
"magHeading": "62",
|
||||
"Heading": "71",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "6218"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "SAWJ",
|
||||
"elevation": "144"
|
||||
},
|
||||
"Puerto Williams": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"08": {
|
||||
"magHeading": "70",
|
||||
"Heading": "82",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"26": {
|
||||
"magHeading": "250",
|
||||
"Heading": "262",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "4312"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "SCGZ",
|
||||
"elevation": "83"
|
||||
},
|
||||
"Ushuaia": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"07": {
|
||||
"magHeading": "65",
|
||||
"Heading": "77",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"25": {
|
||||
"magHeading": "245",
|
||||
"Heading": "257",
|
||||
"ILS": "111.30"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7631"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "SAWH",
|
||||
"elevation": "60"
|
||||
},
|
||||
"Rio Gallegos": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"25": {
|
||||
"magHeading": "245",
|
||||
"Heading": "256",
|
||||
"ILS": "110.30"
|
||||
}
|
||||
},
|
||||
{
|
||||
"07": {
|
||||
"magHeading": "65",
|
||||
"Heading": "76",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "10585"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "SAWG",
|
||||
"elevation": "50"
|
||||
},
|
||||
"Rio Grande": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"08": {
|
||||
"magHeading": "68",
|
||||
"Heading": "79",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"26": {
|
||||
"magHeading": "247",
|
||||
"Heading": "259",
|
||||
"ILS": "109.50"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "5922"
|
||||
}
|
||||
],
|
||||
"TACAN": "31X",
|
||||
"ICAO": "SAWE",
|
||||
"elevation": "60"
|
||||
},
|
||||
"Port Stanley": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"27": {
|
||||
"magHeading": "266",
|
||||
"Heading": "269",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"09": {
|
||||
"magHeading": "101",
|
||||
"Heading": "86",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "4388"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "67"
|
||||
},
|
||||
"El Calafate": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"25": {
|
||||
"magHeading": "241",
|
||||
"Heading": "253",
|
||||
"ILS": "108.90"
|
||||
}
|
||||
},
|
||||
{
|
||||
"07": {
|
||||
"magHeading": "61",
|
||||
"Heading": "73",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7579"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "SAWC",
|
||||
"elevation": "654"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,466 +0,0 @@
|
||||
{
|
||||
"airfields": {
|
||||
"Anapa-Vityazevo": {
|
||||
"ICAO": "URKA",
|
||||
"elevation": "141",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"22": {
|
||||
"magHeading": "214",
|
||||
"ILS": ""
|
||||
},
|
||||
"04": {
|
||||
"magHeading": "034",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "9000"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Batumi": {
|
||||
"ICAO": "UGSB",
|
||||
"elevation": "33",
|
||||
"TACAN": "16X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"13": {
|
||||
"magHeading": "119",
|
||||
"ILS": ""
|
||||
},
|
||||
"31": {
|
||||
"magHeading": "299",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7500"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Beslan": {
|
||||
"ICAO": "URMO",
|
||||
"elevation": "1722",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"10": {
|
||||
"magHeading": "086",
|
||||
"ILS": "110.50"
|
||||
},
|
||||
"28": {
|
||||
"magHeading": "266",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "9600"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Gelendzhik": {
|
||||
"ICAO": "URKG",
|
||||
"elevation": "72",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"19": {
|
||||
"magHeading": "212",
|
||||
"ILS": ""
|
||||
},
|
||||
"01": {
|
||||
"magHeading": "032",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "5400"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Gudauta": {
|
||||
"ICAO": "UG23",
|
||||
"elevation": "69",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"15": {
|
||||
"magHeading": "144",
|
||||
"ILS": ""
|
||||
},
|
||||
"33": {
|
||||
"magHeading": "324",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7700"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Kobuleti": {
|
||||
"ICAO": "UG5X",
|
||||
"elevation": "69",
|
||||
"TACAN": "67X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"25": {
|
||||
"magHeading": "243",
|
||||
"ILS": ""
|
||||
},
|
||||
"07": {
|
||||
"magHeading": "063",
|
||||
"ILS": "111.50"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7400"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Krasnodar-Center": {
|
||||
"ICAO": "URKL",
|
||||
"elevation": "98",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"27": {
|
||||
"magHeading": "259",
|
||||
"ILS": ""
|
||||
},
|
||||
"09": {
|
||||
"magHeading": "079",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7700"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Krasnodar-Pashkovsky": {
|
||||
"ICAO": "URKK",
|
||||
"elevation": "112",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"23": {
|
||||
"magHeading": "219",
|
||||
"ILS": ""
|
||||
},
|
||||
"05": {
|
||||
"magHeading": "039",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "9600"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Krymsk": {
|
||||
"ICAO": "URKW",
|
||||
"elevation": "66",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"22": {
|
||||
"magHeading": "212",
|
||||
"ILS": ""
|
||||
},
|
||||
"04": {
|
||||
"magHeading": "032",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "8000"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Kutaisi": {
|
||||
"ICAO": "UGKO",
|
||||
"elevation": "148",
|
||||
"TACAN": "44X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"25": {
|
||||
"magHeading": "247",
|
||||
"ILS": ""
|
||||
},
|
||||
"07": {
|
||||
"magHeading": "067'",
|
||||
"ILS": "109.75"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7700"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Maykop-Khanskaya": {
|
||||
"ICAO": "URKH",
|
||||
"elevation": "591",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"22": {
|
||||
"magHeading": "211",
|
||||
"ILS": ""
|
||||
},
|
||||
"04": {
|
||||
"magHeading": "031",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "10100"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Mineralnye Vody": {
|
||||
"ICAO": "URMM",
|
||||
"elevation": "1050",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"12": {
|
||||
"magHeading": "108",
|
||||
"ILS": "111.70"
|
||||
},
|
||||
"30": {
|
||||
"magHeading": "288",
|
||||
"ILS": "109.30"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "12700"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Mozdok": {
|
||||
"ICAO": "XRMF",
|
||||
"elevation": "507",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"26": {
|
||||
"magHeading": "255",
|
||||
"ILS": ""
|
||||
},
|
||||
"08": {
|
||||
"magHeading": "075",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "9400"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Nalchik": {
|
||||
"ICAO": "URMN",
|
||||
"elevation": "1411",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"24": {
|
||||
"magHeading": "228",
|
||||
"ILS": "110.50"
|
||||
},
|
||||
"06": {
|
||||
"magHeading": "048'",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7000"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Novorossiysk": {
|
||||
"ICAO": "URKN",
|
||||
"elevation": "131",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"22": {
|
||||
"magHeading": "214",
|
||||
"ILS": ""
|
||||
},
|
||||
"04": {
|
||||
"magHeading": "034",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "5400"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Senaki-Kolkhi": {
|
||||
"ICAO": "UGKS",
|
||||
"elevation": "43",
|
||||
"TACAN": "31X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"27": {
|
||||
"magHeading": "268",
|
||||
"ILS": ""
|
||||
},
|
||||
"09": {
|
||||
"magHeading": "088'",
|
||||
"ILS": "108.90"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7400"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Sochi-Adler": {
|
||||
"ICAO": "URSS",
|
||||
"elevation": "98",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"27": {
|
||||
"magHeading": "235",
|
||||
"ILS": ""
|
||||
},
|
||||
"06": {
|
||||
"magHeading": "055",
|
||||
"ILS": "111.10"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "9700"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Tbilisi-Lochini": {
|
||||
"ICAO": "UGTB",
|
||||
"elevation": "1574",
|
||||
"TACAN": "25X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"13": {
|
||||
"magHeading": "121",
|
||||
"ILS": "110.30"
|
||||
},
|
||||
"31": {
|
||||
"magHeading": "301",
|
||||
"ILS": "108.90"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "9300"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Soganlug": {
|
||||
"ICAO": "UG24",
|
||||
"elevation": "1500",
|
||||
"TACAN": "25X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"14": {
|
||||
"magHeading": "125",
|
||||
"ILS": ""
|
||||
},
|
||||
"32": {
|
||||
"magHeading": "305",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "6500"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Sukhumi-Babushara": {
|
||||
"ICAO": "UGSS",
|
||||
"elevation": "43",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"12": {
|
||||
"magHeading": "109",
|
||||
"ILS": ""
|
||||
},
|
||||
"30": {
|
||||
"magHeading": "289",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "11400"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Vaziani": {
|
||||
"ICAO": "UG27",
|
||||
"elevation": "1524",
|
||||
"TACAN": "22X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"13": {
|
||||
"magHeading": "129",
|
||||
"ILS": "108.75"
|
||||
},
|
||||
"31": {
|
||||
"magHeading": "309",
|
||||
"ILS": "108.75"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7700"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,558 +0,0 @@
|
||||
{
|
||||
"airfields": {
|
||||
"Beatty": {
|
||||
"ICAO": "KBTY",
|
||||
"elevation": "3173",
|
||||
"TACAN": "94X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"16": {
|
||||
"magHeading": "168",
|
||||
"ILS": ""
|
||||
},
|
||||
"34": {
|
||||
"magHeading": "348",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "5500"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Boulder City": {
|
||||
"ICAO": "KBVU",
|
||||
"elevation": "2205",
|
||||
"TACAN": "114X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"15": {
|
||||
"magHeading": "153",
|
||||
"ILS": ""
|
||||
},
|
||||
"33": {
|
||||
"magHeading": "333",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "3700"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"27": {
|
||||
"magHeading": "267",
|
||||
"ILS": ""
|
||||
},
|
||||
"09": {
|
||||
"magHeading": "087",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "4400"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Creech": {
|
||||
"ICAO": "KINS",
|
||||
"elevation": "3126",
|
||||
"TACAN": "87X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"13": {
|
||||
"magHeading": "134",
|
||||
"ILS": ""
|
||||
},
|
||||
"31": {
|
||||
"magHeading": "314",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "4700"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"26": {
|
||||
"magHeading": "260",
|
||||
"ILS": ""
|
||||
},
|
||||
"08": {
|
||||
"magHeading": "080",
|
||||
"ILS": "108.70"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "8700"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Echo Bay": {
|
||||
"ICAO": "0L9",
|
||||
"elevation": "1549",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"24": {
|
||||
"magHeading": "246",
|
||||
"ILS": ""
|
||||
},
|
||||
"06": {
|
||||
"magHeading": "066",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "3300"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Groom Lake": {
|
||||
"ICAO": "KXTA",
|
||||
"elevation": "4495",
|
||||
"TACAN": "18X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"14L": {
|
||||
"magHeading": "145",
|
||||
"ILS": ""
|
||||
},
|
||||
"32R": {
|
||||
"magHeading": "325",
|
||||
"ILS": "109.30"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "11700"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"14R (CLOSED)": {
|
||||
"magHeading": "145",
|
||||
"ILS": ""
|
||||
},
|
||||
"32L (CLOSED)": {
|
||||
"magHeading": "325",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "17800"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Henderson Executive": {
|
||||
"ICAO": "KHND",
|
||||
"elevation": "2493",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"17L": {
|
||||
"magHeading": "168",
|
||||
"ILS": ""
|
||||
},
|
||||
"35R": {
|
||||
"magHeading": "348",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "4600"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"17R": {
|
||||
"magHeading": "168",
|
||||
"ILS": ""
|
||||
},
|
||||
"35L": {
|
||||
"magHeading": "348",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "6100"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Jean": {
|
||||
"ICAO": "",
|
||||
"elevation": "2825",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"02L": {
|
||||
"magHeading": "020",
|
||||
"ILS": ""
|
||||
},
|
||||
"20R": {
|
||||
"magHeading": "200",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "4500"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"02R": {
|
||||
"magHeading": "020",
|
||||
"ILS": ""
|
||||
},
|
||||
"20L": {
|
||||
"magHeading": "200",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "3600"
|
||||
}
|
||||
]
|
||||
},
|
||||
"McCarran International": {
|
||||
"ICAO": "KLAS",
|
||||
"elevation": "2178",
|
||||
"TACAN": "116X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"01L": {
|
||||
"magHeading": "013",
|
||||
"ILS": ""
|
||||
},
|
||||
"19R": {
|
||||
"magHeading": "193",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "8000"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"01R": {
|
||||
"magHeading": "013",
|
||||
"ILS": ""
|
||||
},
|
||||
"19L": {
|
||||
"magHeading": "193",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "8000"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"07L": {
|
||||
"magHeading": "078",
|
||||
"ILS": ""
|
||||
},
|
||||
"25R": {
|
||||
"magHeading": "258",
|
||||
"ILS": "110.30"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "10600"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"07R": {
|
||||
"magHeading": "078",
|
||||
"ILS": ""
|
||||
},
|
||||
"25L": {
|
||||
"magHeading": "258",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "10100"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Laughlin": {
|
||||
"ICAO": "KIFP",
|
||||
"elevation": "673",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"16": {
|
||||
"magHeading": "164",
|
||||
"ILS": ""
|
||||
},
|
||||
"34": {
|
||||
"magHeading": "344",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7100"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Lincoln County": {
|
||||
"ICAO": "",
|
||||
"elevation": "4816",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"17": {
|
||||
"magHeading": "170",
|
||||
"ILS": ""
|
||||
},
|
||||
"35": {
|
||||
"magHeading": "350",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "4500"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Mesquite": {
|
||||
"ICAO": "67L",
|
||||
"elevation": "1859",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"19": {
|
||||
"magHeading": "197",
|
||||
"ILS": ""
|
||||
},
|
||||
"01": {
|
||||
"magHeading": "017",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "5000"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Mina": {
|
||||
"ICAO": "",
|
||||
"elevation": "4560",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"13": {
|
||||
"magHeading": "140",
|
||||
"ILS": ""
|
||||
},
|
||||
"31": {
|
||||
"magHeading": "320",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "4100"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Nellis": {
|
||||
"ICAO": "KLSV",
|
||||
"elevation": "1849",
|
||||
"TACAN": "12X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"03L": {
|
||||
"magHeading": "029",
|
||||
"ILS": ""
|
||||
},
|
||||
"21R": {
|
||||
"magHeading": "209",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "9800"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"03R": {
|
||||
"magHeading": "029",
|
||||
"ILS": ""
|
||||
},
|
||||
"21L": {
|
||||
"magHeading": "209",
|
||||
"ILS": "109.10"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "9800"
|
||||
}
|
||||
]
|
||||
},
|
||||
"North Las Vegas": {
|
||||
"ICAO": "KVGT",
|
||||
"elevation": "2228",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"25": {
|
||||
"magHeading": "256",
|
||||
"ILS": ""
|
||||
},
|
||||
"07": {
|
||||
"magHeading": "076",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "4900"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"12L": {
|
||||
"magHeading": "122",
|
||||
"ILS": "110.70"
|
||||
},
|
||||
"30R": {
|
||||
"magHeading": "302",
|
||||
"ILS": "109.10"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "3800"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"12R": {
|
||||
"magHeading": "122",
|
||||
"ILS": ""
|
||||
},
|
||||
"30L": {
|
||||
"magHeading": "302",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "4600"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Pahute Mesa": {
|
||||
"ICAO": "",
|
||||
"elevation": "5059",
|
||||
"TACAN": "",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"18": {
|
||||
"magHeading": "182",
|
||||
"ILS": ""
|
||||
},
|
||||
"36": {
|
||||
"magHeading": "002",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "5500"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Tonopah": {
|
||||
"ICAO": "KTPH",
|
||||
"elevation": "5390",
|
||||
"TACAN": "119X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"11": {
|
||||
"magHeading": "113",
|
||||
"ILS": ""
|
||||
},
|
||||
"29": {
|
||||
"magHeading": "293",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "5600"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"15": {
|
||||
"magHeading": "153",
|
||||
"ILS": ""
|
||||
},
|
||||
"33": {
|
||||
"magHeading": "333",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "6800"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Tonopah Test Range": {
|
||||
"ICAO": "KTNX",
|
||||
"elevation": "5535",
|
||||
"TACAN": "77X",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"14": {
|
||||
"magHeading": "145",
|
||||
"ILS": "108.30"
|
||||
},
|
||||
"32": {
|
||||
"magHeading": "325",
|
||||
"ILS": "111.70"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "11700"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,769 +0,0 @@
|
||||
{
|
||||
"airfields": {
|
||||
"Abu Dhabi Intl": {
|
||||
"elevation": "92",
|
||||
"ICAO": "OMAA",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"13L": {
|
||||
"ILS": "",
|
||||
"magHeading": "127"
|
||||
},
|
||||
"31R": {
|
||||
"ILS": "",
|
||||
"magHeading": "307"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "13100"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"13R": {
|
||||
"ILS": "",
|
||||
"magHeading": "127"
|
||||
},
|
||||
"31L": {
|
||||
"ILS": "",
|
||||
"magHeading": "307"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "13200"
|
||||
}
|
||||
],
|
||||
"TACAN": ""
|
||||
},
|
||||
"Abu Musa Island": {
|
||||
"elevation": "16",
|
||||
"ICAO": "OIBA",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"26": {
|
||||
"ILS": "",
|
||||
"magHeading": "262"
|
||||
},
|
||||
"08": {
|
||||
"ILS": "",
|
||||
"magHeading": "082"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7800"
|
||||
}
|
||||
],
|
||||
"TACAN": ""
|
||||
},
|
||||
"Al Ain Intl": {
|
||||
"elevation": "814",
|
||||
"ICAO": "OMAL",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"19": {
|
||||
"ILS": "",
|
||||
"magHeading": "186"
|
||||
},
|
||||
"01": {
|
||||
"ILS": "",
|
||||
"magHeading": "006"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "12800"
|
||||
}
|
||||
],
|
||||
"TACAN": ""
|
||||
},
|
||||
"Al Dhafra AFB": {
|
||||
"elevation": "52",
|
||||
"ICAO": "OMAM",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"13L": {
|
||||
"ILS": "111.10",
|
||||
"magHeading": "126"
|
||||
},
|
||||
"31R": {
|
||||
"ILS": "109.10",
|
||||
"magHeading": "306"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "11700"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"13R": {
|
||||
"ILS": "108.70",
|
||||
"magHeading": "16"
|
||||
},
|
||||
"31L": {
|
||||
"ILS": "108.70",
|
||||
"magHeading": "306"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "11700"
|
||||
}
|
||||
],
|
||||
"TACAN": "96X"
|
||||
},
|
||||
"Al Maktoum Intl": {
|
||||
"elevation": "125",
|
||||
"ICAO": "OMDW",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"12": {
|
||||
"ILS": "111.75",
|
||||
"magHeading": "120"
|
||||
},
|
||||
"30": {
|
||||
"ILS": "109.75",
|
||||
"magHeading": "300"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "14400"
|
||||
}
|
||||
],
|
||||
"TACAN": ""
|
||||
},
|
||||
"Al Minhad AFB": {
|
||||
"elevation": "190",
|
||||
"ICAO": "OMDM",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"27": {
|
||||
"ILS": "110.75",
|
||||
"magHeading": "268"
|
||||
},
|
||||
"09": {
|
||||
"ILS": "110.70",
|
||||
"magHeading": "088"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "12600"
|
||||
}
|
||||
],
|
||||
"TACAN": "99X"
|
||||
},
|
||||
"Al-Bateen": {
|
||||
"elevation": "12",
|
||||
"ICAO": "OMAD",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"13": {
|
||||
"ILS": "",
|
||||
"magHeading": "127"
|
||||
},
|
||||
"31": {
|
||||
"ILS": "",
|
||||
"magHeading": "307"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7000"
|
||||
}
|
||||
],
|
||||
"TACAN": ""
|
||||
},
|
||||
"Bandar Abbas Intl": {
|
||||
"elevation": "29",
|
||||
"ICAO": "OIKB",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"03L": {
|
||||
"ILS": "",
|
||||
"magHeading": "25"
|
||||
},
|
||||
"21R": {
|
||||
"ILS": "",
|
||||
"magHeading": "205"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "11000"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"03R": {
|
||||
"ILS": "",
|
||||
"magHeading": "25"
|
||||
},
|
||||
"21L": {
|
||||
"ILS": "109.90",
|
||||
"magHeading": "205"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "11700"
|
||||
}
|
||||
],
|
||||
"TACAN": "78X"
|
||||
},
|
||||
"Bandar Lengeh": {
|
||||
"elevation": "82",
|
||||
"ICAO": "OIBL",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"26": {
|
||||
"ILS": "",
|
||||
"magHeading": "259"
|
||||
},
|
||||
"08": {
|
||||
"ILS": "",
|
||||
"magHeading": "079"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7900"
|
||||
}
|
||||
],
|
||||
"TACAN": ""
|
||||
},
|
||||
"Bandar-e-Jask": {
|
||||
"elevation": "26",
|
||||
"ICAO": "OIZJ",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"24": {
|
||||
"ILS": "",
|
||||
"magHeading": "239"
|
||||
},
|
||||
"06": {
|
||||
"ILS": "",
|
||||
"magHeading": "059"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7300"
|
||||
}
|
||||
],
|
||||
"TACAN": "110X"
|
||||
},
|
||||
"Dubai Intl": {
|
||||
"elevation": "16",
|
||||
"ICAO": "OMDB",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"12L": {
|
||||
"ILS": "110.10",
|
||||
"magHeading": "120"
|
||||
},
|
||||
"30R": {
|
||||
"ILS": "110.90",
|
||||
"magHeading": "300"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "11400"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"12R": {
|
||||
"ILS": "109.50",
|
||||
"magHeading": "120"
|
||||
},
|
||||
"30L": {
|
||||
"ILS": "111.30",
|
||||
"magHeading": "300"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "11400"
|
||||
}
|
||||
],
|
||||
"TACAN": ""
|
||||
},
|
||||
"Fujairah Intl": {
|
||||
"elevation": "121",
|
||||
"ICAO": "OMFJ",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"11": {
|
||||
"ILS": "",
|
||||
"magHeading": "111"
|
||||
},
|
||||
"29": {
|
||||
"ILS": "111.50",
|
||||
"magHeading": "291"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "9700"
|
||||
}
|
||||
],
|
||||
"TACAN": ""
|
||||
},
|
||||
"Havadarya": {
|
||||
"elevation": "52",
|
||||
"ICAO": "OIKP",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"26": {
|
||||
"ILS": "",
|
||||
"magHeading": "257"
|
||||
},
|
||||
"08": {
|
||||
"ILS": "108.90",
|
||||
"magHeading": "077"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7200"
|
||||
}
|
||||
],
|
||||
"TACAN": "47X"
|
||||
},
|
||||
"Jiroft": {
|
||||
"elevation": "2664",
|
||||
"ICAO": "OIKJ",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"13": {
|
||||
"ILS": "",
|
||||
"magHeading": "125"
|
||||
},
|
||||
"31": {
|
||||
"ILS": "",
|
||||
"magHeading": "305"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "9600"
|
||||
}
|
||||
],
|
||||
"TACAN": ""
|
||||
},
|
||||
"Kerman": {
|
||||
"elevation": "5745",
|
||||
"ICAO": "OIKK",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"16": {
|
||||
"ILS": "",
|
||||
"magHeading": "155"
|
||||
},
|
||||
"34": {
|
||||
"ILS": "",
|
||||
"magHeading": "335"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "12400"
|
||||
}
|
||||
],
|
||||
"TACAN": "97X"
|
||||
},
|
||||
"Khasab": {
|
||||
"elevation": "102",
|
||||
"ICAO": "OOKB",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"19": {
|
||||
"ILS": "110.30",
|
||||
"magHeading": "192"
|
||||
},
|
||||
"01": {
|
||||
"ILS": "",
|
||||
"magHeading": "012"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "8000"
|
||||
}
|
||||
],
|
||||
"TACAN": ""
|
||||
},
|
||||
"Kish Intl": {
|
||||
"elevation": "115",
|
||||
"ICAO": "OIBK",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"10": {
|
||||
"ILS": "",
|
||||
"magHeading": "094"
|
||||
},
|
||||
"28": {
|
||||
"ILS": "",
|
||||
"magHeading": "274"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "11700"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"09R": {
|
||||
"ILS": "",
|
||||
"magHeading": "094"
|
||||
},
|
||||
"27L": {
|
||||
"ILS": "",
|
||||
"magHeading": "274"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "11700"
|
||||
}
|
||||
],
|
||||
"TACAN": "112X"
|
||||
},
|
||||
"Lar": {
|
||||
"elevation": "2635",
|
||||
"ICAO": "OISL",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"27": {
|
||||
"ILS": "",
|
||||
"magHeading": "268"
|
||||
},
|
||||
"09": {
|
||||
"ILS": "",
|
||||
"magHeading": "088"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "10100"
|
||||
}
|
||||
],
|
||||
"TACAN": ""
|
||||
},
|
||||
"Lavan Island": {
|
||||
"elevation": "75",
|
||||
"ICAO": "OIBV",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"11": {
|
||||
"ILS": "",
|
||||
"magHeading": "110"
|
||||
},
|
||||
"29": {
|
||||
"ILS": "",
|
||||
"magHeading": "290"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "8600"
|
||||
}
|
||||
],
|
||||
"TACAN": ""
|
||||
},
|
||||
"Liwa AFB": {
|
||||
"elevation": "400",
|
||||
"ICAO": "OMLW",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"13": {
|
||||
"ILS": "",
|
||||
"magHeading": "130"
|
||||
},
|
||||
"31": {
|
||||
"ILS": "",
|
||||
"magHeading": "310"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "11600"
|
||||
}
|
||||
],
|
||||
"TACAN": "121X"
|
||||
},
|
||||
"Qeshm Island": {
|
||||
"elevation": "26",
|
||||
"ICAO": "OIKQ",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"23": {
|
||||
"ILS": "",
|
||||
"magHeading": "227"
|
||||
},
|
||||
"05": {
|
||||
"ILS": "",
|
||||
"magHeading": "047"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "13600"
|
||||
}
|
||||
],
|
||||
"TACAN": ""
|
||||
},
|
||||
"Quasoura_airport": {
|
||||
"elevation": "26",
|
||||
"ICAO": "OIKQ",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"23": {
|
||||
"ILS": "",
|
||||
"magHeading": "227"
|
||||
},
|
||||
"05": {
|
||||
"ILS": "",
|
||||
"magHeading": "047"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "13600"
|
||||
}
|
||||
],
|
||||
"TACAN": ""
|
||||
},
|
||||
"Ras Al Khaimah Intl": {
|
||||
"elevation": "330",
|
||||
"ICAO": "OMRK",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"17": {
|
||||
"ILS": "",
|
||||
"magHeading": "163"
|
||||
},
|
||||
"35": {
|
||||
"ILS": "",
|
||||
"magHeading": "343"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "12000"
|
||||
}
|
||||
],
|
||||
"TACAN": ""
|
||||
},
|
||||
"Sas Al Nakheel": {
|
||||
"elevation": "10",
|
||||
"ICAO": "OMNK",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"16": {
|
||||
"ILS": "",
|
||||
"magHeading": "160"
|
||||
},
|
||||
"34": {
|
||||
"ILS": "",
|
||||
"magHeading": "340"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "6000"
|
||||
}
|
||||
],
|
||||
"TACAN": ""
|
||||
},
|
||||
"Sharjah Intl": {
|
||||
"elevation": "26",
|
||||
"ICAO": "OMSJ",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"12L": {
|
||||
"ILS": "108.55",
|
||||
"magHeading": "121"
|
||||
},
|
||||
"30R": {
|
||||
"ILS": "111.95",
|
||||
"magHeading": "301"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "10500"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"12R": {
|
||||
"ILS": "",
|
||||
"magHeading": "121"
|
||||
},
|
||||
"30L": {
|
||||
"ILS": "",
|
||||
"magHeading": "301"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "10500"
|
||||
}
|
||||
],
|
||||
"TACAN": ""
|
||||
},
|
||||
"Shiraz Intl": {
|
||||
"elevation": "4879",
|
||||
"ICAO": "OISS",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"11L": {
|
||||
"ILS": "",
|
||||
"magHeading": "113"
|
||||
},
|
||||
"29R": {
|
||||
"ILS": "",
|
||||
"magHeading": "293"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "14000"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"11R": {
|
||||
"ILS": "",
|
||||
"magHeading": "113"
|
||||
},
|
||||
"29L": {
|
||||
"ILS": "108.50",
|
||||
"magHeading": "293"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "13800"
|
||||
}
|
||||
],
|
||||
"TACAN": "94X"
|
||||
},
|
||||
"Sir Abu Nuayr": {
|
||||
"elevation": "26",
|
||||
"ICAO": "OMSN",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"10": {
|
||||
"ILS": "",
|
||||
"magHeading": "097"
|
||||
},
|
||||
"28": {
|
||||
"ILS": "",
|
||||
"magHeading": "277"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "2300"
|
||||
}
|
||||
],
|
||||
"TACAN": ""
|
||||
},
|
||||
"Sirri Island": {
|
||||
"elevation": "20",
|
||||
"ICAO": "OIBS",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"12": {
|
||||
"ILS": "",
|
||||
"magHeading": "125"
|
||||
},
|
||||
"30": {
|
||||
"ILS": "",
|
||||
"magHeading": "305"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "7900"
|
||||
}
|
||||
],
|
||||
"TACAN": ""
|
||||
},
|
||||
"Tunb Island AFB": {
|
||||
"elevation": "43",
|
||||
"ICAO": "OIGI",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"21": {
|
||||
"ILS": "",
|
||||
"magHeading": "205"
|
||||
},
|
||||
"03": {
|
||||
"ILS": "",
|
||||
"magHeading": "025"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "6200"
|
||||
}
|
||||
],
|
||||
"TACAN": ""
|
||||
},
|
||||
"Tunb Kochak": {
|
||||
"elevation": "16",
|
||||
"ICAO": "OITK",
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"26": {
|
||||
"ILS": "",
|
||||
"magHeading": "259"
|
||||
},
|
||||
"08": {
|
||||
"ILS": "",
|
||||
"magHeading": "079"
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "2500"
|
||||
}
|
||||
],
|
||||
"TACAN": "89X"
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,525 +0,0 @@
|
||||
{
|
||||
"airfields": {
|
||||
"High Halden": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"11": {
|
||||
"magHeading": "102",
|
||||
"Heading": "102",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"29": {
|
||||
"magHeading": "282",
|
||||
"Heading": "282",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "3027"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"21": {
|
||||
"magHeading": "211",
|
||||
"Heading": "211",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"03": {
|
||||
"magHeading": "31",
|
||||
"Heading": "31",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "3027"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "104"
|
||||
},
|
||||
"Manston": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"10": {
|
||||
"magHeading": "102",
|
||||
"Heading": "102",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"28": {
|
||||
"magHeading": "282",
|
||||
"Heading": "282",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "9114"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"FIELD N": {
|
||||
"magHeading": "57",
|
||||
"Heading": "57",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"FIELD S": {
|
||||
"magHeading": "237",
|
||||
"Heading": "237",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "5261"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "160"
|
||||
},
|
||||
"Biggin Hill": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"23": {
|
||||
"magHeading": "227",
|
||||
"Heading": "228",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"05": {
|
||||
"magHeading": "47",
|
||||
"Heading": "48",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "2430"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"28": {
|
||||
"magHeading": "287",
|
||||
"Heading": "288",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"10": {
|
||||
"magHeading": "107",
|
||||
"Heading": "108",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "2594"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"21": {
|
||||
"magHeading": "208",
|
||||
"Heading": "208",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"03": {
|
||||
"magHeading": "28",
|
||||
"Heading": "28",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "4939"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "552"
|
||||
},
|
||||
"Headcorn": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"10": {
|
||||
"magHeading": "92",
|
||||
"Heading": "93",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"28": {
|
||||
"magHeading": "272",
|
||||
"Heading": "273",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "3680"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"01": {
|
||||
"magHeading": "12",
|
||||
"Heading": "12",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"19": {
|
||||
"magHeading": "192",
|
||||
"Heading": "192",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "3680"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "114"
|
||||
},
|
||||
"Detling": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"FIELD S": {
|
||||
"magHeading": "227",
|
||||
"Heading": "227",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"FIELD N": {
|
||||
"magHeading": "47",
|
||||
"Heading": "47",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "3482"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "623"
|
||||
},
|
||||
"Eastchurch": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"10": {
|
||||
"magHeading": "97",
|
||||
"Heading": "97",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"28": {
|
||||
"magHeading": "277",
|
||||
"Heading": "277",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "2983"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"20": {
|
||||
"magHeading": "203",
|
||||
"Heading": "203",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"02": {
|
||||
"magHeading": "23",
|
||||
"Heading": "23",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "2983"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "40"
|
||||
},
|
||||
"Abbeville Drucat": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"20": {
|
||||
"magHeading": "203",
|
||||
"Heading": "203",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"2": {
|
||||
"magHeading": "23",
|
||||
"Heading": "23",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "4877"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"27": {
|
||||
"magHeading": "270",
|
||||
"Heading": "270",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"09": {
|
||||
"magHeading": "90",
|
||||
"Heading": "90",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "4877"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "183"
|
||||
},
|
||||
"Hawkinge": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"FIELD S": {
|
||||
"magHeading": "180",
|
||||
"Heading": "180",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"FIELD N": {
|
||||
"magHeading": "0",
|
||||
"Heading": "0",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "2336"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"FIELD W ": {
|
||||
"magHeading": "218",
|
||||
"Heading": "219",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"FIELD E": {
|
||||
"magHeading": "38",
|
||||
"Heading": "39",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "2336"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "524"
|
||||
},
|
||||
"Lympne": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"FIELD E": {
|
||||
"magHeading": "134",
|
||||
"Heading": "134",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"FIELD W": {
|
||||
"magHeading": "314",
|
||||
"Heading": "314",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "3054"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"FIELD N": {
|
||||
"magHeading": "19",
|
||||
"Heading": "19",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"FIELD S": {
|
||||
"magHeading": "199",
|
||||
"Heading": "199",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "2706"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "351"
|
||||
},
|
||||
"Merville Calonne": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"32": {
|
||||
"magHeading": "318",
|
||||
"Heading": "319",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"14": {
|
||||
"magHeading": "138",
|
||||
"Heading": "139",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "3899"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"26": {
|
||||
"magHeading": "258",
|
||||
"Heading": "258",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"08": {
|
||||
"magHeading": "78",
|
||||
"Heading": "78",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "3899"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "52"
|
||||
},
|
||||
"Dunkirk Mardyck": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"08": {
|
||||
"magHeading": "80",
|
||||
"Heading": "81",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"26": {
|
||||
"magHeading": "260",
|
||||
"Heading": "261",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "1839"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "16"
|
||||
},
|
||||
"Saint Omer Longuenesse": {
|
||||
"runways": [
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"08": {
|
||||
"magHeading": "86",
|
||||
"Heading": "87",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"26": {
|
||||
"magHeading": "266",
|
||||
"Heading": "267",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "2001"
|
||||
},
|
||||
{
|
||||
"headings": [
|
||||
{
|
||||
"FIELD S": {
|
||||
"magHeading": "208",
|
||||
"Heading": "208",
|
||||
"ILS": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"FIELD N": {
|
||||
"magHeading": "28",
|
||||
"Heading": "28",
|
||||
"ILS": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"length": "1762"
|
||||
}
|
||||
],
|
||||
"TACAN": "",
|
||||
"ICAO": "",
|
||||
"elevation": "219"
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
4
client/scripts/build-debug.bat
Normal file
4
client/scripts/build-debug.bat
Normal file
@@ -0,0 +1,4 @@
|
||||
cd scripts
|
||||
call copy.bat
|
||||
cd ..
|
||||
call browserify ./src/index.ts --debug -o ./public/javascripts/bundle.js -t [ babelify --global true --presets [ @babel/preset-env ] --extensions '.js'] -p [ tsify --noImplicitAny ]
|
||||
15
client/scripts/build-release.bat
Normal file
15
client/scripts/build-release.bat
Normal file
@@ -0,0 +1,15 @@
|
||||
cd scripts
|
||||
call copy.bat
|
||||
cd ..
|
||||
call browserify ./src/index.ts -o ./public/javascripts/bundle.js -t [ babelify --global true --presets [ @babel/preset-env ] --extensions '.js'] -p [ tsify --noImplicitAny ]
|
||||
|
||||
echo D|xcopy /Y /S /E .\bin ..\build\client\bin
|
||||
echo D|xcopy /Y /S /E .\public ..\build\client\public
|
||||
echo D|xcopy /Y /S /E .\routes ..\build\client\routes
|
||||
echo D|xcopy /Y /S /E .\views ..\build\client\views
|
||||
|
||||
echo F|xcopy /Y .\app.js ..\build\client\app.js
|
||||
echo F|xcopy /Y .\client.js ..\build\client\client.js
|
||||
echo F|xcopy /Y .\package.json ..\build\client\package.json
|
||||
|
||||
echo F|xcopy /Y /I .\*.vbs ..\build\client
|
||||
6
client/scripts/copy.bat
Normal file
6
client/scripts/copy.bat
Normal file
@@ -0,0 +1,6 @@
|
||||
cd ..
|
||||
echo F|xcopy /Y .\node_modules\leaflet\dist\leaflet.css .\public\stylesheets\leaflet\leaflet.css
|
||||
echo F|xcopy /Y .\node_modules\leaflet-gesture-handling\dist\leaflet-gesture-handling.css .\public\stylesheets\leaflet\leaflet-gesture-handling.css
|
||||
echo F|xcopy /Y .\node_modules\leaflet.nauticscale\dist\leaflet.nauticscale.js .\public\javascripts\leaflet.nauticscale.js
|
||||
echo F|xcopy /Y .\node_modules\leaflet-path-drag\dist\L.Path.Drag.js .\public\javascripts\L.Path.Drag.js
|
||||
cd scripts
|
||||
1
client/scripts/debug-nodcs.bat
Normal file
1
client/scripts/debug-nodcs.bat
Normal file
@@ -0,0 +1 @@
|
||||
concurrently --kill-others "call ./scripts/demo.bat" "npm run watch" "nodemon --ignore ./public/databases/ ./bin/www -- --config ../moc_dcs/Config/olympus.json"
|
||||
1
client/scripts/debug.bat
Normal file
1
client/scripts/debug.bat
Normal file
@@ -0,0 +1 @@
|
||||
concurrently --kill-others "npm run watch" "nodemon --ignore ./public/databases/ ./bin/www -- --config ../moc_dcs/Config/olympus.json"
|
||||
1
client/scripts/emit-declarations.bat
Normal file
1
client/scripts/emit-declarations.bat
Normal file
@@ -0,0 +1 @@
|
||||
tsc --project tsconfig.json --declaration --emitDeclarationOnly --outfile ./@types/olympus/index.d.ts
|
||||
1
client/scripts/watch.bat
Normal file
1
client/scripts/watch.bat
Normal file
@@ -0,0 +1 @@
|
||||
watchify ./src/index.ts --debug -o ./public/javascripts/bundle.js -t [ babelify --global true --presets [ @babel/preset-env ] --extensions '.js'] -p [ tsify --noImplicitAny ]
|
||||
@@ -1 +1 @@
|
||||
CreateObject("Wscript.Shell").Run "npm run start -- --config """&WScript.Arguments(0)&"""", 1
|
||||
CreateObject("Wscript.Shell").Run "npm run server -- --config """&WScript.Arguments(0)&"""", 1
|
||||
Reference in New Issue
Block a user