MapWindow 6.0: An Extensible Architecture for Cartographic Symbology
A robust, extensible architecture is critical to open source projects that have a distributed developer and user base. The MapWindow 6.0 project is using a new architectural paradigm where extensibility is handled from several different plug-in points, rather than a single, application wide design. This allows new kinds of extensibility to be explored such as tools and data providers in addition to the more conventional application wide extensibility. This presentation outlines some of the improvements in the built in cartography, but primarily addresses the .Net architectural decisions that permit run-time discovery of new kinds of custom symbology. Improvements include layering of different kinds of symbols to make a compound symbol as well as establishing cartographic sub-categories based on vector attributes or raster values. The open ended framework allows for an extremely flexible system of run-time discovery so that the core libraries do not have to be recompiled each time an external cartographic improvement is developed.