ThinkGeo.com    |     Documentation    |     Premium Support

Two color Bread Crumb Trail

I am writing an application where I have a truck out in the field and I need to show a bread crumb trail that is colored according to the truck’s speed (under a particular speed one color, over another color).  The application will be fed live data from the truck’s GPS (lat, long and speed).  The bread crumb trail should include where the truck has been from the beginning of its shift to the current time. 



I started out by applying the Bread Crumb Trail sample with a single color and then used value styles to show the two colors.  I found that as noted in the Think Geo Wiki, using value styles can be slow, especially when the truck is toward the end of its shift.  Can you suggest another way to do this? 

Thanks.


Hi Eillen, 
  
 How many points you haveing in your map? For your scenario, the speed shouldn’t very slow unless the points are too many and without index. 
  
 If you want to avoid use value styles and you have just two colors, please try to build two layers, set different point style and put corresponding pionts in them. 
  
 And for optimize the speed, if the points number is big, try to move old points to another layer and limit the points number in the layer which you are keeping refresh, which should be helpful. 
  
 Regards, 
  
 Don

Hi Don,



Thanks for the suggestions.  I think that part of the problem is that I have a lot of points.  Over the course of a shift I can get between 50,000 and 100,000 GPS points.  Since this is live data coming in, right now I add each GPS point to a collection and base my inMemoryFeatureLayer on that collection.  This may not be the best way to do it.  I like your idea of two sets of layers and will try that next.  In the meantime though, am I going in the right direction by using a collection and the inMemoryFeatureLayer or is there something else that would be better suited to what I am trying to accomplish?  



Regards,

Eileen


Hi Eileen, 
  
 Please let me know if my suggestion works for you. 
  
 If your collection just for save points, you won’t do any loop or sort for it, I think it shouldn’t have problem but I haven’t test for that. 
  
 If the point number keep increase, try to regular saved them to disk, you can saved them as file, shape file or in database. Then load them direction from data source. 
  
 Regards, 
  
 Don

Hi Don, 
  
 Just wanted to let you know that your suggestion of storing the older points in a separate layer worked out nicely.  Thank you. 
  
 Regards, 
 Eileen 


Hi Eileen,  
  
 I am glad to hear that works for you. 
  
 Regards, 
  
 Don

Everything appears to be solved, but I did want to comment on something I discovered a while ago.  I found some of the .NET collections seemed to perform poorly when adding or removing an item once I had a couple thousand entries.  I think I switched to a Hashtable which was much faster with a lot of items. 
  
 Allen

Allen, 
  
 Thanks for your share. I think you’re right, a simple hashtable may faster in this scenario. 
  
 Regards, 
  
 Don