コード例 #1
0
        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";
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: bm98/dump-dbTool
        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");
        }