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); }
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)); }