ThinkGeo.com    |     Documentation    |     Premium Support

Most efficient way to render layers

Hi,


I was wondering if you had any suggestions for the most efficient way to render many layers, such as streets broken down by state for the entire US.  I can think of a few options:


1) All streets in one file displayed on single layer stored in single file, styled using a value renderer based off column value


2) Streets stored in files by street type displayed on multiple layers


3) Streets stored in single file, displayed on multiple layers which use custom index files built for each street type


 


Also, if I have a file for streets for each state, is it more efficient to have a seperate layer for each of those layers, or to use a MultipleShapeFileFeatureLayer?


 


Thanks for your insight.


.Ryan.



Before we answer in more details to your question, I would like to know why you are not interested in using our numerous options for having effortlessly street background for your map such as WorldMapKit, GoogleMap, Virtual Earth, OpenStreetLayers. It is a vast amount of work to have all the street data looking good and displaying fast and this is why we have those options to spare you a lot of work. Maybe I don’t undertsnad your situation and we will give you the different tricks for rendering efficiently many layers but I wanted to make sure with you first that you know all your options. Thank you.

Hi Val,


I am aware of all the built-in sources... we actually do make use of some of them.  We get data from many different sources, and depending on the situation, we may need data from a specific source.


Thanks,


.Ryan.



 


Ryan,
 
I couldn't say which way is the most efficient way to render layers, that depends on many things, but I can get you some advice maybe helpful.
 
1) All streets in one file displayed on single layer stored in single file, styled using a value renderer based off column value
 
This way is less efficient than others, it is similar with the third way only has one layer, but column value is read from .dbf file which is slow part not use index.
 
2) Streets stored in files by street type displayed on multiple layers
3) Streets stored in single file, displayed on multiple layers which use custom index files built for each street type
 
I think 2 and 3 may has the same performance, choose which way is depend on the original file, if the file is single you can use 3, if the files are separated you can use 2, also you can split or combine to choose different way.
 
One file one layer is pretty much the same efficient as many files many layers, because they both use Rtree as spatial index, the performance is stable no matter how records increased. MultipleShapeFileFeatureLayer also use Rtree, maybe a little less efficient than ShapeFileFeatureLayer, but it can use for some scenario to make code easy.
 
Let me know if I can give you more information.
 
Thanks
James