Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Viðskipta- og raunvísindadeild
Faculty of Business and Science
A spatially-enabled Internet application to support
information access.
Final Year Project
2009
Snorri Guðjón Sigurðsson
A spatially-enabled Internet application to support information access.
Final Report
Snorri Guðjón Sigurðsson
Supervisor: Dr. Andrew Brooks
School of Computing
Faculty of Business and Science
University of Akureyri
Submitted April 2009, in partial fulfilment of
the conditions of the award of the degree BSc.
I hereby declare that this final report is all my own work,
except as indicated in the text:
Signature ______________________
Date 17/4/2009
Acknowledgments
I would like to thank Dr. Andrew Brooks, of the University of Akureyri, for his
help and guidance during this project. I also would like to thank my wife, Heiða
Guðmundsdóttir, for her love and support.
This is for my son Styrmir Franz Snorrason.
Abstract
This document describes the work on the development of a spatially-enabled
Internet application to support information access about the University of
Akureyri. The system is a interface to a database that holds nodes, ways,
relations and tags. Hopefully this project will be useful to the University of
Akureyri to support information access about the University both for
employees and students.
1 | P a g e
Table of Contents
1. Introduction..................................................................................................................................... 4
1.1. Motivation for the work .......................................................................................................... 4
1.2. Introduction to Geographical information systems (GIS) ....................................................... 4
2. Existing systems............................................................................................................................... 7
2.1. Google Earth............................................................................................................................ 8
2.1.1. Google Earth 3D .............................................................................................................. 9
2.2. Google Maps............................................................................................................................ 9
2.3. Google Street View................................................................................................................ 10
2.4. Microsoft Virtual Earth.......................................................................................................... 11
2.5. OpenStreetMap..................................................................................................................... 12
2.6. Quantum GIS ......................................................................................................................... 15
2.7. GIS in Iceland ......................................................................................................................... 15
2.7.1. National Land Survey of Iceland.................................................................................... 15
2.7.2. LUKR .............................................................................................................................. 16
2.7.3. The National Energy Authority ...................................................................................... 16
2.7.4. The National Energy Authority ...................................................................................... 17
2.7.5. National Energy Authority ............................................................................................. 18
2.7.6. University of Iceland Campus Map................................................................................ 18
2.7.7. The town of Akureyri..................................................................................................... 19
2.8. Summary................................................................................................................................ 20
3. System Design ............................................................................................................................... 21
3.1. Proposed system ................................................................................................................... 21
3.2. Changes made to the original design .................................................................................... 22
3.3. Summary................................................................................................................................ 23
4. System Implementation ................................................................................................................ 24
4.1. Technologies.......................................................................................................................... 24
4.1.1. MySQL............................................................................................................................ 24
4.1.2. phpMyAdmin................................................................................................................. 24
4.1.3. Ruby on Rails ................................................................................................................. 25
4.1.4. Fedora 9......................................................................................................................... 25
4.1.5. VMware Workstation .................................................................................................... 25
2 | P a g e
4.1.6. Browsers ........................................................................................................................ 25
4.1.7. Osmosis ......................................................................................................................... 25
4.1.8. Osm2pgsql ..................................................................................................................... 25
4.1.9. PostGIS........................................................................................................................... 26
4.1.10. Mapnik........................................................................................................................... 26
4.1.11. OpenLayers.................................................................................................................... 26
4.2. The System ............................................................................................................................ 27
4.2.1. Architecture................................................................................................................... 27
4.2.2. Database........................................................................................................................ 29
4.2.3. The GUI .......................................................................................................................... 30
4.3. Summary................................................................................................................................ 32
5. Evaluation...................................................................................................................................... 33
6. Conclusion ..................................................................................................................................... 34
6.1. Future work ........................................................................................................................... 34
6.1.1. The map in 3-D .............................................................................................................. 34
6.1.2. Adding more information.............................................................................................. 34
6.2. My Work ................................................................................................................................ 35
6.3. Summary................................................................................................................................ 36
Bibliography........................................................................................................................................... 37
Appendix A – Code Listing ..................................................................................................................... 39
Appendix B – Project Plan ..................................................................................................................... 43
3 | P a g e
Figure 1 Evolution of Spatial Data Models and Computers (Roger & Luna, 2004)………………………………5 Figure 2 Google Earth – Akureyri………………………………………………………………………………………………………..8 Figure 3 Google Earth 3-D – Eiffel Tower……………………………………………………………………………………………9 Figure 4 Google Maps – London…………………………………………………………………………………………………………9 Figure 5 Google Street View – New York………………………………………………………………………………………….10 Figure 6 Microsoft Virtual Earth – North America…………………………………………………………………………….11 Figure 7 OpenStreetMap – Akureyri…………………………………………………………………………………………………12 Figure 8 OSM components (Wood, 2007)….……………………………………………………………………………..……..13 Figure 9 Quantum GIS ………………………………………………………………………………………………………………………15 Figure 10 Map services of the National Land Survey of Iceland ……………………………………………….………15 Figure 11 Borgarvefsjá.….…………………………………………………………………………………………………………………16 Figure 12 Gagnavefsjá………………………………………………………………………………………………………………………17 Figure 13 Náttúruvefsjá ……………………………………………………………………………………………………………………17 Figure 14 Landgrunnsvefsjá ……………………………………………………………………………………………………………..18 Figure 15 University of Iceland Campus Map ……………………………………………………………………………………19 Figure 16 Map viewer from Loftmyndir ehf………………………………………………………………………………………19 Figure 17 Infrapath Akureyri………………………………………………………………………………………………………….…19 Figure 18 Comparison of proprietary and free open source software (Steiniger & Bocher, 2008)…..21 Figure 19 OSM Slippy Map ……………………………………………………………………………………………………………….22 Figure 20 Architecture of the system ……………………………………………………………………………………………….27 Figure 21 A tile generated by Mapnik ………………………………………………………………………………………………28 Figure 22 The database ©Milo van der Linden …………………………………………………………………………………29 Figure 23 The GUI of the system ………………………………………………………………………………………………………30 Figure 24 Layer Switcher ………………………………………………………………………………………………………………….31 Figure 25 An example of an icon on the map …………………………………………………………………………………..32 Figure 26 OSM in 3-D ©GDI3D ………………………………………………………………………………………………………..34
4 | P a g e
1. Introduction
Over the last few years Information and Data exchange services increasingly
comprise mapping services. This has led to a need for spatially enabled Internet
applications that provide fast and timely information services. A vast number of GIS
are available both commercial and open-source. This interim report discusses the
examination of different standalone GIS rendering tools for use in Web and desktop
applications. This interim report is in six key sections and the first discusses the
motivation for the work and gives an introduction to GIS. Section two explores
existing systems, their use and how they have been implemented. Section three
covers the proposed design of the system.
1.1. Motivation for the work
The aim of this project is make use of open-source GIS and Web mapping
software to create a spatially-enabled Internet application to support accessing
information about the University of Akureyri. The use of this software would
supply current and future students of the University with information about the
University and Akureyri. The information should be displayed in a way that would
persuade students who are looking for a University to choose the University of
Akureyri as their University. The information should be internationalized since the
University of Akureyri offers foreign students to study at the University.
1.2. Introduction to Geographical information systems (GIS)
Geographic information is any data, not necessarily a map that can be referenced
to a known point on the face of the Earth. This data can be used in various ways.
A few examples of this could be for example to find out how to get from A to B,
discover what lies between A and B and determine what occurs at A or B. Before
5 | P a g e
1960 the traditional way representing GI was to use paper maps. This form had
some advantages like easy storage and retrieval of maps and ease of use but the
disadvantages were many. We live in an age when the usage of geography is
changing. Businesses and government, schools and hospitals, nonprofit
organizations, and others are taking advantage of it of this change. All around the
world, people are working more efficiently because of it this new way of using
geographic information. Information that was limited to spreadsheets and
databases is being unleashed in a new, exciting way—all using geographical
information systems.
Most texts credit the Canadian scientist Roger Tomlinson with creating the first
true GIS in 1964 know as the Canada-GIS (Rogers & Luna, 2004). Tomlinson
was working on simple tasks associated with the Canada Land Inventory. The
tasks proved to be incredibly labor demanding and he saw the opportunity to use
computers to perform these tasks. It was clear that GIS was as a tool that could
replace and to complement traditional means of handling spatial data.
Over the past two decades a vast
amount of electronic resource data
has been made available. This
amount increased even more with
the deployment of the Global
Positioning System, which
provided a low cost alternative for
accurately locating positions on
Earth´s surface, in 1985.
Increased memory and processing power (figure 1) in computers along with the
information revolution brought on by the Internet has been a major boost for GIS.
Until recently most work with spatial data was done with either systems like CAD
which represents vector data with lines and points or DB systems which consists
of text based information. GIS merged CAD systems and DB technologies by
creating a computer-based system to store, analyze, manage and display spatial
and associated tabular data via an “Intelligent” map. Unlike a flat paper map,
Figure 1 Evolution of Spatial Data Models and Computers
(Rogers & Luna, 2004)
6 | P a g e
where "what you see is what you get," a GIS can present many layers of different
information.
Companies and even whole Government are increasingly relying on GIS in their
activities. The trend is that GIS is increasingly becoming a general-purpose tool
instead of a domain for specialists. The access to GIS data repositories via the
internet is growing and thereby the number of applications that provide access to
these repositories is increasing. Maps can then be used to find patterns by
looking at the distribution of features on a map instead of just and individual
feature. Quantities can be mapped to find out where highs and lows are for a
specific criterion. There are not only benefits for Companies and Governments in
using GIS. An individual can find where any health clinic in the state is located,
and how best to get there, using a desktop computer and an industry-standard
browser. Multiple databases will be queried, but the user won't have to know what
comes from what. They'll just have data online for quick answers (Page, 2002).
Web GIS has yet at long way to go before achieving its full potential. There is
much competition in the online map space between services like Google Maps,
Microsoft Virtual Erath and Yahoo Maps and this competition has provided users
with rapid innovation and increased coverage service. But there is also a space
for the community to contribute and generate data in projects like
OpenStreetMap.
7 | P a g e
2. Existing systems
This section will discuss the existing systems. There are many GIS systems
available both for off-line and on-line use and their number is increasing. The on-
line GIS systems have more or less the same goal that is to provide a kind of
browser for the planet. These systems will be briefly described.
The starting point of this project was an institutional case study about a
collaborative system for environment and tourism information authoring and Web
publishing. This report examined different open source stand-alone GIS with
desktop capabilities like for example GeoVISTA Studio, SharpMap and Quantum
GIS. These GIS where also examined for this project as well as propriety GIS like
ArcGIS. ArcGIS was quickly ruled out since this project does not have any funding
and the source code for ArcGIS is not accessible.
8 | P a g e
2.1. Google Earth
Google Earth was released to the public in mid 2006. It can be described as a
virtual globe and it enables users to fly from space to street level views to find
geographical information. Google Earth provides pictures of the surface of the
earth by downloading satellite data from Google´s remote servers. The user has
the ability to zoom in to explore the region in more detail (figure 2). The resolution
differs between regions and is higher in some regions than others. The
information collected in Google Earth is collected over time and is therefore not in
real time. The imagery used is approximately one to three years old (Google, Age
of satellite imagery and data , 2009). The basic features of Google Earth can be
used for getting directions from A to B, searching for local services and interesting
places. Google Earth is currently available under two different licenses: Google
Earth, a free version with limited functionality and Google Earth Pro which is
intended for commercial use (Wikipedia, Google Earth, 2009a).
Figure 2 Google Earth - Akureyri
9 | P a g e
2.1.1. Google Earth 3D
A lot of work has been put into creating 3-D buildings (figure 3) in many of the
major cities in the World. This
work was originally mainly done
by Google but now this work is
done by the users of Google.
Google has made this possible
by providing a free program
called SketchUp which allows
users to create 3D models of
anything from needles to
satellites and skyscrapers.
These models can be shared
with other users by uploading them into Google´s 3D Warehouse. It would be
possible to model a whole city with SketchUp.
2.2. Google Maps
Google Maps (figure 4) is a web mapping service application which focuses more
on urban areas rather than the
whole globe as its related product
Google Earth. It uses mainly high-
resolution imagery taken by
airplanes and the GIS data used in
Google Maps are provided by Tele
Atlas, NAVTEQ and MapABC.
(Google, Google Maps, 2009).
Google Maps provides not only the
map, satellite image or a hybrid of
both but also a range of operations Figure 4 Google Maps - London
Figure 3 Google Earth 3D – Eiffel Tower
10 | P a g e
on the map including zooming, panning, information pop-ups and overlays.
Google Maps still has limited coverage but most major cities of the world are
covered. Because of concern that some of the satellite images that are displayed
in Google Maps could be used by terrorist to help them plan attacks, some of the
areas are distorted.
2.3. Google Street View
Google released Google Street View (figure 5) in May 2007. Street View is an
additional feature of both Google
Maps and Google Earth. For the
first year only areas in the United
States were covered but today six
countries have been added. The
images in Google Street View
were taken with a spherical
camera that was mounted on a
car. The images are placed in
image orbs within Google Maps.
This offers a new and exciting way
for example students to examine
the environment around any Universities that they are interested in applying to.
Figure 5 Google Street View - New York
11 | P a g e
2.4. Microsoft Virtual Earth
Microsoft Virtual Earth (figure 6) is proprietary software from Microsoft. It is in
many ways similar to Google
Earth.
“The Microsoft Virtual Earth
platform is an integrated set of
services that provides quality
geospatial data, rich imagery,
cutting-edge technology, and
dependable performance that
helps organizations visualize data
and provide immersive end-user
experiences. The Virtual Earth
platform, now supported by both
the Virtual Earth Map Control and
the new Virtual Earth Web
Services, offers new map detail,
feature enhancements, and robust
platform capabilities” (Microsoft, 2008).
Figure 6 Microsoft Virtual Earth - North-America
12 | P a g e
2.5. OpenStreetMap
OpenStreetMap (OSM) was founded in July 2004 and it is a collaborative project
to create a free editable map of the world. Just like Wikipedia, on which it is
loosely modeled, OpenStreetMap (figure 7) is resolutely free software. Both
rendered images and the vector dataset are available for download under a
Creative Commons Attribution-ShareAlike 2.0 license (Wikipedia,
OpenStreetMap, 2009b).
It is very easy to make maps in OSM. The process is performed in five steps;
gather data, upload data, edit maps, edit data and finally render the map. The
maps are created using data collected by registered users using portable GPS
devices, aerial photography and other free sources. This process took a long time
but after Yahoo gave OSM permission to use Yahoo´s aerial imagery in 2004 the
Figure 7 OpenStreetMap - Akureyri
13 | P a g e
speed increased greatly. A whole community around OSM has been mapping the
globe since the beginning and it is an attempt to map the Earth.
One of the advantages of OpenStreetMap is that it will run on any browser as long
as it has JavaScript installed. The "slippy" map that displays the map is powered
by an Ajax component. It can be used inside a browser as you would do with
Google Maps and Google Earth.
OSM uses nodes (a point with coordinates), segments (a directed connection
between two nodes) and ways (an ordered list of segments) as its geometric
building blocks. The nodes, segments and ways can have tags that denote the
type and properties of the object.
The architecture of OSM (figure 8) is quite complicated. The database holds all
the data that users of the system have generated. Once a week a Planet.osm file
is created. This file is snapshot of the OSM database and it is in OSM XML
format. OSM uses two different ways to render tiles, with Mapnik or Osmarender.
Mapnik reads this file to generate tiles that the Slippy Map references.
Figure 8 OSM components (Wood, 2007)
14 | P a g e
Osmarender is a rule-based rendering tool for generating Scalable Vector
Graphics (SVG) images of OSM data. Tiles@home is a distributed program to
render osmarender maps. The Slippy Map can be configured to request tiles from
Osmarender instead of Mapnik.
There are a wide range of editors available for OSM. Some of the most widely
used editors are JOSM, Potlatch and Merkaartor.
Potlatch is a Flash online editor that is built in to the OSM webpage. It is intended
as a quick way to edit maps as the changes are sent back to the server as soon
as you make them. Potlatch can edit OSM map data over Yahoo! Aerial Imagery.
This saves a lot of time for people creating maps as they don’t have to start with a
blank canvas each time. The Aerial images can give the street layout.
JOSM is a stand-alone editor. It can work with OSM data offline. It is intended for
all major editing of OSM data. It is highly configurable and extendable via plugins.
Yahoo! Aerial Imagery is available in JOSM via the YWMS plugin.
Merkaartor is a small editor that is still under early development. Yahoo! Aerial
Imagery is available in Merkaartor.
15 | P a g e
2.6. Quantum GIS
Quantum GIS (QGIS) is a open source geographical information system that runs
on all platforms. It supports vector,
raster and database formats. QGIS
is licensed under the GNU General
Public License. QGIS lets you
browse and create map data on
your computer (figure 9). It
supports many common spatial
data formats. (GIS, 2008). QGIS is
a map making tool but it provides
the ability publish your map on the
internet by using the export to Mapfile capability. This requires a webserver with
UMN MapServer installed.
2.7. GIS in Iceland
A number of companies and government institutes are using GIS in Iceland. A
few of them will be discussed in the following sub-chapters.
2.7.1. National Land Survey of Iceland
The objective of the
National Land Survey of
Iceland is to provide and
share geographical
information on Iceland.
They offer several Map
services on the web
(Landmælingar, 2009).
Figure 9 Quantum GIS
16 | P a g e
2.7.2. LUKR
The Land Information System of Reykjavík (LUKR) was started around 1989.
Its purpose was to build an enterprise GIS system for the municipality’s
technical departments as well as Iceland Telecomm.
In 1997 the data was made accessible to the public via the internet application
borgarvefsjá which is accessible at http://arcgis.reykjavik.is/borgarvefsja/. The
City of Reykjavík uses this application to provide the public information about
street names, pipelines, cables, places of interest, aerial photos, traffic and
population density just to name some information. Well over 100 “layers” of
information can be displayed on the map (figure 11).
2.7.3. The National Energy Authority
The National Energy Authority (Orkustofnun) uses an internet applications to
provide information about the environment in Iceland.
Figure 10 Map services of the National Land Survey of Iceland
Figure 11 Borgarvefsjá
17 | P a g e
The Gagnavefsjá (figure 12) is used to display information about various
sources of energy in Iceland (Orkustofnun, 2009).
2.7.4. The National Energy Authority
The Environment Agency Náttúruvefsjá (figure 13) is a system for managing
and sharing diverse information about the flora, vegetation and weather in
Iceland. This system was designed by the digital design company Gagarín
and is a Flash based application.
Figure 13 Náttúruvefsjá
Figure 12 Gagnavefsjá
18 | P a g e
2.7.5. National Energy Authority
The National Energy Authority recently made is a system, Landgrunnsvefsjá
(figure 14) for managing and sharing diverse information about data pertaining
to the Icelandic Continental Shelf. One of the purposes of the system is to
assist those seeking
information on the
licensing area. For
example, it shows which
blocks are available in the
licensing round, and gives
an overview of the
available data. This
system was designed by
the digital design company
Gagarín and is a Flash based application. (Gagarín, 2009).
2.7.6. University of Iceland Campus Map
This is a map (figure 15) of the University of Iceland Campus. This project
uses Google Maps to
display various
information about
buildings, stores,
recreation, banks and
entertainment available
around the University of
Iceland in Reykjavík.
(Kardjilov, 2007)
Figure 14 Landgrunnsvefsjá
Figure 15 University of Iceland Campus Map
19 | P a g e
2.7.7. The town of Akureyri
Akureyri offers two web applications to view information about the town of
Akureyri. The first of these applications is provided by Loftmyndir ehf.
Loftmyndir ehf. offers its customers access to its database of aerial images of
Iceland. The application (figure 16) that Akureyri town uses from Loftmyndir
ehf. is similar to Google Earth and Openstreetmap.
The other application (figure 17) is an Infrapath® 2009 application that is
provided by Snertill. Infrapath® 2009 can be used to design web based GIS
applications to share geospatial and engineering data (Snertill, 2009).
Figure 17 Infrapath Akureyri
Figure 16 Map viewer from Loftmyndir ehf.
20 | P a g e
2.8. Summary
This chapter examined previous work done on similar systems to the one this
project will create. Most of the applications that are used by Icelandic institutions
to publish GI are flash based applications. Many of them that were examined are
produced by the company Gagarín. Google Earth and Google Maps are
proprietary software so they are not free software. You cannot incorporate any of
them into a project and run your software under a relatively permissive license for
others to take up your ideas and improve. OpenStreetMap is an open-source
project that is resolutely free and it can be view in any browser.
21 | P a g e
3. System Design
After comparing the different GIS available it was decided to use the OpenStreetMap
project in our project. Proprietary software was quickly excluded because of license
fees.
The lack of functionality in some of the open source software was not considered a
problem since source software supports the understanding of concepts as it enables
direct access to the implementation of the lacking functionality, i.e. the source code.
3.1. Proposed system
OSM is ideal for this project. OSM provides mapping data, tools, and
infrastructure that are all available under open source and Free Software licenses.
Because of difficulties getting the University to host this project it will be setup on
a laptop while making and testing improvements. Hopefully this project will later
Figure 18 Comparison of proprietary and free open source software (Steiniger & Bocher, 2008)
22 | P a g e
be hosted on the Universities servers. A fully functional OSM server will be setup
and all the data from OSM about Akureyri will be downloaded into a database and
used in this project.
Possible new features that will be implemented locally are:
• the ability to click on buildings belonging to the University and get
information about the room; ground plan, number, picture, timetable etc.
• the chance for the University and student unions to insert information on
the maps e.g. put markers on the map with information about Sprellmót.
New and foreign students often so not know their way around Akureyri and
it would be convenient for them, when something is going-on, to get a mail
with a link that directs them to the slippy map that would display the
location of the occurrence.
• 3-D view of the University campus
One part of this project will be to use a GPS to map the University campus. This
will be done by walking around the campus with a Garmin Colorado 300 device
and record the coordinates. The data will then be uploaded into the server and
edited and then rendered into a map.
The slippy map that OSM uses will be used in this project with minimal
adjustments. The current version offers the ability
to turn layers and overlays on and off. This vill be
used with different layers with regional
information.
3.2. Changes made to the original design
Because of various problems encountered during the project some changes had
to be made to the proposed system. It was decided to take the design of the
Figure 19 OSM Slippy Map
23 | P a g e
system more in the direction of a Intranet instead of public access. The whole
design would focus on the employees of the University rather then the students.
This meant that the possibility for student unions to access the system was not
implemented.
I managed to keep up with the project timetable (Appendix B) pretty good until the
end of January. After that the problems I encountered led to the decision to cut
some features from the original design.
Finally it was also decided that the option of displaying the University campus in
3-D would take to much time to implement and would be more suited for future
work.
3.3. Summary
In this chapter I gave a description of the proposed system and how the system
design changed during the implementation of the system. Various changes were
made on the system design during the implementation. The scope of the system
was reduced because of the decision to implement the system as an Intranet. The
3-D feature was dropped because of time issues.
24 | P a g e
4. System Implementation
4.1. Technologies
The hardware used to develop this project is a DELL Inspiron 1525 laptop. The
laptop is running Windows Vista Basic 6.0.6001 edition with service pack 1
installed. It has 2 GB of memory a 1,87 GHz Intel Pentium Dual CPU.
Since the OpenStreetMap was originally developed on a Linux machine and most
of the software used the edit and create maps are also Linux based it was
decided to install Fedora 9 on the laptop and run Fedora as a virtual machine on
the laptop. This was done because it simplifies the process of setting up internet
access since the virtual machine detects Windows internet settings automatically.
4.1.1. MySQL
MySQL is the world’s most popular open source database. MySQL is a key
part of LAMP (Linux, Apache, MySQL, PHP / Perl / Python). A growing number
of companies are using LAMP instead of expensive proprietary software
stacks because of its lower price and freedom from platform lock-in. (MySQL,
2009).The database holding the nodes information is a MySQL version 5.0.38
database.
4.1.2. phpMyAdmin
phpMyAdmin is a free software tool written in PHP. phpMyAdmin supports a
wide range of operations with MySQL. The 3.1.2 version of phpMyAdmin was
installed to handle the administration of MySQL (phpMyAdmin, 2009).
25 | P a g e
4.1.3. Ruby on Rails
Ruby is a dynamic, open source programming language. Ruby on Rails is a
web application development framework that is written in Ruby. It is intended
to make developing database driven web-based applications faster and more
productive (Hansson, 2009).
4.1.4. Fedora 9
The Fedora Project is a Red Hat sponsored and community supported open
source project (Hat, 2008). Fedora well suited for this project since it is free
open source software that anyone can use, modify and distribute.
4.1.5. VMware Workstation
VMware Workstation 6.5.1 was installed to run Fedora 9 as a virtual machine.
VMware Workstation makes it possible to create and run multiple virtual
machines on desktops or laptops. This way you can run Linux and Windows
side-by-side on the same computer (VMware, 2009).
4.1.6. Browsers
Internet Explorer and Mozilla Firefox are the two most popular browsers (Data,
2009) and they will therefore be used to test this project.
4.1.7. Osmosis
Osmosis is a command line java application for processing OSM data. It can
be used to read an OSM file into to MySQL database (OpenStreetMap,
Osmosis, 2009a). Osmosis 0.30 was installed and used during this project.
4.1.8. Osm2pgsql
Since Mapnik cannot read OSM data another tool is needed to do that.
Osm2pgsql is a utility program that converts OSM data into a format that can
be loaded into PostgreSQL (OpenStreetMap, Osm2pgsql, 2009b).
26 | P a g e
4.1.9. PostGIS
PostGIS is an extension of the PostgreSQL object-relation database. PostGIS
allows the PostgreSQL server to be used a backend spatial database for GIS
(PostGIS, 2009).
4.1.10. Mapnik
Mapnik is a free opens-source toolkit written in C++ for developing mapping
applications. It can be used for both desktop and web development (Pavlenko,
2009). Mapnik renders the main Slippy Map layer for OSM. Mapnik 0.5.1 was
installed during this project.
4.1.11. OpenLayers
OpenLayers is a JavaScript library for map data with no server-side
dependencies. OpenLayers is free and open-source software (OpenLayers,
2009). The Slippy Map uses OpenLayers to dynamically request tiles from the
server.
27 | P a g e
4.2. The System
The system consists of a database, tileserver and slippy map. The whole system
is run on a virtual Fedora 9 machine. VMware Workstation is used to run the
virtual machine. The primary reason for this was that since the laptop used for the
project was being used at home and at the University it was easier to let the
VMware configure the internet connection automatically instead of having to
reconfigure the settings each time when changing location from home to the
University and vice versa.
4.2.1. Architecture
Figure 20 Architecture of the system
28 | P a g e
On the data layer (figure 29) the MySQL database holds the information which
consists of node, segments and ways that all have tags. Osmosis was used to
read the OSM data in Iceland.osm file into the database. Osm2pgsql is used to
read the same Iceland.osm file into a Postgre database.
Mapnik reads the Postgre database and renders 256x256 pixels tiles which
are served from the tileserver. Mapnik uses a different file to render coastlines
and world boundaries. At low zoom level Mapnik renders all the sea as a solid
fill of blue from two shapefiles that have a low resolution. At high zoom levels
the coast polygons used are generated from the data in the database.
The Slippy Map is an Ajax component.
JavaScript runs in the browser, which
dynamically requests tiles from the server
in the background. The Slippy Map’s
JavaScript references URLs such as e.g.
http://localhost/osm_tiles2/1/2/3.png for
tiles. The WeBrick server handles these
URLs but the Mod tile renders and serves
tiles for the Mapnik layer on the Slippy
Map. Mod tile is a C implementation to
serve files from the disk and manage the rendering queue. Mod tile exists of
two parts: renderd, which is a rendering daemon which calls Mapnik and writes
the tiles to the filesystem and mod_tile which is an Apache module which
handles the requests for tiles to be rendered. Every tile has a timestamp that
states when it was rendered and a flag which is used to identify if the tile is
ready to be re-rendered.
Figure 21 A tile generated by Mapnik
29 | P a g e
4.2.2. Database
There was no change made to the structure of the OSM database as planned.
This was due to lack of time. Instead of getting the planet.osm file from OSM
which contains data covering the whole planet it was decided to get an extract
that covered Iceland. This was mainly done because of the size of the
planet.osm which in March 2009 is over 150GB. The Iceland.osm file is only
40.4 MB.
30 | P a g e
Figure 22 The database ©Milo van der Linden
4.2.3. The GUI
The GUI consists of a Slippy Map (Appendix A) that allows the user to zoom in
and scroll around the map of Iceland. There are two main controls on the GUI:
the PanZoomBar and the Layer Switcher.
The PanZoomBar is composed of a PanPanel and a ZoomBar. It is displayed
in the upper left corner of the map. The PanPanel is composed of four
directional arrows that can be used to pan the map west, east, north or south.
The map can also be panned by clicking on the map, holding the mouse
button down and dragging the map in the desired direction. The ZoomBar is
used to zoom in and out of the map. This is done by clicking on the “+” or “-
“sign at the top and bottom of the ZoomBar. You can also use the scroll wheel
to zoom in and out.
The Layer Switcher (figure 24) is shown minimized on the right top edge of the
map when the GUI is first stared. The Layer Switcher can be expanded by
Figure 23 The GUI of the system
31 | P a g e
clicking in on the “+” sign. When the Layer Switcher is expanded it displays the
Base and Overlay Layers that are available. The user can change what
information is displayed on the map by switching between layers. The Base
Layers that are available are:
• Mapnik
• 1st floor (not completed)
• 2nd floor (not completed)
• 3rd floor (not completed)
The Base layers control how the map is rendered. The “Mapnik” layer displays
the tiles that Mapnik renders. It is the default way to display the tiles in the
system. The “1st floor”, “2nd floor” and “3rd
floor” layers are currently not implemented
but the plan was to implement them but I ran
out of time. The way they were supposed to
work is that by selecting e.g. the “3rd floor”
layer the user would get the ground plan for
the 3rd floor on top of the outline of the
buildings of the University of Akureyri. The
user would then be able to click on a room
on the ground plan and get information
about the room he clicked on.
The Overlays that are available are:
• Lecture rooms
• Meeting rooms
• Office equipment
• Coffee
The Overlay layers are used to select what information is displayed on the
map. By selecting the “Lecture rooms” overlay all the lecture rooms for the
selected floor are displayed. By selecting the “Meeting rooms” overlay all the
Figure 24 Layer Switcher
32 | P a g e
meeting rooms for the selected floor are displayed. By selecting the “Office
equipment” overlay the printers,
photocopiers, shredders and paper storages
are displayed for the selected floor. By
selecting the “Coffee” overlay all the places
where coffee is available on the selected
floor is displayed. All the items that are
displayed have their own icon (figure 25).
4.3. Summary
In this chapter I have given a thorough description of the implementation of the
system. I described the technologies that were used throughout the project. I
described the architecture of the system and how the database is structured. I
also gave a description on how the many different utilities work together to create
the map that is displayed in the browser and finally I described the GUI of the
system.
Figure 25 An example of an icon on the
map
33 | P a g e
5. Evaluation
No formal evaluation has taken place yet since the project did not reach the stage
where a running prototype was created.
34 | P a g e
6. Conclusion
6.1. Future work
There are almost endless ways that this project could evolve. Some of the more
interesting direction the project could take in my opinion is listed here below.
6.1.1. The map in 3-D
Work has already begun in turning OSM into a three-dimensional landscape
map (figure 26). The project GDI3D is working on creating a 3D OSM for the
entire Germany (GDI3D, 2009). It would be very interesting to develop the
University of Akureyri campus in a similar way.
6.1.2. Adding more information
The system currently displays a limited amount of information. It would be
interesting to be able to display some of the information available in Stefanía
on the map. For example when the user clicks on a lecture room on the map
the timetable for that room would be displayed or when the user clicks on a
meeting room he could get information if the meeting room is occupied or not.
Figure 26 OSM in 3-D ©GDI3D
35 | P a g e
6.2. My Work
This project has given me various skills that I did not have before. My skills and
knowledge in Linux has from knowing almost nothing to intermediate skills in
setting up and using Linux.
What I really liked about this project was finding out about the OpenStreetMap
project and various linked projects like OpenCycleMap and OpenHikeMap.
I was very pleased with the co-operation and guidance of my project supervisor.
His comments and advice help me throughout the project.
A short overview of the things that have been beneficiary for me during this
project:
• Researched various GIS systems, both open-source and proprietary
software.
• Researched what previous work has been done and what open-source
projects are using GIS to enable information access over the internet.
• Learned how the OpenStreetMap project began and how it has evolved
into the largest and most successful user-generated mapping project.
• Linux: setting up and using Linux as a virtual machine on my laptop.
• Server: This was the first time I setup a server and I learned much from the
problems I encountered with it.
I am very disappointed that I was not able to finish the project. The main reason
for that were the problems I encountered setting up the server and getting it to
render tiles for me. Although I finally managed to do it was too late (two days
before the final delivery date) since it did not leave me with any time to setup the
layers as I wanted them to work. I am determined to finishing the project even
though I will not meet the deadline. This project has opened my eyes about the
possibilities that lie in GIS and its possibilities in displaying spatial information
over the internet. This is a concept I will defiantly research further in the future.
36 | P a g e
6.3. Summary
In this chapter I described future work that I think would be interesting to do. I also
reflected on my work during this project and discussed the pros and cons of the
project.
37 | P a g e
Bibliography
Data, R. (2009). Browser Statistics. Retrieved January 13, 2009, from www.w3schools.com:
http://www.w3schools.com/browsers/browsers_stats.asp
Gagarín. (2009, January 13). Landgrunnsvefsjá. Retrieved January 15, 2009, from Landgrunnsvefsjá:
http://www.landgrunnsvefsja.is/
GDI3D. (2009). Information. Retrieved April 17, 2009, from OSM-3D Germany:
http://www.geographie.uni-bonn.de/karto/hd3d/index.en.htm
GIS, Q. (2008, July 9). QGIS. Retrieved January 5, 2009, from Quantum GIS: http://www.qgis.org/
Google. (2009, January 9). Age of satellite imagery and data . Retrieved January 14, 2009, from
Google: http://earth.google.com/support/bin/answer.py?hl=en&answer=21414
Google. (2009, January 14). Google Maps. Retrieved January 14, 2009, from Google:
http://en.wikipedia.org/wiki/Google_Maps
Hansson, D. H. (2009). Ruby on Rails. Retrieved April 12, 2009, from Ruby on Rails:
http://rubyonrails.org/
Hat, R. (2008, May 12). Fedora Release Notes. Retrieved January 13, 2009, from Fedora project:
http://docs.fedoraproject.org/release-notes/f9/en_US/
Kardjilov, M. (2007). Kort af háskólasvæðinu - University of Iceland campus map. Retrieved January 5,
2009, from Google Maps: http://www3.hi.is/pub/gis/
Landmælingar. (2009, April 6). Landmælingar Íslands. Retrieved April 12, 2009, from Landmælingar
Íslands: http://www.lmi.is/landsurvey.nsf/pages/index.html/
Microsoft. (2008). Microsoft Virtual Earth geospatial data 3D modle accuracy. Retrieved January 5,
2009, from Microsoft: http://www.microsoft.com/virtualearth/platform/default.aspx
MySQL. (2009). MySQL :: About MySQL. Retrieved April 12, 2009, from MySQL:
http://www.mysql.com/
OpenLayers. (2009). OpenLayers: Free Maps for the Web . Retrieved April 11, 2009, from OpenLayers:
http://openlayers.org/
OpenStreetMap. (2009b, April 1). Osm2pgsql. Retrieved April 10, 2009, from OpenStreetMap:
http://wiki.openstreetmap.org/wiki/Osm2pgsql
OpenStreetMap. (2009a, March 31). Osmosis. Retrieved April 10, 2009, from OpenStreetMap:
http://wiki.openstreetmap.org/wiki/Osmosis
Orkustofnun. (2009). Gagnavefsjá. Retrieved April 12, 2009, from Gagnavefsjá:
http://gullhver.os.is/website/gagnavefsja_ie/viewer.htm
38 | P a g e
Page, D. (2002, May 1). A Rising Star. Retrieved December 20, 2009, from Goverment Technology:
http://www.govtech.com/gt/10425
Pavlenko, A. (2009, April 1). Mapnik C++/Python GIS Toolkit FAQ. Retrieved April 12, 2009, from
Mapnik: http://www.mapnik.org/faq/
phpMyAdmin. (2009). phpMyAdmin. Retrieved April 14, 2009, from phpMyAdmin:
http://www.phpmyadmin.net/home_page/index.php
PostGIS. (2009). What is PostGIS? Retrieved April 11, 2009, from PostGIS: http://www.postgis.org/
Rogers, J., & Luna, R. (2004). IMPACT OF GEOGRAPHICAL INFORMATION SYSTEMS ON
GEOTECHNICAL ENGINEERING. Fifth International Conference on Case Histories in Geotechnical
Engineering (pp. 1-23). New York: University of Missouri.
Snertill. (2009, March 31). Infrapath 2009 and Infrapath FM 6.5 . Retrieved April 12, 2009, from
Snertill:
http://www.snertill.is/index.php?option=com_content&view=article&id=49&Itemid=109&lang=en
Steiniger, S., & Bocher, E. (2008, September 5). Open source desktop GIS. Retrieved January 6, 2009,
from Micro Resources:
http://www.geo.unizh.ch/publications/degen/sstein_foss_desktop_gis_overview.pdf
VMware. (2009). VMware Workstation. Retrieved April 15, 2009, from VMware:
http://www.vmware.com/products/ws/
Wikipedia. (2009a, January 14). Google Earth. Retrieved January 14, 2009, from Wikipedia:
http://en.wikipedia.org/wiki/Google_Earth
Wikipedia. (2009b, January 14). OpenStreetMap. Retrieved January 15, 2009, from Wikipedia:
http://en.wikipedia.org/wiki/OpenStreetMap
Wood, H. (2007, November 11). Component overview. Retrieved January 5, 2009, from
OpenStreetMap: http://wiki.openstreetmap.org/wiki/Component_overview
39 | P a g e
Appendix A – Code Listing <html>
<head>
<title>Snorri G. Sigurðsson - Final Year Project</title>
<!-- bring in the OpenLayers javascript library
(here we bring it from the remote site, but you could
easily serve up this javascript yourself) -->
<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
<!-- bring in the OpenStreetMap OpenLayers layers.
Using this hosted file will make sure we are kept up
to date with any necessary changes -->
<script src="http://www.openstreetmap.org/openlayers/OpenStreetMap.js"></script>
<script type="text/javascript">
// Start position for the map (hardcoded here for simplicity,
// but maybe you want to get from URL params)
var lat=65.6853
var lon=-18.121
var zoom=18
var map; //complex object of type OpenLayers.Map
//Initialise the 'map' object
function init() {
map = new OpenLayers.Map ("map", {
controls:[
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.PanZoomBar(),
new OpenLayers.Control.LayerSwitcher(),
new OpenLayers.Control.Attribution()],
maxExtent: new OpenLayers.Bounds(-20037508.34,-
20037508.34,20037508.34,20037508.34),
40 | P a g e
maxResolution: 156543.0399,
numZoomLevels: 18,
units: 'm',
projection: new OpenLayers.Projection("EPSG:900913"),
displayProjection: new OpenLayers.Projection("EPSG:4326")
} );
// Define the map layer
layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");
map.addLayer(layerMapnik);
first = new OpenLayers.Layer.OSM.Mapnik("1st floor");
map.addLayer(first);
second = new OpenLayers.Layer.OSM.Mapnik("2nd floor");
map.addLayer(second);
third = new OpenLayers.Layer.OSM.Mapnik("3rd floor");
map.addLayer(third);
lecture_rooms = new OpenLayers.Layer.Markers("Lecture rooms");
map.addLayer(lecture_rooms);
meeting_rooms = new OpenLayers.Layer.Markers("Meeting rooms");
map.addLayer(meeting_rooms);
//Position of the center of the Unak campus
var lonLat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject
());
41 | P a g e
//Position of the coffee in Borgir
var lonLat2 = new OpenLayers.LonLat(lon+0.00075, lat-0.00037).transform(new
OpenLayers.Projection("EPSG:4326"),
map.getProjectionObject());
//Position of the coffee in Sólborgir
var lonLat3 = new OpenLayers.LonLat(lon-0.0016, lat+0.0003).transform(new
OpenLayers.Projection("EPSG:4326"),
map.getProjectionObject());
map.setCenter (lonLat, zoom); //Setting the map to start at UNAK
equipment = new OpenLayers.Layer.Markers( "Office equipment" );
map.addLayer(equipment);
var markers = new OpenLayers.Layer.Markers( "Coffee" );
map.addLayer(markers);
var size = new OpenLayers.Size(20,34);
var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
var icon_coffe = new
OpenLayers.Icon('http://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Applications-
ristretto.svg/120px-Applications-ristretto.svg.png',size,offset);
//Drawing the coffee icons on the map
markers.addMarker(new OpenLayers.Marker(lonLat3,icon_coffe.clone()));
bmarker = new OpenLayers.Marker(lonLat2,icon_coffe);
bmarker.events.register('mousedown', bmarker, function(evt) { alert("There is coffee
available in Borgir"); OpenLayers.Event.stop(evt); });
markers.addMarker(bmarker);
map.addControl(new OpenLayers.Control.LayerSwitcher());
}
</script>
</head>
<!-- body.onload is called once the page is loaded (call the 'init' function) -->
<body onload="init();">
42 | P a g e
<!-- define a DIV into which the map will appear. Make it take up the whole window -->
<div style="width:100%; height:100%" id="map"></div>
</body>
</html>
43 | P a g e
Appendix B – Project Plan
ID Task Name Duration Start Finish
1 Final year project 170 days? Thu 28.8.08 W ed 22.4.09
2 Select project and supervisor 16 days? Thu 28.8.08 Thu 18.9.08
3 Sign project list 1 day? Fri 19.9.08 Fri 19.9.08
4 Information gathering 48 days? Mon 22.9.08 W ed 26.11.08
5 Outline project with supervisor48 days? Mon 22.9.08 Wed 26.11.08
6 Research previous work23 days? Wed 1.10.08 Fri 31.10.08
7 System design 23 days? Mon 1.12.08 W ed 31.12.08
8 Server 6 days? Mon 1.12.08 Mon 8.12.08
9 Database 6 days? Mon 8.12.08 Mon 15.12.08
10 System enhancement 13 days? Mon 15.12.08 Wed 31.12.08
11 Implementation 3 days? Thu 1.1.09 Mon 5.1.09
12 Setup server 3 days? Thu 1.1.09 Mon 5.1.09
13 Interim report 12 days? Thu 1.1.09 Fri 16.1.09
14 Write Interim report 11 days? Thu 1.1.09 Thu 15.1.09
15 Submit Interim report 1 day? Fri 16.1.09 Fri 16.1.09
16 Programming and setup 26 days? Mon 19.1.09 Mon 23.2.09
17 Program system enhancement26 days? Mon 19.1.09 Mon 23.2.09
18 Testing 26 days? Mon 16.2.09 Mon 23.3.09
19 Alfa Testing 6 days? Mon 16.2.09 Mon 23.2.09
20 Beta Testing 10 days? Tue 24.2.09 Mon 9.3.09
21 Final Testing 10 days? Tue 10.3.09 Mon 23.3.09
22 Presentation 3 days? Mon 16.3.09 W ed 18.3.09
23 Prepare presentation 2 days? Mon 16.3.09 Tue 17.3.09
24 Present presentation 1 day? Wed 18.3.09 Wed 18.3.09
25 Final report 13 days? W ed 1.4.09 Fri 17.4.09
26 Write final report 12 days? Wed 1.4.09 Thu 16.4.09
27 Submit final report 1 day? Fri 17.4.09 Fri 17.4.09
28 Demonstration of work 1 day? W ed 22.4.09 W ed 22.4.09
29 Demonstrate project 1 day? Wed 22.4.09 Wed 22.4.09
W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T F S S
28 Jul '08 4 Aug '08 11 Aug '08 18 Aug '08 25 Aug '08 1 Sep '08
44 | P a g e
ID Task Name Duration Start Finish
1 Final year project 170 days? Thu 28.8.08 W ed 22.4.09
2 Select project and supervisor 16 days? Thu 28.8.08 Thu 18.9.08
3 Sign project list 1 day? Fri 19.9.08 Fri 19.9.08
4 Information gathering 48 days? Mon 22.9.08 W ed 26.11.08
5 Outline project with supervisor48 days? Mon 22.9.08 Wed 26.11.08
6 Research previous work23 days? Wed 1.10.08 Fri 31.10.08
7 System design 23 days? Mon 1.12.08 W ed 31.12.08
8 Server 6 days? Mon 1.12.08 Mon 8.12.08
9 Database 6 days? Mon 8.12.08 Mon 15.12.08
10 System enhancement 13 days? Mon 15.12.08 Wed 31.12.08
11 Implementation 3 days? Thu 1.1.09 Mon 5.1.09
12 Setup server 3 days? Thu 1.1.09 Mon 5.1.09
13 Interim report 12 days? Thu 1.1.09 Fri 16.1.09
14 Write Interim report 11 days? Thu 1.1.09 Thu 15.1.09
15 Submit Interim report 1 day? Fri 16.1.09 Fri 16.1.09
16 Programming and setup 26 days? Mon 19.1.09 Mon 23.2.09
17 Program system enhancement26 days? Mon 19.1.09 Mon 23.2.09
18 Testing 26 days? Mon 16.2.09 Mon 23.3.09
19 Alfa Testing 6 days? Mon 16.2.09 Mon 23.2.09
20 Beta Testing 10 days? Tue 24.2.09 Mon 9.3.09
21 Final Testing 10 days? Tue 10.3.09 Mon 23.3.09
22 Presentation 3 days? Mon 16.3.09 W ed 18.3.09
23 Prepare presentation 2 days? Mon 16.3.09 Tue 17.3.09
24 Present presentation 1 day? Wed 18.3.09 Wed 18.3.09
25 Final report 13 days? W ed 1.4.09 Fri 17.4.09
26 Write final report 12 days? Wed 1.4.09 Thu 16.4.09
27 Submit final report 1 day? Fri 17.4.09 Fri 17.4.09
28 Demonstration of work 1 day? W ed 22.4.09 W ed 22.4.09
29 Demonstrate project 1 day? Wed 22.4.09 Wed 22.4.09
19.9
M T W T F S S M T W T F S S M T W T F S S M T W T F S S M T
1 Sep '08 8 Sep '08 15 Sep '08 22 Sep '08 29 Sep '08
45 | P a g e
ID Task Name Duration Start Finish
1 Final year project 170 days? Thu 28.8.08 W ed 22.4.09
2 Select project and supervisor 16 days? Thu 28.8.08 Thu 18.9.08
3 Sign project list 1 day? Fri 19.9.08 Fri 19.9.08
4 Information gathering 48 days? Mon 22.9.08 W ed 26.11.08
5 Outline project with supervisor48 days? Mon 22.9.08 Wed 26.11.08
6 Research previous work23 days? Wed 1.10.08 Fri 31.10.08
7 System design 23 days? Mon 1.12.08 W ed 31.12.08
8 Server 6 days? Mon 1.12.08 Mon 8.12.08
9 Database 6 days? Mon 8.12.08 Mon 15.12.08
10 System enhancement 13 days? Mon 15.12.08 Wed 31.12.08
11 Implementation 3 days? Thu 1.1.09 Mon 5.1.09
12 Setup server 3 days? Thu 1.1.09 Mon 5.1.09
13 Interim report 12 days? Thu 1.1.09 Fri 16.1.09
14 Write Interim report 11 days? Thu 1.1.09 Thu 15.1.09
15 Submit Interim report 1 day? Fri 16.1.09 Fri 16.1.09
16 Programming and setup 26 days? Mon 19.1.09 Mon 23.2.09
17 Program system enhancement26 days? Mon 19.1.09 Mon 23.2.09
18 Testing 26 days? Mon 16.2.09 Mon 23.3.09
19 Alfa Testing 6 days? Mon 16.2.09 Mon 23.2.09
20 Beta Testing 10 days? Tue 24.2.09 Mon 9.3.09
21 Final Testing 10 days? Tue 10.3.09 Mon 23.3.09
22 Presentation 3 days? Mon 16.3.09 W ed 18.3.09
23 Prepare presentation 2 days? Mon 16.3.09 Tue 17.3.09
24 Present presentation 1 day? Wed 18.3.09 Wed 18.3.09
25 Final report 13 days? W ed 1.4.09 Fri 17.4.09
26 Write final report 12 days? Wed 1.4.09 Thu 16.4.09
27 Submit final report 1 day? Fri 17.4.09 Fri 17.4.09
28 Demonstration of work 1 day? W ed 22.4.09 W ed 22.4.09
29 Demonstrate project 1 day? Wed 22.4.09 Wed 22.4.09
W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T F
29 Sep '08 6 Oct '08 13 Oct '08 20 Oct '08 27 Oct '08
46 | P a g e
ID Task Name Duration Start Finish
1 Final year project 170 days? Thu 28.8.08 W ed 22.4.09
2 Select project and supervisor 16 days? Thu 28.8.08 Thu 18.9.08
3 Sign project list 1 day? Fri 19.9.08 Fri 19.9.08
4 Information gathering 48 days? Mon 22.9.08 W ed 26.11.08
5 Outline project with supervisor48 days? Mon 22.9.08 Wed 26.11.08
6 Research previous work23 days? Wed 1.10.08 Fri 31.10.08
7 System design 23 days? Mon 1.12.08 W ed 31.12.08
8 Server 6 days? Mon 1.12.08 Mon 8.12.08
9 Database 6 days? Mon 8.12.08 Mon 15.12.08
10 System enhancement 13 days? Mon 15.12.08 Wed 31.12.08
11 Implementation 3 days? Thu 1.1.09 Mon 5.1.09
12 Setup server 3 days? Thu 1.1.09 Mon 5.1.09
13 Interim report 12 days? Thu 1.1.09 Fri 16.1.09
14 Write Interim report 11 days? Thu 1.1.09 Thu 15.1.09
15 Submit Interim report 1 day? Fri 16.1.09 Fri 16.1.09
16 Programming and setup 26 days? Mon 19.1.09 Mon 23.2.09
17 Program system enhancement26 days? Mon 19.1.09 Mon 23.2.09
18 Testing 26 days? Mon 16.2.09 Mon 23.3.09
19 Alfa Testing 6 days? Mon 16.2.09 Mon 23.2.09
20 Beta Testing 10 days? Tue 24.2.09 Mon 9.3.09
21 Final Testing 10 days? Tue 10.3.09 Mon 23.3.09
22 Presentation 3 days? Mon 16.3.09 W ed 18.3.09
23 Prepare presentation 2 days? Mon 16.3.09 Tue 17.3.09
24 Present presentation 1 day? Wed 18.3.09 Wed 18.3.09
25 Final report 13 days? W ed 1.4.09 Fri 17.4.09
26 Write final report 12 days? Wed 1.4.09 Thu 16.4.09
27 Submit final report 1 day? Fri 17.4.09 Fri 17.4.09
28 Demonstration of work 1 day? W ed 22.4.09 W ed 22.4.09
29 Demonstrate project 1 day? Wed 22.4.09 Wed 22.4.09
S S M T W T F S S M T W T F S S M T W T F S S M T W T F S S
3 Nov '08 10 Nov '08 17 Nov '08 24 Nov '08
47 | P a g e
ID Task Name Duration Start Finish
1 Final year project 170 days? Thu 28.8.08 W ed 22.4.09
2 Select project and supervisor 16 days? Thu 28.8.08 Thu 18.9.08
3 Sign project list 1 day? Fri 19.9.08 Fri 19.9.08
4 Information gathering 48 days? Mon 22.9.08 W ed 26.11.08
5 Outline project with supervisor48 days? Mon 22.9.08 Wed 26.11.08
6 Research previous work23 days? Wed 1.10.08 Fri 31.10.08
7 System design 23 days? Mon 1.12.08 W ed 31.12.08
8 Server 6 days? Mon 1.12.08 Mon 8.12.08
9 Database 6 days? Mon 8.12.08 Mon 15.12.08
10 System enhancement 13 days? Mon 15.12.08 Wed 31.12.08
11 Implementation 3 days? Thu 1.1.09 Mon 5.1.09
12 Setup server 3 days? Thu 1.1.09 Mon 5.1.09
13 Interim report 12 days? Thu 1.1.09 Fri 16.1.09
14 Write Interim report 11 days? Thu 1.1.09 Thu 15.1.09
15 Submit Interim report 1 day? Fri 16.1.09 Fri 16.1.09
16 Programming and setup 26 days? Mon 19.1.09 Mon 23.2.09
17 Program system enhancement26 days? Mon 19.1.09 Mon 23.2.09
18 Testing 26 days? Mon 16.2.09 Mon 23.3.09
19 Alfa Testing 6 days? Mon 16.2.09 Mon 23.2.09
20 Beta Testing 10 days? Tue 24.2.09 Mon 9.3.09
21 Final Testing 10 days? Tue 10.3.09 Mon 23.3.09
22 Presentation 3 days? Mon 16.3.09 W ed 18.3.09
23 Prepare presentation 2 days? Mon 16.3.09 Tue 17.3.09
24 Present presentation 1 day? Wed 18.3.09 Wed 18.3.09
25 Final report 13 days? W ed 1.4.09 Fri 17.4.09
26 Write final report 12 days? Wed 1.4.09 Thu 16.4.09
27 Submit final report 1 day? Fri 17.4.09 Fri 17.4.09
28 Demonstration of work 1 day? W ed 22.4.09 W ed 22.4.09
29 Demonstrate project 1 day? Wed 22.4.09 Wed 22.4.09
T W T F S S M T W T F S S M T W T F S S M T W T F S S M T W
1 Dec '08 8 Dec '08 15 Dec '08 22 Dec '08 29 Dec '08
48 | P a g e
ID Task Name Duration Start Finish
1 Final year project 170 days? Thu 28.8.08 W ed 22.4.09
2 Select project and supervisor 16 days? Thu 28.8.08 Thu 18.9.08
3 Sign project list 1 day? Fri 19.9.08 Fri 19.9.08
4 Information gathering 48 days? Mon 22.9.08 W ed 26.11.08
5 Outline project with supervisor48 days? Mon 22.9.08 Wed 26.11.08
6 Research previous work23 days? Wed 1.10.08 Fri 31.10.08
7 System design 23 days? Mon 1.12.08 W ed 31.12.08
8 Server 6 days? Mon 1.12.08 Mon 8.12.08
9 Database 6 days? Mon 8.12.08 Mon 15.12.08
10 System enhancement 13 days? Mon 15.12.08 Wed 31.12.08
11 Implementation 3 days? Thu 1.1.09 Mon 5.1.09
12 Setup server 3 days? Thu 1.1.09 Mon 5.1.09
13 Interim report 12 days? Thu 1.1.09 Fri 16.1.09
14 Write Interim report 11 days? Thu 1.1.09 Thu 15.1.09
15 Submit Interim report 1 day? Fri 16.1.09 Fri 16.1.09
16 Programming and setup 26 days? Mon 19.1.09 Mon 23.2.09
17 Program system enhancement26 days? Mon 19.1.09 Mon 23.2.09
18 Testing 26 days? Mon 16.2.09 Mon 23.3.09
19 Alfa Testing 6 days? Mon 16.2.09 Mon 23.2.09
20 Beta Testing 10 days? Tue 24.2.09 Mon 9.3.09
21 Final Testing 10 days? Tue 10.3.09 Mon 23.3.09
22 Presentation 3 days? Mon 16.3.09 W ed 18.3.09
23 Prepare presentation 2 days? Mon 16.3.09 Tue 17.3.09
24 Present presentation 1 day? Wed 18.3.09 Wed 18.3.09
25 Final report 13 days? W ed 1.4.09 Fri 17.4.09
26 Write final report 12 days? Wed 1.4.09 Thu 16.4.09
27 Submit final report 1 day? Fri 17.4.09 Fri 17.4.09
28 Demonstration of work 1 day? W ed 22.4.09 W ed 22.4.09
29 Demonstrate project 1 day? Wed 22.4.09 Wed 22.4.09
16.1
T F S S M T W T F S S M T W T F S S M T W T F S S M T W T F S
5 Jan '09 12 Jan '09 19 Jan '09 26 Jan '09
49 | P a g e
ID Task Name Duration Start Finish
1 Final year project 170 days? Thu 28.8.08 W ed 22.4.09
2 Select project and supervisor 16 days? Thu 28.8.08 Thu 18.9.08
3 Sign project list 1 day? Fri 19.9.08 Fri 19.9.08
4 Information gathering 48 days? Mon 22.9.08 W ed 26.11.08
5 Outline project with supervisor48 days? Mon 22.9.08 Wed 26.11.08
6 Research previous work23 days? Wed 1.10.08 Fri 31.10.08
7 System design 23 days? Mon 1.12.08 W ed 31.12.08
8 Server 6 days? Mon 1.12.08 Mon 8.12.08
9 Database 6 days? Mon 8.12.08 Mon 15.12.08
10 System enhancement 13 days? Mon 15.12.08 Wed 31.12.08
11 Implementation 3 days? Thu 1.1.09 Mon 5.1.09
12 Setup server 3 days? Thu 1.1.09 Mon 5.1.09
13 Interim report 12 days? Thu 1.1.09 Fri 16.1.09
14 Write Interim report 11 days? Thu 1.1.09 Thu 15.1.09
15 Submit Interim report 1 day? Fri 16.1.09 Fri 16.1.09
16 Programming and setup 26 days? Mon 19.1.09 Mon 23.2.09
17 Program system enhancement26 days? Mon 19.1.09 Mon 23.2.09
18 Testing 26 days? Mon 16.2.09 Mon 23.3.09
19 Alfa Testing 6 days? Mon 16.2.09 Mon 23.2.09
20 Beta Testing 10 days? Tue 24.2.09 Mon 9.3.09
21 Final Testing 10 days? Tue 10.3.09 Mon 23.3.09
22 Presentation 3 days? Mon 16.3.09 W ed 18.3.09
23 Prepare presentation 2 days? Mon 16.3.09 Tue 17.3.09
24 Present presentation 1 day? Wed 18.3.09 Wed 18.3.09
25 Final report 13 days? W ed 1.4.09 Fri 17.4.09
26 Write final report 12 days? Wed 1.4.09 Thu 16.4.09
27 Submit final report 1 day? Fri 17.4.09 Fri 17.4.09
28 Demonstration of work 1 day? W ed 22.4.09 W ed 22.4.09
29 Demonstrate project 1 day? Wed 22.4.09 Wed 22.4.09
S M T W T F S S M T W T F S S M T W T F S S M T W T F S
2 Feb '09 9 Feb '09 16 Feb '09 23 Feb '09
50 | P a g e
ID Task Name Duration Start Finish
1 Final year project 170 days? Thu 28.8.08 W ed 22.4.09
2 Select project and supervisor 16 days? Thu 28.8.08 Thu 18.9.08
3 Sign project list 1 day? Fri 19.9.08 Fri 19.9.08
4 Information gathering 48 days? Mon 22.9.08 W ed 26.11.08
5 Outline project with supervisor48 days? Mon 22.9.08 Wed 26.11.08
6 Research previous work23 days? Wed 1.10.08 Fri 31.10.08
7 System design 23 days? Mon 1.12.08 W ed 31.12.08
8 Server 6 days? Mon 1.12.08 Mon 8.12.08
9 Database 6 days? Mon 8.12.08 Mon 15.12.08
10 System enhancement 13 days? Mon 15.12.08 Wed 31.12.08
11 Implementation 3 days? Thu 1.1.09 Mon 5.1.09
12 Setup server 3 days? Thu 1.1.09 Mon 5.1.09
13 Interim report 12 days? Thu 1.1.09 Fri 16.1.09
14 Write Interim report 11 days? Thu 1.1.09 Thu 15.1.09
15 Submit Interim report 1 day? Fri 16.1.09 Fri 16.1.09
16 Programming and setup 26 days? Mon 19.1.09 Mon 23.2.09
17 Program system enhancement26 days? Mon 19.1.09 Mon 23.2.09
18 Testing 26 days? Mon 16.2.09 Mon 23.3.09
19 Alfa Testing 6 days? Mon 16.2.09 Mon 23.2.09
20 Beta Testing 10 days? Tue 24.2.09 Mon 9.3.09
21 Final Testing 10 days? Tue 10.3.09 Mon 23.3.09
22 Presentation 3 days? Mon 16.3.09 W ed 18.3.09
23 Prepare presentation 2 days? Mon 16.3.09 Tue 17.3.09
24 Present presentation 1 day? Wed 18.3.09 Wed 18.3.09
25 Final report 13 days? W ed 1.4.09 Fri 17.4.09
26 Write final report 12 days? Wed 1.4.09 Thu 16.4.09
27 Submit final report 1 day? Fri 17.4.09 Fri 17.4.09
28 Demonstration of work 1 day? W ed 22.4.09 W ed 22.4.09
29 Demonstrate project 1 day? Wed 22.4.09 Wed 22.4.09
18.3
S M T W T F S S M T W T F S S M T W T F S S M T W T F S S M T
2 Mar '09 9 Mar '09 16 Mar '09 23 Mar '09 30 Mar '09
51 | P a g e
ID Task Name Duration Start Finish
1 Final year project 170 days? Thu 28.8.08 W ed 22.4.09
2 Select project and supervisor 16 days? Thu 28.8.08 Thu 18.9.08
3 Sign project list 1 day? Fri 19.9.08 Fri 19.9.08
4 Information gathering 48 days? Mon 22.9.08 W ed 26.11.08
5 Outline project with supervisor48 days? Mon 22.9.08 Wed 26.11.08
6 Research previous work23 days? Wed 1.10.08 Fri 31.10.08
7 System design 23 days? Mon 1.12.08 W ed 31.12.08
8 Server 6 days? Mon 1.12.08 Mon 8.12.08
9 Database 6 days? Mon 8.12.08 Mon 15.12.08
10 System enhancement 13 days? Mon 15.12.08 Wed 31.12.08
11 Implementation 3 days? Thu 1.1.09 Mon 5.1.09
12 Setup server 3 days? Thu 1.1.09 Mon 5.1.09
13 Interim report 12 days? Thu 1.1.09 Fri 16.1.09
14 Write Interim report 11 days? Thu 1.1.09 Thu 15.1.09
15 Submit Interim report 1 day? Fri 16.1.09 Fri 16.1.09
16 Programming and setup 26 days? Mon 19.1.09 Mon 23.2.09
17 Program system enhancement26 days? Mon 19.1.09 Mon 23.2.09
18 Testing 26 days? Mon 16.2.09 Mon 23.3.09
19 Alfa Testing 6 days? Mon 16.2.09 Mon 23.2.09
20 Beta Testing 10 days? Tue 24.2.09 Mon 9.3.09
21 Final Testing 10 days? Tue 10.3.09 Mon 23.3.09
22 Presentation 3 days? Mon 16.3.09 W ed 18.3.09
23 Prepare presentation 2 days? Mon 16.3.09 Tue 17.3.09
24 Present presentation 1 day? Wed 18.3.09 Wed 18.3.09
25 Final report 13 days? W ed 1.4.09 Fri 17.4.09
26 Write final report 12 days? Wed 1.4.09 Thu 16.4.09
27 Submit final report 1 day? Fri 17.4.09 Fri 17.4.09
28 Demonstration of work 1 day? W ed 22.4.09 W ed 22.4.09
29 Demonstrate project 1 day? Wed 22.4.09 Wed 22.4.09 22.4
W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T
30 Mar '09 6 Apr '09 13 Apr '09 20 Apr '09 27 Apr '09
52 | P a g e