[Mapserver-users] What doesn't MapServer do?
Jan Hartmann
j.l.h.hartmann at uva.nl
Sat Jul 17 07:07:31 PDT 2004
Bill Stephenson wrote:
> I've been reviewing the docs for MapServer and many of the libraries it
> uses and I'm having a harder time finding what it cannot do rather than
> what it does. It says on the home page, "MapServer is not a
> full-featured GIS system, nor does it aspire to be."
>
> Could someone please elaborate on this? What features does MapServer
> lack, nor aspire to include?
>
Essentially, MapServer is for *rendering* maps. It can do everything
with existing maps a GIS can do, such as overlaying, reprojecting,
database querying and layouting. It is weak on the layouting side, but
that is not a matter of principle, but because people haven't put much
energy in providing a full set of cartographic layout items. Hopefully,
this will come in the future.
It is also somewhat more difficult for beginners to start with: no
"click and go" interface for generating standard maps, no "wizards". I'm
not sure if that is a disadvantage. Once you get things running you
have more feel for the structure of the system than with a "push-button"
system. On a more advanced level, applications like MapLab, Chameleon
and MapBender, make it possible to design quite complicated mapping
applications. And of course there is a very helpful and friendly mailing
list :-).
On the plus side, the whole functionality of MapServer can be called
from advanced scripting languages: PHP, Perl, Python, Ruby, TCL. These
are very powerful languages and have a definite edge over specific GIS
macro languages like AML, Avenu, MapBasic, etc. Not to mention the fact
that almost *all* of MapServer's functionality can be retrieved by CGI
variables from the base application. And: these scripting languages can
be put to use in other environments than MapServer, so learning them
will be useful everywhere.
As for specific GIS functionality, there is more now than when the
statement on MapServer's home page was written and there will be even
more in the near future. First: the scripting languages allow for
dynamically generated maps. Second: with the advent of PostGIS,
MapServer can be used in a (geographical) database environment, so maps
can be generated by extended SQL statements. Third: PostGIS now also has
topological operators: intersection, union, etc, which gives real
vector-GIS functionality to MapServer. Fourth: Steve Lime and Frank
Warmerdam are implemting/have implemented part of this functionality in
MapServer. Fifth: PostGIS can be extended with the statistical
R-package, whcih gives MapServer full functionality to generate
statistical maps.
There have also been requests for extending the raster part of MapServer
with functions like querying and map algebra. I don't think there are
any definite plans for those as yet, but I'm sure they could be realised
withput too much trouble. A scriptable MapServer with dynamic database
access, topological vector operators and raster map algebra would be
much nearer a *fully fledged GIS* than you would expect from the
statement on the home page. But that was written in the previous century
of course :-)
In short: At the moment MapServer is a very powerful, very scriptable
map rendering engine, with excellent connections to all sorts of
databases. It already has some sort of analytic GIS functionality, and
this will grow in the future. MapServer is a very fine example of Open
Source development: the integration of separately developed technologies
into a structured system. How far this will go in the future is not
clear yet.
Jan
More information about the MapServer-users
mailing list