[mapserver-users] Graticule and Map Frame strategies

Roger André randre at gmail.com
Thu Dec 11 15:46:19 EST 2008


Hi Bob and Brent,

That was a great thread to dig into, thanks for sending me the link.  I'm
guessing that Mapserver wasn't originally developed with the intent of
acting as an engine for cartographic quality, paper, map production.  The
fact that it's capable of generating images of such high quality that I'm
considering its use for exactly that purpose really says something about the
quality of the development effort that has gone into it.  Kudos to all who
have contributed to the project.  I really love it as a tool, and I enjoy
working with it.

I myself use (or am attempting to use) Mapserver for 2 completely disparate
tasks.  One use is to drive a web-map interface, and with that I have no
issues whatsoever.  The other is to create map graphics which are included
in printed reports.  Although the data shown is similar in both cases, the
paper use-case is definitely more difficult to implement and has it's own
unique requirements.  As Brent said in one of his posts, "a map without a
graticule, scale bar, and projection statement, (with parameter values!) is
just a diagram".  I would add a legend to that list as well, and Mapserver
can generate all of those things relatively well.  However, as is true with
all projects, the 80/20 rule is biting at my heels here.

To give some background to the problem, the requirement I'm working from is
to generate graphics that look as good, or better, than those which are
currently being generated with GMT (Generic Mapping Tools).  For those of
you who haven't tried GMT, it is capable of some pretty fantastic looking,
print-quality maps.  However, its use in an automated system is somewhat
difficult, and it lacks some of the flexibility in data access, cartographic
styling, and labeling which Mapserver has.  It also lacks an API.  Although
I doubt we will ever fully replace GMT in the creation of one-off's, I think
there is a good case to be made for replacing it with another tool for
automated, and menu-driven map creation.  The problem is that GMT "does it
all".  Without going into all of what GMT can do, here are a few of the
things that it does which I haven't been able to find an easy way to
implement with Mapserver.

1) Rendering of raster features based on the input of an array of
regulalry-spaced points with X,Y,Z values.
2) Raster symbolization using color gradients, as opposed to just discreet
colors.
3) Creation of color bars (legend) to show the values in a raster data set.
4) Graticule tick-marks on the edges of the map frame.
5) Inclusion of a map title.
6) Inclusion of text to describe the map.

So far, my solution seems to be similar in concept to what others appear to
be doing - I do these things outside of Mapserver.  Items 1 and 2 are taken
care of by the creation of a display-ready GeoTIFF with gdal.  3 - 6 are
still being worked on, but at the moment are being dealt with by loading the
Mapserver image into Matplotlib, then adding "decoration".  Although this
works, it seems a bit klunky to do these with 3 separate tools, especially
given the nice job Mapserver already does with other things that are very
similar in nature.

Having said that, please don't flame me!  I'm finding workarounds to solve
the problems I'm having.  I just want to add my voice to those who have
already expressed an interest in extending some of the "decoration"
functionality in Mapserver.  And yes, I also know that other tools (such as
GRASS) can do this, but that's not the point. ;)

Thanks again to all of you who have worked to make Mapserver such a great
tool.

Roger
--

On Thu, Dec 11, 2008 at 11:06 AM, Bob Basques
<Bob.Basques at ci.stpaul.mn.us>wrote:

> Brent,
>
> We basically came to the same conclusions, although I think there is
> also the potential for combining seamless overlay with the surround
> method as well.  I still keep looking inside of MapServer too, but just
> can't seem to come up with a flexible method of building anything.
>
> The surround method is on my list, but it's down a ways.  :c)
>
> bobb
>
>
>
> >>> Brent Fraser <bfraser at geoanalytic.com> 12/11/08 1:00 PM >>>
> Roger,
>
>  I asked a similar question last year
> (http://lists.osgeo.org/pipermail/discuss/2007-September/002349.html).
>
>  Landon Blake and I (and others) came to the conclusion that the answer
> was to create a "map surround" library suitable for wrapping as a
> plug-in to various generic publishing/compositing applications (such as
> Inkscape, Scribus, ReportLab, etc) and possibly some desktop GIS apps
> (uDig, Quantum, gvSig, OpenJump, etc).
>
>  While I still believe that's the ultimate answer, I find myself going
> back to Mapserver's mappdf.c (and mapgraticule.c, etc), and speculating
> on enhancements to give Mapserver the capability right out of the box.
>
> Brent Fraser
> GeoAnalytic Inc.
>
>
> Roger André wrote:
> > Hi All,
> >
> > I'm curious what options have been explored to create tick marks,
> > graticules and outside-of-map symbology?  I'm currently investigating
> > the use of Matplotlib as a compositer to draw on top of a
> > Mapserver-generated image, and while I think this will give nice
> looking
> > results, the speed of the process is quite slow, probably because
> > Matplotlib deconstructs the Mapserver image with PIL and works with it
>
> > as a numpy array.
> >
> > I'm interested in hearing about any other tools that allow for the
> same
> > sort of "drawing on top of" strategy, preferrably ones with API's.
> >
> > Thanks,
> >
> > Roger
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapserver-users/attachments/20081211/7a362057/attachment-0001.html


More information about the mapserver-users mailing list