[Mapserver-users] What doesn't MapServer do?

Jan Hartmann j.l.h.hartmann at uva.nl
Sat Jul 17 10:07:31 EDT 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