diff --git a/importers/gpx-tracks b/importers/gpx-tracks new file mode 100755 index 0000000..ff1ae69 --- /dev/null +++ b/importers/gpx-tracks @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +set -euxo pipefail + +usage () { + echo "Recursively imports all gpx tracks in a directory into an SQLite database." + echo "" + echo "Usage: $(basename $0) directory target-database" +} + +gpx_directory="$1" +target_database="$2" + +# basic argument verification +case "$@" in -h|--help) usage && exit 0;; esac +[ -z "$gpx_directory" ] && usage && exit 1 +[ -z "$target_database" ] && usage && exit 1 + +# recursive scan and import +while IFS= read -d '' -r file; do + spatialite_xml_load -d "$target_database" -x "$file" +done < <(find "$gpx_directory" -name '*.gpx' -print0) + +# TODO: Create virtual joined table