ThinkGeo.com    |     Documentation    |     Premium Support

How many layers can contain a LayerOverlay?

     Hi,


For a asset tracking system, I will need to plot 200-1000 targets with it's corresponding track. As they will have custom icons and probably custom track lines depending on their properties, I was thinking in create one layer per track to add it in the layersOverlay (inmemoryfeaturesource layer overlay per asset and the icon in a SimpleMarkerOverlay).


  Is it OK, or it it an overkill?


 What are the good practices for such a kind of project?


 Regads,


Carlos 



Hi Carlos, 
  
 Theoretically, we can put any number of layers into a LayerOverlay. But the more a LayerOverlay needs to render, the longer time it’s going to take. 
 Sorry I cannot provide some more effective suggestions right now because I did not fully understand some parts of your description. 
 For example, are asset and target the same thing? Is the corresponding track a line around the asset (or target)? What did you mean by “inmemoryfeaturesource layer overlay”? 
  
 Sorry for all the questions, but it’s necessary for us to better understand the scenario of your project. 
  
 Looking forward to your feedback. 
  
 Regards, 
 Tsui

 Just chipping in:


I decided to go with one layer per overlay to simplify thing for now.  This is mostly because I can easily control layer visibility through the overlay.  So far, I have seen no problems but field test is coming back with some performance issues for 60+ layers, which I have yet to investigate.


See this thread on this same question:


gis.thinkgeo.com/Support/Dis...fault.aspx



Thanks for the tip Klaus, if 60+ layers is having performance issues, then it definitely will not be suitable for 800-1000 :( 
  
   Tsui, asset or target was the same, it’s a “beaconing device” which report it’s position in a interval basis. Hence I will have a “head” icon with it’s own image depending on the type. Right clicking the icon it will appear a context menu with the asset options (send command, edit properties, delete, show/hide track etc). In addition to the icon, it will be a track, that basically will be a variable number of positions represented as a dot with a line joining them. If the user clicks on the line (with some kind of buffer) will appear a context menu similar to the asset icon one. Finally, if the user mouse over a point on the track it will appear a popup with the position information, and if the point is right-clicked a context menu will allow the user to delete de point or hide the track beyond this point. 
  
   It’s “almost simple”, I’m just figuring out in which king of layer put what. But the big issue here is the performance, as a customer can control as much as 1200 assets with up to 200+ track points each. 
  
   This is why already under production applications feedback like Klaus one is appreciated. I know that as much layers I use as slower it will be, the same as as much powerful the PC/GPU is, as faster, but this is common-sense. What I’m wondering is where are the reasonable limits… I mean it is the same having 1 layer than 2, but what happends with 100 or 1000 or 10000? Of course I will need to go through some detailed tests to get an estimation, but if somebody tells me is having performance issues with 60+ layers, then it’s clear to me that I need to find other approach… 


Hi Carlos, 
  
 As I think, the count of the layer is only one part of the reasons that causes the performance. We have a product calls World Map Kit Renderer which maintains over 900 layers, but the speed is quite fine. The more important part is depending on how big the shape file is. Our world map kit renderer has more than 2G data and the speed is acceptable I think. But if you have 10 layers and each layer’s size is 100M, it will be much slower than current way. On the other hand, most of the time is cost on querying features from the shape files. So to have a high speed disk will enhance the performance a lot. One more advice is that, to set a proper zoom level and styles is very important. For example, if we apply every layer’s style from zoom level 1 to 20, some layers are to small so that it’s invisible to see on higher scale, it also costs time on query some features which even cannot be seen on the map. 
  
 When you adding too many layers, I think most of the layers are stable; in this way, we recommend using cache instead rendering in real time. 
  
 Just some advice and hope it helps. 
  
 Thanks, 
 Howard