TatukGIS menu

Knowledge Base





KB10491 - Scale based rendering of vectors, labels, symbols, and other detail, such as to reduce map clutter.

TatukGIS products support methods to manage the appearance of any map feature (vector object or visual property such a labels, symbols, color, polygon fills, line thickness, etc.) conditional on scale, i.e., map zoom level. Whether or not certain map features are rendered at all can be conditional on scale. Labels, for example, might change size or color, use different fonts, or not appear at all at different map scales. Typically scale based rendering is applied to a layer by vector class, using a vector attribute query definition, or based on a minimum vector size.

The following scale based rendering methods are applied using settings in the visual layer property control (in the Editor, free Viewer, or DK products). Each of these settings are saved to the project file.

  1. Use the Smart Size feature to set a visual size below which line or polygon vectors are not rendered. This can reduce map clutter and significantly reduce time required to open and render a map layer by not wasting computational resources rendering objects that are too small to be meaningful to the map presentation. The Smart Size feature is found under the Line / Smart size or Area / Smart size tab within the visual layer property control. More about this feature is provided in KB10711.
  2. Use the Section feature to set scale ranges at which objects or visual properties specified by an attribute query definition are rendered, not rendered, or rendered in a specific way. Sections are accessed under the Section tab within the visual layer property control. Using Sections for scale based rendering is further explained in KB10678.
  3. Use the Maker Size feature to automatically adjust the visual size of symbols (representing points, lines, polygon outlines, etc.) as the map scale changes. Adding an asterisk ( * ) after the size units means the symbol length is rendered that size at the scale 1 = 1, and the size is adjusted automatically and proportionally at other scale levels. For example, setting Marker Size to 50m* means the symbol length will be 50 meters at the scale 1 = 1. The Marker Size feature is found under the Marker tab within the visual layer property control. (Use of this feature requires the map be in any valid coordinate system.)

Scale based rendering can also be implemented using code.

  1. Sections to render based on scale can be applied in the DK using Layer.ParamsList and code, such as:​

      [TatukGIS Layer1]
      Visible=True
      [TatukGIS Layer1 1]
      MinScale=0.0000001
      MaxScale=0.000005
      Visible=False

  2. Scale based rending of symbol and label size can also be performed with DK (or the in Editor using its built-in scripting environment exposing the DK API) by assigning methods to the DK Layer.OnPaintShapeLabel and Layer.OnPaintShape events.
Created: September 14, 2005, Modified: April 11, 2016