private void btWriteAwyGJson_Click(object sender, EventArgs e) { var iw = new xNavLib.navGeoWriter( ); string folder = Path.Combine(@"D:\DUMPTEST", CSV_PATH); if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } if (chkRangeLimit.Checked) { // limit by range and also by type // making two sets here, one for NDBs and one for all others using (var outS = File.Create(Path.Combine(folder, "navx-ndb-region-" + DateTime.Now.ToString(DATETIME) + ".geojson"))) { iw.WriteGeoJson(XNAVDB, outS, double.Parse(txRangeLimit.Text), double.Parse(txMyLat.Text), double.Parse(txMyLon.Text), new xNavLib.navRec.NavTypes[] { xNavLib.navRec.NavTypes.NDB }); } RTB.Text += $"navx-ndb-region- Written\n"; using (var outS = File.Create(Path.Combine(folder, "navx-vordme-region-" + DateTime.Now.ToString(DATETIME) + ".geojson"))) { iw.WriteGeoJson(XNAVDB, outS, double.Parse(txRangeLimit.Text), double.Parse(txMyLat.Text), double.Parse(txMyLon.Text), new xNavLib.navRec.NavTypes[] { xNavLib.navRec.NavTypes.VOR, xNavLib.navRec.NavTypes.DME }); } RTB.Text += $"navx-vordme-region- Written\n"; using (var outS = File.Create(Path.Combine(folder, "navx-fix-region-" + DateTime.Now.ToString(DATETIME) + ".geojson"))) { iw.WriteGeoJson(XNAVDB, outS, double.Parse(txRangeLimit.Text), double.Parse(txMyLat.Text), double.Parse(txMyLon.Text), new xNavLib.navRec.NavTypes[] { xNavLib.navRec.NavTypes.FIX }); } RTB.Text += $"navx-fix-region- Written\n"; var ia = new awyGeoWriter( ); using (var outS = File.Create(Path.Combine(folder, "navx-awy-hi-region-" + DateTime.Now.ToString(DATETIME) + ".geojson"))) { ia.WriteGeoJson(XAWYDB, XNAVDB, outS, "2", double.Parse(txRangeLimit.Text), double.Parse(txMyLat.Text), double.Parse(txMyLon.Text)); // layer hi } RTB.Text += $"navx-awy-hi-region- Written\n"; using (var outS = File.Create(Path.Combine(folder, "navx-awy-lo-region-" + DateTime.Now.ToString(DATETIME) + ".geojson"))) { ia.WriteGeoJson(XAWYDB, XNAVDB, outS, "1", double.Parse(txRangeLimit.Text), double.Parse(txMyLat.Text), double.Parse(txMyLon.Text)); // layer lo } RTB.Text += $"navx-awy-lo-region- Written\n"; using (var outS = File.Create(Path.Combine(folder, "navx-awy-fix-region-" + DateTime.Now.ToString(DATETIME) + ".geojson"))) { ia.WriteGeoJsonUsedMarkers(XNAVDB, outS); } RTB.Text += $"navx-awy-fix-region- Written\n"; } else { } RTB.Text += $"GeoJson Navaids file written\n"; }
private static void DoAirwaysJob() { if (!jobAirways) { return; } Console.WriteLine($"\nCreating airway layouts .."); string file = Path.Combine(inputDir, xNavsFile); Console.WriteLine($"Reading XP11 Nav DAT: {file}"); Console.WriteLine(navReader.ReadDb(ref XNAVDB, file)); Console.WriteLine($"DONE - X Nav Database contains {XNAVDB.Count} record\ns"); file = Path.Combine(inputDir, xFixesFile); Console.WriteLine($"Reading XP11 Fix DAT: {file}"); Console.WriteLine(fixReader.ReadDb(ref XNAVDB, file)); Console.WriteLine($"DONE - X Nav Database contains now {XNAVDB.Count} records\n"); file = Path.Combine(inputDir, xAirwaysFile); Console.WriteLine($"Reading XP11 Awy DAT: {file}"); Console.WriteLine(awyReader.ReadDb(ref XAWYDB, file)); Console.WriteLine($"DONE - X Airways Database contains {XAWYDB.Count} records\n"); // Create now Console.WriteLine($"\nStarting to calculate and create airway files (this may take some minutes....)"); var iw = new xNavLib.navGeoWriter( ); // limit by range and also by type var ia = new awyGeoWriter( ); using (var outS = File.Create(Path.Combine(outputDir, geoAwyHiFile))) { ia.WriteGeoJson(XAWYDB, XNAVDB, outS, "2", ogRad, ogLat, ogLon); // layer hi Console.WriteLine($"{geoAwyHiFile} written"); } using (var outS = File.Create(Path.Combine(outputDir, geoAwyLoFile))) { ia.WriteGeoJson(XAWYDB, XNAVDB, outS, "1", ogRad, ogLat, ogLon); // layer lo Console.WriteLine($"{geoAwyLoFile} written"); } using (var outS = File.Create(Path.Combine(outputDir, geoAwyFixFile))) { ia.WriteGeoJsonUsedMarkers(XNAVDB, outS); Console.WriteLine($"{geoAwyFixFile} written"); } Console.WriteLine($"GeoJson Navaids file written"); }