A GIS-BASED APPLICATION

GIS (Geographical Information System)

A Geographical Information System (GIS) is a set of computerized tools for collecting, storing, retrieving, transforming, and displaying spatial data. Anything that can appear on a map can be encoded into a computer and then compared to anything on any other map, using longitude-latitude coordinates.

The proliferation of GIS is explained by its unique ability to assimilate data from widely divergent sources, to analyze trends over time, and to spatially evaluate impacts by development.

Components of GIS

GIS constitutes of five key components:

·  Hardware

·  Software

·  Data

·  People

·  Method

Hardware

It consists of the computer system on which the GIS software will run. The choice of hardware system range from 300MHz Personal Computers to Super Computers having capability in teraflops. The computer forms the backbone of the GIS hardware, which gets its spatial data input through the Scanner or a digitizer board. Scanner converts a picture into a digital image for further processing. The output of scanner can be stored in many formats e.g. TIFF, BMP, JPG etc. Printers and plotters are the most common output devices for a GIS hardware setup.

Software

GIS software provides the functions and tools needed to store, analyze, and display geographic information. Hence it would include the program and the user interface for driving the hardware. Most common user interfaces in GIS software are menus, commands and graphical icons.

The key components of GIS software are:

·  Tools for entering and manipulating geographic information such as addresses or political boundaries.

·  Database management system

·  Tools that create intelligent digital maps that can be analyzed and queried for more information.

·  An easy to use graphical user interface(GUI)

Data

Geographic data and related tabular data can be collected in-house or purchased from a commercial data provider. The digital map forms the basic data input for GIS. Tabular data related to the map objects can also be attached to the digital data. A GIS will integrate spatial data with other data resources and can even use a DBMS, used by most organization to maintain their data, to manage spatial data.

People

GIS users range from technical specialists, who design and maintain the system, to those who use it for their daily work. The people who use GIS can be broadly classified into two classes. The CAD/GIS operator, whose work is to vectorise the map objects. The use of this vectorized data to perform query, analysis or any other work is the responsibility of a GIS engineer/user.


Method

A successful GIS operates according to a well-designed plan and business rules, which are the models and operating practices unique to each organization. There are various techniques used for map creation and further usage for any project. The map creation can either be automated raster to vector creator or it can be manually vectorized using the scanned images. The source of these digital maps can be either map prepared by any survey agency or satellite imagery.

Advantages of GIS

The Geographical Information System has been an effective tool for implementation and monitoring of municipal infrastructure. The use of GIS has been in vogue primarily due to the advantage mentioned below:

·  Planning of project

·  Make better decisions

·  Visual Analysis

·  Improve Organizational Integration

Planning Of Project

Advantage of GIS is often found in detailed planning of project having a large spatial component, where analysis of the problem is a prerequisite at the start of project.

Making Decisions

The adage "better information leads to better decisions" is as true for GIS as it is for other information systems. GIS, however, is not an automated decision making system but a tool to query, analyze, and map data in support of the decision making process.

Visual Analysis

GIS can be a valuable tool for the process of formulating scenarios for an Environmental Impact Assessment, for sociologists to analyze administrative data such as population distribution, market localization and other related features.

Improving Organizational Integration

Because GIS has the ability to link data sets together by geography, it facilitates interdepartmental information sharing and communication. By creating a shared database one department can benefit from the work of another thus, data can be collected once and used many times.
As communication increases among individuals and departments, redundancy is reduced, productivity is enhanced, and overall organizational efficiency is improved.

Use-cases

1. View different layers: The user can view the different combination of layers on to the map by selecting the options provided in the legend menu.

2. Perform zooming and panning: The user may perform the zooming or panning to view the details of particular part of an area.

3. View information by querying: The user may view the information about the layer point stored in the database.

4. Edit or add details: The user can add details or edit the existing details of the layer point surveyed.

5. Measure distance: The distance between the two layer points on the map can be measured by the user and this helps in analyzing the distance between two layer points.

6. Create new base map and other layers (on existing map/new base map): The Administrator can create base map and locate all layer points on to the map using QGIS and form corresponding tables in PostgreSQL.

7.Create .map file: The Administrator can create ‘.map’ file using MAPLAB.

Use Case Diagram

Processing Narratives for functions:

1. Function name: Display Map

Description: This function displays the map of the selected area in the web browser.

2. Function name: Zoom Out

Description: This function gives an overview of the map and displays the map in its original size.

3. Function name: Zoom In

Description: This function gives detailed view of the area selected on the map.

4. Function name: Display selected layers

Description: This function displays the updated map with the layers selected by the user, in the Legend menu on the base map. The layer may be selected/deselected by checking or unchecking the checkbox next to the layer name.

5. Function name: Query the Map

Description: This function queries the selected point on the layer and displays the related details from the database. It also allows editing the existing details and updating the database.

6. Function name: Measure distance between 2 points

Description: This function calculates the distance between the points clicked on the map. The distance metrics used are miles or meters. The distance obtained is straight line distance.

7. Function name: Display form with existing data

Description: This function displays a form with the details of the selected point. This function is executed when the query option is selected.

8. Function name: Edit existing data

Description: This function submits the new/edited data that is to be updated in the database of the layer.

9. Function name: Update database

Description: This function updates the database with the new/edited data corresponding to the point selected that is submitted by the user.

Data Flow Diagram

State Transition Diagram

Database Schema

For ex. maharashtra_village_master (main table)

Field / Type / Size(Bytes) / Constraint
gid / long / 5 / Not Null, Unique
name / Text / 50 / None
the_geom / geometry / None
etc. / etc. / etc. / None

When the user initiates the application, this is how the screen looks like

Next, the user can select any of the functionalities such as zoom, pan or measure the distance.The user can also view different layer combinations by selecting or deselecting the layer in the Legend menu.

The user can also query the layers using the Query (Identify feature) option. On selecting this option and clicking on the point,it displays the details of that point by retrieving the data from the table in the database.

TECHNOLOGIES USED

1.  QGIS: QGIS stands for 'Quantum GIS'. This is a tool that is used for digitization. A shape file is viewed in QGIS. QGIS is a map analysis tool. Features of a map, like its color and line type can be governed with the help of QGIS. We use QGIS to

Get the extents of a particular area to make a tile

Create points for various layers

2.  Maplab: MapLab is an open source suite of effective and intuitive web-based tools to create and manage Map Server web mapping applications and map files. It consists of three components: MapEdit, MapBrowser and GMapFactory.We use the Map edit component of Maplab which is a visual administration tool for the editing and management of map files. MapEdit gives full control over all aspects of a map file and provides validation to ensure that the map file structure is correct. It also features a form-based interface for modifying mapfile parameters, a fully navigable map preview, and access to the raw mapfile, and symbol, color, font, and file selector dialogs.

3.  PostgreSQL: PostgreSQL is an Object-Relational Database Management System (ORDBMS).It is required for storing geometric data in a database table. The geometric data is generally made available from shapefiles, with the help of certain commands. In this process the geometric information of the map is stored which is retrieved with the help of PostGIS.

4.  PostGIS: PostGIS is used in association with PostgreSQL. The functionality of PostGIS best suits our requirements as it draws maps directly by retrieving data from the PostgreSQL table.

5.  Chameleon: Chameleon is a distributed, highly configurable, environment for developing Web Mapping applications. It is built on MapServer as the core mapping engine and works with all MapServer supported data formats through a regular MAP file.

Chameleon incorporates the ability to quickly set up new applications from a common pool of widgets that can be placed in an HTML template file. These widgets provide a fixed piece of functionality, but the representation of the widget is usually highly configurable.

Chameleon is also extendable. Developers can create their own custom widgets and then use them in mapping applications.

6.  Ka-map: ka-Map is an open source project that is aimed at providing a javascript API for developing highly interactive web-mapping interfaces using features available in modern web browsers.ka-Map currently has a number of interesting features. It sports the usual array of user interface elements such as:

l  interactive, continuous panning without reloading the page

l  keyboard navigation options (zooming, panning)

l  zooming to pre-set scales

l  scalebar, legend and keymap support

l  optional layer control on client side (layers are made visible instantly but at reduced performance due to more images, and potentially slower browser interactivity)

7.  Openlayers: OpenLayers is a pure JavaScript library for displaying map data in most modern web browsers, with no server-side dependencies. OpenLayers implements a (still-developing) JavaScript API for building rich web-based geographic applications, similar to the Google Maps and MSN Virtual Earth APIs, with one important difference -- OpenLayers is Free Software, developed for and by the Open Source software community.OpenLayers makes it easy to put a dynamic map in any web page. It can display map tiles and markers loaded from any source.

8.  GRASS: Geographic Resources Analysis Support System commonly referred to as GRASS, this is a Geographic Information System (GIS) used for geospatial data management and analysis, image processing, graphics/maps production, spatial modeling, and visualization. GRASS is currently used in academic and commercial settings around the world, as well as by many governmental agencies and environmental consulting companies.

9.  Mapserver : MapServer is an Open Source development environment for building spatially-enabled internet applications. MapServer is not a full-featured GIS system, nor does it aspire to be. Instead, MapServer excels at rendering spatial data (maps, images, and vector data) for the web.

Features

·  Advanced cartographic output

·  Scale dependent feature drawing and application execution

·  Feature labeling including label collision mediation

·  Fully customizable, template driven output

·  TrueType fonts

·  Map element automation (scalebar, reference map, and legend)

·  Thematic mapping using logical- or regular expression-based classes

·  Support for popular scripting and development environments

·  PHP, Python, Perl, Ruby, Java, and C#

·  Cross-platform support

·  Linux, Windows, Mac OS X, Solaris, and more

·  A multitude of raster and vector data formats

·  TIFF/GeoTIFF, EPPL7, and many others via GDAL

·  ESRI shapfiles, PostGIS, ESRI ArcSDE, Oracle Spatial, MySQL and many others via OGR

·  Open Geospatial Consortium (OGC) web specifications

·  WMS (client/server), non-transactional WFS (client/server), WMC, WCS, Filter Encoding, SLD, GML, SOS

·  Map projection support

·  On-the-fly map projection with 1000s of projections through the Proj.4 library

Requirements:

Hardware:

a. Minimum 128MB RAM

b. Pentium III or Via C3

c. Preferably processors with speeds above 1 GHz

d. 20GB hard disk

e. CDROM drive

f. USB 2.0 interface

Software

1.  Operating System: Linux

2.  Web Browser

3.  Grass

4.  QGIS 0.7

5.  Maplab 2.2.1

6.  PostgreSQL

7.  PostGIS

8.  Chameleon 2.2.1

9.  Ka-map

10.  Openlayers

Architecture:

Snapshot:

Demos:

http://203.193.164.85/maha_map.dev/

http://203.193.164.85/~ignu/chameleon/samples/htdocs/sangli.phtml

http://203.193.164.85/~ignu/election/

http://203.193.164.85/~ignu/village_search/village_search.php

http://203.193.164.85/~ignu/antyodaya_search/village_search.php

http://203.193.164.85/~ignu/openlayers/demo1.php

http://mumbai.freemap.in

.....