MapWindow is an open source “Programmable Geographic Information System” that supports manipulation, analysis, and viewing of geospatial data and associated attribute data in several standard GIS data formats. MapWindow is a mapping tool, a GIS modeling system, and a GIS application programming interface (API) all in one convenient redistributable open source form.
MapWindow was developed to address the need for a GIS programming tool that could be used in engineering research and project software, without requiring end users to purchase a complete GIS system, or become GIS experts.
For example, a researcher or company may want to deploy a tool that lets users build and interact with maps of GPS data overlaid on USGS quad maps. One approach is to build the tool as an extension to a popular GIS software, and then require users to purchase that software to run the extension. Alternatively, the company could use MapWindow as a platform and build a specialized application that does the needed function and then give it or sell it directly to end user with no need for third party software purchases.
Although many users may wish to simply use the MapWindow application as a desk top spatial data viewer, or for developing tools and functions for individual use, others may want to use it to build and deploy original GIS-enabled software applications.
MapWindow provides you with four ways to build and deploy a custom application:
Use the core GIS ActiveX component in your own programming language and build an application from scratch. This would be particularly useful in cases where you have no need for the full legend or layer management, or you do not want to support plug-ins in your application. For example, a State Quarters Map Viewer could be built that uses a hard-coded shapefile of the United States, and allows users to click on a state and find out all kinds of useful information about the state, and to look at an image of the State Quarter. A drop-down list of the years that quarters are release could be somewhere on the form with the map, and when a user selects a date from the list, all of the states with quarters released that year are highlighted. Another example is an air traffic control software application. Chances are that this would be a specific enough program that it wouldn't need all of the layer management, dynamic legend, and other plug-ins that come with the full MapWindow. The developer just wants to display the runways, buildings, and taxiways, hightlight them at appropriate times, maybe show icons of airplanes moving down them, and so forth. In this scenario, the MapWinGIS.ocx component would save the developer from having to write all of that visualization code from scratch, and it would be instantly compatible with the standard shapefile GIS data format. Once the software is built, the developer just needs to build an install package that includes the MapWinGIS.ocx ActiveX component and the needed GIS data layers.
Edit the configuration file and project file to deploy a basic GIS data viewer, no programming required. This is the right approach when you have data layers you want someone to look at, with no particular additional functionality. For example, you may have several GIS data layers that resulted from an engineering contract project, and you want to deliver them to your client along with the report. To do this, you would edit the configuration file to change the title bar, icon, splash screen and about-box information. Then you edit the project file to inlcude the list of data you want to be visible. Finally you burn it all to a CD with the MapWindow installation and glue it in the back of your project report.
Do #2, but include some pre-built plug-ins to enhance your application. This approach could be used to deliver a streamflow data analyst, a spatially-referenced photo viewer, or some other application that could be built by bringing together MapWindow, data, and existing plug-ins. Our goal is to have a wide variety of thrid-party plug-ins available for download from this site for use this way.
Do #3, but include one or more of your own custom plug-ins. This is they most comprehensive type of application and can be used to deploy nearly any type of GIS-enabled software. For example, the Avalanche Hazard Mapper is actually a couple of specific plug-ins and an associated configuration file for MapWindow. When it runs, it is actually just MapWindow, all customized with a new splash screen, title bar and help file. Additional menus and toolbar buttons are loaded by the Avalanche Hazard Mapper plug-in.
For more specific information on how one might use MapWindow, follow the links below:
So there is your overview of MapWindow. I hope this has been useful and informative. Please contact me if any of this is unclear or if you have specific questions about what MapWindow can and can't do, or how it may be used.
-Dan