ThinkGeo.com    |     Documentation    |     Premium Support

The drawing level

 The drawing level is confusing to me. If I move points/lines/polygons into the "Label" level I can get them to draw on top of the labels. Or I can move labels into draw level 1 and the labels are "below" line features.



 But I do not understand the relationship between draw level for individual line features. For instance, if I set draw level = 3 for a line, it does not draw above another layer with draw level = 2. Are the drawing levels for a layer only effective within that layer?


 Thanks



 HI Lyle,


 
The drawing level is a little complex. GISEditor is built above MapSuite ServiceEdition and WpfDesktopEdition.
 
In GISEditor, there are three kind of drawing levels. When you know their relationships, we can manage the drawing levels better. We have three kinds of levels. Overlays’ level, Layers’ Level, Label Level.
 
1. Overlay level is the most priority level, it directly reflects the order of rendering and displaying. So the topmost on the list will be always on the top on the map. The area in red border in following screenshot is what I call “Overlay Level”.


 
2. Layer level also reflects on the list. The top layer on the list will be the last rendered on the map; in another word, it will be on the top of display. Like the following, the “USStates” covers on the “Countries” layer.

Deep in the rendering, it is affected by the DrawingLevels set on the styles, but only affected by from Level1 to Level4. So for example, “USStates” has style set to Level1, and “Countries” style level is set to Level2. Deep into the rendering, the “USStates” will always renders on top of “Countries” layer, it won’t be affected by the drawing levels we set.



3. Label level belongs to Style, but it is really special and makes sense. Because label is always not proper to put  below the area or line right? We will always renders the labels on top of all the layers in one overlay.
 
Hope it helps and please feel free to let us know if you have more queries.
 
Thanks,
Howard

Thank you for the explanation. This allows me to do some things I was trying to do: 
  
  A. I was able to get point features like fire hydrants to display on top of the road names, sometimes it is more important to see these point features and cover parts of a street name. 
 B. I was also able to move features like municipal names below the street lines. The text size is large, but the color is a light gray and semi-transparent. 
  
 When doing "B" above, it appears that even though the municipal labels are NOT in the label level, that the label render maintains space for those labels even those they are on a different overlay. Is this correct? 
  
 Thanks. 
  
 -John 


Hi John, 
  
 It might not correct. In WpfDesktopEdition, Overlay is the minimum unit of an image level after rendering. When we have multiple overlays, we will have multiple images covers on each other. The label level is only applied on one overlay. So the space for the label space won’t be maintained cross the overlays; it only maintains in its containing overlay. Hope it makes sense. If we need maintain label spaces, we recommend to put the label layers in the same overlay.  
  
 Thanks, 
 Howard 


OK, this would work to our advantage as some layer of type we want to overlay (like large city names like Bing maps does). 
  
 Thanks. 
  
 -John

Hi John, 
  
 Great to hear it could be helpful, if you have any more question, please feel free to let us know. 
  
 Best Regards 
  
 Johnny