Applicability of Internet GIS Application in Tourism Industry


Aimed at being more dynamic, accurate and universal, Internet GIS, a mechanism to deliver maps and GIS services on Internet, experiments with every upcoming technology in this field. Internet GIS facilitates the user to view information related to maps from the web browser. Nowadays, detailed maps can be generated from spatial databases and published on the web, which is a cost effective way to share GIS data worldwide.

Internet GIS encompasses various services like location locator services, which enables user to zoom in the map around that location. Pathfinder or directions to a map helps you find the route from the start location to the destination. Electronic atlas in Internet GIS application can display maps of various continents, countries, state and city. A data base query can be performed to zoom in to a place.

Internet GIS has made major contribution to real time traffic maps helping them retrieve data from roadway sensors and show actual speed of traffic on a web page. One typical example of this is “Satellite Weather Maps”. Here, the image is embedded in the web page and as soon as a new one arrives the old one is replaced with the new one. While these maps are interactive, they also help analyze geographic relation. Displaying of multiple datasets is yet another feature of such maps.

In short, it won't be plain flattery to consider Internet as the most popular and sustainable GIS platform for the future, as this medium is capable of providing immense boost to the sharing of geographic information. Hence, it's no wonder commercial, academic and governmental developers of GIS tools are thinking on these lines at present.

The most popular web packages used for the Internet GIS are the following -
  • MapInfo MapXtreme Java Edition
  • ESRI ArcIMS
  • Open source MapServer
MapInfo MapXtreme Java Edition is a Java based Internet mapping server. MapXtreme provides various mapping tools and functionalities, which includes web application wizard, theme wizard, data binding, layer control, map display and manipulation functions. It is very fast even with large data sets, but it is expensive.

ArcIMS is a server-based framework that publishes GIS maps and data on the web. ArcIMS includes both HTML and Java applications for accessing the GIS services on the web. ArcIMS facilitates users to easily design, create and manage websites even without any prior knowledge of programming. The wizards can create map service, design and publish web pages. ArcIMS also provides routing capabilities for finding shortest and fastest path between places. It includes HTML and applet based viewers for the client. ArcIMS by default supports shape file format.

MapServer is an open source Internet Map Server. MapServer can operate in CGI and MapScript mode including many languages like PHP, Java, Perl and Python. MapServer also uses the shape file as the default vector format supported. For other vector data formats, MapServer uses OGR feature library and, for supporting raster data format it uses GDAL feature. MapServer is faster than other IMS.

Open Source Technology in Internet GIS
As it's widely known now, accessibility to the source code in open source programs is not restricted to the user. In this new approach on Information Technology, the creator of a program allows the users to modify the codes he has created, so as to make the program suitable for a task and machine at hand. The programs available from open sources can be redistributed and circulated among N number of users. Better interoperability of open source programs are resultant of these allowances and license fee is not charged for open source software.

UMN MapServer
MapServer is an open source development environment, which enables you to draw customized, professional maps in the web application on the fly.
MapServer can be customized according to the user’s requirement.

Open source MapServer software is completely free of cost; there is no software maintenance cost. Toolkit grows taking contributions from user community.

MapServer is faster than other IMS, it's easy to install. MapServer has great community support.

MapServer-MapScript Architecture



Functionality
A web browser sends a request to Web Server through HTTP. Web server executes a program on the server and then delivers its output back to the web browser. In the case of MapScript, the server executes a certain script, which contains standard language functionality. The API allows doing many GIS operations on spatial data, including read-write access to shape files, reprojection of data and many others.

When a web request is arrived at MapServer, it reads Mapfile. Mapfile is a configuration file, which consists of the entire required configuration for map display, describes the layer and other components of map. It draws and saves map according to the web request. Mapfile also describes the HTML template, which consists of HTML markup tags and MapServer substitution string. These strings identify the layers to be displayed, zoom level for the map, mode of zoom (zoom in, zoom out or pan) and the path where the map image will be created. When a web request changes, the value of the form element also changes. MapServer performs action according to the new web request.

Features
MapServer supports both raster and vector data format. MapServer can render different vector data formats, including ESRI shapefile which is a default vector data format, PostGIS, MySQL, Census tiger files and many more. MapServer can read various raster data formats such as GeoTiff, EPPL7, BITMAP, JPEG, and GIF and many more.

MapServer can operate in two different modes: CGI and MapScript. In CGI mode, MapServer functions in a web server environment as CGI script. In MapScript mode, the MapServer API can be accessed using PHP, Python, Perl, Java and C#. The MapScript interface provides feature-rich application.

MapServer supports scaling of layers and labels. It supports both bitmap and true type fonts. MapServer creates legends and scale bars, which can be configured in the Mapfile. It also generates reference maps. A reference map shows the context of the currently displayed map. Thematic mapping can be performed with the help of regular expression based classes. It supports thousands of projections using proj4 library. MapServer supports Windows, Linux, Mac OS X, Solaris and more.

MapServer supports OGC (Open Geospatial Consortium) specifications (WMS, WFS, WCS).

Programming Interface To MapServer
MapServer API is accessible using PHP, Python, Perl and Java. But the most popular scripting language is PHP. The PHP Map script module makes MapServer’s MapScript functions and classes available in PHP environment. MapScript has its own method and classes that are used to communicate between MapServer and web server. It uses these functions to access the functionality of MapServer and provide results back to the user as requested.

POSTGIS and PostgreSql
PostgreSql is an open source relational database management system. It is highly scalable and supports major part of SQL, which can perform complex queries. PostgreSQL functionality can be increased by adding new data types, functions and operators. It is better than MySQL and provides better back up system.

POSTGIS is an open source Geospatial extension for PostgreSql. Shape file and other file types can be easily converted and inserted to a POSTGIS database.



Study 1 - Cyprus Tourism Internet GIS Application
http://www.ecotourismcy.com/cyprus/map_cyprus.phtml?config=cyprus An Internet GIS application developed for Cyprus Tourism.



Technology –
GIS Server – MapServer
Web Server - Apache

Database –
Non-Spatial Database – MySQL
Spatial Database – Shape File
Scripting Language – PHP, JavaScript

Features –
The Internet GIS application of Cyprus captures 350 villages.
Zoom/Pan can be performed via keyboard keys, mouse wheel, reference map and slider. The mouse roll over information of villages and landmarks can be viewed over map. User can add his own point of interest through user interface into the database. Map can be printed and downloaded in various resolutions and formats. User can customize application according to his requirement by switching on/off layers.

Zoom, pan and other functionalities performed on the map are implemented using PHP MapScript functions. Map file formatting is done using classes and styles. Thematic view of layer is generated using expression in the classes.

A backend interface is provided to the user from where pop-up information can be modified or point data can be added or deleted.

Design Methodology
The design of the application has been divided into various modules. The application is platform independent and can be hosted on Microsoft Windows Platform or on a Linux Platform.

Modules:

Module1: Creating Data for the Application
  • Spatial Data - The Shape file data is created by digitizing the satellite imagery of Cyprus. The Shape file data include land cover area, vegetation, water bodies, major cities, point data for other 350 villages and major landmarks.
  • Non-Spatial Data – MapServer does not support mouse roll over functionality. To implement mouse rollover functionality, the tables for landmark and village information are created in MySQL. These tables are used to display information over points.
Module 2: Application Development
  • Map File - is the configuration file, which consists of the parameters required to display a map. It describes the location of the shape file, extents, projection, reference map, layers, classes, symbols and styles. Scaling is done for different layers to avoid cluttering of layers and labels.
  • Pop-ups implementation – To implement mouse rollover functionality, AJAX is used with PHP–MySQL. MySQL database contains all the landmark and village information, which is picked up by the AJAX script when the layer is switched on.
  • Backend Interface – is provided to the administrator where landmark points can be added, modified and deleted. The village information can also be modified with this interface.
  • Search – Search can be performed over map for querying about cities and villages.
Further to this, application business tool can be added to display the availability of the hotel rooms and guesthouses in a village. Also, the shortest route between two locations can be searched.

Case Study 2: Distance Finder



Technology
GIS Server – MapServer
Web Server - Apache
Database – Shapefile, PostgreSQL
Scripting Language – PHP, JavaScript

Features
Shortest pathfinder, as the name suggests, calculates the shortest path between any two cities or towns in India. As users select a source town and a destination town as per their requirement, the application would show the distance between the two points selected, as well as the break up route of towns lying in between the source and the destination.

Implementation:
Module1: Preparing data for shortest pathfinder
The roads and cities data in shape file format can be converted into SQL data with the help of shp2pgsql utility. These SQL files can be easily imported into PostgreSql database.

Module 2: Implementing functions in database
The graph library for shortest path calculation will require the following information:
Input is in the form of list of nodes in the road network and list of edges with associated costs. Relations between nodes and edges stating directed or undirected graph.

Output will be a list of traversed nodes and edges, with associated cost. The resulting line will be the shortest path.

The shortest path can be calculated with the help of functions using Dijkstra algorithm.

Module 3: Displaying routing layer on map
For displaying the shortest path layer on map, the routing layer needs to be included in the map file.

PostGIS data can be used in map file using the following syntax –

CONNECTIONTYPE postgis
CONNECTION “"user=DATABASE_USER dbname=DATABASE_NAME host=DATABASE_HOST password=DATABASE_PASSWD"

Possible Extension to Internet GIS
The model is capable of demonstrating the technological edge of open source GIS tools over others. These tools are preferred over others for their ability to adapt themselves to database platforms of diverse types by allowing interoperability and enhanced flexibility. The data that is created for Internet GIS application can be used to power Mobile GIS application and GPS based GIS application. Mobile GIS can be used in location-based services and route finding, for example, using Mobile GIS, a dealer can locate his service centers at different locations, and can trace the direction from one center to the other. Vehicle tracking systems also can make use of GIS. Using such systems one can move close to the preferred location and collect information from the associated database.

References –