Step by step

The first difficult choice was in the beginning when it was necessary to choose the technology for storing the data and engine for viewing the geographic data. The challenge was set up between these technologies: OpenLayers, PostgreSQL, PostGIS, ArcGIS API for FLEX, ArcGIS API for Silverlight, ArcGIS API for JavaScript, ArcSDE, Google Maps API a Google Fusion Tables. All these technologies are shortly mention in the theoretical part. At the end Google technologies were chosen, it means Google Fusion Tables as a database and Google Maps Javascript API v3 as map engine. These technologies were chosen because they are maintenance-free (you do not have to buy server, install the database or even map engine and manage it), easy to use, innovative and free for non-commercial use. There is limited number of accesses per day, which is really safe for this type of application.

Before programming (main part of this work) was necessary to make few steps, which were really important for successful creation of this application. These steps included questionnaire, meetings, data model changes, creation of catalogue of requirements, creation of a case study and also migration of data.

The questionnaire was set using Google Docs – Form, which provides one of the easiest ways to use questionnaire through web. The answering time was during December 2010 and there were 426 respondents mainly from orienteering. The questions were really simple to make as quick as possible. Every respondent could also write notes to tell us their own opinion. Feedback from this small research gave us many inspirational ideas.

There were also some meetings between Map Archive administrator Zdenek Lenhart and author of this thesis, and also many of them between the head of Czech Orienteering Federation Map Council Jan Langr. The main goal of those meetings was to create a new data model to write down all requirements to the catalogue and create case study document. In the catalogue of requirements there are about seventy records. For every record is set a priority from one to three. During the analysis there a complete system was also invented including the whole mapping agency under the Czech Orienteering Federation. The details will be mentioned in the discussion. Making an application with a complete system of the whole agency would be time consuming. Instead of this much simpler solution providing the most important functionality was chosen. In the catalogue of requirements there were chosen all records with priority one and some of them with priority two.

The migration of the data was divided into three parts regarding the type of data. The Map Archive data includes almost 6000 maps, that means around 20MB for tabular and geographical data, and around 120GB stored in raster images. Firstly map outlines were migrated as a geographical part of the data. Original data were exported from OCAD data format to Shapefile and than using ArcGIS with Export to KML 2.5.5 extension to the KML file, which was resaved in Google Earth for smaller size. The last step was to import data into Fusion Tables using their own GUI directly to the database. Tabular data were exported from Microsoft Access to the DBASE V and then using Microsoft Excel to the CSV file, which is possible to import into the Fusion Tables database. Raster images were migrated in two steps. Firstly watermark was added and TIFF files were saved as JPEG files using Jasc Image Robot. Every image has different resolution, which is stored in EXIF header. Application Picture Resizer 6.0 was used, because it is able to read EXIF header and decides if it is necessary to resample image or not.

Programming was in the beginning just about to try all main functions. The author of the present thesis wanted to be totally sure that the chosen technology is good enough to provide all functions which are necessary for all parts of this application. A demo application was created. Then a document was created, which included specifications of graphic user interface for web designers. The graphic template was made by CobraDesign Company (www.cobradesign.cz). During the period of time they were designing the application more functionality was developed in demo application. In early 2012 both parts were put together, the functionality from demo and graphics from the template.

Afterwards more functions were developed. Most of the programming code was written in PSPad application. It is mostly JavaScript for client side and PHP for server side operations. In this part the Internet was really helpful as a main source of information, especially reference guide, documentation, samples and different user blog with other samples, etc.

During development a second language was added. Nowadays the application is in both Czech and English language. All strings are saved in two different files and each request to the page chooses the string from one of them regarding your browser settings or your choice. That means that all of the pages have to be PHP files.

The application could be divided into two parts. One is for public, which really does not require any authentication and the second part is available just for administrator (people who have their own login and password).

As a public use you can search maps in three different ways, which are typing the name of the map with autocomplete function, using the click on the map as spatial request or using the form for advanced search. The result can be visualized on the map, in table or download to the CSV, XLS or KML file. You can display all maps of the author or the club which you choose. There is also an option in advanced search to type the GPS coordinates or city and the distance you want to search maps around. City will be geocoded by using Google Geocode Service. There is also a possibility to display URL link to whole map composition or to each map. The URL link will be shortened by Google URL Shortener API.

The administrator console offers only a few features more than the public part. Administrator had to use your own Google Account to sign to this application using OAuth2 protocol. Application is registered in the Google Apis console. Afterwards it is controlled if the user has the right to edit both Fusion Tables in which all Map Archive tabular data are stored. After administrators are logged in, four more features appear. These features allow them to insert or edit maps or authors. At this early time of service there will be no availability to delete records, which is also possible from Fusion Tables graphic interface. Inserting and editing of maps also provides the function for drawings the outlines of maps. This functionality is built on Google Maps Drawing Library.