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); } }
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(); } }
public Task ImportDataSetsAsync(AscendDataSetImporter importer, IDictionary <string, TData> logs, IDictionary <string, TData> data) { return(ImportDataSetsAsync(importer, logs, data, new HorusMetadataParserOptions())); }