1. The Geopaparazzi Survey Server & Friends

logo

The Geopaparazzi Survey Server (GSS) is a web application that allows geopaparazzi users to synchronize their project data with a central server.

Its companion is an Android app named Geopaparazzi Survey Server Sync (GSSS) available on google play. The app can connect to geopaparazzi projects and synchronize the data contained using the unique device ID to upload the data to the server.

Any device that connects to the server with its ID, will be accepted and if not available, the new id is automatically inserted in the central db.

The applications are available as Free and Open Source software. The server is available under EPL v2.0, while the mobile app is available under GPL v3.0.

2. The server

2.1. Installation

The GSS server available as docker image from the docker hub. As such it works only on linux systems that have docker installed. Describing the installation of docker goes beyond this documentation. Many tutorials are available in the net to install docker.

01 hub
Figure 1. GSS on hub.docker.com.

To install the docker image just open a terminal and type in from shell:

docker pull moovida/gss:v1.03

This will download the server image and install it on your machine.

The installation process should reveal something similar to the following (the version number will most probably be different):

02 install
Figure 2. GSS installation process.

And once finished, the image should be visible with the command:

docker images

2.2. Preparing the data folder

To run GSS you can prepare the data folder for the server, which will contain the database (if it doesn’t exist, it is created from scratch), some styling components and optional mapsforge *.map files for local tiles generation.

You can just start with an empty folder, which will be filled with the bare minimum necessary to run GSS.

Let’s assume you are a heavy lifter and want to do things on your own, and that the data folder is named TESTGSS, then the folder structure needs contain at least the following:

TESTGSS/
|-- DATA    <-- folder
|   |-- images.png
|   `-- notes.png
`-- WORKSPACE    <-- folder

Where images.png and notes.png are the images that will be used in the map view to style geopaparazzi notes and media notes.

2.3. Run the server

To run the GSS server, it is necessary to define a few things:

  • the path to the data folder

  • the port that needs to be used

  • the docker image to use

Assuming we want to run the application on the data folder defined before and on port 8080, the command to run the application is:

docker run -v /media/hydrologis/Samsung_T3/TESTGSS:/home/basefolder -p 8080:8080 moovida/gss:v1.03

Open your favorite browser and enter the url:

http://localhost:8080

You should get the following login screen:

03 login
Figure 3. The GSS login screen.

This already means that you are ready to rumble!

You can login with:

  • user: god

  • password: god

Which already tells us that the user has quite some admin rights.

Once logged in, the dashboard view is shown.

2.4. GSS Views

The GSS views are organized as follows:

The upper toolbar contains, starting from left, the GSS icon, then tools that are dedicated to the currently opened view and at the very right the about and logout buttons.

The left toolbar contains at the top the buttons to switch between availabel views and at the bottom the settings button.

2.4.1. The dashboard

The dashboard view shows a simple chart listing the amount of information for each device.

If no data are available, as in our inizial case, the folloing will be shown:

04 dashboard
Figure 4. The dashboard.

2.4.2. The mapview

From the mapview it is possible to access the Surveyor list from the first button in the top toolbar.

05 mapview
Figure 5. The mapview with the surveyors list.

In the combobox the currently available surveyors are listed. To add the data of a surveyor to the map, select the surveyor and push the add button at the right of the combobox.

Then double-click on the added surveyor. The map will be zoomed to the data of the surveyor.

06 surveyor
Figure 6. The mapview zoomed on the data of a surveyor.

If data are uploaded while on the map view, one can either reload the view by refreshing the page or use the button to refresh the surveyors list.

The data of a surveyor can be reloaded using the context menu on the surveyors list. It can be accessed through right-click:

07 surveyor menu
Figure 7. The menu on the surveyors table.

From the same menu it is also possible to zoom to the data of a surveyor or remove the data of a surveyor from the map.

The data can be queried by clicking on them. Simple information is shown as described below.

In the case of notes, the main note text, the elevation and the timestamp are shown. Note that or notes that have forms, the complex form is not visualized in the information box.

08 notes
Figure 8. Notes.

For GPS logs the name of the log and the start and end timestamp are shown.

09 logs
Figure 9. Gps Logs.

For media notes it is possible to visualize the images, by clicking on the image icon.

10 media
Figure 10. Media notes.

2.4.3. The Settings View

In the settings view it is possible to:

  • Create web users and groups. There are two levels of users: admins and normal users.

11 users
Figure 11. Web users configuration.
  • Configure surveyors. New devices that connect and upload are automatically added. The name of the surveyor by default is the id of the device. This can be changed by right-clicking on the surveyor.

12 surveyors
Figure 12. Surveyor configuration.
  • Configure background maps. Several map services can be added to the background maps that can then be selected in the mapview.

13 maps
Figure 13. The background maps configuration.
  • In the 'other configurations' part, it is possible to define to which pages the normal user has access to.

14 other configs
Figure 14. Other configurations.
Many of the available map services need a license key to be accessed and/or have particular requirements to be used. Make sure that you have the rights to use the maps you select.

3. The mobile app, GSSS

The GSSS can be installed from the play store.

16 mobile install
Figure 15. GSSS on play store.

Once installed and launched it will complain about the fact that no project database has been chosen yet:

16 mobile start
Figure 16. First start of GSSS.

In the side menu it is possible to access several features.

17 mobile menu
Figure 17. The main menu.

The first thing to do is to check if the device has an own unique device id. If it has one, the following screen will be shown:

17 mobile menu id
Figure 18. The device id.

This is also the id that the server part uses as device identifier.

If no id is available, the user will be prompted to insert one.

To be able to connect to the GSS server, the url of the server needs to be inserted. The url has to end with upload:

17 mobile menu url
Figure 19. The upload URL of the server.

From the side menu it is also possible to access some basic settings:

  1. the possibility to reset the connected database to be in a complete dirty state. After that the database will upload everything as if it never had done before.

  2. the possibility to reset the database to a clean state. After that no data are synchronized. Only new data surveyed in geopaparazzi will be uploaded again.

18 mobile settings
Figure 20. The settings dialog.

Once the app is configured, it is possible to load a project (first entry of the menu). A filechooser of dialog will open to select the database to synchronize. Once loaded the list of notes, gps log and media notes are shown in the tabbed view:

19 mobile load
Figure 21. The content of the database that can be synchronized.

Also, at the bottom of the main menu, the path and name of the database are shown:

19 mobile menu loaded
Figure 22. The path and name of the connected database.

To synchronize, the floating action button at the bottom right part can be used. It is possible to synchronize everything or just a part.

20 mobile syncfab
Figure 23. The action button that allows to upload notes, logs, media or everything.

Once the button is pushed, the app connects to the GSS server and sends the selected data to the server. At the end

21 mobile syncdone
Figure 24. The dialog of a successful sync.

3.1. Troubleshooting

If you experience issues or problems of any kind, you can use the send debug log button to send some debug information about the error to the developers. This will help them to solve the issue and create a new release.

22 send log
Figure 25. The send log button.