コード例 #1
0
        public async Task ImportDataSetsAsync(AscendDataSetImporter importer, IDictionary <string, TData> logs, IDictionary <string, TData> data, HorusMetadataParserOptions options)
        {
            var log = logs.Keys.FirstOrDefault(k => Path.GetExtension(k).Equals(".csv", StringComparison.OrdinalIgnoreCase));

            if (log != null)
            {
                await ReadLogAsync(data, log);
            }

            var imgs = data.Keys.Where(p => Path.GetExtension(p).Equals(".jpg", StringComparison.OrdinalIgnoreCase) ||
                                       Path.GetExtension(p).Equals(".jpeg", StringComparison.OrdinalIgnoreCase))
                       .GroupBy(GetFrame).ToDictionary(k => k.Key, v => v.ToArray());

            var missingImage = new List <int>();
            int i            = 0;

            foreach (var itemProperties in Items.OrderBy(k => (DateTime)k["Stamp"].Object))
            {
                var gpsEntry = importer.CreateDataSetItem((i++).ToString("D6"), itemProperties);

                gpsEntry.ItemType = "horus.frame";
                gpsEntry.SetGeographyInformation(4326, "Longitude", "Latitude", "Altitude");
                gpsEntry.AddPositionSample("Longitude", "Latitude", Time: "Stamp", Height: options.WriteAltitudeMeasurement?"Altitude":null);
            }
        }
コード例 #2
0
        public async Task TestMethod1()
        {
            var importer = new HorusMetadataParser <string>(new DefaultDataReader <string>
            {
                OpenStreamProvider = (path) => Task.FromResult((Stream)File.OpenRead(path))
            });
            var data = new Dictionary <string, string>
            {
                { "../../../../data/MetaData_0-7664.csv", "../../../../data/MetaData_0-7664.csv" }
            };
            var canImport = await importer.CanImportAsync(data, new FolderAccessFacade());

            Assert.IsTrue(canImport);
            var store = new AscendDataSetImporter();

            await importer.ImportDataSetsAsync(store, data, data);

            using (var ms = new FileStream("../../../../data/MetaData_0-7664.czml", FileMode.Create))
            {
                store.WriteCzmlDocument(ms, new CesiumDocumentOptions {
                    PrettyFormating = true, WriteFrames = true
                });
                ms.Flush();
            }
        }
コード例 #3
0
 public Task ImportDataSetsAsync(AscendDataSetImporter importer, IDictionary <string, TData> logs, IDictionary <string, TData> data)
 {
     return(ImportDataSetsAsync(importer, logs, data, new HorusMetadataParserOptions()));
 }