コード例 #1
0
        public StorageContextMetadataTimeVarianceExtractor(IDataStorageDefinition storageDefinition, double axisPeriod = double.NaN)
        {
            var dict    = storageDefinition.VariablesMetadata;
            var dimDict = storageDefinition.VariablesDimensions;

            string timeDimName = TimeAxisAutodetection.GetTimeDimension(storageDefinition);

            foreach (var variable in dict.Keys)
            {
                //checking for temporal variogram. Storing it if found
                if (timeDimName != null)
                {
                    int idx = Array.IndexOf(dimDict[variable], timeDimName);
                    if (idx >= 0)
                    {
                        var temporalVariogramStorage = new StorageContextVariogramStorage.StorageContextMetadataStorage(storageDefinition, variable, idx.ToString()) as VariogramModule.IVariogramStorage;
                        var materializationResult    = temporalVariogramStorage.Materialize();
                        if (FSharp.Core.FSharpOption <VariogramModule.IVariogram> .get_IsSome(materializationResult))
                        {
                            processes.Add(variable, new GaussianProcessDescription(materializationResult.Value, axisPeriod));
                        }
                    }
                }
            }
        }
コード例 #2
0
        public StorageContextMetadataSpatialVarianceExtractor(IDataStorageDefinition storageDefinition)
        {
            var dict    = storageDefinition.VariablesMetadata;
            var dimDict = storageDefinition.VariablesDimensions;

            foreach (var variable in dict.Keys)
            {
                //checking for spatial variogram. Storing it if found
                var spatialVariogramStorage = new StorageContextVariogramStorage.StorageContextMetadataStorage(storageDefinition, variable, spatialKey) as VariogramModule.IVariogramStorage;
                var materializationResult   = spatialVariogramStorage.Materialize();
                if (FSharp.Core.FSharpOption <VariogramModule.IVariogram> .get_IsSome(materializationResult))
                {
                    fields.Add(variable, new GaussianFieldDescrption(materializationResult.Value));
                }
            }
        }