As one might guess from Wikipedia's entry on GIS, geographic information systems have a long and rich history.
In this brief note, we will sketch out some basic GIS and GIS-related concepts that can be useful in making use of Mapnik!
First, we should point out that most would not consider Mapnik a "true geographic information system" since it is mainly a rendering library rather than a complete information system that may provide tools for rich analysis or data management. That said, Mapnik builds upon existing work on GIS and GIS-related technologies, such as proj.4, PostGIS, and various raster/vector data formats.
Instead, some might say that Mapnik may be more easily applicable to endeavors in the field of Neogeography.
Terminology aside, as you start using or contributing to Mapnik, you'll notice that Mapnik gives you many options when it comes to choosing your input datasources and geospatial projections.
The two broad categories of input datasources are raster graphics and vector graphics. Developers and dedicated users can dive into Mapnik's PluginArchitecture to get an idea of what kinds of raster and vector input formats Mapnik supports.
TODO -- paras on choosing input data sources, whether here or in the MapDesign page.
As you start writing C++ or Python code, or tweaking existing XML files, you'll notice that Mapnik allows you to specify geospatial map projections like so:
<Map srs="+proj=latlong +datum=WGS84 +k=1.0 +units=m +over +no_defs"> <!-- XML -->
The "srs" attribute here stands for Spatial reference system. In the "srs" above, note the specification of a map projection and a datum type.
TODO -- more text here.
For more information on map projections, read the proj.4 documentation, or check out this guide to selecting map projections.
Related links
For a longer treatment of MapDesign in Mapnik, see the MapDesign page.
For more a detailed treatment of map design, see the written works of Cynthia Brewer and Alan MacEachren.