Mobile Solutions
Overview
This is not a formal OSGeo project, just a spot for a few OSGeo folks to share some ideas. The idea is to elaborate foundations of design and implementation of Open Source GIS application(s) for mobile devices.
Our main objectives are to discuss:
- principles of mobile software design
- high usable User Interface on mobile devices
- key functions automation
- usage of latest communication techniques
- portability
Hardware
TODO: What is the best device for mobile GIS application?
Operating Systems / Platforms
This section is devoted to discuss features as well as pros and cons (+/-) of various mobile operating systems and software platforms.
Here are listed platforms we have discussed, in alphabetical order:
Linux
From OpenEmbedded Overview:
OpenEmbedded is a full-featured development environment allowing users to target a wide variety of devices.(...)OpenEmbedded is a tool which allows developers to create a fully usable Linux base for various embedded systems. It has been designed to be able to handle different hardware architectures, support multiple releases for those architectures, and utilize tools for speeding up the process of recreating the base after changes have been made. Currently it can run on any Linux distribution, and plans are in place to allow it to work under Windows.
Note: Familiar's Linux distribution is entirely based on OpenEmbedded system.
See:
- http://familiar.handhelds.org
- http://intimate.handhelds.org
- http://www.microwindows.org
- http://www.openembedded.org
See also:
Pros and Cons
- +
- choice of user environments: GPE, Opie and Qtopia
- compatible with POSIX
- easy software portability
- Open Source Software
- prototypes available: e.g. GRASS on Handhelds
- -
- less popular
Palm OS
See:
Pros and Cons
- +
- available Open Source tool chain - called
- available JVM
- C/C++ programming language
- -
- dedicated for a very specific hardware platform designed entirely by Palm Inc.
- no choice of user environments
- no multitasking support in versions prior to Palm OS Cobalt, version 6.x
- proprietary
Symbian OS
See:
Pros and Cons
- +
- dedicated to devices with very limited resources
- good support for popular IDEs on Linux, Mac OS and Windows
- open in terms of Open Standards
- very popular on smartphones
- very well documented APIs
- very good support for Java
- wide variety of programming languages: C++, Java, Perl, Python, OPL, Visual Basic
- -
- no choice of user environments
- proprietary
Windows CE
See:
See also:
Pros and Cons
- +
- Real-Time Operating System, with full multithreading and multitasking support
- supports wide range of hardware
- very popular on PDAs currently on the market / widely used
- very well supported by Visual Studio 2005
- -
- no choice of user environments
- not compatible with POSIX
- No good free JVM available, both recommended machines IBM J9 JVM and NSICOM CrEme JVM are commercial
- proprietary
- very limited version of C Run-Time library
- Visual Studio 2005 is expansive / no replacement
Windows XP Embedded
From About Windows XP Embedded:
Windows XP Embedded is a componentized version of Windows XP Professional that contains all of the features, functionality, and familiarity of Windows XP Professional.
See:
- http://en.wikipedia.org/wiki/Windows_XP_Embedded
- http://msdn.microsoft.com/embedded/windowsxpembedded/default.aspx
Pros and Cons
- +
TODO
- -
- proprietary
Open Source GIS for Mobile Devices
TODO: Details of mobile GIS application design and implementation
Key Features
TODO: List of key features
Brainstorm
Note: Please, feel free to extend the list of features here.
Question: What do you think about rank features listed in this brainstorm section? It could be achived by putting asterix (*) next to features you think are important. Any other ideas?
This section is devoted to a summary of our discussion on the OSGeo mailing list. List of ideas of Open Source Mobile GIS features:
- User Interface
- configurable UI: turn on/off UI elements, switch to kiosk mode
- create a wizard type tool for the desktop (for example in QGIS) to create data collection forms, etc. to be transported to the handheld device (similar to as ArcPad Forms)
- binding UI action to hardware elements, for example zooming with hardware keys or scrolls
- use of voice capabilities
- ask for operation confirmations (Yes, No, Cancel) and accept answering by speech recognition or by pushing hardware keys
- use of LEDs, for example to indicate states of various operations: GPS location accuracy/low PDOP, edited layer has not been saved, no network connection, synchronization is in progress, catching tracklog/feature vertices with GPS, etc.
- Internationalization
- GIS functionality
- map tools: zoom-in, zoom-out, pan
- integration of map and attributes database
- data query tool
- features editing
- automated and configurable functions like: snapping, polygon closing, layers autosave
- measures
- projections, for example PROJ.4 for Windows CE
- data sources and providers, see #Spatial Data Formats
- remote
- accessed via Web Feature Service
- local
- file based
- local RDBMS, for example #SQLite
- remote
- data synchronization
- GPS functionality
- navigation
- routing from current position
- querying data based on current position
- catch location from GPS, for example to create point on a layer
- signal/protocol logging
- automated map large-scale switching while measuring/catching features with GPS, for example from 1:500 or 1:1000
- Other
- some kind of integration with external devices, for example laser range finder, camera
Spatial Data Formats
This section discusses data formats considered for local spatial datastore on a mobile device. Proposed formats are listed in alphabetical order.
Spatial Data File (SDF)
From Autodesk's FAQ about the SDF format:
Autodesk’s new spatial data file (SDF) is a powerful single file that provides many of the capabilities of a relational database (RDBMS). Each SDF file can contain multiple geometry types (lines, polygons, and points) as well as feature attributes. A spatial data file enables you to organize and manage your data as GIS features, providing a solid foundation for a smooth transition to an RDBMS in the future if the need arises.
Some additional info on the SDF format available at https://fdo.osgeo.org/nonav/docs/SDF/index.html
TODO: We need more details about SDF format! If you know anything about this format, please share your knowledge here. Thanks!
TODO: Is there any specification available to download?
ESRI Shapefile
ESRI Shapefile is a file-based format, simple and easy to use in mobile application, though it does not support complex data relations natively. Important features of ESRI Shapefile format:
- availability of portable libraries: Shapelib and OGR, both work on Windows CE and Linux
- easy to use and create on mobile devices
- very popular format in GIS world
- well-documented format
See:
SQLite
From the SQLite website:
SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine.
SQLite engine seems to be a good candidate for a local geospatial database managed on a mobile device. SQLite features which are mostly interesting for Open Source GIS system for mobile devices include:
- easy to use and create on mobile devices
- highly portable library, works well on Linux PDAs and Windows CE devices (see sqlite-wince)
- Open Source Software
- single-file format
- it's been used in GIS, see SQLite driver for OGR and SQLite driver for GRASS
Existing Projects
Here is the list of various existing GIS projects for mobile platforms:
Open Source
- GRASS Server by Radim Blazek and Luca Nardelli - client-server system providing access to geographic information from different kinds of devices: PCs, PDAs, mobile phones; with speech recognition support.
- GRASS Server Video by Radim Blazek and Luca Nardelli - Video Demo (AVI File 31MB).
- J2ME OGC WMS Client - it is a tool, implemented in J2ME, to communicate with OGC conform WMS servers and display the requested maps.
- mapview - mapview is a package for viewing maps on a Palm OS handheld.
- Navlet - it is a navigation system for mobile devices, gets the positioning from a GPS receiver and displays it on a digital map.
- Spot - combine the power of GPS with worldwide maps and a flexible waypoint management on mobile phone or PDA.