Customising GIS - 08/12/2007

Intrinsic Programming or Object-oriented Methods

G. Sajeevan, Centre for Development of Advanced Computing, India

GIS software is usually customised using intrinsic programming and writing scripts in conventional programming languages. Since these scripts are run through an interpreter they are slower to execute than well-implemented, object-oriented GIS customisation (OOGC). The author uses case-studies to compare the two methods and illustrates the importance of OOGC in integration of GIS with other information systems.<P>

Despite the many GIS programs on the market, none can satisfy the requirements of all users. Functions have therefore to be added to the basic GIS software. Customisation is the process of adding interfaces and functions to a GIS (or modifying existing applications) to suit user requirements. Appearance and functionality are altered without modifying the source code. The particular GIS software employed is not important; what matters is that it is customisable.

Intrinsic Programming
The most commonly used method of customisation is by intrinsic programming. The GIS application will typically have an embedded development environment in which scripts can be written. Customisation is done using the scripts and other objects within the GIS software. For example, ESRI ArcMap provides Visual Basic for Applications (VBA), an integrated programming environment in which a Visual Basic (VB) macro can be written. The macro can then be debugged and tested in ArcMap. It may use some or all of VB functionality, thanks to the presence of an extensive object library in ArcMap, and is sufficient for all but the most advanced customisations. Although the scripting language is independent of its host environment and eliminates the differences between host operating systems, a script can be slow to execute. Another disadvantage is that the source code is open to attack and bootlegging, as it is generally left in ASCII format.

MIDC Case-study
A GIS-enabled Land Management System for Maharashtra Industrial Development Corporation (MIDC), Mumbai, India was customised. The application was developed using PCI Geomatics intrinsic customisation tools EASI and Author. EASI is both a command environment for interactive, executing tasks and a scripting language for building applications. PCI Author is a Custom Development Environment designed for the fast development of graphical interfaces for EASI scripts. Menus were added to the Geomatica Focus menu-bar by modifying the relevant ASCII configuration files.

It is possible to customise GIS software without writing any code. This type of customisation, which can be carried out by beginners, may include the addition of toolbars, menus or shortcut keys. OOGC is a customisation technique in which GIS functions are applied using libraries or objects; it is practised in addition to intrinsic programming when adding or modifying menus and icons. Users need not interact directly with the base GIS software. OOGC is essential for the integration of GIS applications with other information systems, such as a Management Information System (MIS), as the customisation is completed externally to the base GIS software. For such tasks specialised software tools exist, such as ARC GIS Engine. Customisation is effected by creating a project, referencing the required GIS object libraries, adding code and compiling the source into a binary file. The supremacy of any development environment that supports the object libraries can be effectively used to satisfy various user requirements, especially when integrating GIS with other information systems. Custom objects in any programming language that support the Microsoft Component Object Model (COM) can be created, using OOGC for distribution as ActiveX DLLs. Customisation can be done without altering the interfaces or functions of the base software. This is demonstrated by the two case studies below.

IWDP Case-study
A GIS system was developed for managing and monitoring the watershed development project "Integrated Watershed Development Programme (IWDP)", Solan, Himachal Pradesh, India. The main objective of IWDP HILLS-II was to improve the product­ive potential of the project area in selected Indian states using evolving watershed development technology through a community participatory approach. The application was developed using VB.NET and PCI SDK 9.0. By logging on to the GIS system districts in Himachal Pradesh State can be accessed. By clicking on the desired district a map of that area is loaded on the map viewer . A query is run by activating the relevant menu on the customised application and utilising Geomatica 9.0 objects. The result of the query is then displayed on the map viewer.

GRIMMS Case-study
GIS-enabled Road Information Management and Monitoring System (GRIMMS) was developed for "Pradhan Manthri Gram Sadak Yojana (PMGSY)", the Prime Minister’s Rural Road Programme. PMGSY was launched by the Indian Government to provide road connectivity to rural habitations as part of a poverty-alleviation strategy. The stand­alone version of the software (GRIMMS-S) was developed using VB.NET, ArcEditor 9.0 and ARC Objects. The customised application is packaged using InstallShield. When GRIMMS-S is activated it automatically loads ArcEditor and all relevant layers, and sets a predefined area of interest for query. Users need not be familiar with ArcEditor/GIS features, as user-friendly menus are available separately for GRIMMS-S and these are always visible over the ArcMap Window.

Concluding Remarks
The main advantage of OOGC compared to intrinsic programming is that applications can be developed by non-specialists and delivered to end-users without exposing any source code. Instead, previously installed libraries and objects are employed. With advances in GIS its integration with other information systems has become important. The continuing development of the technique of object-oriented GIS customisation is therefore crucial.

Thanks are due to all project members and to MIDC, IWDP Solan and PMGSY for awarding CDAC the projects described here.

Last updated: 20/11/2019