Check with the debugger that SetLastObservations is being called when the time extent changed.It's likely only an optimization matter.A chart can handle 2000 objects but with this binding ItemsSource="{Binding ElementName=MyMap, Path=Layers[MyHurricaneFeatureLayer].Graphics}", as Graphics is an observable collection, the chart is reinitialized each time a graphic is added to the feature layer so 2000 times in your case.Hovever the timeextent filtering should reduce this number. How many features are displayed at a time?If you have too ma,y features, you can optimize by replacing the ObservableCollection by a simple collection (IEnumerable) and by firing by yourself the PropertyChanged event each time the collection changed (or another option is to use a dependency property, up to you).
LastObservations.Add(g);
The Chart seems static though
I didn't think 2000 records would be that much for this to handle
does it need to say "== MyTimeSlider" or "== TimeEvent"?
public void TemporalRendererTracks(){InitializeComponent();DataContext = this;}
public MainPage() { InitializeComponent(); DataContext = this; }
return from g in graphicswhere g.TimeExtent.Intersects(map1.TimeExtent)group g by g.Attributes["EOM"] into grpselect grp.OrderByDescending(g => g.Attributes["EOM"]).First();
return from g in graphics where g.TimeExtent.Intersects(map1.TimeExtent);
Perhaps just slow because too much objects in the chart. How many features in your layer?If it's the case, the filtering by timeextent will help.
if (e.PropertyName == "TimeEvent") SetLastObservations();
any idea why I get an hour glass?
You need to initialize the OutFields property of your feature layer :OutFields="*" or OutFields="EOM,Adj_Close"Sorry, I should have noticed that at your previous post but I missed the point.
<esri:FeatureLayer ID="WellsFeatureLayer" Url="http://serverprd02/ArcGIS/rest/services/SilverLightDir/Wells_Timeline/MapServer/0" > <esri:FeatureLayer.OutFields> <sys:String>EOM</sys:String> <sys:String>Adj_Close</sys:String> </esri:FeatureLayer.OutFields> </esri:FeatureLayer>
You feature layer ID is WellsFeatureLayer (not WellsLayer). Path=Layers[WellsFeatureLayer].Graphics
Path=Layers[WellsFeatureLayer].Graphics
<esri:FeatureLayer ID="WellsFeatureLayer" Url="http://serverprd02/ArcGIS/rest/services/SilverLightDir/Wells_Timeline/MapServer/0" />
No clue.Do you get something if you use the first version I gave that doesn't need any code: <Charting:Chart> <Charting:Chart.Series> <Charting:ColumnSeries Title="Wind Speed" ItemsSource="{Binding ElementName=MyMap, Path=Layers[MyHurricaneFeatureLayer].Graphics}" IndependentValueBinding="{Binding Attributes[EVENTID]}" DependentValueBinding="{Binding Attributes[WINDSPEED]}"/> </Charting:ColumnSeries> </Charting:Chart.Series> </Charting:Chart>
<Charting:Chart> <Charting:Chart.Series> <Charting:ColumnSeries Title="Wind Speed" ItemsSource="{Binding ElementName=MyMap, Path=Layers[MyHurricaneFeatureLayer].Graphics}" IndependentValueBinding="{Binding Attributes[EVENTID]}" DependentValueBinding="{Binding Attributes[WINDSPEED]}"/> </Charting:ColumnSeries> </Charting:Chart.Series> </Charting:Chart>
<esri:ArcGISDynamicMapServiceLayer ID="WellsLayer" Opacity="0.8" Url="http://serverprd02/ArcGIS/rest/services/SilverLightDir/Wells_Timeline/MapServer" Initialized="ArcGISDynamicMapServiceLayer_Initialized" /> <esri:FeatureLayer ID="WellsFeatureLayer" Url="http://serverprd02/ArcGIS/rest/services/SilverLightDir/Wells_Timeline/MapServer/0" />
<charting:Chart HorizontalAlignment="Left" VerticalAlignment="Bottom"> <charting:Chart.Series> <charting:ColumnSeries Title="Wind Speed" ItemsSource="{Binding ElementName=map1, Path=Layers[WellsLayer].Graphics}" IndependentValueBinding="{Binding Attributes[EOM]}" DependentValueBinding="{Binding Attributes[Adj_Close]}"> </charting:ColumnSeries> </charting:Chart.Series> </charting:Chart>
In your project, add a reference to System.Windows.Controls.DataVisualization.Toolkit.and in your xaml, add this line: xmlns:Charting="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit"
If you need to get one line or one column by graphic, the ItemSources of your chart can be the Graphics property of your layer.Something like (based on this sample : http://help.arcgis.com/en/webapi/silverlight/samples/start.htm#TemporalRendererTracks) :
<Chart.Chart>
I have not used LineSeries myself but if you look at the code and chart sample, you will notice that they set ItemsSource, IndependentValueBinding (X-axis) and DependentValueBinding (Y-axis).
<chartingToolkit:Chart Title="Typical Use"> <chartingToolkit:ChartSeries> <chartingToolkit:LineSeries Title="Particulate Levels" ItemsSource="{Binding LevelsInRainfall, Source={StaticResource ParticulateLevel}}" IndependentValueBinding="{Binding Rainfall}" DependentValueBinding="{Binding Particulate}"/> </chartingToolkit:Chart.Series> </chartingToolkit:Chart>
Membros conectados podem postar, seguir atualizações e mais. Novo aqui? Registre uma conta gratuita.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.