From efb413ce1f77fdea033d0108e631260848c4d618 Mon Sep 17 00:00:00 2001 From: robin_shaun Date: Tue, 6 Jul 2021 13:07:14 +0800 Subject: [PATCH] add geographiclib install script --- .../mavros/install_geographiclib_datasets.sh | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 sitl_config/mavros/install_geographiclib_datasets.sh diff --git a/sitl_config/mavros/install_geographiclib_datasets.sh b/sitl_config/mavros/install_geographiclib_datasets.sh new file mode 100644 index 0000000..b3fbadc --- /dev/null +++ b/sitl_config/mavros/install_geographiclib_datasets.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# Script to install the model datasets required +# to GeographicLib apply certain conversions + +if [[ $UID != 0 ]]; then + echo "This script require root privileges!" 1>&2 + exit 1 +fi + +# Install datasets +run_get() { + local dir="$1" + local tool="$2" + local model="$3" + + files=$(shopt -s nullglob dotglob; echo /usr/share/GeographicLib/$dir/$model* /usr/local/share/GeographicLib/$dir/$model*) + if (( ${#files} )); then + echo "GeographicLib $tool dataset $model already exists, skipping" + return + fi + + echo "Installing GeographicLib $tool $model" + geographiclib-get-$tool $model >/dev/null 2>&1 + + files=$(shopt -s nullglob dotglob; echo /usr/share/GeographicLib/$dir/$model* /usr/local/share/GeographicLib/$dir/$model*) + if (( ! ${#files} )); then + echo "Error while installing GeographicLib $tool $model" + return + fi +} + +# check which command script is available +if hash geographiclib-get-geoids; then + run_get geoids geoids egm96-5 + run_get gravity gravity egm96 + run_get magnetic magnetic emm2015 +elif hash geographiclib-datasets-download; then # only allows install the goid model dataset + geographiclib-datasets-download egm96_5; +else + echo "OS not supported! Check GeographicLib page for supported OS and lib versions." 1>&2 +fi