Ejemplo n.º 1
0
        public override IFunction GetTimeSeries(IFeature feature)
        {
            //filter on the specific feature
            var valueFilter  = FeatureVariable.CreateValueFilter(feature);
            var reduceFilter = new VariableReduceFilter(FeatureVariable);
            var timeSeries   = Filter(valueFilter, reduceFilter);
            var name         = Name + " at " + feature;

            //set both names as sometimes the component name is used
            timeSeries.Name = name;
            timeSeries.Components[0].Name = name;

            return(timeSeries);
        }
Ejemplo n.º 2
0
        public override IFunction GetTimeSeries(ICoordinate coordinate)
        {
            //find a feature whose coordinate matches with the queried coordinate..this might not fly with complexer features..
            //adapt to a different stategy when needed
            var feature = FeatureVariable.Values.OfType <IFeature>().FirstOrDefault(f => f.Geometry.Coordinate.Equals2D(coordinate));

            if (feature != null)
            {
                //filter on the specific feature
                var valueFilter  = FeatureVariable.CreateValueFilter(feature);
                var reduceFilter = new VariableReduceFilter(FeatureVariable);
                var timeSeries   = Filter(valueFilter, reduceFilter);
                var name         = Name + " at " + feature;
                //set both names as sometimes the component name is used
                timeSeries.Name = name;
                timeSeries.Components[0].Name = name;

                return(timeSeries);
            }
            throw new InvalidOperationException(string.Format("No data defined on location {0}", coordinate));
        }