From df17e2ddaca92f5f312a6f2c69b8872fd7d911e3 Mon Sep 17 00:00:00 2001 From: Tatpol Chutipat Date: Tue, 28 Oct 2025 05:07:09 +0700 Subject: [PATCH 1/4] feat(aurora/VTBB): Parse and Build Overhaul airway.ts Add boundary files to support boundary fix. Added filtering to accept domestic airway with to/from VT region. ndb.ts Add is_extra filter to hide extra NDB. vor.ts Add is_extra filter to hide extra VOR. Add VOR filter to detect TACAN, VOR only, DME only. waypoint.ts Add boundary filter to show boundary fixes. Filter out database error for SV###. aurora.ts Add scripts to support hidden NDB and VOR. Add scripts to support VOR types (TACAN, VOR only, DME only). Added support to TACAN channel. formatAirways.ts Added scripts to generate label within VT region only. --- airac-parser/common/airway.ts | 125 ++- airac-parser/common/index.ts | 7 +- airac-parser/common/ndb.ts | 55 +- airac-parser/common/vor.ts | 84 +- airac-parser/common/waypoint.ts | 105 +- data/generated/airways.json | 299 ----- data/generated/ndbs.json | 99 +- data/generated/vors.json | 872 +++++++++++++-- data/generated/waypoints.json | 1815 ++++++++++--------------------- scripts/aurora.ts | 20 +- scripts/utils/formatAirways.ts | 58 +- 11 files changed, 1703 insertions(+), 1836 deletions(-) diff --git a/airac-parser/common/airway.ts b/airac-parser/common/airway.ts index d7590578c..b8eca2ae7 100644 --- a/airac-parser/common/airway.ts +++ b/airac-parser/common/airway.ts @@ -24,10 +24,11 @@ export const extractAirways = async ( db: Promise ): Promise<{ data: Segment[][]; - extras: number[]; + extras: number[]; // all non-VT endpoints (unchanged semantics) + boundary: number[]; // NEW: non-VT endpoints directly connected to VT enroute: number[]; }> => { - const filteredSegments = (await db).all(SQL` +const filteredSegments = (await db).all(SQL` SELECT airway.airway_name AS name, airway.airway_fragment_no AS segment_no, @@ -44,44 +45,63 @@ SELECT T2.region AS region_to, T1.waypoint_id AS id_from, T2.waypoint_id AS id_to -FROM - airway -JOIN - waypoint T1 ON airway.from_waypoint_id = T1.waypoint_id -JOIN - waypoint T2 ON airway.to_waypoint_id = T2.waypoint_id +FROM airway +JOIN waypoint T1 ON airway.from_waypoint_id = T1.waypoint_id +JOIN waypoint T2 ON airway.to_waypoint_id = T2.waypoint_id WHERE - (airway.airway_name, airway.airway_fragment_no) IN ( - SELECT DISTINCT - airway_name, - airway_fragment_no - FROM - airway - JOIN - waypoint ON airway.from_waypoint_id = waypoint.waypoint_id - WHERE - region = 'VT' - UNION - SELECT DISTINCT - airway_name, - airway_fragment_no - FROM - airway - JOIN - waypoint ON airway.to_waypoint_id = waypoint.waypoint_id - WHERE - region = 'VT' + ( + substr(airway.airway_name, 1, 1) IN ('H','J','V','W','Q','T','Y','Z') + AND EXISTS ( + SELECT 1 + FROM airway a2 + JOIN waypoint f ON a2.from_waypoint_id = f.waypoint_id + JOIN waypoint t ON a2.to_waypoint_id = t.waypoint_id + WHERE a2.airway_name = airway.airway_name + AND a2.airway_fragment_no = airway.airway_fragment_no + AND f.region = 'VT' + AND t.region = 'VT' -- require at least one VT↔VT segment + ) ) -ORDER BY - airway.airway_id ASC; - `); + OR + ( + substr(airway.airway_name, 1, 1) IN ('A','B','G','R','L','M','N','P') + AND EXISTS ( + SELECT 1 + FROM airway a3 + JOIN waypoint f2 ON a3.from_waypoint_id = f2.waypoint_id + JOIN waypoint t2 ON a3.to_waypoint_id = t2.waypoint_id + WHERE a3.airway_name = airway.airway_name + AND a3.airway_fragment_no = airway.airway_fragment_no + AND (f2.region = 'VT' OR t2.region = 'VT') -- touches VT anywhere + ) + ) + OR + ( + substr(airway.airway_name, 1, 1) NOT IN ('H','J','V','W','Q','T','Y','Z','A','B','G','R','L','M','N','P') + AND EXISTS ( + SELECT 1 + FROM airway a4 + JOIN waypoint f3 ON a4.from_waypoint_id = f3.waypoint_id + JOIN waypoint t3 ON a4.to_waypoint_id = t3.waypoint_id + WHERE a4.airway_name = airway.airway_name + AND a4.airway_fragment_no = airway.airway_fragment_no + AND (f3.region = 'VT' OR t3.region = 'VT') -- safe fallback + ) + ) +ORDER BY airway.airway_id ASC; +`); - const extras: number[] = []; + + // use Sets to avoid duplicates while preserving insertion order via arrays later + const extrasSet = new Set(); // all non-VT endpoints + const boundarySet = new Set(); // non-VT endpoint when the other end is VT const enroute: number[] = []; const { data } = (await filteredSegments).reduce( (prev, curr) => { const { data: currData, ...others } = prev; + + // Track enroute order the same way you did if ( (prev.currentName !== curr.name || prev.currentFragment !== curr.segment_no || @@ -93,17 +113,19 @@ ORDER BY if (enroute.indexOf(curr.id_to) === -1) { enroute.push(curr.id_to); } - if (curr.region_from !== 'VT') { - if (extras.indexOf(curr.id_from) === -1) { - extras.push(curr.id_from); - } - } - if (curr.region_to !== 'VT') { - if (extras.indexOf(curr.id_to) === -1) { - extras.push(curr.id_to); - } - } - const { id_from: _, id_to: __, ...out } = curr; + + // Collect ALL non-VT endpoints in extras (unchanged) + if (curr.region_from !== 'VT') extrasSet.add(curr.id_from); + if (curr.region_to !== 'VT') extrasSet.add(curr.id_to); + + // NEW: boundary = non-VT endpoint when the other side is VT + const fromIsVT = curr.region_from === 'VT'; + const toIsVT = curr.region_to === 'VT'; + if (fromIsVT && !toIsVT) boundarySet.add(curr.id_to); // VT → non-VT + if (!fromIsVT && toIsVT) boundarySet.add(curr.id_from); // non-VT → VT + + // Build grouped segments (unchanged) + const { id_from: _a, id_to: _b, ...out } = curr; if ( out.name !== prev.currentName || out.segment_no !== prev.currentFragment || @@ -115,11 +137,7 @@ ORDER BY currentSequence: out.sequence_no, data: [ ...currData, - [ - { - ...out - } - ] + [{ ...out }] ] }; } else { @@ -133,9 +151,7 @@ ORDER BY ...otherEle, [ ...lastEle, - { - ...out - } + { ...out } ] ] }; @@ -148,5 +164,10 @@ ORDER BY data: [] as Segment[][] } ); - return { data, extras, enroute }; + + // Convert Sets to arrays (insertion order preserved by Set iteration) + const extras = Array.from(extrasSet); + const boundary = Array.from(boundarySet); + + return { data, extras, boundary, enroute }; }; diff --git a/airac-parser/common/index.ts b/airac-parser/common/index.ts index 89460bcd8..afe05e127 100644 --- a/airac-parser/common/index.ts +++ b/airac-parser/common/index.ts @@ -42,6 +42,7 @@ import { extractWaypoints } from './waypoint'; const { data: airways, extras: extrasFromAirways, + boundary: boundaryFromAirways, enroute: enrouteFixes } = await extractAirways(db); @@ -67,7 +68,7 @@ import { extractWaypoints } from './waypoint'; const buildNdbFile = resolve(buildPath, 'ndbs.json'); - const ndbs = extractNdbs(db, extrasFromAirways); + const ndbs = extractNdbs(db, extrasFromAirways, boundaryFromAirways); outputFileSync(buildNdbFile, JSON.stringify(await ndbs, null, 2)); @@ -75,7 +76,7 @@ import { extractWaypoints } from './waypoint'; const buildVorFile = resolve(buildPath, 'vors.json'); - const vors = extractVors(db, extrasFromAirways); + const vors = extractVors(db, extrasFromAirways, boundaryFromAirways); outputFileSync(buildVorFile, JSON.stringify(await vors, null, 2)); @@ -83,7 +84,7 @@ import { extractWaypoints } from './waypoint'; const buildWaypointFile = resolve(buildPath, 'waypoints.json'); - const waypoints = extractWaypoints(db, extrasFromAirways, enrouteFixes); + const waypoints = extractWaypoints(db, extrasFromAirways, boundaryFromAirways, enrouteFixes); outputFileSync(buildWaypointFile, JSON.stringify(await waypoints, null, 2)); diff --git a/airac-parser/common/ndb.ts b/airac-parser/common/ndb.ts index 18cae6b91..eee288114 100644 --- a/airac-parser/common/ndb.ts +++ b/airac-parser/common/ndb.ts @@ -12,8 +12,24 @@ interface NdbDbData { export const extractNdbs = async ( db: Promise, - extra: number[] + extra: number[], + boundary: number[] ): Promise => { + + const boundarySet = new Set(boundary); + + const addIsExtra = + (isExtra: boolean) => + (s: NdbDbData[]): Ndb[] => { + return s.map((w) => { + const { ...others } = w; + return { + ...others, + is_extra: isExtra + }; + }); + }; + const ndbs: Promise = (await db).all(SQL` SELECT ident, name, frequency, laty, lonx @@ -21,25 +37,26 @@ export const extractNdbs = async ( ndb WHERE region = 'VT' - `); + `) + .then(addIsExtra(false)); + const ids = `(${extra.join(',')})`; - const extraNdbs: Promise = (await db).all( - SQL` - SELECT - N.ident, N.name, N.frequency, N.laty, N.lonx - FROM - ( - waypoint W - INNER JOIN - ndb N - ON W.nav_id = N.ndb_id + + const extraNdbs: Promise = (await db) + .all( + SQL` + SELECT + N.ident, N.name, N.frequency, N.laty, N.lonx + FROM + waypoint W + INNER JOIN ndb N ON W.nav_id = N.ndb_id + WHERE + W.waypoint_id IN + `.append(ids).append(SQL` + AND W.type = 'N' + `) ) - WHERE - w.waypoint_id IN - `.append(ids).append(SQL` - AND - W.type = 'N' - `) - ); + .then(addIsExtra(true)); + return (await ndbs).concat(await extraNdbs); }; diff --git a/airac-parser/common/vor.ts b/airac-parser/common/vor.ts index 1efc9f4c3..5b1c4d78d 100644 --- a/airac-parser/common/vor.ts +++ b/airac-parser/common/vor.ts @@ -5,41 +5,85 @@ import { Vor } from '../../utils/interfaces'; interface VorDbData { ident: string; name: string; + type: string; frequency: number; + channel: string; + dme_only: number; + dme_altitude: number; laty: number; lonx: number; } +interface VorDbExtraRow extends VorDbData { + waypoint_id: number; +} + export const extractVors = async ( db: Promise, - extra: number[] + extra: number[], + boundary: number[] ): Promise => { + + const boundarySet = new Set(boundary); + + const addIsExtra = + (isExtra: boolean) => + (s: VorDbData[]): Vor[] => { + return s.map((w) => { + const { type, dme_altitude, dme_only, ...others } = w; + return { + ...others, + is_vor: type === 'H' || type === 'L', + is_vor_only: dme_altitude === null, + is_dme_only: dme_only === 1, + is_tacan: !!w.channel, + is_extra: isExtra + } + }); + }; + const vors: Promise = (await db).all(SQL` SELECT - ident, name, frequency, laty, lonx + ident, name, type, frequency, channel, dme_only, dme_altitude, laty, lonx FROM vor WHERE region = 'VT' - `); + `) + .then(addIsExtra(false));; + const ids = `(${extra.join(',')})`; - const extraVors: Promise = (await db).all( - SQL` - SELECT - V.ident, V.name, V.frequency, V.laty, V.lonx - FROM - ( - waypoint W - INNER JOIN - vor V - ON W.nav_id = V.vor_id + const extraVors: Promise = (await db) + .all( + SQL` + SELECT + W.waypoint_id AS waypoint_id, + V.ident, V.name, V.type, V.frequency, V.channel, V.dme_only, V.dme_altitude, V.laty, V.lonx + FROM + waypoint W + INNER JOIN vor V ON W.nav_id = V.vor_id + WHERE + W.waypoint_id IN + `.append(ids).append(SQL` + AND W.type = 'V' + `) ) - WHERE - w.waypoint_id IN - `.append(ids).append(SQL` - AND - W.type = 'V' - `) - ); + .then((rows) => + rows.map((r) => { + const { waypoint_id, type, dme_altitude, dme_only, ...others } = r; + const t = (type ?? '').toUpperCase(); + const isExtraFlag = !boundarySet.has(waypoint_id); // boundary-linked → NOT extra + + return { + ...others, // ident, name, frequency, channel, laty, lonx + is_vor: t === 'H' || t === 'L', + is_vor_only: dme_altitude === null, + is_dme_only: dme_only === 1, + is_tacan: !!r.channel, + is_extra: isExtraFlag + } as Vor; + }) + ); + return (await vors).concat(await extraVors); }; diff --git a/airac-parser/common/waypoint.ts b/airac-parser/common/waypoint.ts index 653e1d03a..dedfc54ae 100644 --- a/airac-parser/common/waypoint.ts +++ b/airac-parser/common/waypoint.ts @@ -14,57 +14,78 @@ interface WaypointDbData { export const extractWaypoints = async ( db: Promise, extra: number[], + boundary: number[], enrouteFixes: number[] ): Promise => { + const addIsEnrouteAndIsBoundaryInfo = (isBoundary: boolean, isExtra: boolean) => - (s: WaypointDbData[]): Waypoint[] => { - return s.map((w) => { - const { waypoint_id, airport_id, ...others } = w; - return { - ...others, - is_enroute: enrouteFixes.indexOf(waypoint_id) !== -1, - is_terminal: !!airport_id, - is_boundary: isBoundary, - is_extra: isExtra - }; - }); - }; + (s: WaypointDbData[]): Waypoint[] => { + return s.map((w) => { + const { waypoint_id, airport_id, ...others } = w; + return { + ...others, + is_enroute: enrouteFixes.indexOf(waypoint_id) !== -1, + is_terminal: !!airport_id, + is_boundary: isBoundary, + is_extra: isExtra + }; + }); + }; + const waypoints: Promise = (await db) .all( SQL` - SELECT - waypoint_id, ident, laty, lonx, airport_id - FROM - waypoint - WHERE - region = 'VT' - AND - type = 'WN' - ` + SELECT + waypoint_id, ident, laty, lonx, airport_id + FROM + waypoint + WHERE + region = 'VT' + AND type = 'WN' + AND ident NOT GLOB 'SV[0-9][0-9][0-9]' + ` ) .then(addIsEnrouteAndIsBoundaryInfo(false, false)); - const ids = `(${extra.join(',')})`; - const extraWaypoints: Promise = (await db) - .all( - SQL` - SELECT - waypoint_id, ident, laty, lonx, airport_id - FROM - waypoint - WHERE - waypoint_id IN - `.append(ids).append(SQL` - AND - ( - type = 'WN' - OR - type = 'WU' - ) - `) - ) - .then(addIsEnrouteAndIsBoundaryInfo(true, true)); + const boundarySet = new Set(boundary); + const extraUnique = Array.from(new Set(extra)); + const boundaryUnique = Array.from(new Set(boundary)); + + const extraOnly = extraUnique.filter((id) => !boundarySet.has(id)); + + const extraWaypoints: Promise = + extraOnly.length === 0 + ? Promise.resolve([]) + : (await db) + .all( + SQL` + SELECT waypoint_id, ident, laty, lonx + FROM waypoint + WHERE waypoint_id IN + ` + .append(`(${extraOnly.join(',')})`) + .append(SQL` AND (type = 'WN' OR type = 'WU')`) + ) + .then(addIsEnrouteAndIsBoundaryInfo(false, true)); + + // ---- Boundary (WN/WU) ---- + const boundaryWaypoints: Promise = + boundaryUnique.length === 0 + ? Promise.resolve([]) + : (await db) + .all( + SQL` + SELECT waypoint_id, ident, laty, lonx + FROM waypoint + WHERE waypoint_id IN + ` + .append(`(${boundaryUnique.join(',')})`) + .append(SQL` AND (type = 'WN' OR type = 'WU')`) + ) + .then(addIsEnrouteAndIsBoundaryInfo(true, false)); - return (await waypoints).concat(await extraWaypoints); + return (await waypoints) + .concat(await boundaryWaypoints) + .concat(await extraWaypoints); }; diff --git a/data/generated/airways.json b/data/generated/airways.json index a3377d8b3..e49b789b5 100644 --- a/data/generated/airways.json +++ b/data/generated/airways.json @@ -13591,98 +13591,6 @@ "region_to": "VT" } ], - [ - { - "name": "Y20", - "segment_no": 2, - "sequence_no": 1, - "wpt_from": "VIBUN", - "wpt_to": "ATVOP", - "type": "B", - "from_lat": 13.796667098999023, - "from_lon": 105.4316635131836, - "to_lat": 11.907288551330566, - "to_lon": 103.98145294189453, - "direction": "N", - "region_from": "VD", - "region_to": "VD" - }, - { - "name": "Y20", - "segment_no": 2, - "sequence_no": 2, - "wpt_from": "ATVOP", - "wpt_to": "IPGIP", - "type": "B", - "from_lat": 11.907288551330566, - "from_lon": 103.98145294189453, - "to_lat": 11.520552635192871, - "to_lon": 103.68779754638672, - "direction": "N", - "region_from": "VD", - "region_to": "VD" - }, - { - "name": "Y20", - "segment_no": 2, - "sequence_no": 3, - "wpt_from": "IPGIP", - "wpt_to": "UDODA", - "type": "B", - "from_lat": 11.520552635192871, - "from_lon": 103.68779754638672, - "to_lat": 11.06653881072998, - "to_lon": 103.3442611694336, - "direction": "N", - "region_from": "VD", - "region_to": "VD" - }, - { - "name": "Y20", - "segment_no": 2, - "sequence_no": 4, - "wpt_from": "UDODA", - "wpt_to": "LAVEV", - "type": "B", - "from_lat": 11.06653881072998, - "from_lon": 103.3442611694336, - "to_lat": 10.916028022766113, - "to_lon": 103.23063659667969, - "direction": "N", - "region_from": "VD", - "region_to": "VD" - }, - { - "name": "Y20", - "segment_no": 2, - "sequence_no": 5, - "wpt_from": "LAVEV", - "wpt_to": "IVROL", - "type": "B", - "from_lat": 10.916028022766113, - "from_lon": 103.23063659667969, - "to_lat": 10.13830852508545, - "to_lon": 102.82076263427734, - "direction": "N", - "region_from": "VD", - "region_to": "VT" - }, - { - "name": "Y20", - "segment_no": 2, - "sequence_no": 6, - "wpt_from": "IVROL", - "wpt_to": "IPLIS", - "type": "B", - "from_lat": 10.13830852508545, - "from_lon": 102.82076263427734, - "to_lat": 9.815217018127441, - "to_lon": 102.65101623535156, - "direction": "N", - "region_from": "VT", - "region_to": "VD" - } - ], [ { "name": "Y21", @@ -13775,53 +13683,6 @@ "region_to": "VT" } ], - [ - { - "name": "Y21", - "segment_no": 2, - "sequence_no": 1, - "wpt_from": "SAKDA", - "wpt_to": "VEDSU", - "type": "B", - "from_lat": 11.614999771118164, - "from_lon": 103, - "to_lat": 11.474371910095215, - "to_lon": 103.04651641845703, - "direction": "N", - "region_from": "VD", - "region_to": "VT" - }, - { - "name": "Y21", - "segment_no": 2, - "sequence_no": 2, - "wpt_from": "VEDSU", - "wpt_to": "LAVEV", - "type": "B", - "from_lat": 11.474371910095215, - "from_lon": 103.04651641845703, - "to_lat": 10.916028022766113, - "to_lon": 103.23063659667969, - "direction": "N", - "region_from": "VT", - "region_to": "VD" - }, - { - "name": "Y21", - "segment_no": 2, - "sequence_no": 3, - "wpt_from": "LAVEV", - "wpt_to": "KOS", - "type": "B", - "from_lat": 10.916028022766113, - "from_lon": 103.23063659667969, - "to_lat": 10.589666366577148, - "to_lon": 103.64216613769531, - "direction": "N", - "region_from": "VD", - "region_to": "VD" - } - ], [ { "name": "Y22", @@ -14036,40 +13897,6 @@ "region_to": "VT" } ], - [ - { - "name": "Y24", - "segment_no": 1, - "sequence_no": 1, - "wpt_from": "PASVA", - "wpt_to": "IKOGA", - "type": "J", - "from_lat": 6.2581000328063965, - "from_lon": 102.07530212402344, - "to_lat": 7.659783363342285, - "to_lon": 101.54303741455078, - "direction": "B", - "region_from": "WM", - "region_to": "VT" - } - ], - [ - { - "name": "Y25", - "segment_no": 3, - "sequence_no": 1, - "wpt_from": "PASVA", - "wpt_to": "TONIK", - "type": "J", - "from_lat": 6.2581000328063965, - "from_lon": 102.07530212402344, - "to_lat": 9.293366432189941, - "to_lon": 101.98521423339844, - "direction": "B", - "region_from": "WM", - "region_to": "VT" - } - ], [ { "name": "Y26", @@ -14423,68 +14250,6 @@ "region_to": "VT" } ], - [ - { - "name": "Y3", - "segment_no": 1, - "sequence_no": 1, - "wpt_from": "BOKAK", - "wpt_to": "RIMSO", - "type": "B", - "from_lat": 12.9600830078125, - "from_lon": 102.49647521972656, - "to_lat": 13.091666221618652, - "to_lon": 103.22333526611328, - "direction": "N", - "region_from": "VT", - "region_to": "VD" - }, - { - "name": "Y3", - "segment_no": 1, - "sequence_no": 2, - "wpt_from": "RIMSO", - "wpt_to": "REP", - "type": "B", - "from_lat": 13.091666221618652, - "from_lon": 103.22333526611328, - "to_lat": 13.360555648803711, - "to_lon": 104.21969604492188, - "direction": "N", - "region_from": "VD", - "region_to": "VD" - }, - { - "name": "Y3", - "segment_no": 1, - "sequence_no": 3, - "wpt_from": "REP", - "wpt_to": "TAREG", - "type": "B", - "from_lat": 13.360555648803711, - "from_lon": 104.21969604492188, - "to_lat": 13.524999618530273, - "to_lon": 106.01499938964844, - "direction": "N", - "region_from": "VD", - "region_to": "VD" - }, - { - "name": "Y3", - "segment_no": 1, - "sequence_no": 4, - "wpt_from": "TAREG", - "wpt_to": "ANSAT", - "type": "B", - "from_lat": 13.524999618530273, - "from_lon": 106.01499938964844, - "to_lat": 13.729999542236328, - "to_lon": 106.98666381835938, - "direction": "N", - "region_from": "VD", - "region_to": "VD" - } - ], [ { "name": "Y3", @@ -14709,38 +14474,6 @@ "region_to": "VT" } ], - [ - { - "name": "Y351", - "segment_no": 2, - "sequence_no": 1, - "wpt_from": "VPG", - "wpt_to": "GOGOM", - "type": "B", - "from_lat": 5.279399871826172, - "from_lon": 100.26077270507812, - "to_lat": 5.716388702392578, - "to_lon": 100.21127319335938, - "direction": "F", - "region_from": "WM", - "region_to": "WM" - }, - { - "name": "Y351", - "segment_no": 2, - "sequence_no": 2, - "wpt_from": "GOGOM", - "wpt_to": "DUBAX", - "type": "B", - "from_lat": 5.716388702392578, - "from_lon": 100.21127319335938, - "to_lat": 6.432194232940674, - "to_lon": 100.1268310546875, - "direction": "F", - "region_from": "WM", - "region_to": "VT" - } - ], [ { "name": "Y36", @@ -15019,38 +14752,6 @@ "region_to": "VT" } ], - [ - { - "name": "Y502", - "segment_no": 2, - "sequence_no": 1, - "wpt_from": "RINBA", - "wpt_to": "GUTEB", - "type": "B", - "from_lat": 5.37060022354126, - "from_lon": 100.7498779296875, - "to_lat": 5.784286022186279, - "to_lon": 100.51596069335938, - "direction": "N", - "region_from": "WM", - "region_to": "WM" - }, - { - "name": "Y502", - "segment_no": 2, - "sequence_no": 2, - "wpt_from": "GUTEB", - "wpt_to": "DUBAX", - "type": "B", - "from_lat": 5.784286022186279, - "from_lon": 100.51596069335938, - "to_lat": 6.432194232940674, - "to_lon": 100.1268310546875, - "direction": "F", - "region_from": "WM", - "region_to": "VT" - } - ], [ { "name": "Y7", diff --git a/data/generated/ndbs.json b/data/generated/ndbs.json index 097964091..8c6f624fb 100644 --- a/data/generated/ndbs.json +++ b/data/generated/ndbs.json @@ -4,230 +4,263 @@ "name": "BURIRUM", "frequency": 30300, "laty": 15.23866667, - "lonx": 103.25255556 + "lonx": 103.25255556, + "is_extra": false }, { "ident": "CP", "name": "CHUMPHON", "frequency": 27900, "laty": 10.71775, - "lonx": 99.36611111 + "lonx": 99.36611111, + "is_extra": false }, { "ident": "CT", "name": "CHIANG RAI", "frequency": 27700, "laty": 19.95975, - "lonx": 99.88308333 + "lonx": 99.88308333, + "is_extra": false }, { "ident": "HN", "name": "HUA HIN", "frequency": 21300, "laty": 12.645, - "lonx": 99.94625 + "lonx": 99.94625, + "is_extra": false }, { "ident": "KB", "name": "KRABI", "frequency": 29900, "laty": 8.10541667, - "lonx": 98.97452778 + "lonx": 98.97452778, + "is_extra": false }, { "ident": "KN", "name": "KHON KAEN", "frequency": 39300, "laty": 16.46205833, - "lonx": 102.78449444 + "lonx": 102.78449444, + "is_extra": false }, { "ident": "KPS", "name": "KAMPHAENG SAEN NAKHON PATHOM", "frequency": 25100, "laty": 14.17034444, - "lonx": 99.95686389 + "lonx": 99.95686389, + "is_extra": false }, { "ident": "KR", "name": "NAKHON RATCHASIMA", "frequency": 39900, "laty": 14.95647222, - "lonx": 102.31472222 + "lonx": 102.31472222, + "is_extra": false }, { "ident": "LB", "name": "LOP BURI", "frequency": 28000, "laty": 14.87674167, - "lonx": 100.65734722 + "lonx": 100.65734722, + "is_extra": false }, { "ident": "LP", "name": "LAMPANG", "frequency": 39500, "laty": 18.27802222, - "lonx": 99.50746667 + "lonx": 99.50746667, + "is_extra": false }, { "ident": "LY", "name": "LOEI", "frequency": 32500, "laty": 17.44863889, - "lonx": 101.72652778 + "lonx": 101.72652778, + "is_extra": false }, { "ident": "MH", "name": "MAE HONG SON", "frequency": 38400, "laty": 19.29884444, - "lonx": 97.97516389 + "lonx": 97.97516389, + "is_extra": false }, { "ident": "MS", "name": "MAE SOT TAK", "frequency": 31600, "laty": 16.70193611, - "lonx": 98.53979167 + "lonx": 98.53979167, + "is_extra": false }, { "ident": "NN", "name": "NAN", "frequency": 35500, "laty": 18.80722222, - "lonx": 100.78664167 + "lonx": 100.78664167, + "is_extra": false }, { "ident": "NP", "name": "NAKHON PHANOM", "frequency": 38300, "laty": 17.39241667, - "lonx": 104.64266667 + "lonx": 104.64266667, + "is_extra": false }, { "ident": "NT", "name": "NARATHIWAT", "frequency": 38300, "laty": 6.52813889, - "lonx": 101.74975 + "lonx": 101.74975, + "is_extra": false }, { "ident": "PB", "name": "PRACHIN BURI", "frequency": 20100, "laty": 14.11833333, - "lonx": 101.37166667 + "lonx": 101.37166667, + "is_extra": false }, { "ident": "PC", "name": "PHETCHABUN", "frequency": 28300, "laty": 16.65916667, - "lonx": 101.18972222 + "lonx": 101.18972222, + "is_extra": false }, { "ident": "PCK", "name": "PRACHUAP KHIRI KHAN", "frequency": 32000, "laty": 11.79163611, - "lonx": 99.80000833 + "lonx": 99.80000833, + "is_extra": false }, { "ident": "PH", "name": "PHETCHABUN", "frequency": 28300, "laty": 16.66086944, - "lonx": 101.19036111 + "lonx": 101.19036111, + "is_extra": false }, { "ident": "PR", "name": "PHRAE", "frequency": 34000, "laty": 18.12948333, - "lonx": 100.16136389 + "lonx": 100.16136389, + "is_extra": false }, { "ident": "PT", "name": "PATTANI", "frequency": 20100, "laty": 6.78845833, - "lonx": 101.14791944 + "lonx": 101.14791944, + "is_extra": false }, { "ident": "RE", "name": "ROI ET", "frequency": 31900, "laty": 16.11069444, - "lonx": 103.77822222 + "lonx": 103.77822222, + "is_extra": false }, { "ident": "RN", "name": "RANONG", "frequency": 37500, "laty": 9.78330556, - "lonx": 98.591 + "lonx": 98.591, + "is_extra": false }, { "ident": "SK", "name": "SONGKHLA", "frequency": 41000, "laty": 7.1875, - "lonx": 100.60388889 + "lonx": 100.60388889, + "is_extra": false }, { "ident": "SN", "name": "SAKON NAKHON", "frequency": 36500, "laty": 17.19697222, - "lonx": 104.11486111 + "lonx": 104.11486111, + "is_extra": false }, { "ident": "THS", "name": "SUKHOTHAI", "frequency": 29200, "laty": 17.23521389, - "lonx": 99.82203056 + "lonx": 99.82203056, + "is_extra": false }, { "ident": "TK", "name": "TAK", "frequency": 33200, "laty": 16.8995, - "lonx": 99.25222222 + "lonx": 99.25222222, + "is_extra": false }, { "ident": "TL", "name": "TAKHLI", "frequency": 35000, "laty": 15.27595833, - "lonx": 100.29753056 + "lonx": 100.29753056, + "is_extra": false }, { "ident": "TRT", "name": "TRAT", "frequency": 38400, "laty": 12.27447222, - "lonx": 102.31391667 + "lonx": 102.31391667, + "is_extra": false }, { "ident": "UP", "name": "U-TAPHAO", "frequency": 41400, "laty": 12.66180833, - "lonx": 100.994375 + "lonx": 100.994375, + "is_extra": false }, { "ident": "WN", "name": "WATTHANA NAKHON", "frequency": 27000, "laty": 13.76739444, - "lonx": 102.31841111 + "lonx": 102.31841111, + "is_extra": false }, { "ident": "MC", "name": "MOCCHAU", "frequency": 51400, "laty": 20.82805556, - "lonx": 104.70027778 + "lonx": 104.70027778, + "is_extra": true } ] \ No newline at end of file diff --git a/data/generated/vors.json b/data/generated/vors.json index b141e14c5..c5b0c4ce7 100644 --- a/data/generated/vors.json +++ b/data/generated/vors.json @@ -3,763 +3,1417 @@ "ident": "BET", "name": "BETONG YALA", "frequency": 113100, + "channel": null, "laty": 5.78547222, - "lonx": 101.14408333 + "lonx": 101.14408333, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "BKK", "name": "BANGKOK", "frequency": 117700, + "channel": null, "laty": 13.89355556, - "lonx": 100.59619444 + "lonx": 100.59619444, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "BRM", "name": "BURI RAM", "frequency": 117200, + "channel": null, "laty": 15.23955556, - "lonx": 103.25877778 + "lonx": 103.25877778, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "BTG", "name": "PATTANI", "frequency": 114600, + "channel": "93X", "laty": 6.78733056, - "lonx": 101.15084444 + "lonx": 101.15084444, + "is_vor": false, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": true, + "is_extra": false }, { "ident": "BTN", "name": "NARATHIWAT", "frequency": 115200, + "channel": "99X", "laty": 6.52333333, - "lonx": 101.745 + "lonx": 101.745, + "is_vor": false, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": true, + "is_extra": false }, { "ident": "BUT", "name": "U-TAPAO", "frequency": 110800, + "channel": null, "laty": 12.66666667, - "lonx": 101.00047222 + "lonx": 101.00047222, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "CHM", "name": "CHIANG MAI", "frequency": 116200, + "channel": "109X", "laty": 18.77552778, - "lonx": 98.96075 + "lonx": 98.96075, + "is_vor": false, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": true, + "is_extra": false }, { "ident": "CMA", "name": "CHIANG MAI", "frequency": 116900, + "channel": null, "laty": 18.76613889, - "lonx": 98.96122222 + "lonx": 98.96122222, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "CMP", "name": "CHUM PHAE", "frequency": 112900, + "channel": null, "laty": 16.63527778, - "lonx": 101.98888889 + "lonx": 101.98888889, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "CPN", "name": "CHUMPHON", "frequency": 110000, + "channel": null, "laty": 10.71119444, - "lonx": 99.36558333 + "lonx": 99.36558333, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "CTR", "name": "CHIANG RAI", "frequency": 116500, + "channel": null, "laty": 19.94886111, - "lonx": 99.88313889 + "lonx": 99.88313889, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "HHN", "name": "HUA HIN", "frequency": 113300, + "channel": null, "laty": 12.63441667, - "lonx": 99.95116667 + "lonx": 99.95116667, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "HTY", "name": "HAT YAI", "frequency": 115300, + "channel": null, "laty": 6.93411111, - "lonx": 100.38794444 + "lonx": 100.38794444, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "KBI", "name": "KRABI", "frequency": 111000, + "channel": null, "laty": 8.1075, - "lonx": 98.9775 + "lonx": 98.9775, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "KKN", "name": "KHON KAEN", "frequency": 114900, + "channel": null, "laty": 16.47091667, - "lonx": 102.788 + "lonx": 102.788, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "KPS", "name": "KAMPHAENG SAEN NAKHON PATHOM", "frequency": 114500, + "channel": null, "laty": 14.16575278, - "lonx": 99.95431111 + "lonx": 99.95431111, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "KRT", "name": "KHORAT NAKHON RATCHASIMA", "frequency": 113700, + "channel": null, "laty": 14.91730556, - "lonx": 102.13980556 + "lonx": 102.13980556, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "LOB", "name": "LOB BANGKOK", "frequency": 116800, + "channel": "115X", "laty": 14.87620278, - "lonx": 100.65985833 + "lonx": 100.65985833, + "is_vor": false, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": true, + "is_extra": false }, { "ident": "LOY", "name": "LOEI", "frequency": 115900, + "channel": null, "laty": 17.44705556, - "lonx": 101.72311111 + "lonx": 101.72311111, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "LPN", "name": "LAMPANG", "frequency": 114700, + "channel": null, "laty": 18.27663889, - "lonx": 99.50233333 + "lonx": 99.50233333, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "MHS", "name": "MAE HONG SON", "frequency": 115500, + "channel": null, "laty": 19.31975, - "lonx": 97.91211111 + "lonx": 97.91211111, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "MS", "name": "MAE SOT TAK", "frequency": 116700, + "channel": null, "laty": 16.70193611, - "lonx": 98.53979167 + "lonx": 98.53979167, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": true, + "is_tacan": false, + "is_extra": false }, { "ident": "MST", "name": "MAE SOT TAK", "frequency": 116700, + "channel": null, "laty": 16.69780556, - "lonx": 98.54158333 + "lonx": 98.54158333, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "NAN", "name": "NAN", "frequency": 115700, + "channel": null, "laty": 18.80911111, - "lonx": 100.78261111 + "lonx": 100.78261111, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "NKP", "name": "NAKHON PHANOM", "frequency": 111600, + "channel": null, "laty": 17.38830556, - "lonx": 104.63836111 + "lonx": 104.63836111, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "NKR", "name": "NAKHON RATCHASIMA", "frequency": 110200, + "channel": null, "laty": 14.94655556, - "lonx": 102.31122222 + "lonx": 102.31122222, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "NKS", "name": "NAKHON SI THAMMARAT", "frequency": 117400, + "channel": null, "laty": 8.54166667, - "lonx": 99.94686111 + "lonx": 99.94686111, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "NTW", "name": "NARATHIWAT", "frequency": 116300, + "channel": null, "laty": 6.52727778, - "lonx": 101.74513889 + "lonx": 101.74513889, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "PAE", "name": "PHRAE", "frequency": 111800, + "channel": null, "laty": 18.13413889, - "lonx": 100.16625 + "lonx": 100.16625, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "PCB", "name": "PHETCHABUN", "frequency": 115400, + "channel": null, "laty": 16.676, - "lonx": 101.19663889 + "lonx": 101.19663889, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "PCK", "name": "PRACHUAP KHIRI KHAN", "frequency": 113700, + "channel": "84X", "laty": 11.786775, - "lonx": 99.79172778 + "lonx": 99.79172778, + "is_vor": false, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": true, + "is_extra": false }, { "ident": "PSL", "name": "PHITSANULOK", "frequency": 114100, + "channel": null, "laty": 16.77036111, - "lonx": 100.29138889 + "lonx": 100.29138889, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "PUT", "name": "PHUKET", "frequency": 116900, + "channel": null, "laty": 8.11397222, - "lonx": 98.307 + "lonx": 98.307, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "RAN", "name": "RANONG", "frequency": 113400, + "channel": null, "laty": 9.77797222, - "lonx": 98.58372222 + "lonx": 98.58372222, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "ROT", "name": "ROI ET", "frequency": 111200, + "channel": null, "laty": 16.11683333, - "lonx": 103.77208333 + "lonx": 103.77208333, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "RYN", "name": "RAYONG", "frequency": 112500, + "channel": null, "laty": 12.77863889, - "lonx": 101.67644444 + "lonx": 101.67644444, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "SKL", "name": "SONGKHLA", "frequency": 113500, + "channel": null, "laty": 7.18879167, - "lonx": 100.60419722 + "lonx": 100.60419722, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "SKN", "name": "SAKON NAKHON", "frequency": 114200, + "channel": null, "laty": 17.21411111, - "lonx": 104.13677778 + "lonx": 104.13677778, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "SMU", "name": "SAMUI", "frequency": 117600, + "channel": null, "laty": 9.54702778, - "lonx": 100.06175 + "lonx": 100.06175, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "SPN", "name": "SA PRAN NAK LOP BURI", "frequency": 117300, + "channel": null, "laty": 14.94833333, - "lonx": 100.645 + "lonx": 100.645, + "is_vor": true, + "is_vor_only": true, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "SRT", "name": "SURAT THANI", "frequency": 113200, + "channel": "79X", "laty": 9.13111111, - "lonx": 99.13472222 + "lonx": 99.13472222, + "is_vor": false, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": true, + "is_extra": false }, { "ident": "STN", "name": "SURAT THANI", "frequency": 110600, + "channel": null, "laty": 9.1295, - "lonx": 99.13475 + "lonx": 99.13475, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "SVB", "name": "SUVARNABHUMI BANGKOK", "frequency": 111400, + "channel": null, "laty": 13.65902778, - "lonx": 100.73144444 + "lonx": 100.73144444, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "TKL", "name": "TAKHLI", "frequency": 114800, + "channel": "95X", "laty": 15.27475833, - "lonx": 100.29906111 + "lonx": 100.29906111, + "is_vor": false, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": true, + "is_extra": false }, { "ident": "TRN", "name": "TRANG", "frequency": 116600, + "channel": null, "laty": 7.50891667, - "lonx": 99.62602778 + "lonx": 99.62602778, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "TRT", "name": "TRAT", "frequency": 109900, + "channel": null, "laty": 12.27644444, - "lonx": 102.31913889 + "lonx": 102.31913889, + "is_vor": false, + "is_vor_only": false, + "is_dme_only": true, + "is_tacan": false, + "is_extra": false }, { "ident": "UBL", "name": "UBON UBON RATCHATHANI", "frequency": 112700, + "channel": null, "laty": 15.24519444, - "lonx": 104.86588889 + "lonx": 104.86588889, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "UDN", "name": "UDON THANI", "frequency": 114300, + "channel": null, "laty": 17.38477778, - "lonx": 102.77494444 + "lonx": 102.77494444, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "APU", "name": "ANBU TAIPEI", "frequency": 112500, + "channel": null, "laty": 25.17686111, - "lonx": 121.52225 + "lonx": 121.52225, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "HLG", "name": "HOULONG", "frequency": 114000, + "channel": null, "laty": 24.55980556, - "lonx": 120.72716667 + "lonx": 120.72716667, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "MKG", "name": "MAGONG PENGHU I.", "frequency": 115200, + "channel": null, "laty": 23.59544444, - "lonx": 119.63727778 + "lonx": 119.63727778, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "HKC", "name": "KAGOSHIMA", "frequency": 113300, + "channel": "80X", "laty": 31.69722222, - "lonx": 130.58294167 + "lonx": 130.58294167, + "is_vor": false, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": true, + "is_extra": true }, { "ident": "KEC", "name": "KUSHIMOTO", "frequency": 112900, + "channel": "76X", "laty": 33.44774167, - "lonx": 135.79449444 + "lonx": 135.79449444, + "is_vor": false, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": true, + "is_extra": true }, { "ident": "SUC", "name": "SHIMIZU", "frequency": 115200, + "channel": "99X", "laty": 32.75596944, - "lonx": 132.99664722 + "lonx": 132.99664722, + "is_vor": false, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": true, + "is_extra": true }, { "ident": "AAE", "name": "AHMEDABAD", "frequency": 113100, + "channel": null, "laty": 23.06869444, - "lonx": 72.62875 + "lonx": 72.62875, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "AAU", "name": "AURANGABAD", "frequency": 116300, + "channel": null, "laty": 19.86088889, - "lonx": 75.40605556 + "lonx": 75.40605556, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "NNP", "name": "NAGPUR", "frequency": 112700, + "channel": null, "laty": 21.08197778, - "lonx": 79.05617778 + "lonx": 79.05617778, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "KAT", "name": "KATUNAYAKE", "frequency": 114100, + "channel": null, "laty": 7.16125556, - "lonx": 79.86850833 + "lonx": 79.86850833, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "KOS", "name": "SIHANOUK", "frequency": 116000, + "channel": null, "laty": 10.58966667, - "lonx": 103.64216667 + "lonx": 103.64216667, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "REP", "name": "SIEM REAP", "frequency": 112000, + "channel": null, "laty": 13.36055556, - "lonx": 104.21969444 + "lonx": 104.21969444, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "TIA", "name": "TECHO", "frequency": 111000, + "channel": null, "laty": 11.343, - "lonx": 104.90394444 + "lonx": 104.90394444, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "BBN", "name": "VARANASI", "frequency": 113900, + "channel": null, "laty": 25.45422222, - "lonx": 82.8595 + "lonx": 82.8595, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "BBS", "name": "BHUBANESWAR", "frequency": 113500, + "channel": null, "laty": 20.24422222, - "lonx": 85.813 + "lonx": 85.813, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "CEA", "name": "KOLKATA", "frequency": 112500, + "channel": null, "laty": 22.67591667, - "lonx": 88.44811111 + "lonx": 88.44811111, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "JJS", "name": "JAMSHEDPUR", "frequency": 115400, + "channel": null, "laty": 22.81319444, - "lonx": 86.17394444 + "lonx": 86.17394444, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "KKJ", "name": "KHAJURAHO", "frequency": 116400, + "channel": null, "laty": 24.803, - "lonx": 79.913 + "lonx": 79.913, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "VVZ", "name": "VISAKHAPATNAM", "frequency": 114000, + "channel": null, "laty": 17.66883333, - "lonx": 83.25286111 + "lonx": 83.25286111, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "CTG", "name": "CHATTOGRAM", "frequency": 113400, + "channel": null, "laty": 22.25775, - "lonx": 91.8275 + "lonx": 91.8275, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "DAC", "name": "DHAKA", "frequency": 112700, + "channel": null, "laty": 23.82427778, - "lonx": 90.41291667 + "lonx": 90.41291667, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "RAJ", "name": "RAJSHAHI", "frequency": 114600, + "channel": null, "laty": 24.439, - "lonx": 88.61522222 + "lonx": 88.61522222, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "AGG", "name": "AGRA", "frequency": 112000, + "channel": null, "laty": 27.15727778, - "lonx": 77.95655556 + "lonx": 77.95655556, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "DPN", "name": "DELHI", "frequency": 116100, + "channel": null, "laty": 28.56691667, - "lonx": 77.09352778 + "lonx": 77.09352778, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "LPB", "name": "LUANG PHABANG", "frequency": 116600, + "channel": null, "laty": 19.91096111, - "lonx": 102.17190833 + "lonx": 102.17190833, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "PAK", "name": "PAKSE", "frequency": 115000, + "channel": null, "laty": 15.19675, - "lonx": 105.73805556 + "lonx": 105.73805556, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "SAV", "name": "SAVANNAKHET", "frequency": 113500, + "channel": null, "laty": 16.56213889, - "lonx": 104.76666667 + "lonx": 104.76666667, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "VTN", "name": "VIENTIANE", "frequency": 117500, + "channel": null, "laty": 18.01036111, - "lonx": 102.54047222 + "lonx": 102.54047222, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "SMR", "name": "SIMARA", "frequency": 112900, + "channel": null, "laty": 27.16416667, - "lonx": 84.98222222 + "lonx": 84.98222222, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "DAN", "name": "DA NANG", "frequency": 114400, + "channel": null, "laty": 16.05277778, - "lonx": 108.19819444 + "lonx": 108.19819444, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "NOB", "name": "NOI BAI HANOI", "frequency": 116100, + "channel": null, "laty": 21.21302222, - "lonx": 105.83493611 + "lonx": 105.83493611, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "PCA", "name": "PHU CAT", "frequency": 116300, + "channel": null, "laty": 13.95725, - "lonx": 109.04266667 + "lonx": 109.04266667, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "PLK", "name": "PLEIKU", "frequency": 113400, + "channel": null, "laty": 14.00602778, - "lonx": 108.02441667 + "lonx": 108.02441667, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "PQU", "name": "PHU QUOC", "frequency": 113000, + "channel": null, "laty": 10.16529722, - "lonx": 104.03894444 + "lonx": 104.03894444, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "TSH", "name": "TAN SON NHAT", "frequency": 116800, + "channel": null, "laty": 10.81830556, - "lonx": 106.65055556 + "lonx": 106.65055556, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "BGO", "name": "BAGO", "frequency": 112600, + "channel": null, "laty": 17.31849444, - "lonx": 96.519875 + "lonx": 96.519875, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "DWI", "name": "DAWEI", "frequency": 112000, + "channel": null, "laty": 14.10056111, - "lonx": 98.20680278 + "lonx": 98.20680278, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "MDY", "name": "MANDALAY", "frequency": 112800, + "channel": null, "laty": 21.93427778, - "lonx": 96.12975 + "lonx": 96.12975, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "PTN", "name": "PATHEIN", "frequency": 115600, + "channel": null, "laty": 16.80868889, - "lonx": 94.76955 + "lonx": 94.76955, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "TPG", "name": "TANJUNGPINANG", "frequency": 114800, + "channel": null, "laty": 0.90355556, - "lonx": 104.51455556 + "lonx": 104.51455556, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "VAS", "name": "ALOR SETAR", "frequency": 113600, + "channel": null, "laty": 6.18566667, - "lonx": 100.397 + "lonx": 100.397, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "VBA", "name": "BATU ARANG", "frequency": 114700, + "channel": null, "laty": 3.32508333, - "lonx": 101.46088889 + "lonx": 101.46088889, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "VIH", "name": "IPOH", "frequency": 117300, + "channel": null, "laty": 4.57361111, - "lonx": 101.09392778 + "lonx": 101.09392778, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "VJB", "name": "JOHOR BAHRU", "frequency": 112500, + "channel": null, "laty": 1.664, - "lonx": 103.66088889 + "lonx": 103.66088889, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "VKB", "name": "KOTA BHARU", "frequency": 112300, + "channel": null, "laty": 6.16344444, - "lonx": 102.31419444 + "lonx": 102.31419444, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": false }, { "ident": "VKL", "name": "KUALA LUMPUR", "frequency": 116100, + "channel": null, "laty": 2.72444444, - "lonx": 101.73805556 + "lonx": 101.73805556, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "VPG", "name": "PENANG", "frequency": 116200, + "channel": null, "laty": 5.2794, - "lonx": 100.26077222 + "lonx": 100.26077222, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "VPK", "name": "PEKAN", "frequency": 115600, + "channel": null, "laty": 3.38791667, - "lonx": 103.42102778 + "lonx": 103.42102778, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "VPL", "name": "LANGKAWI", "frequency": 114100, + "channel": null, "laty": 6.35435, - "lonx": 99.74545278 + "lonx": 99.74545278, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "PU", "name": "PAPA UNIFORM SINGAPORE", "frequency": 115100, + "channel": null, "laty": 1.42333333, - "lonx": 103.93333333 + "lonx": 103.93333333, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "SJ", "name": "SINJON SINGAPORE", "frequency": 113500, + "channel": null, "laty": 1.22259444, - "lonx": 103.85422778 + "lonx": 103.85422778, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "GYA", "name": "GAOYAO", "frequency": 116500, + "channel": null, "laty": 23.07, - "lonx": 112.48666667 + "lonx": 112.48666667, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "HUY", "name": "HUAYUAN", "frequency": 112000, + "channel": null, "laty": 28.58, - "lonx": 109.45 + "lonx": 109.45, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "LIN", "name": "LINLI", "frequency": 117500, + "channel": null, "laty": 29.35333333, - "lonx": 111.64833333 + "lonx": 111.64833333, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "LON", "name": "LONGZHOU", "frequency": 112200, + "channel": null, "laty": 22.35666667, - "lonx": 106.86833333 + "lonx": 106.86833333, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "WUY", "name": "NANNING", "frequency": 112400, + "channel": null, "laty": 22.58598889, - "lonx": 108.15007222 + "lonx": 108.15007222, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "WHA", "name": "TIANHE", "frequency": 112200, + "channel": null, "laty": 30.78166667, - "lonx": 114.20333333 + "lonx": 114.20333333, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "SGM", "name": "XISHAN", "frequency": 110600, + "channel": null, "laty": 25.08166667, - "lonx": 102.52 + "lonx": 102.52, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "XFA", "name": "PANLONG", "frequency": 110800, + "channel": null, "laty": 25.40166667, - "lonx": 102.93333333 + "lonx": 102.93333333, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "LPS", "name": "LIUPANSHUI", "frequency": 116300, + "channel": null, "laty": 26.64333333, - "lonx": 105.03 + "lonx": 105.03, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true }, { "ident": "QNX", "name": "QIANXI", "frequency": 113100, + "channel": null, "laty": 27.04166667, - "lonx": 106.03 + "lonx": 106.03, + "is_vor": true, + "is_vor_only": false, + "is_dme_only": false, + "is_tacan": false, + "is_extra": true } ] \ No newline at end of file diff --git a/data/generated/waypoints.json b/data/generated/waypoints.json index 9fe9989fe..211a1fb2c 100644 --- a/data/generated/waypoints.json +++ b/data/generated/waypoints.json @@ -197,14 +197,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "AKMOM", - "laty": 15.49869722, - "lonx": 104.663525, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "AKRET", "laty": 16.67111111, @@ -610,14 +602,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "AREVU", - "laty": 15.23082778, - "lonx": 104.65015556, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "ARMOO", "laty": 18.80340833, @@ -672,14 +656,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "ASABO", - "laty": 15.20262222, - "lonx": 104.35064167, - "is_enroute": true, - "is_terminal": false, - "is_boundary": false - }, { "ident": "ASANI", "laty": 13.84905278, @@ -743,14 +719,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "ATMEG", - "laty": 15.22315833, - "lonx": 104.59738333, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "ATMOB", "laty": 17.18528333, @@ -1525,14 +1493,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "BINEK", - "laty": 15.35872222, - "lonx": 104.63520833, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "BINIX", "laty": 16.79807222, @@ -1578,14 +1538,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "BLAFF", - "laty": 15.27595833, - "lonx": 100.29753056, - "is_enroute": true, - "is_terminal": false, - "is_boundary": false - }, { "ident": "BLUES", "laty": 14.018075, @@ -3944,14 +3896,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "CRIST", - "laty": 18.79777778, - "lonx": 100.22611111, - "is_enroute": true, - "is_terminal": false, - "is_boundary": false - }, { "ident": "CT031", "laty": 19.94029167, @@ -4429,14 +4373,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "DOLBO", - "laty": 15.28606667, - "lonx": 105.22595, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "DOLNI", "laty": 13.29433889, @@ -4662,14 +4598,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "DUGIL", - "laty": 15.37264167, - "lonx": 105.01075556, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "DUGIX", "laty": 14.02286389, @@ -5075,14 +5003,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "ENLEP", - "laty": 15.56479444, - "lonx": 104.46671944, - "is_enroute": true, - "is_terminal": false, - "is_boundary": false - }, { "ident": "ENLON", "laty": 16.89760556, @@ -5299,14 +5219,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "EXUBI", - "laty": 15.10588611, - "lonx": 104.682325, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "FAGAS", "laty": 8.70403889, @@ -5550,14 +5462,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "GOPVI", - "laty": 15.12643056, - "lonx": 104.53539722, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "GORDU", "laty": 19.06723333, @@ -5603,14 +5507,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "GOTPO", - "laty": 15.10678056, - "lonx": 104.90172778, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "GOVDA", "laty": 8.99911667, @@ -5719,14 +5615,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "GUNEP", - "laty": 15.30503889, - "lonx": 105.11709444, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "GUNYA", "laty": 12.70306667, @@ -5772,14 +5660,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "GURNA", - "laty": 15.17309167, - "lonx": 105.02148333, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "GUROK", "laty": 16.05816389, @@ -6423,7 +6303,7 @@ "ident": "IVROL", "laty": 10.13830833, "lonx": 102.82076111, - "is_enroute": true, + "is_enroute": false, "is_terminal": false, "is_boundary": false, "is_extra": false @@ -6536,14 +6416,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "KABUB", - "laty": 15.17237222, - "lonx": 104.59167222, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "KABUT", "laty": 13.94214722, @@ -7552,14 +7424,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "MALOL", - "laty": 15.31419722, - "lonx": 104.9443, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "MANAM", "laty": 9.86848889, @@ -8100,14 +7964,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "MUBDA", - "laty": 15.19805, - "lonx": 104.78861111, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "MUBUS", "laty": 13.75825833, @@ -8387,14 +8243,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "NINOM", - "laty": 15.14723889, - "lonx": 104.70538889, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "NIROP", "laty": 17.27048333, @@ -8512,14 +8360,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "NOGEK", - "laty": 15.17898333, - "lonx": 104.61651667, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "NOGEM", "laty": 16.48587778, @@ -8889,14 +8729,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "OBKIB", - "laty": 15.32014167, - "lonx": 104.71369444, - "is_enroute": true, - "is_terminal": false, - "is_boundary": false - }, { "ident": "OBLEX", "laty": 7.49652778, @@ -8960,14 +8792,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "OKIDI", - "laty": 15.44375833, - "lonx": 104.9586, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "OKVES", "laty": 16.59478056, @@ -9112,14 +8936,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "OMDED", - "laty": 15.44111667, - "lonx": 104.57249722, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "OMDIL", "laty": 18.18521111, @@ -9237,14 +9053,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "OPTAD", - "laty": 15.231, - "lonx": 105.12746944, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "OSADI", "laty": 18.32461111, @@ -9281,14 +9089,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "OSNID", - "laty": 15.36306389, - "lonx": 105.18546389, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "OSNIX", "laty": 9.76355556, @@ -9802,14 +9602,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "PEGBI", - "laty": 15.40508611, - "lonx": 104.66645556, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "PEGSI", "laty": 18.96837778, @@ -10278,14 +10070,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "POTEV", - "laty": 15.36459722, - "lonx": 105.36841111, - "is_enroute": true, - "is_terminal": false, - "is_boundary": false - }, { "ident": "POTIV", "laty": 19.04131667, @@ -10322,14 +10106,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "POVIV", - "laty": 15.22405833, - "lonx": 104.60825278, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "POVUP", "laty": 14.52818333, @@ -11329,14 +11105,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "RUSTU", - "laty": 15.45683333, - "lonx": 104.94254722, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "RUTEX", "laty": 17.10426389, @@ -11436,22 +11204,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "SADUP", - "laty": 15.0345, - "lonx": 104.81125, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, - { - "ident": "SAGAL", - "laty": 15.29928056, - "lonx": 104.75609444, - "is_enroute": true, - "is_terminal": false, - "is_boundary": false - }, { "ident": "SAGAP", "laty": 13.26724167, @@ -11614,14 +11366,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "SAPIL", - "laty": 15.19173611, - "lonx": 104.79322222, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "SAPUD", "laty": 9.12951111, @@ -13134,14 +12878,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "SUNIN", - "laty": 15.365125, - "lonx": 105.01770556, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "SUPAT", "laty": 17.30873333, @@ -13287,243 +13023,45 @@ "is_extra": false }, { - "ident": "SV304", - "laty": 11.00603333, - "lonx": 103.48735278, - "is_enroute": false, - "is_terminal": true, + "ident": "SWENI", + "laty": 17.43205833, + "lonx": 101.98409167, + "is_enroute": true, + "is_terminal": false, "is_boundary": false, "is_extra": false }, { - "ident": "SV305", - "laty": 10.2942, - "lonx": 103.2631, + "ident": "SY002", + "laty": 5.809075, + "lonx": 101.15265, "is_enroute": false, "is_terminal": true, "is_boundary": false, "is_extra": false }, { - "ident": "SV306", - "laty": 10.41057778, - "lonx": 103.41226389, + "ident": "SY003", + "laty": 5.94283889, + "lonx": 101.20127222, "is_enroute": false, "is_terminal": true, "is_boundary": false, "is_extra": false }, { - "ident": "SV307", - "laty": 10.49030556, - "lonx": 103.45491944, + "ident": "SY004", + "laty": 6.01996111, + "lonx": 101.28255833, "is_enroute": false, "is_terminal": true, "is_boundary": false, "is_extra": false }, { - "ident": "SV310", - "laty": 10.45473333, - "lonx": 103.56988056, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SV311", - "laty": 10.56448333, - "lonx": 103.36058611, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SV312", - "laty": 10.7849, - "lonx": 103.47882778, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SV313", - "laty": 10.90036944, - "lonx": 103.54083889, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SV314", - "laty": 11.03861667, - "lonx": 103.61514444, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SV316", - "laty": 10.77838056, - "lonx": 103.25109722, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SV320", - "laty": 10.35138889, - "lonx": 103.51455278, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SV321", - "laty": 10.27652222, - "lonx": 103.41852222, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SV322", - "laty": 10.09175556, - "lonx": 103.18184444, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SV503", - "laty": 10.79415, - "lonx": 103.61763889, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SV511", - "laty": 10.80635833, - "lonx": 103.03714167, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SV512", - "laty": 10.55133611, - "lonx": 103.20720833, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SV515", - "laty": 10.16547222, - "lonx": 103.26875, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SV518", - "laty": 10.40942778, - "lonx": 103.71673333, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SV552", - "laty": 10.797925, - "lonx": 103.48553611, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SV553", - "laty": 10.546975, - "lonx": 103.35119167, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SV554", - "laty": 10.29683889, - "lonx": 103.14708889, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SV555", - "laty": 10.98415278, - "lonx": 103.60700556, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SWENI", - "laty": 17.43205833, - "lonx": 101.98409167, - "is_enroute": true, - "is_terminal": false, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SY002", - "laty": 5.809075, - "lonx": 101.15265, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SY003", - "laty": 5.94283889, - "lonx": 101.20127222, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SY004", - "laty": 6.01996111, - "lonx": 101.28255833, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false, - "is_extra": false - }, - { - "ident": "SYRUP", - "laty": 14.84866111, - "lonx": 102.12290556, + "ident": "SYRUP", + "laty": 14.84866111, + "lonx": 102.12290556, "is_enroute": false, "is_terminal": true, "is_boundary": false, @@ -13880,14 +13418,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "TOGOK", - "laty": 15.17544444, - "lonx": 104.52195556, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "TOMMY", "laty": 7.87906944, @@ -14275,14 +13805,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "UD129", - "laty": 17.43698333, - "lonx": 102.51933611, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "UD300", "laty": 17.3758, @@ -15075,38 +14597,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "UU050", - "laty": 15.242825, - "lonx": 104.85931389, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, - { - "ident": "UU051", - "laty": 15.24167222, - "lonx": 104.86013611, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, - { - "ident": "UU230", - "laty": 15.25971944, - "lonx": 104.88117778, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, - { - "ident": "UU231", - "laty": 15.25910556, - "lonx": 104.88171111, - "is_enroute": false, - "is_terminal": true, - "is_boundary": false - }, { "ident": "UV101", "laty": 16.42881111, @@ -15624,7 +15114,7 @@ "ident": "VEDSU", "laty": 11.47437222, "lonx": 103.04651944, - "is_enroute": true, + "is_enroute": false, "is_terminal": false, "is_boundary": false, "is_extra": false @@ -15755,14 +15245,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "VENPO", - "laty": 15.11249444, - "lonx": 104.36727222, - "is_enroute": true, - "is_terminal": false, - "is_boundary": false - }, { "ident": "VEPDA", "laty": 12.66410556, @@ -15808,14 +15290,6 @@ "is_boundary": false, "is_extra": false }, - { - "ident": "VESUD", - "laty": 15.35223611, - "lonx": 104.64840833, - "is_enroute": true, - "is_terminal": false, - "is_boundary": false - }, { "ident": "VETIT", "laty": 19.39804167, @@ -16177,83 +15651,345 @@ "is_extra": false }, { - "ident": "KALBI", - "laty": -8.87166667, - "lonx": 75, + "ident": "SAGAG", + "laty": 21.19166667, + "lonx": 101.62333333, "is_enroute": true, "is_terminal": false, "is_boundary": true, - "is_extra": true + "is_extra": false }, { - "ident": "BODUV", - "laty": 28.65277778, - "lonx": 109.6625, + "ident": "AKNAT", + "laty": 12.23333333, + "lonx": 103.71166667, "is_enroute": true, "is_terminal": false, "is_boundary": true, - "is_extra": true + "is_extra": false }, { - "ident": "IGBAB", - "laty": 22.73, - "lonx": 109.43, + "ident": "ATVOP", + "laty": 11.90728889, + "lonx": 103.98145278, "is_enroute": true, "is_terminal": false, "is_boundary": true, - "is_extra": true + "is_extra": false }, { - "ident": "IGBAB", - "laty": 22.73, - "lonx": 109.43, + "ident": "BASIT", + "laty": 9.58, + "lonx": 102.35166667, "is_enroute": true, "is_terminal": false, - "is_boundary": true + "is_boundary": true, + "is_extra": false }, { - "ident": "IKULI", - "laty": 22.97333333, - "lonx": 111.58138889, + "ident": "BIDEM", + "laty": 14.365, + "lonx": 103.79666667, "is_enroute": true, "is_terminal": false, "is_boundary": true, - "is_extra": true + "is_extra": false }, { - "ident": "ISBIG", - "laty": 20.64416667, - "lonx": 110.90833333, + "ident": "IPLIS", + "laty": 9.81521667, + "lonx": 102.65101944, "is_enroute": true, "is_terminal": false, "is_boundary": true, - "is_extra": true + "is_extra": false }, { - "ident": "NOMUK", - "laty": 29.02944444, - "lonx": 110.725, + "ident": "ISVOD", + "laty": 13.84483889, + "lonx": 103.58975556, "is_enroute": true, "is_terminal": false, "is_boundary": true, - "is_extra": true + "is_extra": false }, { - "ident": "OSIKA", - "laty": 22.85527778, - "lonx": 110.55277778, + "ident": "SAKDA", + "laty": 11.615, + "lonx": 103, "is_enroute": true, "is_terminal": false, "is_boundary": true, - "is_extra": true + "is_extra": false }, { - "ident": "OSRIV", - "laty": 22.71333333, - "lonx": 109.28472222, + "ident": "UXARO", + "laty": 13.70686111, + "lonx": 103.76972778, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "NOHET", + "laty": 19.42666667, + "lonx": 103.61138889, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "PAPRA", + "laty": 15.76666667, + "lonx": 107.18333333, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "TOMIP", + "laty": 19.18472222, + "lonx": 101.26333333, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "ARATO", + "laty": 16.36802778, + "lonx": 97.79633333, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "DALER", + "laty": 13.49425, + "lonx": 98.52443333, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "EKAVO", + "laty": 11.62680556, + "lonx": 99.50686111, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "KAKIP", + "laty": 14.67606944, + "lonx": 97.90408611, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "MAKAS", + "laty": 16.82972222, + "lonx": 98.49691667, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "OBMOG", + "laty": 11.90194444, + "lonx": 96.39194444, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "PADET", + "laty": 10.00191667, + "lonx": 98.28869444, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "POXEM", + "laty": 15.44308333, + "lonx": 97.49638889, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "PUMEK", + "laty": 15.91805556, + "lonx": 97.54636111, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "SISUK", + "laty": 19.80113889, + "lonx": 98.04525, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "TAVUN", + "laty": 10, + "lonx": 96.55005556, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "DALAN", + "laty": 6.46888889, + "lonx": 99.65555556, "is_enroute": true, "is_terminal": false, "is_boundary": true, + "is_extra": false + }, + { + "ident": "KADAX", + "laty": 6.2656, + "lonx": 102.2617, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "KARMI", + "laty": 6.4944, + "lonx": 100.5225, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "PASVA", + "laty": 6.2581, + "lonx": 102.0753, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "RIGTO", + "laty": 6.70783889, + "lonx": 100.251175, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "RUSET", + "laty": 7.7711, + "lonx": 97.7158, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "SAPAM", + "laty": 8.07611111, + "lonx": 97.55, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "ODONO", + "laty": 6.60388889, + "lonx": 103.02472222, + "is_enroute": true, + "is_terminal": false, + "is_boundary": true, + "is_extra": false + }, + { + "ident": "KALBI", + "laty": -8.87166667, + "lonx": 75, + "is_enroute": true, + "is_terminal": false, + "is_boundary": false, + "is_extra": true + }, + { + "ident": "BODUV", + "laty": 28.65277778, + "lonx": 109.6625, + "is_enroute": true, + "is_terminal": false, + "is_boundary": false, + "is_extra": true + }, + { + "ident": "IGBAB", + "laty": 22.73, + "lonx": 109.43, + "is_enroute": true, + "is_terminal": false, + "is_boundary": false, + "is_extra": true + }, + { + "ident": "IKULI", + "laty": 22.97333333, + "lonx": 111.58138889, + "is_enroute": true, + "is_terminal": false, + "is_boundary": false, + "is_extra": true + }, + { + "ident": "ISBIG", + "laty": 20.64416667, + "lonx": 110.90833333, + "is_enroute": true, + "is_terminal": false, + "is_boundary": false, + "is_extra": true + }, + { + "ident": "NOMUK", + "laty": 29.02944444, + "lonx": 110.725, + "is_enroute": true, + "is_terminal": false, + "is_boundary": false, + "is_extra": true + }, + { + "ident": "OSIKA", + "laty": 22.85527778, + "lonx": 110.55277778, + "is_enroute": true, + "is_terminal": false, + "is_boundary": false, "is_extra": true }, { @@ -16262,7 +15998,8 @@ "lonx": 109.28472222, "is_enroute": true, "is_terminal": false, - "is_boundary": true + "is_boundary": false, + "is_extra": true }, { "ident": "PAKPU", @@ -16270,7 +16007,7 @@ "lonx": 110.89472222, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16279,7 +16016,7 @@ "lonx": 111.5, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16288,7 +16025,7 @@ "lonx": 106.675, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16297,7 +16034,7 @@ "lonx": 109.12194444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16306,7 +16043,7 @@ "lonx": 107.25527778, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16315,7 +16052,7 @@ "lonx": 113.18555556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16324,7 +16061,7 @@ "lonx": 113.8325, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16333,7 +16070,7 @@ "lonx": 113.94305556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16342,7 +16079,7 @@ "lonx": 112.32277778, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16351,7 +16088,7 @@ "lonx": 110.23, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16360,7 +16097,7 @@ "lonx": 107.68166667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16369,7 +16106,7 @@ "lonx": 109.395, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16378,7 +16115,7 @@ "lonx": 109.19333333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16387,7 +16124,7 @@ "lonx": 112.245, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16396,7 +16133,7 @@ "lonx": 110.3, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16405,7 +16142,7 @@ "lonx": 108.85083333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16414,7 +16151,7 @@ "lonx": 110.495, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16423,7 +16160,7 @@ "lonx": 100.965, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16432,7 +16169,7 @@ "lonx": 101.78944444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16441,16 +16178,7 @@ "lonx": 101.255, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "SAGAG", - "laty": 21.19166667, - "lonx": 101.62333333, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16459,7 +16187,7 @@ "lonx": 103.89916667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16468,7 +16196,7 @@ "lonx": 106.75, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16477,7 +16205,7 @@ "lonx": 106.37527778, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16486,7 +16214,7 @@ "lonx": 107.21222222, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16495,7 +16223,7 @@ "lonx": 109.14555556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16504,7 +16232,7 @@ "lonx": 106.98722222, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16513,7 +16241,7 @@ "lonx": 107.77305556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16522,7 +16250,7 @@ "lonx": 60.64611111, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16531,7 +16259,7 @@ "lonx": 63.86666667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16540,7 +16268,7 @@ "lonx": 61.18333333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16549,7 +16277,7 @@ "lonx": 70.86638889, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16558,7 +16286,7 @@ "lonx": 73.25833333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16567,7 +16295,7 @@ "lonx": 73.37583333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16576,7 +16304,7 @@ "lonx": 66.47833333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16585,7 +16313,7 @@ "lonx": 78.73555556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16594,7 +16322,7 @@ "lonx": 74.13388889, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16603,7 +16331,7 @@ "lonx": 72.01623611, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16612,7 +16340,7 @@ "lonx": 77.25916667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16621,7 +16349,7 @@ "lonx": 74.22138889, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16630,7 +16358,7 @@ "lonx": 77.38222222, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16639,7 +16367,7 @@ "lonx": 73.58805556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16648,7 +16376,7 @@ "lonx": 69.11083333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16657,7 +16385,7 @@ "lonx": 76.53833333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16666,7 +16394,7 @@ "lonx": 75.99888889, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16675,7 +16403,7 @@ "lonx": 80.64916667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16684,7 +16412,7 @@ "lonx": 70.99972222, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16693,7 +16421,7 @@ "lonx": 77.68194444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16702,7 +16430,7 @@ "lonx": 86.56333333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16711,7 +16439,7 @@ "lonx": 82.01805556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16720,7 +16448,7 @@ "lonx": 91.40805556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16729,7 +16457,7 @@ "lonx": 84.88833333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16738,7 +16466,7 @@ "lonx": 89.77277778, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16747,7 +16475,7 @@ "lonx": 85.30805556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16756,7 +16484,7 @@ "lonx": 84.16, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16765,7 +16493,7 @@ "lonx": 86.37138889, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16774,7 +16502,7 @@ "lonx": 88.67361111, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16783,7 +16511,7 @@ "lonx": 92, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16792,7 +16520,7 @@ "lonx": 87.38444444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16801,7 +16529,7 @@ "lonx": 81, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16810,7 +16538,7 @@ "lonx": 88.03166667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16819,7 +16547,7 @@ "lonx": 90.85, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16828,7 +16556,7 @@ "lonx": 89.01388889, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16837,7 +16565,7 @@ "lonx": 87.7975, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16846,7 +16574,7 @@ "lonx": 86.71361111, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16855,7 +16583,7 @@ "lonx": 86.17111111, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16864,7 +16592,7 @@ "lonx": 92, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16873,7 +16601,7 @@ "lonx": 88.66416667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16882,7 +16610,7 @@ "lonx": 90.54583333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16891,7 +16619,7 @@ "lonx": 85.30611111, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16900,7 +16628,7 @@ "lonx": 89.20444444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16909,7 +16637,7 @@ "lonx": 84.21444444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16918,7 +16646,7 @@ "lonx": 81.24833333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16927,7 +16655,7 @@ "lonx": 81.99833333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16936,7 +16664,7 @@ "lonx": 83.46944444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16945,7 +16673,7 @@ "lonx": 80.92555556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16954,7 +16682,7 @@ "lonx": 90.54722222, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16963,7 +16691,7 @@ "lonx": 85.31444444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16972,7 +16700,7 @@ "lonx": 89.08916667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16981,7 +16709,7 @@ "lonx": 91.99694444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16990,7 +16718,7 @@ "lonx": 82.16472222, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -16999,7 +16727,7 @@ "lonx": 81.94833333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17008,7 +16736,7 @@ "lonx": 85.65361111, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17017,7 +16745,7 @@ "lonx": 85.26444444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17026,7 +16754,7 @@ "lonx": 88.95444444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17035,7 +16763,7 @@ "lonx": 87.83388889, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17044,7 +16772,7 @@ "lonx": 86.15611111, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17053,7 +16781,7 @@ "lonx": 91.99694444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17062,7 +16790,7 @@ "lonx": 90.16833333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17071,7 +16799,7 @@ "lonx": 86.43777778, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17080,7 +16808,7 @@ "lonx": 82.90416667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17089,7 +16817,7 @@ "lonx": 83.98416667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17098,7 +16826,7 @@ "lonx": 84.5, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17107,7 +16835,7 @@ "lonx": 86.06777778, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17116,7 +16844,7 @@ "lonx": 82.95638889, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17125,7 +16853,7 @@ "lonx": 83.32305556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17134,7 +16862,7 @@ "lonx": 88.84305556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17143,7 +16871,7 @@ "lonx": 84.45611111, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17152,7 +16880,7 @@ "lonx": 92, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17161,7 +16889,7 @@ "lonx": 81.37027778, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17170,7 +16898,7 @@ "lonx": 91.99694444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17179,7 +16907,7 @@ "lonx": 85.85527778, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17188,7 +16916,7 @@ "lonx": 86.45833333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17197,7 +16925,7 @@ "lonx": 88.03055556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17206,7 +16934,7 @@ "lonx": 91.99694444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17215,7 +16943,7 @@ "lonx": 87.15166667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17224,7 +16952,7 @@ "lonx": 86.2525, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17233,7 +16961,7 @@ "lonx": 88.53083333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17242,7 +16970,7 @@ "lonx": 90.99055556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17251,7 +16979,7 @@ "lonx": 91.28534722, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17260,7 +16988,7 @@ "lonx": 89.56138889, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17269,7 +16997,7 @@ "lonx": 90.70138889, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17278,7 +17006,7 @@ "lonx": 89.98472222, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17287,7 +17015,7 @@ "lonx": 91.53722222, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17296,7 +17024,7 @@ "lonx": 90.85027778, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17305,7 +17033,7 @@ "lonx": 92.11027778, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17314,7 +17042,7 @@ "lonx": 77.79444444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17323,7 +17051,7 @@ "lonx": 77.71333333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17332,7 +17060,7 @@ "lonx": 78.81527778, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17341,7 +17069,7 @@ "lonx": 85.06888889, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17350,7 +17078,7 @@ "lonx": 76.83222222, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17359,7 +17087,7 @@ "lonx": 78.125, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17368,7 +17096,7 @@ "lonx": 91.67666667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17377,7 +17105,7 @@ "lonx": 94.03055556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17386,7 +17114,7 @@ "lonx": 80.58055556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17395,7 +17123,7 @@ "lonx": 81.99833333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17404,7 +17132,7 @@ "lonx": 94.41666667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17413,7 +17141,7 @@ "lonx": 92.33027778, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17422,7 +17150,7 @@ "lonx": 77.92277778, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17431,7 +17159,7 @@ "lonx": 83.92083333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17440,7 +17168,7 @@ "lonx": 93.49722222, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17449,7 +17177,7 @@ "lonx": 89.32833333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17458,7 +17186,7 @@ "lonx": 94.41666667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17467,7 +17195,7 @@ "lonx": 123.42444444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17476,7 +17204,7 @@ "lonx": 122.4975, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17485,7 +17213,7 @@ "lonx": 122.02222222, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17494,7 +17222,7 @@ "lonx": 117.95444444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17503,7 +17231,7 @@ "lonx": 122.07805556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17512,7 +17240,7 @@ "lonx": 117.5, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17521,24 +17249,16 @@ "lonx": 120.35666667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, - { - "ident": "HOMEI", - "laty": 24.23444444, - "lonx": 120.35666667, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true - }, { "ident": "KADLO", "laty": 22.955, "lonx": 118.54166667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17547,7 +17267,7 @@ "lonx": 123, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17556,7 +17276,7 @@ "lonx": 121.07777778, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17565,7 +17285,7 @@ "lonx": 120.09416667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17574,7 +17294,7 @@ "lonx": 120.31870833, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17583,7 +17303,7 @@ "lonx": 135.44151389, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17592,7 +17312,7 @@ "lonx": 131.59148056, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17601,7 +17321,7 @@ "lonx": 133.5665, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17610,7 +17330,7 @@ "lonx": 134.99722222, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17619,7 +17339,7 @@ "lonx": 134.234275, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17628,7 +17348,7 @@ "lonx": 129.20115556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17637,7 +17357,7 @@ "lonx": 131.04866667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17646,7 +17366,7 @@ "lonx": 130.11126667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17655,7 +17375,7 @@ "lonx": 129.96471389, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17664,7 +17384,7 @@ "lonx": 126.5793, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17673,7 +17393,7 @@ "lonx": 127.46468056, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17682,7 +17402,7 @@ "lonx": 124, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17691,7 +17411,7 @@ "lonx": 124.72051944, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17700,7 +17420,7 @@ "lonx": 127.83714167, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17709,52 +17429,7 @@ "lonx": 126.13148333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "AKNAT", - "laty": 12.23333333, - "lonx": 103.71166667, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "ANSAT", - "laty": 13.73, - "lonx": 106.98666667, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "ATVOP", - "laty": 11.90728889, - "lonx": 103.98145278, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "BASIT", - "laty": 9.58, - "lonx": 102.35166667, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "BIDEM", - "laty": 14.365, - "lonx": 103.79666667, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17763,7 +17438,7 @@ "lonx": 106.10643056, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17772,7 +17447,7 @@ "lonx": 103.07894722, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17781,7 +17456,7 @@ "lonx": 105.953775, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17790,7 +17465,7 @@ "lonx": 104.02074444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17799,7 +17474,7 @@ "lonx": 107.5, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17808,34 +17483,7 @@ "lonx": 105.085275, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "IPGIP", - "laty": 11.52055278, - "lonx": 103.68779722, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "IPLIS", - "laty": 9.81521667, - "lonx": 102.65101944, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "ISVOD", - "laty": 13.84483889, - "lonx": 103.58975556, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17844,16 +17492,7 @@ "lonx": 105.68525556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "LAVEV", - "laty": 10.91602778, - "lonx": 103.23063889, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17862,7 +17501,7 @@ "lonx": 105.69333333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17871,24 +17510,16 @@ "lonx": 104.21881667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, - { - "ident": "NIMIB", - "laty": 10.93505833, - "lonx": 104.21881667, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true - }, { "ident": "NUMDI", "laty": 10.44527778, "lonx": 103.77638889, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17897,7 +17528,7 @@ "lonx": 107.19611111, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17906,16 +17537,7 @@ "lonx": 106.11534167, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "PUKIP", - "laty": 11.78171111, - "lonx": 104.18751389, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17924,15 +17546,7 @@ "lonx": 104.18751389, "is_enroute": true, "is_terminal": false, - "is_boundary": true - }, - { - "ident": "RIMSO", - "laty": 13.09166667, - "lonx": 103.22333333, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17941,25 +17555,7 @@ "lonx": 104.39375, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "SAKDA", - "laty": 11.615, - "lonx": 103, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "SUSEL", - "laty": 11.92566944, - "lonx": 105.54768056, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17968,15 +17564,7 @@ "lonx": 105.54768056, "is_enroute": true, "is_terminal": false, - "is_boundary": true - }, - { - "ident": "TAREG", - "laty": 13.525, - "lonx": 106.015, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17985,7 +17573,7 @@ "lonx": 103.34425833, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -17994,24 +17582,16 @@ "lonx": 104.84391667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, - { - "ident": "UDOPI", - "laty": 11.54397222, - "lonx": 104.84391667, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true - }, { "ident": "UKMAL", "laty": 12.45938333, "lonx": 103.95834722, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18020,16 +17600,7 @@ "lonx": 106.95026389, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "UXARO", - "laty": 13.70686111, - "lonx": 103.76972778, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18038,24 +17609,16 @@ "lonx": 104.26818889, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, - { - "ident": "VELVA", - "laty": 11.89552778, - "lonx": 104.26818889, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true - }, { "ident": "VEMKO", "laty": 13.943675, "lonx": 107.16288333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18064,7 +17627,7 @@ "lonx": 105.43166667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18073,7 +17636,7 @@ "lonx": 105.74434722, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18082,7 +17645,7 @@ "lonx": 102.93789444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18091,7 +17654,7 @@ "lonx": 114.03005556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18100,7 +17663,7 @@ "lonx": 112.5, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18109,7 +17672,7 @@ "lonx": 115.825, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18118,25 +17681,7 @@ "lonx": 105.24388889, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "NOHET", - "laty": 19.42666667, - "lonx": 103.61138889, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "PAPRA", - "laty": 15.76666667, - "lonx": 107.18333333, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18145,16 +17690,7 @@ "lonx": 106.37611111, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "TOMIP", - "laty": 19.18472222, - "lonx": 101.26333333, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18163,7 +17699,7 @@ "lonx": 106.08333333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18172,7 +17708,7 @@ "lonx": 107.41666667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18181,7 +17717,7 @@ "lonx": 108.97305556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18190,7 +17726,7 @@ "lonx": 107.4, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18199,7 +17735,7 @@ "lonx": 107.84361111, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18208,7 +17744,7 @@ "lonx": 106.59527778, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18217,7 +17753,7 @@ "lonx": 108.66472222, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18226,7 +17762,7 @@ "lonx": 104.39722222, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18235,7 +17771,7 @@ "lonx": 106.46277778, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18244,7 +17780,7 @@ "lonx": 108.15361111, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18253,7 +17789,7 @@ "lonx": 106.49333333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18262,7 +17798,7 @@ "lonx": 106.92888889, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18271,7 +17807,7 @@ "lonx": 107.885, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18280,7 +17816,7 @@ "lonx": 103.24, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18289,7 +17825,7 @@ "lonx": 106.18333333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18298,7 +17834,7 @@ "lonx": 107.65888889, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18307,7 +17843,7 @@ "lonx": 102.83833333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18316,16 +17852,7 @@ "lonx": 107.23305556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "ARATO", - "laty": 16.36802778, - "lonx": 97.79633333, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18334,43 +17861,16 @@ "lonx": 92.34694444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "DALER", - "laty": 13.49425, - "lonx": 98.52443333, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "DORLI", - "laty": 19.25747778, - "lonx": 94.70424722, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "EKAVO", - "laty": 11.62680556, - "lonx": 99.50686111, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { - "ident": "KAKIP", - "laty": 14.67606944, - "lonx": 97.90408611, + "ident": "DORLI", + "laty": 19.25747778, + "lonx": 94.70424722, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18379,7 +17879,7 @@ "lonx": 94.21055556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18388,7 +17888,7 @@ "lonx": 97.76233333, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18397,7 +17897,7 @@ "lonx": 95.47666667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18406,16 +17906,7 @@ "lonx": 97.87963889, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "MAKAS", - "laty": 16.82972222, - "lonx": 98.49691667, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18424,16 +17915,7 @@ "lonx": 95.44655556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "OBMOG", - "laty": 11.90194444, - "lonx": 96.39194444, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18442,34 +17924,7 @@ "lonx": 95.14661111, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "PADET", - "laty": 10.00191667, - "lonx": 98.28869444, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "POXEM", - "laty": 15.44308333, - "lonx": 97.49638889, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "PUMEK", - "laty": 15.91805556, - "lonx": 97.54636111, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18478,7 +17933,7 @@ "lonx": 98.21735833, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18487,16 +17942,7 @@ "lonx": 92.63111111, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "SISUK", - "laty": 19.80113889, - "lonx": 98.04525, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18505,25 +17951,7 @@ "lonx": 94.72381111, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "TAVUN", - "laty": 10, - "lonx": 96.55005556, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "GOGOM", - "laty": 5.71638889, - "lonx": 100.211275, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18532,7 +17960,7 @@ "lonx": 103.89694444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18541,7 +17969,7 @@ "lonx": 93.7875, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18550,7 +17978,7 @@ "lonx": 104.19638889, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18559,7 +17987,7 @@ "lonx": 101.2192, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18568,7 +17996,7 @@ "lonx": 103.12, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18577,7 +18005,7 @@ "lonx": 102.0833, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18586,7 +18014,7 @@ "lonx": 101.1275, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18595,16 +18023,7 @@ "lonx": 101.3175, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "DALAN", - "laty": 6.46888889, - "lonx": 99.65555556, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18613,7 +18032,7 @@ "lonx": 97.5192, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18622,7 +18041,7 @@ "lonx": 102.0042, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18631,7 +18050,7 @@ "lonx": 102.30444444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18640,7 +18059,7 @@ "lonx": 102.56275, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18649,7 +18068,7 @@ "lonx": 102.83234167, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18658,16 +18077,7 @@ "lonx": 102.6417, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "GUTEB", - "laty": 5.78428611, - "lonx": 100.51595833, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18676,7 +18086,7 @@ "lonx": 95.5047, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18685,25 +18095,7 @@ "lonx": 95.0808, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "KADAX", - "laty": 6.2656, - "lonx": 102.2617, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "KARMI", - "laty": 6.4944, - "lonx": 100.5225, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18712,7 +18104,7 @@ "lonx": 102.69805833, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18721,7 +18113,7 @@ "lonx": 96.8786, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18730,7 +18122,7 @@ "lonx": 103.4139, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18739,7 +18131,7 @@ "lonx": 104.0983, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18748,7 +18140,7 @@ "lonx": 97.2156, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18757,7 +18149,7 @@ "lonx": 102.88075, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18766,7 +18158,7 @@ "lonx": 103.6294, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18775,7 +18167,7 @@ "lonx": 95.9764, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18784,7 +18176,7 @@ "lonx": 104.0939, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18793,7 +18185,7 @@ "lonx": 102.4356, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18802,16 +18194,7 @@ "lonx": 102.64023056, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "PASVA", - "laty": 6.2581, - "lonx": 102.0753, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18820,16 +18203,7 @@ "lonx": 94.6667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "RIGTO", - "laty": 6.70783889, - "lonx": 100.251175, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18838,16 +18212,7 @@ "lonx": 100.74987778, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "RUSET", - "laty": 7.7711, - "lonx": 97.7158, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18856,7 +18221,7 @@ "lonx": 103.28686111, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18865,16 +18230,7 @@ "lonx": 95.6692, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "SAPAM", - "laty": 8.07611111, - "lonx": 97.55, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18883,7 +18239,7 @@ "lonx": 102.04166667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18892,7 +18248,7 @@ "lonx": 101.02, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18901,7 +18257,7 @@ "lonx": 100.75916667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18910,7 +18266,7 @@ "lonx": 102.8917, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18919,7 +18275,7 @@ "lonx": 104.245, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18928,7 +18284,7 @@ "lonx": 103.585, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18937,16 +18293,7 @@ "lonx": 103.91916667, "is_enroute": true, "is_terminal": false, - "is_boundary": true, - "is_extra": true - }, - { - "ident": "ODONO", - "laty": 6.60388889, - "lonx": 103.02472222, - "is_enroute": true, - "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18955,7 +18302,7 @@ "lonx": 104.13111111, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18964,7 +18311,7 @@ "lonx": 103.34444444, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18973,7 +18320,7 @@ "lonx": 104.11305556, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18982,7 +18329,7 @@ "lonx": 79, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true }, { @@ -18991,7 +18338,7 @@ "lonx": 103.34, "is_enroute": true, "is_terminal": false, - "is_boundary": true, + "is_boundary": false, "is_extra": true } ] \ No newline at end of file diff --git a/scripts/aurora.ts b/scripts/aurora.ts index 9fb419ad7..bf95deacd 100644 --- a/scripts/aurora.ts +++ b/scripts/aurora.ts @@ -263,7 +263,11 @@ for (const ndb of ndbs) { const dmsLat = decimalToDMS(ndb.laty, true); // Convert latitude to DMS const dmsLon = decimalToDMS(ndb.lonx, false); // Convert longitude to DMS - outNdb += `${ndb.ident};${(ndb.frequency / 100).toFixed(3)};${dmsLat};${dmsLon};\n`; + outNdb += `${ndb.ident};${(ndb.frequency / 100).toFixed(3)};${dmsLat};${dmsLon};${ + ndb.is_extra + ? 1 + : 0 + };\n`; } writeFileSync(ndbFile, outNdb); @@ -281,7 +285,19 @@ for (const vor of vors) { const dmsLat = decimalToDMS(vor.laty, true); // Convert latitude to DMS const dmsLon = decimalToDMS(vor.lonx, false); // Convert longitude to DMS - outVor += `${vor.ident};${(vor.frequency / 1000).toFixed(3)};${dmsLat};${dmsLon};\n`; + outVor += `${vor.ident};${(vor.frequency / 1000).toFixed(3)};${dmsLat};${dmsLon};${ + vor.is_extra + ? 1 + : 0 + };${ + vor.is_tacan + ? (vor.is_vor ? 2 : 3) + : (vor.is_vor + ? (vor.is_vor_only ? 0 : 1) + : (vor.is_dme_only ? 4 : 0)) + };${ + vor.channel ? `CH${vor.channel}` : '' + };\n`; } writeFileSync(vorFile, outVor); diff --git a/scripts/utils/formatAirways.ts b/scripts/utils/formatAirways.ts index 7409fe679..a2be3b82a 100644 --- a/scripts/utils/formatAirways.ts +++ b/scripts/utils/formatAirways.ts @@ -84,12 +84,15 @@ export const formatAirways = ( to_lat_decimal: number; to_lon_decimal: number; }[] = []; + for (const fragment of airways) { const filtered = fragment.filter((f) => f.type === mode || f.type === 'B'); let count = -1; + if (filtered.length > 0) { out += `T;${filtered[0].name};${filtered[0].wpt_from};${filtered[0].wpt_from};\n`; } + for (const segment of filtered) { if (count !== -1 && segment.sequence_no !== count + 1) { console.log( @@ -101,39 +104,39 @@ export const formatAirways = ( out += `T;${segment.name};${segment.wpt_from};${segment.wpt_from};\n`; } count = segment.sequence_no; + + // Airway polyline output (unchanged) out += `T;${segment.name};${segment.wpt_to};${segment.wpt_to};\n`; + + // ⬇️ NEW: only collect label entries if either end is VT + const touchesVT = + segment.region_from === 'VT' || segment.region_to === 'VT'; + if (!touchesVT) continue; + const labelCache = segmentLabelMap.find( (l) => (l.from === segment.wpt_from && l.to === segment.wpt_to) || (l.from === segment.wpt_to && l.to === segment.wpt_from) ); + + const entry = { + name: segment.name, + direction: getDirection( + segment.from_lat, + segment.from_lon, + segment.to_lat, + segment.to_lon, + segment.direction + ) + }; + if (labelCache) { - labelCache.airways.push({ - name: segment.name, - direction: getDirection( - segment.from_lat, - segment.from_lon, - segment.to_lat, - segment.to_lon, - segment.direction - ) - }); + labelCache.airways.push(entry); } else { segmentLabelMap.push({ from: segment.wpt_from, to: segment.wpt_to, - airways: [ - { - name: segment.name, - direction: getDirection( - segment.from_lat, - segment.from_lon, - segment.to_lat, - segment.to_lon, - segment.direction - ) - } - ], + airways: [entry], from_lat_decimal: segment.from_lat, from_lon_decimal: segment.from_lon, to_lat_decimal: segment.to_lat, @@ -142,10 +145,19 @@ export const formatAirways = ( } } } + + // Emit labels only for the collected VT-touching segments for (const label of segmentLabelMap) { out += `L;${label.airways .map((s) => `${s.name}${s.direction}`) - .join('/')};${decimalToDMS((label.from_lat_decimal + label.to_lat_decimal) / 2, true)};${decimalToDMS((label.from_lon_decimal + label.to_lon_decimal) / 2, false)};\n`; + .join('/')};${decimalToDMS( + (label.from_lat_decimal + label.to_lat_decimal) / 2, + true + )};${decimalToDMS( + (label.from_lon_decimal + label.to_lon_decimal) / 2, + false + )};\n`; } + return out; }; From 6b7320772a323266e88dfcd3332ca78fe87bfbad Mon Sep 17 00:00:00 2001 From: Tatpol Chutipat Date: Tue, 28 Oct 2025 05:10:07 +0700 Subject: [PATCH 2/4] fix(aurora): Fix NDB error --- airac-parser/common/ndb.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/airac-parser/common/ndb.ts b/airac-parser/common/ndb.ts index eee288114..ce472eba4 100644 --- a/airac-parser/common/ndb.ts +++ b/airac-parser/common/ndb.ts @@ -16,8 +16,6 @@ export const extractNdbs = async ( boundary: number[] ): Promise => { - const boundarySet = new Set(boundary); - const addIsExtra = (isExtra: boolean) => (s: NdbDbData[]): Ndb[] => { From dc6321ffce4f44aa68b6e5c93c90f78b2fc6858c Mon Sep 17 00:00:00 2001 From: Tatpol Chutipat Date: Tue, 28 Oct 2025 05:16:25 +0700 Subject: [PATCH 3/4] fix(aurora): Fix NDB error --- airac-parser/common/ndb.ts | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/airac-parser/common/ndb.ts b/airac-parser/common/ndb.ts index ce472eba4..2f6ce34aa 100644 --- a/airac-parser/common/ndb.ts +++ b/airac-parser/common/ndb.ts @@ -10,12 +10,18 @@ interface NdbDbData { lonx: number; } +interface NdbDbExtraRow extends NdbDbData { + waypoint_id: number; +} + export const extractNdbs = async ( db: Promise, extra: number[], boundary: number[] ): Promise => { + const boundarySet = new Set(boundary); + const addIsExtra = (isExtra: boolean) => (s: NdbDbData[]): Ndb[] => { @@ -41,9 +47,10 @@ export const extractNdbs = async ( const ids = `(${extra.join(',')})`; const extraNdbs: Promise = (await db) - .all( + .all( SQL` SELECT + W.waypoint_id AS waypoint_id, N.ident, N.name, N.frequency, N.laty, N.lonx FROM waypoint W @@ -54,7 +61,16 @@ export const extractNdbs = async ( AND W.type = 'N' `) ) - .then(addIsExtra(true)); - + .then((rows) => + rows.map((r) => { + const { waypoint_id, ...rest } = r; + const isExtraFlag = !boundarySet.has(waypoint_id); // boundary-linked → NOT extra + return { + ...rest, + is_extra: isExtraFlag + } as Ndb; + }) + ); + return (await ndbs).concat(await extraNdbs); -}; +}; \ No newline at end of file From cf5d3ffa6c4af8d15efdd6c84ba5284378ad9d58 Mon Sep 17 00:00:00 2001 From: Tatpol Chutipat Date: Tue, 28 Oct 2025 05:19:13 +0700 Subject: [PATCH 4/4] feat(aurora): Add new data to interface.ts --- utils/interfaces.ts | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/utils/interfaces.ts b/utils/interfaces.ts index 3e8006611..9298127f2 100644 --- a/utils/interfaces.ts +++ b/utils/interfaces.ts @@ -45,18 +45,14 @@ export interface Vor { ident: string; name: string; frequency: number; + channel: string; laty: number; lonx: number; -} - -export interface Ils { - ident: string; - loc_runway_name: string; - loc_airport_ident: string; - dme_lonx: number; - dme_laty: number; - laty: number; - lonx: number; + is_extra: boolean; + is_vor: boolean; + is_vor_only: boolean; + is_dme_only: boolean; + is_tacan: boolean; } export interface Ndb { @@ -65,6 +61,7 @@ export interface Ndb { frequency: number; laty: number; lonx: number; + is_extra: boolean; } export interface Waypoint {