Why MapWindow?
May 13, 2008
To Whom It May Concern:
Several people have inquired as to why MapWindow was developed. Hopefully this
will help answer the question.
In 1998, I was part of a group of researchers at the Utah Water Research Lab in Logan,
Utah where we began doing map-based modeling and map-enabled projects using MapObjects
LT 1.0 from ESRI. As it turned out, we ran into some major road blocks with
MapObjects LT 1.0. The problem for us was the inability to access or modify any
of the underlying spatial or tabular data directly through code (i.e. edit the
".shp" file or the ".dbf" file.) Also we could not display or interact with
grid data.
In one project, we wanted to allow a user to select a shape on the map (e.g. a
land parcel) and dynamically modify it by clicking on the map and dragging one
of the points to a new location. In another project, we wanted to allow a user
to watch a scenario progress over time showing the location of a stream
shifting. We also had several projects that needed much more direct access to
the DBF data accompanying the shapefiles and to grid data in various formats.
For example we were working on a watershed delineation tool that wouldn't
require use of any commercial spatial data analysis module.
These kind of highly dynamic, interactive and grid-oriented functions that
require low level access to shape, tabular and grid data were not
well-supported in any of the existing GIS programming components that we
identified. One alternative was to move to a desk-top GIS system, and write our
tools as extensions. However, there are many applications, particularly
environmental science and engineering applications that are more suited to a
stand alone environment because of the need to distribute the tool to
individuals who do not own a desktop GIS and are not GIS experts.
As a result of these issues and other issues, we developed the core MapWinGIS.ocx component
as an alternative to existing GIS programming components. MapWinGIS.ocx is an
ActiveX control that can be dropped on a VB form giving full ability to
display, query, manipulate, and otherwise use spatial data.
Our development team at USU was in a particularly good position to develop
MapWinGIS.ocx, because of our access to both engineers and computer scientists.
As such, we worked to optimize MapWinGIS.ocx for use as a fully functional
model interface, not just as a map viewer. This involved speeding up image and
grid display, limiting the amount of re-drawing that the user sees, and
including application programmer interfaces (APIs) for low-level access to
grid, shape, table, image and 3-D triangulated (TIN) data.
Now you may be wondering why we also built the MapWindow application... If so,
please read on...
In several of the GIS-enabled projects that drove the need for MapWinGIS.ocx,
we found that we were constantly re-writing legend tools, toolbar navigation,
and project management. Also, we found that sometimes we wanted to deploy an
application quickly and easily that used some combination of functionality
written for other projects.
For example, the 3-D TIN viewer was a useful tool for both the Avalanche Hazard
Mapper, and some customized watershed data viewers. Rather than embed the 3-D
TIN viewer code in both applications, we designed a "plug-in" architecture and
a customizable GIS application that could be used to quickly assemble different
applications using different pre-built "building blocks".
In short, the MapWinGIS.ocx ActiveX control was built to support GIS functions
in totally unique GIS-enabled applications, and the MapWindow application was
built to help users deploy GIS-enabled applications that can be assembled from
pre-built plug-ins and data sets.
Thanks,
Daniel P. Ames, PhD
www.Hydromap.com
In Fall 2004, I took a position at Idaho State University as the director of academic
programs in geographic information science. As part of this move, I have been working
to organize the MapWindow Open Source team to continue to develop and deploy MapWindow
tools under the Mozilla Public License 1.1.
|