[Mapserver-dev] How to control information density by location

woodbri at swoodbridge.com woodbri at swoodbridge.com
Thu Jan 15 17:41:00 EST 2004

Hi all,

I was thinking about the time indexes Steve is building and wondering 
if there isn't something similar that could be done to help control 
information density by area location.

For example, when adding zipcode labels to a map they are very spare 
in the mid-west compared to say NYC. In fact, there are lots of very 
sparse areas and likewise very dense areas. So the standard response 
is "Well that is what the label cache is for!". Well yes and no, 
These zipcode label were being written as large labels without using 
the labelcache as background text then being over written by streets 
and annotation. This looked very good at 150K in rural areas, but had 
to be reduced to 25K in urban areas to look good, other wise all the 
labels collided and were not readable. I could envision doing 
something similar for county labels and other labels that add some 
context, but are really background information and not the foreground 
primary information being presented on the map.

So having a second or a "named" label cache with the ability say draw 
this cache now in the map file would probably work. 

Or a layer scheme where you could say if the map overlaps this 
polygon or rectangle set the MIN/MAX SCALES for LAYER abc to 
[ABC_MIN], [ABC_MAX]. this has the down side of needing multiple 
objects to assign values to multiple layers or lots of attributes 
associated to the object.

Or may be to have a TILEINDEX that specifies that a mapfile fragment 
to be used for a given area or more generally for a given condition. 
This seems similar to the Time indexes but it would be area indexes.

I guess of all of these having an auxiliary label cache would 
probably be the simplest solution to the specific problem. but the 
alternative my provide more general solutions that could also solve 
other problems. I am trying to keep this in the mapfile and not try 
to solve this via mapscript.

Does this make sense to anyone else?
Would something like this be generally useful?

-Steve W.

More information about the mapserver-dev mailing list