Digital Map Philosophy

Blammo bob.basques at CI.STPAUL.MN.US
Sun Dec 31 13:38:52 EST 2006


Bill,

Interesting note you have down here.

The Map level normalization (which I think is what you are talking 
about) is the method we used for our mapping interface.

We make a mapfile for every Layer, and combine the results at the 
Clients, not in MapServer itself.

This separates things for Admin, Data maintenance, Styling, and 
Publishing very nicely.  The trick is combining things in the client 
correctly.  We have a open source Product out there now (I haven't 
announced it yet because the Core code has been a bit in flux), but has 
stabilized and now I'm attempting to get some Basic Help/tutorial pages 
put together for it.  With the new mapfile INCLUDE capabilities, this 
will get even more streamlined, as the Layer Config info in the mapfiles 
for MapServer can rid themselves of a lot of redundant code and 
concentrate on just listing the styling and presentation differences for 
a layer.

The package basically does what (I think) you are describing, by 
combining the separate MapServer calls, for Images and Attribute data 
for user interaction.

This method also allows for the building of ad-hoc layers that combine 
more than one dataset at a time, A standardized background, that 
includes Roads, Street, and Rivers for example.

Any Layer owner can generate their respective layer from any number of 
datasets in this way for publication that has no dependencies whatsoever 
on any other layer configurations.

I can point you, offline, at a demo site (still under construction) that 
demonstrates these types of capabilities.

bobb


Bill Thoen wrote:
> I've been exploring MapServer for only a week or so, so maybe I'm missing
> something, but I have a problem with the LAYER philosophy that combines the
> data definition with the rendering style. I think these definitions should
> be physically separate, or at least there should be a way to redefine a
> layer's graphic representation after the data have been associated with a
> named layer.
>
> For example, I have a collection of styles that I prefer to use for
> entities like roads, lakes and rivers, municipal boundaries, landmarks and
> so on. I actually have multiple sets that depend on the map scale and/or
> the client or map purpose. 
>
> But the data often come from different sources, or at least they require
> different selections if you're drawing from a national data set for a
> local area. To make the data-map interface consistent I also ensure that
> the names, types and ranges of certain attributes are standardized (e.g. I
> have a field named 'class' for roads that contains standard values for the
> type of graphic representation I'll want for that road line, and for street
> name annotation, I use 'name' and 'route' and 'shield' for labeling
> highways with route numbers above shield symbols). Using this convention I
> could simply cut and paste or INCLUDE the parts of a map file that apply
> CLASS and STYLE parameters to my roads layer.
>
> The problem I have with MapServer's LAYER definition in the map file is that
> I have to define the DATA selection parameters with the CLASS and STYLE
> parameters. It seems to me that it would be more flexible to create layers
> by assigning the layer name to a data selection (and perhaps provide a
> default graphic style) but then later in the map file apply a graphic style
> to the features for that layer. If that were possible I could build a
> standard set of named base map layers and then simply apply a "style
> file" through an INCLUDE statement that would set the symbology for each
> standard layer. 
>
> One of the "products" that I provide to clients is a map series for fire
> departments in support of emergency planning, and it's important that the
> cartographic representation of map features be consistent and easily
> recognizable. I can certainly do this with MapServer as it is now, but I'll
> either have to do a lot more (error prone) cutting and pasting or build a
> script to automatically generate map files for different map areas.
>
> IMHO, the guiding philosophy should be that map content (points, lines,
> polygons and annotation) be as separated from the styling as possible, but
> it seems that MapServer binds these elements together at the LAYER level. I
> think this belongs at the MAP level or at least there should be an option
> to do so at that level. The idea is similar to the philosophy that applies
> to html documents and css.
>
> But like I said above, I'm pretty new to MapServer and maybe there's a
> solution or convention I just haven't discovered yet. So what do people do
> when they want to produce consistent-looking maps over several MapServer
> projects?
>
> Happy New Year! 
>
> - Bill Thoen
>
>   



More information about the mapserver-users mailing list