MapServer is an Open Source geographic data rendering engine written in C. Beyond browsing GIS data, MapServer allows you create “geographic image maps”, that is, maps that can direct users to content. For example, the Minnesota DNR Recreation Compass provides users with more than 10,000 web pages, reports and maps via a single application. The same application serves as a “map engine” for other portions of the site, providing spatial context where needed. For more live examples, please see the MapServer Site Gallery.
MapServer was originally developed by the University of Minnesota (UMN) ForNet project in cooperation with NASA, and the Minnesota Department of Natural Resources (MNDNR). Later it was hosted by the TerraSIP project, a NASA sponsored project between the UMN and a consortium of land management interests.
MapServer is one of the founding projects of the OSGeo foundation, and is maintained by a growing number of developers (nearing 20) from around the world. It is supported by a diverse group of organizations that fund enhancements and maintenance, and administered within OSGeo by the MapServer Project Steering Committee made up of developers and other contributors. All source code is openly available via GitHub.
- Advanced cartographic output
- Scale dependent feature drawing and application execution
- Feature labeling including label collision mediation
- Fully customizable, template driven output
- TrueType fonts
- Map element automation (scalebar, reference map, and legend)
- Thematic mapping using logical- or regular expression-based classes
- Support for popular scripting and development environments
- PHP, Python, Perl, Ruby, Java, and .NET
- Cross-platform support
- Linux, Windows, Mac OS X, Solaris, and more
- Support of numerous Open Geospatial Consortium (OGC) standards
- WMS (client/server), non-transactional WFS (client/server), WMC, WCS, Filter Encoding, SLD, GML, SOS, OM
- A multitude of raster and vector data formats
- Map projection support
- On-the-fly map projection with 1000s of projections through the PROJ.4 library