Select to view content in your preferred language

MaxRecordCount (1000) and displaying large data point grids

2850
4
12-07-2011 05:26 AM
Labels (1)
BKuiper
Frequent Contributor
Hi,

What would be the best way to display a large data point grid using a LocalFeatureLayer ?

We have a data point grid that has approx. 10K data points. Currently the LocalFeatureLayer will only display 1000 items. This number can be found when accessing the underlying ArcGIS Runtime Rest Endpoint. The layer will have the property MaxRecordCount set to 1000.

How can I change this value or how can I still display the whole Layer on the Map (instead of just the first 1000 items).

Thank you!
0 Kudos
4 Replies
MichaelBranscomb
Esri Frequent Contributor
Hi,

The 1000 feature limit is just the default (same limit as for an online / ArcGIS Server feature layer). You can override this via the MaxRecords property on the LocalFeatureService (before the service is started).

e.g.

LocalFeatureService localFeatureService = new LocalFeatureService()
{
    MaxRecords = 10000,
    Path = "path to Map Package (.mpk)",
};

Or it's also settable via one of the overloads on the LocalFeatureService.GetService() / GetServiceAsync() convenience methods.

e.g.

LocalFeatureService.GetServiceAsync("path to Map Package (.mpk)", 10000,(service)=>
{
    //...              
});

However - I'd be interested in more details on why you need to use a want to put these 10,000 points in a LocalFeatureLayer or FeatureLayer instead of using a dynamic map service layer? - i.e. what additional functionality are you looking for?

Cheers

Mike
0 Kudos
BKuiper
Frequent Contributor
Thanks for your quick reply. You are right, the LocalArcGISDynamicMapServiceLayer class will probably do everything I need. I was so focused on using FeatureLayer that I forgot about that one.

But good to know how to extend the number of records that can be returned.

Thanks!
0 Kudos
BKuiper
Frequent Contributor
Hi Mike,

i'm trying to better understand the usages of the LocalFeatureService but the API-Reference (WPF help in general) is offline.

Basically I want to show a data grid and give the user the possibility to hover over a data point and get the details (attributes).

I could use the LocalArcGISDynamicMapServiceLayer to show the layer, but this won't give me the details so i could use the LocalFeatureService or LocalFeatureLayer to load the layer again and use Mode=SelectionOnly or OnDemand to display the features. I need to use the LocalFeatureService because the feature layer has 10.000 data points.

I would also like to change the rendering of the datapoints, but i won't have this option with the LocalArcGISDynamicMapServiceLayer. I see that this option is available for the SL 3.0 Beta SDK. Any idea when this might go into the WPF 10.1 Beta ?

so to come back to my problem, how would you go about and achieve this ? Basically i want to show all data points and then let the user select or hover over a specific data point to get the details. I would like to change the rendering of the data grid points as well.

Thanks for your help!
0 Kudos
MichaelBranscomb
Esri Frequent Contributor
Hi,

The ArcGISLocalFeatureLayer & FeatureLayer classes are for providing an additional level of interaction with the data - such as MapTips, or editing.

Specifying the symbology via the ArcGIS Runtime WPF API in the past has only been possible with feature layers but at Beta 2 (available very soon) the ArcGIS Runtime SDK for WPF will also support overriding the default symbology within dynamic map service layers. However to achieve the MapTips you're after, you'll still need to use a feature layer.

You may be able to use a combination of the two though - a dynamic map service layer for overall display of the points (and override the symbology in this layer too) and a feature layer set to Mode=SelectionOnly for interaction. This will require the user to perform a selection first, but you could experiment with the options/modes to see if it serves your purpose.

Cheers

Mike
0 Kudos