You are on page 1of 140

Geopaparazzi

Reference Manual
HydroloGIS S.r.l.

Revision 5.3.0
2017-02-26
Table of Contents
................................................................................................................ vii
1. Because not all paparazzis are evil! ........................................................ 1
2. Installation ............................................................................................. 3
2.1. From Google Play ....................................................................... 3
2.2. Manual Installation ...................................................................... 4
3. The Main View ..................................................................................... 11
3.1. Action Bar ................................................................................. 12
3.2. The panic button ....................................................................... 13
3.3. The dashboard buttons .............................................................. 14
3.3.1. Notes ............................................................................. 14
3.3.2. Project Information .......................................................... 18
3.3.3. Gps Logging ................................................................... 19
3.3.4. Map View ....................................................................... 21
3.3.5. Import ............................................................................ 21
3.3.6. Export ............................................................................ 26
4. The Main View Menu ........................................................................... 29
4.1. Select tile source ....................................................................... 30
4.2. Create a new project ................................................................. 32
4.3. Load an existing project ............................................................. 33
4.4. GPS Status ............................................................................... 33
4.5. Exit ........................................................................................... 33
5. The Map View ..................................................................................... 35
5.1. Map view tools .......................................................................... 36
5.2. Map navigation .......................................................................... 37
5.3. Add Notes ................................................................................. 39
5.4. The Notes List .......................................................................... 39
5.5. Add Bookmark .......................................................................... 42
5.6. The Bookmarks List ................................................................... 44
5.7. Gps log analysis tool ................................................................. 44
5.8. Measure tool ............................................................................. 45
6. The Map View Menu ............................................................................ 47
6.1. Gps data list ............................................................................. 48
6.2. Spatialite data list ...................................................................... 50
6.3. Go to ........................................................................................ 51

iii
Geopaparazzi Reference Manual

6.4. Share position ........................................................................... 53


6.5. Import mapsforge data ............................................................... 54
6.5.1. Points ............................................................................ 55
6.5.2. Ways ............................................................................. 56
7. Vector Editing ...................................................................................... 59
8. Settings & Preferences ......................................................................... 61
8.1. Gps Settings ............................................................................. 62
8.2. Sms Settings ............................................................................. 63
8.3. Screen Settings ......................................................................... 64
8.4. Spatialite Settings ...................................................................... 65
8.5. Custom sdcard path .................................................................. 65
8.6. Force Locale ............................................................................. 65
8.7. Cloud Projects Sync Settings ..................................................... 66
9. Supported datasets .............................................................................. 67
9.1. Basemaps ................................................................................. 67
9.1.1. Mapurls: Custom tiles based maps ................................... 68
9.1.2. MBTiles .......................................................................... 70
9.1.3. Mapsforge maps ............................................................. 70
9.1.4. RasterLite2 ..................................................................... 72
9.2. Overlay maps ............................................................................ 73
10. Handling datasets from and for Geopaparazzi ...................................... 75
10.1. STAGE 0.7 .............................................................................. 75
10.1.1. Installation .................................................................... 76
10.1.2. MBTiles creation ........................................................... 77
10.1.3. Converstion of Geopaparazzi data to GIS data ................ 78
10.2. Spatialite GUI .......................................................................... 79
10.3. OGR ....................................................................................... 84
10.4. GDAL ..................................................................................... 84
11. Geopaparazzi & gvSIG ....................................................................... 87
12. Using form based notes ...................................................................... 89
12.1. Supported tags (via the example form) ...................................... 90
12.1.1. Text .............................................................................. 90
12.1.2. Multiple Text ................................................................. 91
12.1.3. Text with key and label .................................................. 91
12.1.4. Numbers ...................................................................... 92
12.1.5. Date ............................................................................. 93

iv
Geopaparazzi Reference Manual

12.1.6. Time ............................................................................. 94


12.1.7. Labels .......................................................................... 95
12.1.8. Checkbox ..................................................................... 96
12.1.9. Combos ....................................................................... 97
12.1.10. Pictures ...................................................................... 99
12.1.11. Sketches ................................................................... 100
12.1.12. Map screenshot ........................................................ 101
12.2. Other supported tags ............................................................. 101
12.2.1. hidden ........................................................................ 101
12.2.2. primary_key ................................................................ 102
12.2.3. Constraints ................................................................. 102
12.3. Create a simple form to map fountains .................................... 102
12.3.1. Sections ..................................................................... 102
12.3.2. Form subsections ........................................................ 103
12.3.3. Form elements ............................................................ 103
12.3.4. Finalize the form ......................................................... 104
13. The Geopaparazzi Database ............................................................. 105
13.1. Database tables described ..................................................... 105
14. Use case: Use of Geopaparazzi in Egypt to create a map to improve the
management of small wastewater treatment plants. .................................. 109
14.1. Introduction ........................................................................... 109
14.2. Monitoring activities ............................................................... 111
14.3. Technical background ............................................................. 113
14.4. Acknowledgement .................................................................. 116
15. Projects that base on Geopaparazzi .................................................. 119
15.1. gvSIG Mobile ......................................................................... 119
15.2. Gasdroide - Natural Gas Emission Flux Measurements on
Android platform ............................................................................. 119
15.3. Disaster Management Information System ............................... 120
15.3.1. TrashMapper .............................................................. 120
15.3.2. Trackoid ..................................................................... 121
15.3.3. Your app here ............................................................. 121
16. Appendix .......................................................................................... 123
16.1. The finalized tags.json of the Forms section ............................. 123
16.2. Complete tag.json for the Egypt usecase ................................. 126

v
vi
vii
viii
1
Because not all paparazzis are evil!

Geopaparazzi is a tool developed to do very fast qualitative engineering/


geologic surveys.

Even if the main aim is in the field of surveying, it contains tools that can be of great
1
use also to OpenStreetMappers as well as tourists that want to keep a geo-diary.

Figure 1.1. Geopaparazzi on a nexus 5

The main aim of Geopaparazzi is to have a tool that:

1
http://www.osm.org

1
• fits in any pocket and can be always at hand, when needed
• gives the possibility to take georeferenced and possibly orientated pictures
during a survey, with further possibility to import them into GIS applications
2
like gvSIG
• is able to easily exploit an internet connection, if available
• is extremely easy to use and intuitive, providing just few important
functionalities

The main features available in Geopaparazzi are:

• georeferenced notes
• georeferenced and oriented pictures
• gps track logging
• form-based data surveys
• easy export of collected data
• a map view for navigation with support for raster tiles and spatialite vector data

Geopaparazzi is available only for the Android Operating


System.

2
http://www.gvsig.org

2
2
Installation

2.1. From Google Play

• connect your Android device to internet


1
• open the Play Store
• type geopaparazzi within the Search textbox

Figure 2.1. Google Play Store presents 2 versions of Geopaparazzi.

• select the first app (not Geopaparazzi 3)

1
https://play.google.com/store

3
Manual Installation

Figure 2.2. The right choice: Geopaparazzi (not Geopaparazzi3)

• follow installation procedures

2.2. Manual Installation

The following example explains how to install version 4.4.0. We suggest to always
use the latest version available.

2
• from your devices visit the geopaparazzi releases page making sure to load
the desktop site (not the mobile site).
• select the releases tab and pick the last available release:

2
https://github.com/geopaparazzi/geopaparazzi

4
Manual Installation

5
Figure 2.3. Geopaparazzi github page.
Manual Installation

• select the latest release apk download link:

6
Manual Installation

7
Figure 2.4. The releases panel.
Manual Installation

• the apk installation file will download on the device:

Figure 2.5. The download dialog.

• and the user will be prompted to open the file:

8
Manual Installation

9
Figure 2.6. The download dialog.
Manual Installation

• opening the file will propose the installation:

Figure 2.7. The download dialog.

• select install and follow the installation procedure.

10
3
The Main View

Once you launch Geopaparazzi, the dashboard appears.

All the features that need to be quickly accessed, such as toggling GPS on and
off, creating a note or taking a picture, as well as visualizing the current position
on a map, are accessible from the dashboard.

Figure 3.1. The dashboard of geopaparazzi.

From the dashboard the following primary functions can be accessed:

• the action bar functions


• take notes
• view or modify the project metadata
• take a GPS Track

11
Action Bar

• switch to Map View


• import Data
• export Data

3.1. Action Bar

The action bar, from right to left, presents the following functions:

• the main menu


• the general settings button
• the gps and map information button

The info button shows information about the current selected map and the status
of the gps. If the gps has acquired a fix, information about the position is given:

Figure 3.2. Information shown when tapping the info button.

The gps status icon can be of the following colors: RED if


the GPS is not switched on, ORANGE if the GPS is on but
no fix was acquired, GREEN if the GPS is on and has fix,
but no log is being recorded and BLUE if the GPS is logging.

12
The panic button

3.2. The panic button

At the bottom of the view the orange Panic Button is visible. Once pushed it leads
to the panic! view, which presents two buttons:

• the PANIC! button


• the just send position button

Figure 3.3. The panic panel.

The panic button sends a request for help sms with the last available GPS position
to a phone number that can be configured in the [settings] of geopaparazzi.

If no number is configured, the system sms dialog opens up with a precompiled


message and the user will have to select the contact to which to send the
message:

13
The dashboard buttons

Figure 3.4. The system sms dialog

The just send position button opens up the sms dialog directly filling in the position
without any request for help message. It is meant for quick sending the current
position via sms so that it can be opened from Geopaparazzi.

3.3. The dashboard buttons

3.3.1. Notes

Geopaparazzi supports 4 different types of notes:

• text notes
• picture notes
• sketch notes
• form-based notes

To access them you can tap on the first icon of the dashboard, the take notes
icon. Once you tap on it, the take notes dialog appears:

14
Notes

Figure 3.5. The view from which notes are taken.

The switch button at the top of the view gives the possibility to choose whether
the note will be inserted in the current gps position (in case gps is on) or in the
the center of the map (the crossfade).

At the right end of the actionbar the quick note buttons are placed. From left to
right:

• The Quick text note button, which opens a simple dialog, inside which the
text note can be written. Want to save the note? Tap on the ok button. Want
to trash it? Tap on the cancel button.

The position of the note is taken when the note view is


opened, not closed, in order to have all the time needed to
insert the text while moving.

15
Notes

Figure 3.6. The simple text note dialog.

• The Quick picture note button, which will launch the camera application
that comes with your android system which gives lots of possibilities of
customization of the images size, focus and so on. This has one drawback,
which is the fact that we are not able to pick the azimuth of the camera shot at
the exact moment it is taken. The azimuth is therefore recorded at the moment
the camera application is closed. That means that to have a realistic azimuth,
you need to take the picture and stay with the device in the same position of
the snapshot until you have closed the camera app.
• The Quick sketch note button, which allows you to draw on a small panel and
save your sketch. One can change stroke style, color, and width. The sketch
1
panel comes from the open source app Acrylic Paint .

1
https://github.com/valerio-bozzolan/AcrylicPaint

16
Notes

Figure 3.7. An example of taking sketch note.

Once a simple note has been saved, it can’t be modified.

Form based notes

Form based notes are complex notes that allow for better surveys. Some
examples are available in the base installation of geopaparazzi.

The example button in particular shows all the possible form widgets available:

Figure 3.8. An example of form based notes.

The notes can be saved and modified at any time.

17
Project Information

To understand how to create forms, have a look at the section dedicated to ???.

3.3.2. Project Information

The project view shows information about the project database.

It shows:

• the database file name


• the project name
• the project description
• project notes
• creation and last closing date
• the user that created the project
• the user that last modified the project

Apart of the dates, that are set by the system, all data can be changed and saved
through the save button.

Figure 3.9. The project metadata view.

It is also possible to add additional metadata to the project information. The plus
button at the right side of the actionbar openes an input dialog that allows to define
a key, a labell and a value for the new metadata entry:

18
Gps Logging

Figure 3.10. The new metadata entry dialog.

3.3.3. Gps Logging

To start logging, the user simply has to push the logging button.

Once it is tapped, the user is prompted to insert a name for the log
or to accept the one generated based on the current date and time
( log_YYYYMMDD_HHMMSS ).

It is also possible to attach the new log to the last created log by checking the
box: Continue last log. In that case the proposed name of the log (or any user
inserted) is ignored, since no new log is created.

19
Gps Logging

Figure 3.11. The new log dialog. From here it is possible to continue the last log.

Once logging has started, the logging button will turn orange and the gps status
icon blue.

Figure 3.12. The stop logging button with its red sign.

To stop logging, the same button is used. Once tapped, the user is prompted to
verify the action.

20
Map View

3.3.4. Map View

The map view presents a map and a set of tools that can be used to navigate the
map, make measurements or edit datasets. The various tools are presented in
the section dedicated to the Section 3.3.4, “Map View”.

Figure 3.13. The map view.

3.3.5. Import

Figure 3.14. The import view.

Geopaparazzi supports the import of:

21
Import

• gpx datasets
• bookmarks
• WMS
• mapurl configuration files for online tiles
• default spatialite databases
• geopaparazzi cloud projects

GPX

By tabbing on the GPX icon, the user is taken to a simple file browser.

Figure 3.15. The simple geopaparazzi file browser.

The browser only shows folders and files with gpx extensions. On selection, the
file is imported.

Bookmarks

Bookmarks can be imported from csv files that must be placed in the root of
the sdcard and the name of which has to start with the part bookmarks and to
end with the extension .csv.

Geopaparazzi will let the user select the files to import if more than one are
available and load the bookmarks from there and import only those that do not
exist already.

22
Import

The format of the csv is: NAME, LATITUDE, LONGITUDE as for example:

Uscita Vicenza Est, 45.514237, 11.593432


Le Bistrot, 46.070037, 11.220296
Ciolda, 46.024756, 11.230184
Hotel Trieste, 45.642043,13.780791
Grassday Trieste,45.65844,13.79320

WMS
2
It is possible to import basemap configurations from WMS getCapabilities URLs.

Figure 3.16. The WMS dialog.

Once the getCapabilities URL is inserted and the refresh button is tapped, the list
of available layers is presented. The selected layer is then imported in the list of
available tile sources.

Mapurls

Since the creation of a mapurl configuration file for WMS services is complex, a
small service has been created, that automatically generates mapurls for known
services.

Once chosen the services query view appears:

2
https://en.wikipedia.org/wiki/Web_Map_Service

23
Import

Figure 3.17. The TANTO mapurl service view.

If requested, the service will consider the device’s position to gather only dataset
in that area. Also some minor text filters can be added.

An example with the gps placed in Italy is the following:

The service can then simply be downloaded. It will install the mapurl inside your
system. The user is prompted for a custom name to name the service after, else
the original name will be used. Since the original name could be duplicated in
different services, the prefix tanto_ will be added in that case.

This service is in an experimental state right now, but it works fairly well. If you
3
experience problems, please report them at the homepage of the service .

The same link also contains instruction about how to suggest to suggest new
WMS services.

3
http://tanto.github.io/geopapurls/

24
Import

Default databases

When tapping the default database import button, the user is asked to name the
new database to create. Let’s use the default name proposed based on the current
date and time:

The newly created database is editing ready and contains a layer of each type.
Since it is a template db, the attributes table have been created as generic fields
with names from field1 to field10. It is very generic and simple, but still of use
when you have to quickly collect some data with attributes and have no database
prepared..

25
Export

3.3.6. Export

Figure 3.18. The export view.

Geopaparazzi supports the export to the following formats:

• kmz
• gpx
• bookmarks
• images
• geopaparazzi cloud projects

KMZ

It is possible to export all collected data to kmz format.


4
KMZ is well known as it can be visualized in the 3D viewer Google Earth .

In the export:

• the notes are placed as red pins having the first letters of the text content as
label
• the images are placed as yellow pins

4
http://earth.google.com/

26
Export

• the gps logs are visualized as tracks

GPX

The lines and notes data are exported to gpx, creating tracks and waypoints.

Bookmarks

Bookmarks can be exported to a csv file that has to be called bookmarks.csv


and must be placed in the root of the sdcard.

Geopaparazzi will write to the file only those bookmarks that do not exist already
in the csv.

Images

Since images are kept inside the database, this export is handy if the user needs
to use the images inside a different software. In this case all the images of the
project are exported inside a folder and a popup message shows the folder path.

27
28
4
The Main View Menu

The main presents the following options:

• Select tile source: allows the selection of a map tile source to be used as base
map
• Create new project: this will create a new project on the sdcard. A timestamp
based name is proposed to the user
• Load existing project: gives the possibility to browse the filesystem to select an
existing geopaparazzi project folder (the one with the database in it) to load it
• GPS Status: opens a GPS status application to check on satellites visibility
• Advanced: shows some advanced user options such as the application log or
custom database queries
• About: visualises the about page, which contains infos, links and
acknowledgements
• Exit: shuts down geopaparazzi properly. This is important, because
geopaparazzi is meant to continue logging also in background. Therefore, if
one uses the android home button to exit the app, it will continue to work in
background, most probably draining your battery through GPS use.

29
Select tile source

Figure 4.1. The main view menu.

4.1. Select tile source

From the main menu, when pushing the tile source button, the list of available tile
sources are presented, divided by folder:

Figure 4.2. The basemaps view.

Each map source has a name and a type description between brackets.

At the current time 4 types are supported:

30
Select tile source

• Map
• Mapurl
• MBTiles
• RasterLite2

The supported datasets section lists and describes all supported map types.

Through the button at the top of the view the user can filter the source types to
show.

Figure 4.3. The map type filter dialog, set to only show MBTiles sources.

which makes searching simpler when a lot of sources are present on the device.

31
Create a new project

Basemaps can be loaded from the device storage through the two buttons at the
bottom of the view. The right one allows to pick a single file to add it as a basemap,
while the left one allows to bulk load a complete folder of maps.

4.2. Create a new project

When a new project is created, the user is prompted to insert a name for the new
project file. This is the name that will be given to the database file that contains
all data surveyed in Geopaparazzi.

32
Load an existing project

Figure 4.4. The new project input dialog.

Once the name is defined, an new empty database is created and Geopaparazzi
is restarted and opened loading the new created project.

4.3. Load an existing project

Existing projects can be loaded using a simple file browser from within
Geoapaparazzi. The Geopaparazzi project files are visualized with a different icon
to help the user to choose the proper files.

4.4. GPS Status

1
The GPS status entry launches the open source application GPS test . The app
shows the current status of the satellites fix and a skymap. This often helps to
understand why the GPS is not working.

4.5. Exit

1
https://play.google.com/store/apps/details?id=com.android.gpstest

33
Exit

The exit button closes Geopaparazzi and stoppes any ongoing logging and sensor
activity.

This might seem obvious, but it is important to note that this is the only way to
properly close Geopaparazzi. Pushing the home button of the device will not
close Geopaparazzi, which will continue any activity started. This is important,
because it makes very long loggings possible even if interrupted by phone calls
or other uses of the device.

Often users that ignore this, after pushing the home screen and thinking that
Geopaparazzi has been closed, experience a faster battery drop, because of the
active application in the background.

34
5
The Map View

The map view is the central view of the application. It can be used to view the
current gps position overlayed on maps and vector datasets.

Figure 5.1. The map view.

1
The map engine comes from the mapsforge project.

The supported datasets section lists and describes all supported map types. Just
to cite a few, one can view:

1
http://code.google.com/p/mapsforge/

35
Map view tools

2
• OpenStreetMap maps both when online (downloading new tiles) and offline
(visualizing those that were cached during online mode)
3
• mbtiles databases
4
• local and remote TMS tiles
• mapsforge vector files

5.1. Map view tools

The map view has a set of tools that can be exploited to interact with the map.

When first launched, the tools are already visible on the map. To have a cleaner
mapview, the user can long-tap on the upper right menu button to toggle the
visibility of the tools.

Figure 5.2. The map view with disabled tools.

Available tools are:

• Left screen side

◦ add note (the same that is accessed from the dashboard) and list notes
(long tap)

2
http://www.openstreetmap.org/
3
http://www.mapbox.com/developers/mbtiles/
4
http://wiki.osgeo.org/wiki/Tile_Map_Service_Specification

36
Map navigation

◦ add bookmark and list bookmarks (long tap)


◦ activate the gps log analizer
◦ activate the measure tool
• Right screen side

◦ the context menu button


◦ the zoom in and out buttons
• Lower center

◦ battery status
◦ center screen on GPS position and GPS status button
◦ editing tools

Figure 5.3. The map view with all map tools visible.

5.2. Map navigation

The navigation of the map is probably the most basic and important part.

• pan: panning of the map, i.e. moving the map around is simply done by
dragging the map with a finger. While panning, the current longitude and
latitude of the map center are displayed.

37
Map navigation

• zoom: zoom in and out can be done in different ways. There are the zoom in/
out buttons at the lower right part of the map. It is also possible to zoom in
by double-tapping on the map. Zoom in and out can also be achived through
5
pinch-zoom gestures .
• center on gps: through the lower center button it is possible to center the map
on the gps position. The button also shows the status of the GPS the same
way as the icon on the main view’s action bar.

5
https://en.wikipedia.org/wiki/Multi-touch

38
Add Notes

5.3. Add Notes

Figure 5.4. The view from which notes are taken.

The add notes button opens the same notes view as the button on the dashboard.
There is only once difference. Since notes can be added both in the gps position
and in the middle of the map, to open the add note view from the dashboard, the
GPS is required to have a fix.

Instead from the map view the user can open the add note view even without
GPS signal, in which case he will be allowed to insert notes only in the map center
position.

For further information about taking notes, visit the notes section.

5.4. The Notes List

The notes list shows all the available notes, both text and image notes.

39
The Notes List

Figure 5.5. The notes list view.

The icon on the right side of the actionbar allows the user to sort the notes by
different modes:

• None: inertion order


• By Name and inverse: sorts the notes by their name
• By Mapcenter distance and inverse: sorts the notes by the distance from the
current mapcenter position

Figure 5.6. The notes sort order dialog.

40
The Notes List

In the upper part of the view there is a textbox that helps to filter out a particular
note based on its name.

Figure 5.7. Notes can be filtered by text.

At the right side of the list 2 icon are available. The left one positions the map on
the selected note’s position while the rigth one opens a menu:

Figure 5.8. The note menu.

From the note menu the user is able to:

• edit form based notes or view simple notes

41
Add Bookmark

• share the note through social networks


• delete the note
• use the current note as a filter. All notes with the same name will be visible.
• access the submenu related to all notes

Figure 5.9. The submenu that considers all notes.

From the all-notes submenu the user can:

• select all notes


• invert the current selection
• delete the selected notes

5.5. Add Bookmark

Bookmarks are in a layer on their own, that contains saved settings of the current
map view. When a bookmark is added, the user is prompted to insert a name for
the bookmark or leave the generated name based on the current time and date.

42
Add Bookmark

Figure 5.10. The add bookmark dialog.

When a bookmark is added, a small star is added on the map in the center of
the screen.

Also the map bounds and zoom are saved. That way one can return to the
scenario that the bookmark represents in any moment.

It is possible to tap on the bookmark to read its label.

Figure 5.11. A tapped bookmark.

43
The Bookmarks List

5.6. The Bookmarks List

The bookmarks list shows all the saved bookmarks.

In the upper part there is a textbox that helps to filter out a particular bookmark
based on its name.

The user has 4 options, as the icons on each bookmark entry shows:

• go to the bookmark location (left icon)


• edit the bookmark
• delete the bookmark

Figure 5.12. The list of bookmarks.

5.7. Gps log analysis tool

The log analysis tool allows to analyze the various positions of a gps log.

Once enabled, one can simply touch the screen near a gps log and information
about the nearest log point will be shown. Also the color of the text will be the one
of the currently queried log:

44
Measure tool

Figure 5.13. The GPS log analysis tool.

5.8. Measure tool

Activating the measure tool puts the app in measure mode. This mode disables
the ability to pan the map while enabling the possibility to draw a line on the map
and measure the line drawn.

The approximate (the distance is calculated without considering elevation deltas


and with the coordinate picking precision of a finger on a screen) distance is shown
in the upper part of the map view.

When active, the measure tool has a red colored icon, when inactive the icon is
green instead.

45
Measure tool

Figure 5.14. An example of qualitative measurement on the map.

46
6
The Map View Menu

The map menu gives the possibility to access some additional map tools:

• access the gps data list


• access the spatialite data list.
• toggle the scalebar
• open the compass
• toggle automatic centering on the gps position
• center the view on the current base map (if possible)
• go to a location
• share the current position
1
• view the data visible in the viewport in Mixare
• import data from the underlying mapsforge map

1
http://www.mixare.org/

47
Gps data list

Figure 6.1. The map menu.

6.1. Gps data list

The gps data list shows the data surveyed, both points and tracks.

Figure 6.2. The gps data view.

In the actionbar there are possibilities to select all, unselect all and merge selected
logs. The first icon from left is the notes properties button. From there some
properties of the notes can be set.

48
Gps data list

Notes can be visualized as icons or as circular shapes. The size, color and opacity
can be customized by the user. This can be usefull in those cases in which many
notes have to coexist in a small space for better readability.

It is also possible to show the label for the note and customize its size and halo.

Figure 6.3. The notes properties view.

The list of gps logs gives the possibility to customize the logs. It is possible to
change the visibility of the single track using the checkbox. The icon on the rigth
side of each entry opens the gps log properties panel:

Figure 6.4. The gps log properties panel.

49
Spatialite data list

From the properties panel it is possible to:

• change the name of the track


• check the start and end date and time
• update and read the track length
• enter the track style panel to change stroke and fill
• zoom to the first or last point of the track in the map view
• chart the track. The chart has two axes, speed [km/h] on the left and elevation
[m.s.l.] on the right.

Figure 6.5. The GPS log chart.

• remove the track

6.2. Spatialite data list

The spatialite data list view holds the list of loaded spatialite databases. For each
database its spatial tables are shown and each table can be made visible or
hidden through the checkbox on each entry.

The rendering order can be changed through a combobox at the left side of each
entry.

50
Go to

New databases can be added throught the 2 buttons at the bottom of the view,
by single file or folder.

To remove a database longtap on its entry.

Figure 6.6. The list of spatialite based data.

At the right part of each entry a menu is available, which allows the user to change
the style and labelling of the features in the layer, as well as its stroke dash and
zoomlevel visibility. It is also possible to zoom to a given layer extent.

6.3. Go to

The go to function has two possibilities:

• go to coordinate
• use geocoding and/or routing

51
Go to

In the go to coordinate panel it is possible to insert lat/long coordinates and


navigate to the inserted point on the map view:

Through geocoding it is possible to insert some address and find its location (uses
google maps geocoding).

52
Share position

From the same panel it is possible to create a route from the current position to
the inserted location.
2
The routing service used is OSRM .

Once the OK button is tapped, the route is calculated by the service starting from
the current map center to the destination point. The route is then downloaded and
placed in the gps logs tracks.

Figure 6.7. The fresh downloaded route from Bolzano to Rome.

6.4. Share position

The share position entry opens the usual sharing dialog of Android:

2
http://project-osrm.org/

53
Import mapsforge data

3
If for example telegram is chosen, the sent link will look like:

6.5. Import mapsforge data

The mapsforge tiles are generated on the device from a particular vector format.
This means that there are information available in the database. Problem is that,
very very simply put, the information contained is extracted differently at different
zoom levels, because in fact the library and the format have been done that way
to allow best rendering performance.

But still it is possible to extract almost everything we see, which is nice.

Let’s see how this works. For this to work it is mandatory that the loaded
background map is of type "map". Assume you have a job to do, are out in
the field and want view information overlayed on the ortofoto pictures from the
local WMS service.

Well, the map file you get from mapsforge looks like the following:

Once the import mapsforge data has been chosen, its panel appears:

3
https://telegram.org/

54
Points

From the view you can see that 2 types of data can be imported: points and ways.

6.5.1. Points

Since the points are often visible on a different zoomlevel then the current, also 3
zoomlevels below the current are investigated to extract data and double points
are not considered. So if you start this at zoomlevel 16, you will also get 17, 18,
19. Since the same are at a different zoomlevel will have many more tiles, about
10000 tiles are read to import the data.

You can add a filter text to import only tags containing a given text or exclude all
those containing the text.

Points are imported in the current projectdatabase and saved as forms notes
containing all the values Openstreetmap has. As such they can also be edited.

All imported notes have a (MF) in their name. That is done so one can quickly
select and remove them. Believe us, that is a feature you want to have since such
imports can generate very crowded notes lists.

55
Ways

Figure 6.8. The notes list after a mapsforge import.

6.5.2. Ways

Many types of ways are stored in the mapsforge map files and many of them are
actually related to areas.

The user can choose to import:

• ways: roads, railways, cableways and similar


• waterways: lines that represent water
• contours: contour lines if they are available

Since these data are heavy, the data are imported into a dedicated
spatialite database. A database for mapsforge extracted data is automatically
created if there is none present. You will find a database named
mapsforge_extracted.sqlite always present in your maps folder. And you will
find 3 layers always present in the spatialite data layers: osm_waterlines,
osm_roads and osm_contours.

56
Ways

Figure 6.9. The mapsforge database and layer that host imported data.

Just select the data you want to import and push the start button. In the case you
selected all data types, you should see first an import dialog like this:

Figure 6.10. The mapsforge import dialog.

and then something like this:

57
Ways

Depending on what has been imported first, the labels might not be coming from
the right osm field. In that case it can be simply changed in the spatialite layer
settings. Refer to the spatialite data list section.

58
7
Vector Editing

to be done

59
60
8
Settings & Preferences

The preferences page is divided in main categories:

Figure 8.1. The settings view.

61
Gps Settings

8.1. Gps Settings

Figure 8.2. The gps settings view.

In the gps preferences it is possible to

• define the time interval for taking a point when in logging mode
• define the minimum distance in meters, within the taken gps point is not added
to the gps log. This is useful for example in the case in which the user stops
during logging and the gps continues to supply points (due to the inaccuracy),
while instead the user stands still in a point.
• have the mapview recentered on the gps position when the position reaces
the screen border (usefull while driving)
• use network based position instead of GPS position. This can be useful for
testing purposes. The network based position is by no means precise!

62
Sms Settings

8.2. Sms Settings

Figure 8.3. The sms settings view.

It is possible to activate an SMS catcher. If activated, the phone listens to incoming


short messages containing the word:

GEOPAP

If such a message comes in, the phone answers with an SMS to the incoming
number by sending the last known position.

From here it is also possible to insert the panic numbers(s), i.e. the numbers to
which a status update is sent when the panic button is pushed.

63
Screen Settings

8.3. Screen Settings

Figure 8.4. The screen settings view.

In the screen preferences it is possible to

• change the map center cross properties (size, color, stroke width)
• change the mapsforge map text size factor (normal is 1. To make text bigger,
increase the value)
• enable the always screen on mode
• toggle the use of metric/imperial units
• enable settings to optimize rendering for high density displays

64
Spatialite Settings

8.4. Spatialite Settings

Figure 8.5. The Spatialite settings view.

In the Spatialite preferences it is possible to enable the Spatialite Recovery


Mode

When should Spatialite Recovery Mode be used?

When a new Database has been added and the geometry does not show up, the
preference needs to be activated and Geopaparazzi restarted.

On restart faulty entries in the databases will be PERMANENTLY corrected


where possible. Since the process might be time consuming, after a recovery, the
settings is switched off again.

8.5. Custom sdcard path

This can be used for those devices that have more than one external storage
recognized by the device.

Use it at your own risk. We use it regularly, but it needs to be done properly.

8.6. Force Locale

The locale of Geopaparazzi can be changed regardless of the locale used for
Android.

65
Cloud Projects Sync Settings

This setting opens a menu in which a locale can be chosen between the available
ones:

Figure 8.6. The force locale dialog.

After that, each newly loaded view will be in the new locale.

8.7. Cloud Projects Sync Settings

This setting allows the user to set a server with user and password, to which
upload and from which download geopaparazzi projects.

Known projects that allow for such aconnection are:

1
• gvSIG Desktop with the hydrologis4gvsig plugins installed
• gvSIG Online

1
http://www.gvsig.org

66
9
Supported datasets

Geopaparazzi’s mapview supports several map-types: vector or raster, editable


or static. Also, maps can be pulled live from an Internet server, or be generated
locally from a map data file for offline operation. You can switch between these
modes in settings.

There are two types of maps in Geopaparazzi:

• basemaps: the background map in the map view


• overlay maps: vector maps that can be shown on top of the basemaps

The following sections will detail various map source types. In case you want
to prepare tailored map datasets as map sources in one of below map formats,
please refer to the data preparation section.

9.1. Basemaps

Basemaps can be of 4 different types:

• mapurls
• mbtiles
• mapsforge maps
• rasterlite2

67
Mapurls: Custom tiles based maps

9.1.1. Mapurls: Custom tiles based maps

Mapurl files are simple text files containing definitions of tile sources, either local or
remote. A mapurl file must have the file extention/suffix .mapurl to be recognised
by Geopaparazzi.

Remote Tile sources

By default, Geopaparazzi is configured to load map mapnik rendered tiles live


from the Internet, from OpenStreetMap’s tile server. Compare the contents of the
included mapnik.mapurl file for how this is done. You can exchange the OSM
tile server with any other tile server as long as it adheres to the Mapurl URL
conventions. The basics are:

url=http://tile.openstreetmap.org/ZZZ/XXX/YYY.png
minzoom=0
maxzoom=19
center=11.42 46.8
type=google
format=png
defaultzoom=13
mbtiles=defaulttiles/_mapnik.mbtiles
description=Mapnik - OpenStreetMap and contributors, ODbL.

The mandatory information is:

• the url of the tile server, having:

◦ ZZZ instead of the zoom level


◦ XXX instead of the tile column number
◦ YYY instead of the tile row number

This information can be tested also in a browser


http://tile.openstreetmap.org/9/271/182.png has ZZZ=9,
XXX=271 and YYY=182

• the minimum zoom level that is supported


• the maximum zoom level that is supported
• the center of the tile source

68
Mapurls: Custom tiles based maps

1
• the type fo tile server. Currently both standard TMS and google based
numbering of the tiles is supported by the line:

◦ type=tms
◦ type=google
• the backup mbtiles path. This one is used to save downloaded tiles in the local
mbtiles database

Also WMS works as remote source, as long as it can be accessed through an


EPSG:4326 projection.

An example for the url part is

url=http://sdi.provincia.bz.it/geoserver/wms?
LAYERS=inspire:OI.ORTHOIMAGECOVERAGE.2011&TRANSPARENT=true&FORMAT=image/
png&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application/
vnd.ogc.se_inimage&SRS=EPSG:4326&BBOX=XXX,YYY,XXX,YYY&WIDTH=256&HEIGHT=256

Important here are:

• SRS=EPSG:4326
• BBOX=XXX,YYY,XXX,YYY

Geopaparazzi will cache/store downloaded Mapurl tiles in a local MBTiles SQLite


file, so pre-fetched tiles will remain viewable when Geopaparazzi is operated
disconnected from a remote Mapurl source (in offline operation).

Local Tile sources

Just like your mapurl configuration may reference an online/remote tile sources,
your mapurl setting may reference a local tile source for offline use. This way it’s
possible to load on any smarthphone complex maps as for example the following
map that has a technical basemap with shapefiles overlayed in transparency

To be able to load such maps, one needs to prepare the tiles properly. This can
be done via in several ways as explained in the data preparation section.

1
http://en.wikipedia.org/wiki/Tile_Map_Service

69
MBTiles

The tile folder have then to be loaded in the same folder as the description of the
tile source:

url=mytilesfolder/ZZZ/XXX/YYY.png
minzoom=12
maxzoom=18
center=11.40553 46.39478
type=tms

Nothing changes against the description for the remote source apart of the url.
The url in this case represents the relative path of the tiles folder.

Filesystems are know to have problems in handling large


amounts of very small files. This the exact case of local tile
sources. If the dataset is large, it gets very hard to move the
data from and to the device. Therefore this method, even
if still supported, is flagged as deprecated. The MBTiles
datasource, explained in the next section, should be used
instead.

9.1.2. MBTiles

MBTiles is a file format for storing map tiles in a single file. It is, technically, a
2
SQLite database. See the openstreetmap wiki for more information.

9.1.3. Mapsforge maps

The mapsforge project provides free and open software for the rendering of maps
based on OpenStreetMap. It developed an efficient binary format for storage
of OSM map data (usually with file extension .map), and is offering country
specific .map files for download. Geopaparazzi is able to render map tiles locally
from .map files and will cache rendered tiles in a local MBTiles store.

Apart from Mapsforge itself, openandmaps is also offering .map files but with a
different data bias and different render theme.

2
http://wiki.openstreetmap.org/wiki/MBTiles

70
Mapsforge maps

mapsforge

These are the standard maps generated, maintained and distributed by the
3 4
mapsforge team and can be downloaded from their server .

In their default style they kind of look like:

Figure 9.1. The standard mapsforge map.

openandromaps
5
Openandromaps generates maps following the opencycle theme, with isolines
and more hiking related stuff. The map files are larger but worth every byte. Their
6
download area is here .

With the Oruxmaps theme that is available from the download area, the maps
look like:

3
https://github.com/mapsforge/mapsforge
4
http://download.mapsforge.org/
5
http://www.openandromaps.org
6
http://www.openandromaps.org/en/download.html

71
RasterLite2

Figure 9.2. The openandro styled mapsforge map.

Apply a render theme

When rendereing mapforge tiles locally, Geopaparazzi applies render themes if


they are found on the disk. In order to be found, the render theme xml file needs
to have the same name as the map file. Ex, the above cycle map example has a:

italy_cycle.map

and a:

italy_cycle.xml

render theme file in the same folder as the map file itself.

9.1.4. RasterLite2
7 8
RasterLite2 is a raster format implemented in the spatialite database .

At the time of writing it is released as development version and supported in


Geopaparazzi for testing.

7
https://www.gaia-gis.it/fossil/librasterlite2/wiki?name=librasterlite2
8
https://www.gaia-gis.it/fossil/libspatialite/index

72
Overlay maps

9.2. Overlay maps

The only datasets that can be overlayed on top of basemaps are vector maps
9
coming from a spatialite database .

9
https://www.gaia-gis.it/fossil/libspatialite/index

73
74
10
Handling datasets from and for
Geopaparazzi

Several applications can be used to prepare and evaluate datasets for


Geopaparazzi. The current ones known are:

• gvSIG
• STAGE
• Spatialite GUI
• GDAL

10.1. STAGE 0.7

STAGE (Spatial Toolbox And Geoscripting Environment) is a standalone


application dedicated to spatial analyses.

Related to Geopaparazzi, it contains functionalities to:

• Create mbtiles files from raster and vector sources.


• Export geopaparazzi projects (version 3 or 4) to shapefiles, notes, profiles,
and other details.
• Convert geopaparazzi projects from version 3 to version 4.

75
Installation

10.1.1. Installation
1
STAGE can be downloaded from the github releases page .

Steps:

• copy the zip file in a folder:

◦ stage_0.7_win64.zip for 64 bits windows operating systems


◦ stage_0.7_win32.zip for 32 bits windows operating systems
◦ stage_0.7_lin64.zip for 64 bits linux operating systems
• unzip the file in a folder
• enter the unzipped folder
• run the Stage application (ex. stage.exe for windows)

Figure 10.1. The Stage application on windows.

The mobile section contains modules related to Geopaparazzi.

1
http://git.io/stage_releases

76
MBTiles creation

Figure 10.2. The mobiles section.

10.1.2. MBTiles creation

For the creation of an MBTiles file from a set of GIS data, as shapefiles and tiff
rasters, select the module: GeopaparazziMapsCreator

The user will be able to add:

77
Converstion of Geopaparazzi data to GIS data

• up to 2 raster tiff or asc maps


• up to 5 vector shapefiles
• define the name of the new mbtiles dataset
• define the minimum and maximum wanted zoomlevel (zoomlevels > 18 start
to take long time to build because of the large number of tiles generated)
• the image type to use:

◦ jpg: this should be used when photographic data are used (ex. aerial
images)
◦ png: this should be used when images are used (ex. technical maps)
• the output folder, inside which the database will be created

Once the parameters are set, the module can be launched by pushing the green
play button in the top right toolbar.

In case of big data the user should consider to set the memory put available to
the run module. This is done in the lower left combobox labeled Memory [MB].
The number to set is considered to be MegaBytes. A safe value to use is a bit
less than the amount of RAM available on the computer.

For windows 32bit machines it is not possible to use more than 1000 MB due to
technical limitations of Java itself.

10.1.3. Converstion of Geopaparazzi data to GIS data

Through the module Geopaparazzi4Converter it is possible to export data from


a Geopaparazzi project database.

78
Spatialite GUI

The only parameter to set are the input Geopaparazzi database path and the
output folder. It is also possible to toggle the creation of some of the data contained
in the database.

To run the module, refer to the mbtiles section.

How are the data are exported from the Geopaparazzi database? The following
is created:

• point shapefiles for each type of note also complex forms


• point shapefiles with reference to pictures taken and sketches
• all pictures are exported to a media folder
• line and points shapefiles for log lines and points
• profile charts and csv of log data
• a simple text project metadata file

10.2. Spatialite GUI

The Spatialite GUI can be used to create spatialite databases from shapefiles.

79
Spatialite GUI

You can find the application on the spatialite homepage, at the time of writing a
2
good version for windows is version 1.7.1 available in this download area .

Open it and find yourself with:

We now create a new empty database in which to load the shapefile data:

You will be asked to save the database somewhere on disk. Once done, you
should find yourself with something like this, but with different path:

2
http://www.gaia-gis.it/gaia-sins/windows-bin-amd64-prev

80
Spatialite GUI

To then load a shapefil, locate the Load Shapefile icon:

3
In this example I will import a set of shapefiles from the Natural Earth dataset ,
in particular the following ones:

3
http://www.naturalearthdata.com/

81
Spatialite GUI

4
that can be found here .

The import dialog is the important one to fill the right way:

The really important things to take care of, are underlined in red:

• the SRID, i.e. the EPSG code of the data projection. If that one is not right,
then you will not be able to see the data in geopaparazzi. Don’t even hope
in miracles!
• the Charset Encoding. Make sure to choose the right one. For example
Japanese people might want to choose SHIFT_JIS if they want to see the
labels rendered properly
• force the creation of the spatial index

If you then the push the ok button, you should find yourself with an ok message
like this after the import:

4
http://www.naturalearthdata.com/downloads/10m-cultural-vectors/

82
Spatialite GUI

You are almost there, one last step to go.

Right-click on the database name and select the Update Layer Statistics
command.

Depending on the amount of data it should keep your harddisk working for a bit.
Don’t think it finished unless you see a result like the following:

Once this result appears to you, you are good to go.

Move the spatialite database to your device, fire up geopaparazzi and go directly
to the spatialite data view and load the database.

83
OGR

10.3. OGR
5
OGR2OGR can be used to create Spatialite databases supported by
geopaparazzi using different datasources.

The command that can be used is similar to:

ogr2ogr -f "SQLite" -t_srs "EPSG:3857" -dsco SPATIALITE=YES


output_ortrans.sqlite ORTrans_public.gdb

6
More info available here

10.4. GDAL

Geopaparazzi does not support reprojecting raster data sources on-the-fly, so the
file must be warped to the proper projection before using it. To do it you can use
7
gdalwarp command.

The target projection must be Google Web Mercator (EPSG code 3857); you must
know also the source projection of the raster you are converting. As an example,
if you have a WGS 84 projected (EPSG code 4326) input file, you will run this
kind of command:

gdalwarp -s_srs EPSG:4326 -t_srs EPSG:3857 -r bilinear input.tif


output.tif

8
To create the tiles you can use gdal2tiles.py script, using as input your
Google Web Mercator projected raster file

gdal2tiles.py output.tif

5
http://www.gdal.org/ogr2ogr.html
6
https://trac.osgeo.org/gdal/changeset/37715
7
http://www.gdal.org/gdalwarp.html
8
http://www.gdal.org/gdal2tiles.html

84
GDAL

It generates directory with TMS tiles, that you can use in Geopaparazzi. In the
root of the this directory you will find "tilemapresource.xml" file which contains all
the information to build the .mapurl file:

<?xml version="1.0" encoding="utf-8"?>


<TileMap version="1.0.0" tilemapservice="http://
tms.osgeo.org/1.0.0">
<Title>temp3.vrt</Title>
<Abstract></Abstract>
<SRS>EPSG:900913</SRS>

<BoundingBox minx="46.39742402665929" miny="11.28858223249814" maxx="46.450818361


>
<Origin x="46.39742402665929" y="11.28858223249814"/>
<TileFormat width="256" height="256" mime-type="image/
png" extension="png"/>
<TileSets profile="mercator">
<TileSet href="12" units-per-
pixel="38.21851413574219" order="12"/>
<TileSet href="13" units-per-
pixel="19.10925706787109" order="13"/>
<TileSet href="14" units-per-
pixel="9.55462853393555" order="14"/>
<TileSet href="15" units-per-
pixel="4.77731426696777" order="15"/>
<TileSet href="16" units-per-
pixel="2.38865713348389" order="16"/>
<TileSet href="17" units-per-
pixel="1.19432856674194" order="17"/>
<TileSet href="18" units-per-
pixel="0.59716428337097" order="18"/>
</TileSets>
</TileMap>

Note that the BoundingBox and Origin values created by gdal2tiles are have x
and y values switched against how we need them:

minx="11.28858223249814"
miny="46.39742402665929"
maxx="11.37616698902041"
maxy="46.45081836101696"
x="11.28858223249814"
y="46.39742402665929"

85
86
11
Geopaparazzi & gvSIG

to be done

87
88
12
Using form based notes

Geopaparazzi supports complex notes called form based notes. To use them,
a tags.json file needs to be created and placed inside the geopaparazzi folder
1
inside the sdcard. In that file a json format description of the wanted tags and
forms needs to be placed.

By default, to help the user to start, a sample tags.json is created in the


Geopaparazzi installation. It contains form samples and examples to show all
supported form widgets.

Currently no tool is available to create forms in an interactive way, they have to


be created manually.

1
http://en.wikipedia.org/wiki/JSON

89
Supported tags (via the example form)

2
A good online tool to at least validate your json form is the Json Lint Validator .
Make sure it passes that test before putting it on the device and test it in
geopaparazzi.

12.1. Supported tags (via the example form)

The example form that is available by default shows all the possible options
available.

12.1.1. Text

"formname": "text",
"formitems": [
{
"key": "some text",
"value": "",
"type": "string"
}
]

2
http://www.jsonlint.com/

90
Multiple Text

12.1.2. Multiple Text

"formname": "multiple text",


"formitems": [
{
"key": "some text",
"value": "text1; text2; text3",
"type": "dynamicstring"
}
]

12.1.3. Text with key and label

In simple forms the key element is also used as label for the widget (ex. some
text in the text note). Some charactersets are not suitable to be used as keys for
a database, so in that cases the user should consider to define both the key (ex.
in English) and the label (in the own language). Here an example:

"formname": "text example with key and label",


"formitems": [

91
Numbers

{
"key": "the_key_used_to_index",
"label": "the label used to describe",
"value": "",
"type": "string"
}
]

12.1.4. Numbers

"formname": "numeric text",


"formitems": [
{
"key": "a number",
"value": "",
"type": "double"
},{
"key": "an integer number",
"value": "",
"type": "integer"
}
]

92
Date

To use one of the values as label in the map view add the islabel tag:

"formname": "numeric text used as label in map",


"formitems": [
{
"key": "a number",
"value": "",
"islabel": "true",
"type": "double"
},{
"key": "an integer number",
"value": "",
"type": "integer"
}
]

12.1.5. Date

"formname": "date",
"formitems": [
{

93
Time

"key": "a date",


"value": "",
"type": "date"
}
]

12.1.6. Time

"formname": "time",
"formitems": [
{
"key": "a time",
"value": "",
"type": "time"
}
]

94
Labels

12.1.7. Labels

"formname": "labels",
"formitems": [
{
"value": "a simple label of size 20",
"size": "20",
"type": "label"
},{
"value": "a underlined label of size 24",
"size": "24",
"type": "labelwithline"
},{
"value": "a label with link to the geopaparazzi homepage",
"url": "http://www.geopaparazzi.eu",
"size": "20",
"type": "labelwithline"
}
]

95
Checkbox

12.1.8. Checkbox

"formname": "boolean",
"formitems": [
{
"key": "a boolean choice",
"value": "",
"type": "boolean"
}
]

96
Combos

12.1.9. Combos

"formname": "combos",
"formitems": [
{
"key": "a single choice combo",
"values": {
"items": [
{"item": ""},
{"item": "choice 1"},
{"item": "choice 2"},
{"item": "choice 3"},
{"item": "choice 4"},
{"item": "choice 5"}
]
},
"value": "",
"type": "stringcombo"
},{
"key": "a multiple choice combo",
"values": {
"items": [
{"item": ""},

97
Combos

{"item": "choice 1"},


{"item": "choice 2"},
{"item": "choice 3"},
{"item": "choice 4"},
{"item": "choice 5"}
]
},
"value": "",
"type": "multistringcombo"
},{
"key": "two connected combos",
"values": {
"items 1": [
{"item": ""},
{"item": "choice 1 of 1"},
{"item": "choice 2 of 1"},
{"item": "choice 3 of 1"},
{"item": "choice 4 of 1"},
{"item": "choice 5 of 1"}
],
"items 2": [
{"item": ""},
{"item": "choice 1 of 2"},
{"item": "choice 2 of 2"},
{"item": "choice 3 of 2"},
{"item": "choice 4 of 2"},
{"item": "choice 5 of 2"}
]
},
"value": "",
"type": "connectedstringcombo"
},{
"key": "two connected combos, default selected",
"values": {
"items 1": [
{"item": ""},
{"item": "choice 1 of 1"},
{"item": "choice 2 of 1"},
{"item": "choice 3 of 1"},
{"item": "choice 4 of 1"},
{"item": "choice 5 of 1"}
],
"items 2": [
{"item": ""},

98
Pictures

{"item": "choice 1 of 2"},


{"item": "choice 2 of 2"},
{"item": "choice 3 of 2"},
{"item": "choice 4 of 2"},
{"item": "choice 5 of 2"}
]
},
"value": "choice 4 of 2",
"type": "connectedstringcombo"
}
]

12.1.10. Pictures

"formname": "pictures",
"formitems": [
{
"key": "a picture archive",
"value": "",
"type": "pictures"
}
]

99
Sketches

12.1.11. Sketches

"formname": "sketches",
"formitems": [
{
"key": "a sketches archive",
"value": "",
"type": "sketch"
}
]

100
Map screenshot

12.1.12. Map screenshot

"formname": "map",
"formitems": [
{
"key": "an image of the last seen map",
"value": "",
"type": "map"
}
]

12.2. Other supported tags

12.2.1. hidden

Not shown in the gui, but useful for the application to fill in infos like the GPS
position:

{"key":"LONGITUDE", "value":"", "type":"hidden"}

101
primary_key

12.2.2. primary_key

An item of particular importance, can be used by the application to link to particular


infos:

{"key":"tourism", "value":"", "type":"primary_key"}

12.2.3. Constraints

Constraints are conditions that are checked when the ok button of the form is
pushed.

mandatory

To make an item mandatory, just add:

"mandatory": "yes"

range

To peform a range check on a numeric field you can add something like:

"range":"[0,10)"

which would check that the inserted number is between 0 (inclusive) and 10
(exclusive).

12.3. Create a simple form to map fountains

As an excercise we will now create a simple form to map fountains.

12.3.1. Sections

Every form is composed of sections, each of which create a button in the add
notes view. We want to create a form for a fountain, so one section is enough.
The blueprint for such a form, i.e. the empty button shell starts with:

102
Form subsections

{
"sectionname": "fountain",
"sectiondescription": "fountain",
"forms": [

and ends with:

]
}
]

12.3.2. Form subsections

Each section can contain several sub-forms, that will create a tab each.

A sub-form starts with:

{
"formname": "General data",
"formitems": [

and ends with:

]
},

Note that the comma at the end is only needed if more than one sub-form is added.

12.3.3. Form elements

To add content to the sub-forms, any of the tags described in the supported tags
section can be used.

For example lets add two textfields to prompt the user for a name and street. Also
the name should then be the label rendered in the map view.

{
"key": "name",
"value": "",

103
Finalize the form

"islabel": "true",
"type": "string",
"mandatory": "yes"
},
{
"key": "street",
"value": "",
"type": "string",
"mandatory": "no"
}

12.3.4. Finalize the form

This is everything that needs to be done. Let’s also add some technical data in a
dedicated tab and also a tab for media, inside which it is possible to take pictures.

We leave the exercise to the reader.

The complete tags.json file can be found in the appendix section.

104
13
The Geopaparazzi Database

The Geopaparazzi project database is a plain sqlite database with the extension
.gpap.
1
All data are saved in WGS84 .

13.1. Database tables described


Table 13.1. The Metadata Table

key key for the record


value value for the
record

Table 13.2. The Notes Table

_id unique id
lon longitude of the
note
lat latitude of the
note
altim elevation
ts timestamp
description description of the
note
text text of the note

1
http://gisgeography.com/wgs84-world-geodetic-system/

105
Database tables described

form the form data


isdirty is dirty field (0 =
false, 1 = true)
style style of the note

Style and isdirty are currently unused.

Table 13.3. The Images Table

_id unique id
lon longitude of the
image
lat latitude of the
image
altim elevation
ts timestamp
azim azimuth
text text of the note
isdirty is dirty field (0 =
false, 1 = true)
note_id an optional note
id, to which it is
bound to
imagedate_id id of the
connected image
data

Table 13.4. The Imagedata Table

_id unique id
data the image data
thumbnail the image
thumbnail data

106
Database tables described

Table 13.5. The Bookmarks Table

_id unique id
lon longitude of the
bookmark
lat latitude of the
bookmark
zoom the zoom of the
bookmark
north the north bound
of the bookmark
south the south bound
of the bookmark
west the west bound of
the bookmark
east the east bound of
the bookmark
text the name of the
bookmark

Table 13.6. The GPS logs Table

_id unique id
startts log start
timestamp
endts log end
timestamp
lengthm the length in
meters
isdirty is dirty field (0 =
false, 1 = true)
text name of the log

Table 13.7. The GPS logs data Table

_id unique id

107
Database tables described

lon longitude of the


log point
lat latitude of the log
point
altim elevation of the
log point
ts timestamp of the
log point
logid id of the log of
which the point is
part

Table 13.8. The GPS logs properties Table

_id unique id
logid id of the log the
properties are
part of
color the color to use to
draw the log
width the width to use
to draw the log
visible flag that defines
if the log is visible
at the time given

108
14
Use case: Use of Geopaparazzi in
Egypt to create a map to improve the
management of small wastewater
treatment plants.

14.1. Introduction

Have you ever tried to type in google: sanitation maps, sanitation coverage,
sanitation or inventory tracking?

It is interesting to note that the agencies managing the wastewater treatment


plants in the United States and Canada monitor and continuously update the
inventory of small delocalized plants in order to optimize their management,
while the numerous development agencies that deal with sanitation in
developing countries express and declare the state of inadequacy of the
system of waste treatment but do not quantify the state of art.

The management of small treatment plants of domestic sewage in decentralized


communities is an issue with different perspectives. In any place on earth it
involves many actors, linking technical to cultural, environmental, educational
and health services. It is a topic that often touches critical as well as hidden
issues. Experts in this field are well aware of that!

When you think of a small village, a rural setting with a few houses and lots of
animals, or a peri-urban area that grew quickly and without any planning or again
neighboring communities linked by a waterway that carries waste from upstream

109
Introduction

to valley, it is not immediat to think that all these places (due to the presence
of man and animal) are a source of biomass. They are a sources of waste and
organic material that often brings a high and invisible pathogenic charge.

Many projects related to developing countries today focus the attention on


the proper disposal of the waste and on prevention as fundamental for the
health of the inhabitants. Numerous agencies and associations dedicated to
development cooperation have shown that untreated wastewater spilled into the
surrounding environment without any attention is the primary vector of diseases
and therefore often of epidemics in areas with deficits at levels of hygiene and
1
public health (see the Water, Sanitation and Hygiene and the Joint Monitoring
2
Programme ).

The target C of the seventh Millennium Development Goal aimed to halve by 2015
the proportion of people without sustainable access to safe water and basic health
services. The assessment tool implemented in recent years has been the count
of the percentage of population using the health service.

But:

• What is the scenario in terms of plants?


• Where are they?
• What do they produce?
• How much?
• What is the trend?
• What are the possible risk factors?
• What are the environmental characteristics of their location?
• And the social context?
• The cultural?
• How many and which animals contribute?
• What are the types of installations in operation?

1
http://www.unhcr.org/pages/49c3646cef.html
2
http://www.wssinfo.org/about-the-jmp/introduction/

110
Monitoring activities

It is clear that to get a complete picture of this kind takes time, lots of data
collection, laboratory tests, and then hypothesis, correlations, ideas and
possible strategies.

It is now well known that from a technical standpoint there are no prepackaged
solutions exportable in contexts with very different boundary conditions. Some
causes may seem trivial, but if underestimated they end up affecting the efficiency
of the treatment.

It should be enough to say that there are places in the world where the toilet paper
is not thrown into the toilet; there are places where after defecation you clean up
with your hand; others where even plastic, cloth and diapers are thrown into the
toilet and places in which under the sink there is a shredder and everything ends
up into the sewer system.

These are information that decide the diameter of the pipes even before the type
of treatment and planting. And if the diameter of the tubes is wrong the whole
system becomes meaningless.

How many socio-cultural aspects exist in the various regions of the world that we
do not know, that we can’t even imagine, that can make you smile or frighten,
but that in the construction of a plant have the same weight as the distribution
of BOD5?

There is no doubt that a tool that allows you to collect data of this kind, to catalog
them, and most important geotag them to make them visible on a map and return
the state of the existing as well as facilitates the correlation is crucial in the whole
process of planning and improvement of health services in developing contexts.

14.2. Monitoring activities

During fall of 2010 Geopaparazzi has been used in the monitoring of small waste
water treatment plants in decentralized communities of the Nile Delta, in a
thesis project in Environmental Engineering within a larger project of technical
3
development cooperation (ESRISS project ).

The idea was to be able to do an effective analysis and mapping of the plants in
the area of the Nile Delta to compare different types of treatment and analyze

3
http://www.eawag.ch/forschung/sandec/gruppen/sesp/esriss/index_EN

111
Monitoring activities

the parameters that contribute to the success or failure of a solution. The


result of this campaign suggested the usefulness of this application and the need
to widen its use to build the existing maps that consider all the complexity of the
factors involved in the search for solutions to improve the health conditions of
the contexts under analysis. Only in this way it is possible to build an updated
database on the basis of which appropriate solutions can be proposed.

The main goal has been to integrate missing plants data.

To give an idea, information about the available data are shown for some of the
plants:

Figure 14.1. The El Moufty plant, the one with most available information.

112
Technical background

Figure 14.2. The OM SEN plant, with no lab information


available and some general information missing.

Figure 14.3. The EL KOLEAAH plant, with no lab information


available and some general information missing.

14.3. Technical background

Based on the available data a dedicated form has been designed to collect in a
standardized way as much data as possible.

113
Technical background

Once the form has been loaded into Geopaparazzi, it has been possible to access
it from the add notes view.

Figure 14.4. The add noves view, in an older version of geopaparazzi.

The form has been divided into 5 main sections to make it easier to read:

• General data

• Construction info

114
Technical background

• Technical data

• Lab data: this section has been added even if it is quite impossible to gather lab
data in the field. But since the form based notes can be opened and modified
at any time, the section has been added for further update

115
Acknowledgement

• Media

The complete tags.json file can be found in the appendix section.

14.4. Acknowledgement

This usecase is a very small and superficial extract of the Geopaparazzi related
part from the master thesis of Vania Zillante: ANALISI DI TECNOLOGIE PER LA
DEPURAZIONE DEI REFLUI DOMESTICI IN COMUNITÀ DECENTRATE DEL
DELTA DEL NILO E PROPOSTA PER IL TRATTAMENTO DELLA FRAZIONE
ORGANICA. APPLICAZIONE DI UN SOFTWARE OPEN SOURCE PER LA
GEOREFERENZIAZIONE DEGLI IMPIANTI ESISTENTI..

116
Acknowledgement

Focus has been put only on the data collection and form creation. It is beyond
the scope of this document to describe or comment any other of the contents of
Vania’s thesis.

Vania’s thesis also won the scolarship prize by ABL Premio Giovanni Lorenzin.

117
118
15
Projects that base on Geopaparazzi

15.1. gvSIG Mobile

gvSIG Mobile is completely based on geopaparazzi and extends its capabilities


with enterprise level functionalities to connect to the services of gvSIG Online to
allow syncronization of data between teams of surveyers.

15.2. Gasdroide - Natural Gas Emission Flux Measurements


on Android platform
1
Checkout the homepage here

1
https://bitbucket.org/moovida/gasdroide

119
Disaster Management Information System

15.3. Disaster Management Information System

The Disaster Management Information System of the city of Osaka is mainly


meant for collecting information about water-supply infrastructure to promote
post-disaster recovery for water supply.

The same team has also been responsible for the Japanese translation of
Geopaparazzi. Kudos!

15.3.1. TrashMapper

The TrashMapper is a tool used to keep information about the waste management
of a town. Through it it is possible to sample and update information out in the
field and then syncronize the data with a central database/webgis.

120
Trackoid

15.3.2. Trackoid

Trackoid is a mobile system for the geolocalization of small/medium fleets and


teams of people (rescue). It is a realtime system with a mobile and server side.

trackoid mobile

trackoid server

15.3.3. Your app here

If you are using Geopaparazzi in any flavour we would be happy to list it here with
some screenshot. Just drop us a note!

121
122
16
Appendix

16.1. The finalized tags.json of the Forms section

[
{
"sectionname": "fountain",
"sectiondescription": "fountain",
"forms": [
{
"formname": "General data",
"formitems": [
{
"key": "name",
"value": "",
"islabel": "true",
"type": "string",
"mandatory": "yes"
},
{
"key": "street",
"value": "",
"type": "string",
"mandatory": "no"
}
]
},
{
"formname": "Technical data",
"formitems": [

123
The finalized tags.json of the Forms section

{
"key": "protected",
"value": "true",
"type": "boolean",
"mandatory": "no"
},
{
"key": "type",
"values": {
"items": [
{
"item": ""
},
{
"item": "manual"
},
{
"item": "electrical"
},
{
"item": "gravity"
}
]
},
"value": "manual",
"type": "stringcombo",
"mandatory": "no"
},
{
"key": "PH",
"values": {
"items": [
{
"item": ""
},
{
"item": "PH < 5"
},
{
"item": "5 < PH < 7"
},
{
"item": "PH > 7"
}
]

124
The finalized tags.json of the Forms section

},
"value": "PH < 5",
"type": "stringcombo",
"mandatory": "no"
},
{
"key": "number of served people",
"value": "",
"type": "double",
"mandatory": "no"
},
{
"key": "is working",
"value": "true",
"type": "boolean",
"mandatory": "no"
},
{
"key": "needs",
"values": {
"items": [
{
"item": ""
},
{
"item": "nothing"
},
{
"item": "maintainance"
},
{
"item": "rehabilitation"
}
]
},
"value": "nothing",
"type": "stringcombo",
"mandatory": "no"
}
]
},
{
"formname": "Media",
"formitems": [
{

125
Complete tag.json for the Egypt usecase

"key": "Images",
"value": "",
"type": "pictures",
"mandatory": "no"
}
]
}
]
}
]

16.2. Complete tag.json for the Egypt usecase

{
"sectionname": "WWT-plant",
"sectiondescription": "WWT-plant",
"forms": [

{
"formname": "General data",
"formitems": [

{
"key": "Plant name",
"value": "El Moufty Plant",
"islabel": "true",
"type": "string",
"mandatory": "yes"
}
,
{
"key": "Local Responsible Admin",
"value": "Kafr el Sheikh",
"type": "string",
"mandatory": "no"
}
,
{
"key": "District",
"value": "Sidi Salim",
"type": "string",

126
Complete tag.json for the Egypt usecase

"mandatory": "no"
}
,
{
"key": "Village",
"value": "El Moufty",
"type": "string",
"mandatory": "no"
}
]
}
,
{
"formname": "Construction info",
"formitems": [

{
"key": "WWTP technology",
"values": {
"items": [
{"item": ""},
{"item": "Stabilization ponds (GTZ model)"}
]
},
"value": "",
"type": "stringcombo",
"mandatory": "no"
}
,
{
"key": "Designed by",
"value": "Prof M.Abdel Azeem",
"type": "string",
"mandatory": "no"
}
,
{
"key": "Year of construction",
"value": "",
"type": "date",
"mandatory": "no"
}
,
{

127
Complete tag.json for the Egypt usecase

"key": "Startup",
"value": "",
"type": "date",
"mandatory": "no"
}
]
}
,
{
"formname": "Technical data",
"formitems": [

{
"key": "Served population [inhab]",
"value": "3000.0",
"type": "double",
"mandatory": "no"
}
,
{
"key": "Plant capacity [m3/d]",
"value": "450.0",
"type": "double",
"mandatory": "no"
}
,
{
"key": "Surface [m2]",
"value": "6000.0",
"type": "double",
"mandatory": "no"
}
,
{
"key": "Pro capita inflow [m3/inhab d]",
"value": "0.066",
"type": "double",
"mandatory": "no"
}
,
{
"key": "Pro capita water use [l/inhab d]",
"value": "111.0",
"type": "double",
"mandatory": "no"

128
Complete tag.json for the Egypt usecase

}
,
{
"key": "Inflow [m3/d]",
"value": "200.0",
"type": "double",
"mandatory": "no"
}
,
{
"key": "Outflow quality analysis",
"values": {
"items": [
{"item": ""},
{"item": "monthly"},
{"item": "yearly"} ]
},
"value": "",
"type": "stringcombo",
"mandatory": "no"
}
]
}
,
{
"formname": "Lab data",
"formitems": [

{
"key": "PH",
"values": {
"items": [
{"item": ""},
{"item": "PH < 5"},
{"item": "5 < PH < 7"},
{"item": "PH > 7"} ]
},
"value": "PH < 5",
"type": "stringcombo",
"mandatory": "no"
}
,
{
"key": "BOD in [mg/l]",

129
Complete tag.json for the Egypt usecase

"value": "",
"type": "double",
"mandatory": "no"
}
,
{
"key": "BOD out [mg/l]",
"value": "",
"type": "double",
"mandatory": "no"
}
,
{
"key": "Coliforms in [mg/l]",
"value": "",
"type": "double",
"mandatory": "no"
}
,
{
"key": "Coliforms out [mg/l]",
"value": "",
"type": "double",
"mandatory": "no"
}
,
{
"key": "COD in [mg/l]",
"value": "",
"type": "double",
"mandatory": "no"
}
,
{
"key": "COD out [mg/l]",
"value": "",
"type": "double",
"mandatory": "no"
}
,
{
"key": "Suspended solids in [mg/l]",
"value": "",
"type": "double",
"mandatory": "no"

130
Complete tag.json for the Egypt usecase

}
,
{
"key": "Suspended solids out [mg/l]",
"value": "",
"type": "double",
"mandatory": "no"
}
]
}
]
}
]

131
132

You might also like