[mapserver-users] cartographic lines
Rahkonen Jukka
Jukka.Rahkonen at mmmtike.fi
Mon Jun 8 21:06:09 PDT 2009
Hi,
Thomas Bonfort seems to do it this way:
CLASS
EXPRESSION "primary"
STYLE
WIDTH 14
OUTLINECOLOR "#B7AC9A"
OUTLINEWIDTH 1
MINWIDTH 1.5
MAXWIDTH 12
END
STYLE
WIDTH 14
COLOR "#FFFF7A"
MINWIDTH 1.5
MAXWIDTH 12
END
END
See more at http://trac.osgeo.org/mapserver/wiki/RenderingOsmData, and the result is visible at Mapserver.org web site.
-Jukka Rahkonen-
David Nugent wrote.
Hello all,
i've come across a cosmetic issue I'm trying to solve and looking for
advice. Specifically this relates to drawing street/road lines, although I
guess it relates to any type of cartographic line.
I'm using mapserver 5.4.1 using AGG renderer with quantize enabled:
OUTPUTFORMAT
NAME 'AGG_Q'
DRIVER AGG/PNG
IMAGEMODE RGB
# FORMATOPTION "QUANTIZE_FORCE=ON"
FORMATOPTION "QUANTIZE_NEW=ON"
FORMATOPTION "QUANTIZE_DITHER=OFF"
FORMATOPTION "QUANTIZE_COLORS=256"
END
Mapserver was built with --with-experimental-png (which does indeed
resolve the colour variations between tiles that I reported earlier).
I'm drawing street layers with elipses, but I'm now wondering if that is
the best way to achieve the result, being an inner colour with a border,
viz:
STYLE
COLOR [border_color]
SYMBOL "road_line"
SIZE $x
END
STYLE
COLOR [surface_colour]
SYMBOL "road_line"
SIZE $x-2
END
where road_line is a simple SYMBOL elipse.
The problem I'm seeing is two-fold.
Firstly, the ends are rounded, which is not desirable where roads of
different classes (defined in different layers) join. I think this can be
solved by drawing all streets in the same layer and using different
classes with EXPRESSION statements, but my brief experiment with this
resulted in a large detriment effect on rendering speed. If it matters,
the layers are in PostGIS (and appropriately indexed).
So my question is, is there a better or at least an alternative way of
drawing roads with borders which does not result in this problem?
The second problem is that I'm trying to add OPACITY to some layers, such
as tunnels, so that they either appear underneath other objects or at
least allow other objects to show through. However - and it may be related
to the use of symbols to draw the roads - this results rendering as shown
in the attached file, with elipses of a different shade appearing where
objects "intersect". Can this be avoided (perhaps by using a different
method for drawing road lines)?
Note that since I am rendering a flat tile which includes a background I'm
using RGB rather than RGBA and I suspect this may affect rendering of
OPACITY in layers. However I can't seem to find the magic that will render
a background colour other than black (and yes, I'm using IMAGECOLOR in the
MAP section, but it seems to have no effect when rendering with
transparency).
Best regards,
David
More information about the MapServer-users
mailing list