ThinkGeo.com    |     Documentation    |     Premium Support

Layer management file

 I am looking to load a predefined list of layers with zoomlevels and some basic symbology defined in a file.  That way, my users can customize what layers are displayed without a recompile.  Does a project exist or some other mechanism in the mapsuite world to accomplish this?  I don't mind writing the classes by hand, but I figured I would ask before I dived in.


 


Thanks.



Hi Thomas,



We don't support this feature for now; but we think it's a good idea. We have a workaround for you to use reflect to set the style dynamically. Please see the attached simple sample which allows you to modify the XML to change the appearance of the map. If you need some other settings, please try to write your own method. It's just an idea.



Please let us know if you have more queries.



Thanks,

Howard



Post8037.zip (9.89 KB)

I also had to implement something like that. 

Sometimes, I used indexes to apply a different appearance to features in the same shapefile (for some shapefiles I created one index for zoom and another one for styles, for each combination of zoom/style). Sometimes, I split the shapefile depending on the zoom/style. These approaches gave me a huge amount of files .You have to play a little and see which approach is faster, especially if you are going to display large shapefiles.



Hi Gustavo, 
  
 This is very complicate to configure a map with something like Xml. You need to consider about the speed; you need to consider the size of the configuration file as well. I’d like to write different schema and parser for these styles. Once it’s defined, we can reuse these styles again and again. But it will be a huge project. 
  
 Just my idea. If possible, could you please show me your exactly requirement and we can consider more? 
  
 Thanks, 
 Howard

Hi Howard,


using a XML file was the only way I found to configure my map, which is complex, and have a huge amount of shapes and indexes. 


The XML that I came up with is attached. The map itself is not very fast, but I worked to get the best of it, sometimes even pre-loading some shapefiles in memory. When the app starts it parses the XML into a structure that I interact with when the user zoom on the map.


Things could be easier if the platform had a native support to something like this.


 


 



Shapefiles.xml (37 KB)

Hi Gustavo, 
  
 I saw your Xml file and I feel it looks like a serialized xml of the layers collection. And this Xml file can be much smaller I think. For example, the FeatureStyle contains zoomlevel nodes; zoomlevel contains style nodes etc; there are too many thing duplicated which I think you can optimize. I would like to make FeatureStyle, zoom level, styles etc as equal notes in xml; their relationships are by reference of their names. So some styles can be reused again and again. Also, I’m not sure what do you mean by “Not very fast”; do you mean rendering or reflecting? Why do you need to pre-load shapefiles in memory? Do you mean shapefile is shapefile layer or the real shape file? 
  
 That’s what I’m wondering for your scenario. 
  
 Thanks, 
 Howard