Pozor! wiki.freemap.sk je archivovaná a už do nej nie je možné prispievať. Užitočné stránky budú premigrované na oficiálne wiki stránky slovenskej OpenStreetMap komunity.

Revision [3698]

This is an old revision of GpsMid made by Jose1711 on 2011-07-13 09:03:53.

 

GpsMid je jednoúčelový java program pre mobilné telefóny určený na offline prezeranie máp, navigáciu, vyhľadávanie a trackovanie. Každý midlet obsahuje obslužný softvér ako i samotnú mapu (teda nie je treba pripojenie na internet). Dokáže však využiť aj mapu samostatne uloženú na karte/v pamäti telefónu (tzv. filesystem map).

http://download.freemap.sk/export/gpsmid alebo http://gpsmid.l33t.in/Slovakia/


Domovská stránka projektu je na http://gpsmid.sourceforge.net/. Z pohľadu používania je to podobný produkt ako TrekBuddy, niektoré vlastnosti má navyše, niektoré mu chýbajú. Hlavný rozdiel je v tom, že pracuje s mapami vo vektorovom formáte, umožňuje teda, narozdiel od Trekbuddy-ho, približovanie, offline routovanie, vyhľadávanie a filtrovanie dát. Takisto zvláda vytvorenie waypointu vo forme textu, audionahrávky (audiotagging) alebo fotografie (phototagging), či priamu úpravu OSM dát (vyžaduje internetové pripojenie). Na niektorých telefónoch umožňuje využiť na navigáciu signál BTS staníc, teda nevyžaduje GPS. V prípade jestvujúceho GPS chipu je možné pomocou gpsmid informácie o signále BTSiek zbierať (pre opencellid.org).

Kvôli vektorovému charakteru mapy GpsMid neumožňuje zobrazenie dát iných (komerčných) providerov, tak ako to vie TrekBuddy (yahoo, google maps). Kvôli veľkosti pamäte mobilov a rýchlosti používania je na stiahnutie viac exportov pre rôzne menšie oblasti.

Inštalácia GpsMid:
Párovanie GpsMid s bluetooth zariadením:

Používanie GpsMid:
Získanie a uloženie GPX logu

Poznámky pre mapovačov:
#!/bin/bash
# amr2wav.sh - converts amr files recorded by gpsmid
# to wav format so that josm can read it and also 
# create a gpx file with links to audiorecordings
#                              jose1711 gmail com
#
# syntax:
# ./amr2wav.sh <exported-waypoints-file.gpx>
#
#
#set -x
# input file is the one specified as a parameter
input=$1
# output file has '-wav' suffixed
output="${input%.gpx}-wav.gpx"
# no no, we don't want DOS line endings
sed -i 's/\r//g' "${input}"
# reset output file
> "${output}"
while read line
do
				# audiomarker means there was an audio recording done..
				echo "$line" | grep -v 'AudioMarker-GpsMid-' >> "${output}"
				if echo "$line" | grep AudioMarker &>/dev/null
				then
								audiofile="$(echo "$line" | sed 's/^<name>AudioMarker-\([^<]*\)<\/name>/\1.amr/')"
								# does the corresponding audiofile exist?
								if [ -r "$audiofile" ]
										then
										echo "$line" | sed 's/AudioMarker-GpsMid-//g' >> "${output}"
										# file exists, that's good. let's convert it to wav then
										ffmpeg -y -i "$audiofile" "$audiofile.wav" >/dev/null 2>&1 </dev/null
										# and create a <link> tag in output gpx file
										echo '<link href="'${audiofile}'.wav"/>' >> "${output}"
								fi
				fi
done < "${input}"

if [ $(ls *amr | wc -l) -ne $(ls *wav | wc -l) ] ; then
		echo "number of amr and wav files does not match. something could be WRONG"
fi


pre download cez bluetooth a automatické spracovanie najnovších súborov môžte na linuxe využiť tento skript:
#!/bin/bash
# blueosm.sh - downloads most recent gpx/wpts from gpsmid
# via bluetooth, converts amr files to wav (requires amr2wav.sh) 
# and opens everything up in josm

# requirements:
# - obextool + paired mobile phone (set your pc to authenticated to allow automated
#   transfers)
# - amr2wav.sh
# - (optional) josm

# successfully tested on arch linux with nokia e51
#              jose 1711 gmail com, may 2011

# bluetooth address of your device
btaddress=XX:XX:XX:XX:XX:XX
# directory in your phone where
# exported tracks/waypts go to
trackslocation=E:/gpsmid-tracks
# directory in your phone where
# media (amr) files go to
medialocation=${trackslocation}/media
# where to save tracks/wpt locally
localdir=~/osm
# full path to amr2wav.sh script
amr2wav=~/bin/amr2wav.sh

if [ ! -d "${localdir}" ]; then
	echo "directory ${localdir} does not exist, creating it.."
	mkdir -p ${localdir} || echo "can't create, exiting.." && exit 1
	fi

if [ ! -w "${localdir}" ]; then
	echo "directory ${localdir} does not have writeable permissions, exiting.."
	exit 1
	fi

if [ ! -x ${amr2wav} ]; then
	echo "file ${amr2wav} does not exist and/or is not executable, exiting.."
	exit 1
	fi

cd ${localdir}
export DISPLAY=:0

hciconfig | grep -q UP
if [ $? -ne 0 ]; then
	echo "bluetooth stack is DOWN. exiting.."
	exit 1
fi

obexftp -b ${btaddress} -l C: &>/dev/null
if [ $? -eq 1 ]; then
	echo "mobile too far or bluetooth off?"
	exit 1
fi

free=$(obexftp -b ${btaddress} -X 2>&1 | sed -n '/Free/s/<Free>\([^<]*\)<\/Free>/\1/p' | tail -1 | tr -d '\r')

if [ ${free} -lt 30000000 ]; then
	echo "only $((free/1024/1024)) MB of free space on data card, this may be really bad"
	exit 1
fi

latest_date=$(obexftp -b ${btaddress} -l ${trackslocation}/  2>&1 | sed 's/ *<file name="\([^"]*\)" size="\([^"]*\)" modified="\([^"]*\)".*/\1;\2;\3/'|sort -t';' -k3|tail -1|sed 's/\([0-9]*-[0-9]*-[0-9]*\).*/\1/')
mkdir ${latest_date}
cd ${latest_date}

obexftp -b ${btaddress} -l ${trackslocation}/ 2>&1 | sed 's/ *<file name="\([^"]*\)".*/\1/' | grep ^${latest_date} | while read -r file
	do
		  echo "getting $file..."
		  obexftp -b ${btaddress} -g "${trackslocation}/${file}"
		  until [ $? -eq 0 ]; do
				obexftp -b ${btaddress} -g "${trackslocation}/${file}"
				sleep 1
				done
		  sleep 1
	done

obexftp -b ${btaddress} -c ${medialocation} -l 2>&1 | grep amr | grep ${latest_date} | sed 's/ *<file name="\([^"]*\)".*/\1/' | while read -r amr
	do
	echo "getting sound file ${amr}..."
	obexftp -b ${btaddress} -g "${medialocation}/${amr}"
		   until [ $? -eq 0 ]; do
				obexftp -b ${btaddress} -g "${medialocation}/${amr}"
				sleep 1
				done
	sleep 1
	done

ls | grep -- -waypoints.gpx$ | while read -r wpt
	do
	${amr2wav} ${wpt}
	done

josm *gpx



Todo List

CategorySoftware
There are no comments on this page.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki