- Open Access
The BAU GIS system using open source mapwindow
Human-centric Computing and Information Sciences volume 5, Article number: 1 (2015)
“BAU GIS” is an efficient and flexible Geographic Information System (GIS) that supports manipulation, analysis, and viewing of geospatial data and associated attribute data in various GIS data formats. “BAU GIS” system is a stand-alone application, developed using (Map Window Open Source GIS) and (visual basic 10.0). It has been designed and 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 a GIS experts. It is both a GIS modeling system, and a GIS application programming interface (API); all in a convenient redistributable package. The BAU GIS application is free and extensible GIS that can be used as an open-source alternative to desktop GIS, in order to distribute data to others and to develop and distribute custom spatial data analysis tools.
Due to the advancement in the computing technology and the rising need for GIS applications [1-3], more and more scientists are developing free of charge software packages and tools which are very useful for those who cannot afford to buy commercial expensive software packages. Then, the main purpose is to serve the groups that are working in Meta Data management and who publish their works on the World Wide Web for all interested users. As part of the “Geomatics Engineering Department” who is interested in GIS and its application, we decided the development of this software to be used by our students and all interested groups.
The advancement of computers and computing capabilities created great deal of data (Meta data) and vice versa specialized groups in its management. Famous scientists are working hardly in the area of data organization and management as it is becoming the real problem. GIS is a great system for Meta data management. Its applications are numbered and proved to be efficient in real life and in case of catastrophes (as in Catherina storm in the USA). All commercial Software are expensive and you have to buy add on for special applications which make them more expensive. We decided to develop an OSGIS and add on to be used for free. We randomly used MapWindow to design our OSGIS then test it against the commercial GIS, where it proved complete functionality and reliability.
MapWindow: is a mapping tool, a GIS modeling system, and a GIS application programming interface (API), which was developed at Utah State University by Daniel P. Ames and his team. It was developed to address the need for a GIS programming tool for research and projects, without the need to purchase GIS systems, or become GIS expert. It is used to distribute data and develop custom spatial data analysis tools [4-6]. Developers can write Plug-ins to add additional functionality (models, special viewers, and hot-link). Handlers and data editors can pass these to users. It includes standard GIS data visualization features as well as database functions such as attribute table editing, shape file editing and data converters. Dozens of standard GIS formats are supported, including Shape files, GeoTIFF, ESRI format, ASCII and binary grids [7,8]. It includes a complete ActiveX component to instantly add GIS capabilities to the user’s existing software product [9,10]. Additional geo-processing components are available for .NET-compatible environments and languages. Components of MapWindow are:
MapWinGIS: This is an ActiveX control, which may be placed into any project in any programming language that supports ActiveX. This is the main map component - if the user wanted to write a program that displayed shape data, for example, the user could use this control for the display portion of the user’s program.
MapWin Interfaces: Also called the “Plug-in Interface”. It is a .dll file, which will allow the user to write the user’s own plug-ins to the main application. This may be done from any programming language, which supports the creation and use of Microsoft .NET 2.0 Dynamic Link Libraries (dlls).
MapWinGeoProc: This is a .NET library of geoprocessing functions, including tools for managing projections, clipping and buffering.
Setting up the Development Environment: Using Microsoft Visual Basic 2010 Express Edition, the Visual Studio development environment main window is presented in order to select Windows Form Application and to give a name (BAU GIS) to the web site. Then the process can continue to the tool box and all Windows Forms collapsible menu then to Map Control.
BAU GIS Development:
The first form is the “frmIntro” which is the introduction frame in BAU GIS (Figure 1). This form “frmIntro” includes: Images from BAU and two labels in the bottom of the form.
The second frame is the “frmMain” form, which is the main frame in BAU GIS (Figure 2). All other frames are connected to “frmMain.” These are used to apply some commands and display results. The “frmMain” of the BAU OSGIS form consists of the following parts:
Main menu: Consists of five titles to give a specific command to work (See Figure 3).
Standard toolbar: It consists of (14) icons; each gives a specific task to be worked in BAU OSGIS (See Figure 4).
Main Map: This is the utmost important part as most of the results will be displayed in this object. On main map you can do several functions and set general display properties (display Map layer, tracking layer etc.).
Legend: This is needed in order to clarify the symbols used to represent features on the map. Legend consists of examples of the symbols on the map with labels containing explanatory text. When you use a single symbol for the features in a layer, the layer is labeled with the layer name in the legend. User can open attribute for the layer or show properties, etc. (Figure 5).
There are many other forms like Error dialog, form about dialog, form plug-in, form choose projection, form project setting and others which are related to form main (See Figure 6).
Writing the code:
Classes: we wrote nearly 100 classes to use for all forms that are related in main form such as class: application, projection, draw, menu, layer, identified layer, etc. (See Figure 7).
Codes: Some codes are meant for class application and description such as the code for measuring the area of a polygon. Other codes are written for drawing line, point, polygon with respect to the shape file that are selected from legend to start editing, etc.
Module: We wrote 20 modules to use for all forms that are related to main form such as module main, module application, among others; see Figure 8.
Running BAU GIS: When the “frm intro” appears, it starts to load other forms that are related to “form main” such as “forms of plug in” etc. (Figure 1). After loading the main form, the form of the welcome screen will appear. Only the standard toolbars will appear in the main form (new, open, save, print, add data, pan, select, measure area, measure distance, zoom in, zoom out, zoom, identify, and query). If you want to show other toolbars related to main form you should press plug-ins from the main menu and choose what you need to work with.
Important contents of the plug-in menu:
GIS tool: It is the function that includes the processes that are needed to build a GIS such as: assigning projection to grid or image or raster, Georeferencing an image or grid, generating a contour shape file and other processes (See Figure 9).
GPS Tool: This includes processes that should be applied when the GPS instrument is connected into a computer in order to process data, start logging track, draw GPS location on map, and display GPS information; see Figure 10.
Image to map tools: This tool used to convert image to map registration by using least square method and to rectify image by using another original rectified image (See Figure 11).
Path analyzer: This is designed to draw the path of the selected feature in shapefile by determining the Digital Elevation Model (DEM) of the rectified image and drawing this path as a profile to make other processes on shapefile (see Figure 12). The plug-in menu is very important.
Shapefile editor: It is used to create shapefile and start editing the shapefile. It includes other processes that are related to shapefile such as snapping, edit vertices, and merge of features.
Measuring tools: These include function for measuring distance, and area for the selected features in the shapefile.
Map Window graph tools: This is meant to allow drawing graphs using one field in the attribute field of the shapefiles (see Figure 13).
The reason for designing and developing this program is to fulfill the need of mainly our students in their GIS projects. Moreover, we posted the material on the web for all other public users.
Up on the application using our OSGIS we propose the following suggestions to address in future work:
Download Mapwindow open source program.
Create a new VB.Net Class Library project using Microsoft Visual Studio. Make a Right-click on the class in Solution Explorer and select “Properties”. Select the References page and click the “Add” button at the bottom of that form, then select the Browse tab and navigate to the location of and select the MapWinGIS.ocx and MapWininterfaces.dll; typically, found in C:\ProgramFiles\MapWindow\ as shown in Figure 14.
In the compile settings, sometimes it is useful to set the build path to your MapWindow “Plug-in” sub-directory or sub-directory within it, such as C:\ProgramFiles\MapWindow\Plugins\PathAnalyzer directory. This will save you the task of having to copy your plug-in DLL into the Plug-in directory for MapWindow in order to load when it runs. If using this, it is strongly recommended not to forget that the path must be set for both Debug and Release properties.
Back in your code, after the “Public Class…” line; insert the line Implements “MapWindow.Interfaces.IPlugin”. Then, hit enter on that interface and see how Visual Studio populates all of the interface properties and functions found in the IPlugin Interface (Figure 15).
To conclude, the “BAU GIS” is a Programmable GIS system, which supports manipulation, analysis, and viewing of geospatial data and associated attribute data in several standard GIS data formats. Basically, It has the following features and capabilities:
It uses an open Source Map Window soft.
It is a standalone application, developed using Map Window Open Source GIS and visual basic 10.0.
It has been designed to address the need for a GIS programming tool that could be used in engineering research and project software.
It doesn’t require users to purchase a complete GIS package.
It doesn’t require users to become GIS experts.
It is a GIS modeling system and GIS application programming interface (API) all in one convenient redistributable package.
Finally, the BAU GIS application is free and extensible which can be used as: an Open-Source alternative to desktop GIS systems, in order to distribute data to others and to develop and distribute custom spatial data analysis tools. For example, a researcher or a 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 popular GIS software, and then require users to purchase that software to run the extension. Alternatively, the user/company could use BAU GIS 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 purchase.
Geographical information system
Application programming interface
Al-Balqa’ applied university
Open Source GIS Services
Visual Basic implemented on the .NET Framework
Digital elevation model
ArcGIS for Desktop. http://www.esri.com/software/arcgis/about/gis-for-me.html
Arc/Info: Full featured Geographic Information System (2010). http://en.wikipedia.org/wiki/ArcInfo
Google Earth (2005). http://en.wikipedia.org/wiki/Google_Earth
Appleman D (1998) Developing COM/ ActiveX Component with visual basic 6, 1st edn. SAMS, United States
MapWindow GIS Open Source Project, 1998-2014. http://www.mapwindow.org/
Ames DP (2007) MapWinGIS Reference Manual: a function guide for the free MapWindow GIS ActiveX map component. Lulu.com,Morrisville
GIS Fundamentals; a First Text on Geographic Information Systems, 3rd edn. New York, Eider Press.
An Extensible, Interface-Based, Open Source GIS Paradigm: MapWindow 6.0 Developer Tools for the Microsoft Windows Platform. Free and Open Source Software for Geoinformatics (FOSS4G), Cape Town.
Getting Started with MapWindow 6 Harold (Ted) Dunsford Jr. Mark Van Orden Jiří Kadlec October 2009. http://mapwindow6.codeplex.com/documentation
Dunsford HA Jr, 2010: Design and development of an extensible, interchangeable component architecture for open -source geographic information systems, Idaho State University, 2010, p 278; 3407289
We would like to thank Al-Balqa’ Applied University for partial support of this work by allowing us to use the University facilities to conduct the work.
The authors declare that they have no competing interests.
BS devised the scheme, analyzed the results and written almost all the paper. OA-B helped in the design of the technique in the programming and in the analysis process. JA-A helped in collecting data and making some plots. SAR helped in the analysis and verifying the results. All authors read and approved the final manuscript.
B. Sadoun is a full professor of Geomatics Engineering and Surveying at the Al-Balqa’ Applied University, Jordan. She obtained her M.S. and Ph.D. degrees from the Ohio State University, Columbus, Ohio, USA. She has published over seventy five (75) refereed journal and conference papers.
Omar Al-Bayari is an associate professor of Geomatics Engineering ad Surveying at the Al-Balqa’ Applied University, Jordan.
J. Al-Azizi is a student at the Geomatics Engineering ad Surveying Department at the Al-Balqa’ Applied University, Jordan.
Al Rawashdeh is an associate professor of Geomatics Engineering and Surveying at the Al-Balqa’ Applied University, Jordan.