Elevation demo: A trail around Arthur’s Seat in Edinburgh is plotted using the elevation technique.
For more complicated applications such as feature selection, reduced map legend and voice summary the feature extraction itself is an issue as these applications require more than simple pixel colour extraction. We implemented some simple image processing algorithms in JavaScript, including colour histogram comparison and Sobel Edge detection in order to identify what symbols were present on a map image. These experiments were encouraging but also suggested that we might struggle to get the processing speed fast enough, particularly on mobile CPU capacity. There is still a lot of optimization possible in the image processing techniques and it is likely that having these techniques available in JavaScript will prove popular with the HTML5 development community. The recommendation coming from this evaluation is that we develop the elevation chart demo and geology cross section as part of the Digimap service as we believe we have proved this as a concept. The second recommendation is to try to optimize the image processing techniques further and open source the JavaScript code to wider AJAX development community.
2.1.3 HTML5 local database SQL database and OpenLayers
Summary - In this demo we show how HTML5 storage can be used to enable access to geographic features in a mobile web browser even when the device is off line. While online, the user can enter a search term which triggers a feature request to the Unlock service. The results of the search can be stored in the client using the HTML5 local storage interface. Once offline, these results can be retrieved and displayed as pins on an OpenLayers map. In this evaluation we investigated how HTML5 storage can be used to enable access to geographic features in a mobile web browser even when the device is offline. HTML5 Local Storage provides a way for developers to cache data in the browser using a lightweight SQL database. Following the HTML5 specification [1] any browser supporting the technology is required to alert the user that a website is trying to cache data and imposes an initial limit of 5MB on the amount data stored.
While online, the user can enter a search term which triggers a feature request to the EDINA Unlock service [10]. The results of the search can be stored in the client using the HTML5 local storage interface. Once offline, these results can be retrieved and displayed as pins on an OpenLayers [5] map. The technique we developed retrieved features in JSON format [11] from the Unlock Places service and stored the JSON as a string in the iPhone browser database. When offline the application could use the Local Storage API to retrieve the JSON and this in turn this JSON could be rendered in the OpenLayers mapping API. It is clear this technology has great potential in educational settings such as fieldtrips both for offline data retrieval and caching user generated data. Other potential uses include storing feature data to allow feature selection, reduced legends, active legends, text and speech summary and even simple vector mapping. Again this was a very popular topic on our blog with total 828 views in 3 months, averaging 250 views month or 10 vies a day.