Serval Maps Data Manipulator

The Serval Maps Data Manipulator is a Java based application that is designed to undertake a variety of tasks on the data that is created by the Serval Maps application. The current version of the application provides a command line interface for interacting with the application. A graphical user interface, using windows buttons etc, is currently in development.

The current version of the application is focused on converting the binary files used by the Serval Maps application into KML applications. The tasks that the application that can be undertaken are:

  1. Convert location information into KML
  2. Merge a number of files containing location information into a single file
  3. Merge a number of files containing point of interest information into a single file
  4. Convert point of interest information into KML

The KML files that are generated by the application are tested for compatibility with Google Earth. Development and testing of the application is being undertaken in a Mac OSX environment. We'd welcome people to test the KML with other applications, and testing the application in other environment.

The source code for the application is available via GitHub.

Using the CLI

Using the command line interface involves specifying a combination of 6 command line options which are:

Option Description
filter when merging files, those beginning with this text will be processed
input the path to the input file or directory
output the path to the output file
style options for styling the placemarks in the KML file
task the identifier for the task to undertake
verbose a flag to indicate verbose output

The current available tasks are:

Task Description
binloctokml convert a binary location file into a KML file
binloctokml2 convert a binary location file into a KML file and include time information
mergebinloc merge a series of binary location files into a single file
mergebinpoi merge a series of binary point of interest files into a single file
binpoitokml convert a binary point of interest file into a KML file
kmlindex create an index KML file that links to a number of KML files in a directory (assumes the index and other KML files will be in the same directory)

The style argument takes style information as a series of comma separated key and value pairs. The keys and values are:

Key Description
colour the colour used to style a line in the KML colour format
width the width of the line
icon the URL to the icon used for point of interest placemarks

The icon value can also be one of three default options

Value Description Sample
default-poi the default point of interest icon
default-peer-location the default icon used for a peer location placemark
default-self-location the default icon used for the users location

Example Commands

Merge a series of binary point of interest files, all starting with '5551234' into a single file with verbose output:

java -jar ServalMapDataMan.jar -input ./data/ -output ./output/merged.smapp -filter 5551234 -task mergebinpoi -verbose

Create a KML file from a GPS trace stored in a binary location file. The placemarks in the KML file will be styled blue and include time information:

java -jar ServalMapDataMan.jar -input ./output/5550357-merged.smapl -output ./output/output2.kml -task binloctokml2 -style colour=FFbd6a27,width=5

Create a KML file from a binary point of interest file using the default POI marker:

java -jar ServalMapDataMan.jar -input ./output/merged.smapp -output output/output.kml -task binpoitokml -style icon=default-poi -verbose

Login