MapWindow Home
Search MapWindow.org



Four ways to Develop GIS-Enabled Software

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:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

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


Geospatial Software Lab

Copyright © 2008 - MapWindow Open Source Team
(/fourways.php last updated: September 15 2005.)