[mapserver-users] Usage: PROCESSING FORCE_DRAW_LABEL_CACHE=FLUSH

lars.schylberg at blixtmail.se lars.schylberg at blixtmail.se
Mon Oct 26 14:54:52 PDT 2015


				
Since I mentioned the command “PROCESSING FORCE_DRAW_LABEL_CACHE=FLUSH” in a previous entry I thought it could be good to describe how it is used.  Maybe this could be the basis for some description in the manual.

In my mind this is best improvement in Mapserver 7.0


The use case:

To produce a WMS service where You could zoom in from a very small scale like Europe down to a very detailed city map. You only have detailed data in certain parts.

One data set larger area like the Nordic countries 1:1M, one data set a nation like Sweden 250K and one detailed data set over one town 50K.  I don't have detailed data in the other countries and I only have town data covering one town. 

The usage is like this:

Draw all layers in the small scale data set without any MAXSCALEDENOM.

Do a  FORCE DRAW LABEL CACHE

Draw all layer in the 250k data set on top with a MAXSCALEDENOM=500000, or whatever is good for each layer when You would like to turn on your data.

Do another  FORCE DRAW LABEL CACHE

Draw all the layers in the 50k town data set on top of that with a MAXSCALEDENOM=70000

The following mapfile shows the principle for using the command. The example shows the effect of using and not using the FORCE DRAW LABEL CACHE command. Just run the example with shp2img.

----------------------------------------------------------------------------------------------------------------------------------------

MAP
 NAME FDLC

# Author: Lars Schylberg,  2015-09-26
#
# Requires Mapserver 7-0
#
# shp2img -m force_draw_label_cache.map -o without_force_label_cache.png -s 500 300 -e -80 42 -74 46 -l "towns big_city" 
#
# Result is that the unwanted red Big City label is showing up on top of the Big city polygon.
#
# shp2img -m force_draw_label_cache.map -o with_force_label_cache.png -s 500 300  -e -80 42 -74 46 -l "towns force_cache big_city"
#
# Result is the wanted, label cache is drawn after the towns layer and the big_city polygon can draw its new label.
#
 PROJECTION
  "init=epsg:4326"
 END

 SYMBOL
  NAME "circle"
  TYPE ellipse
  FILLED true
  POINTS
    1 1
  END
 END

 WEB
  METADATA
   "ows_enable_request" "*"
   "ows_title" "foo server"
  END
 END

 LAYER
  NAME "towns"
  STATUS ON
  TYPE POINT
  FEATURE 
    POINTS -75 45 END
    TEXT "Village"
  END 
  FEATURE 
    POINTS -79 43 END
    TEXT "Town"
  END
  FEATURE 
    POINTS -77 44 END
    TEXT "Big City"
  END
  FEATURE 
    POINTS -75 43 END
    TEXT "Village2"
  END  
  FEATURE 
    POINTS -79 45 END
    TEXT "Town2"
  END
  CLASS
   NAME "PopulatedPlaces"
   STYLE
    SYMBOL "circle"
    SIZE 10
    COLOR 10 10 0
   END
   LABEL 
     SIZE large
     COLOR 255 0 0 
     POSITION AUTO
     FORCE TRUE
   END
  END
 END # Layer
  
 LAYER
    NAME "force_cache"
    TYPE POINT
    PROCESSING "FORCE_DRAW_LABEL_CACHE=FLUSH"
    TRANSFORM FALSE
    STATUS ON
    FEATURE
      POINTS 1 1 END
    END
 END  # Layer
  
 LAYER
    NAME "big_city"
    TYPE POLYGON
    FEATURE 
       POINTS
        -78 44.5  
        -76 44.5  
        -76 43.5  
        -78 43.5   
        -78 44.5
       END
       TEXT 'Big City'
    END
    CLASS
       STYLE
          COLOR 255 250 0
       END
       LABEL
        SIZE giant
        COLOR 0 0 0
        POSITION AUTO
        FORCE TRUE
      END  
    END
  END # Layer
END # Map









-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20151026/e8ceca38/attachment.htm>


More information about the MapServer-users mailing list