Hi,
zum Test des O2 Netzes in meiner Region habe ich eine O2 Prepaid Karte in mein HTC Hero gesteckt und mich über die SMS von der Nummer 221 gewundert. Okay, Google angeschmissen und herausgefunden, dass diese Zahlenkolonne den Standort des O2 Senders verrät.
Was will man damit natürlich als erstes machen?? Na klar, in Google Earth anzeigen lassen
Um an die SMS zu kommen, verwende ich das Programm "SMS Backup & Restore", welche kostenlos im Market verfügbar ist. Dieses Programm erzeugt eine "sms.xml" Datei auf der SD Karte, welche dann auf den PC überspielt werden kann.
Folgendes Shellskript erwartet die "sms.xml" im eigenen Verzeichnis, und erstellt aus ihr die in Google Earth ladbare kml Datei:
xmlstarlet sel -t -c "calls/call[@address=221]" sms.xml | tr " " "\n" | grep body | grep -o [0-9]* | sed 's?\([0-9]\{6\}\)?\10 ?g' >> o2_GK
cs2cs -f "%.10f" +init=epsg:2397 +to +proj=latlong +init=epsg:4326 o2_GK | tr " " ", " | tr "\t " ", " | sed 's?,$?,o2?g' >> o2_WGS84
gpsbabel -i unicsv -f o2_WGS84 -o kml,floating=1,extrude=1,deficon="http://maps.google.com/mapfiles/kml/shapes/target.png" -F o2_google.kml~
Diese Pakete sind u.U. zusätzlich auf dem System zu installieren:
- xmlstarlet
- proj
- gpsbabel
Doppelt vorhandene SMS und somit Koordinaten werden herausgefiltert. Nach dem Verarbeiten der "sms.xml" kann diese gelöscht werden, ebenso wie alle Nachrichten des Absenders 221 auf dem Telefon. Sofern die im Verzeichnis vom Skript erstellten Dateien nicht gelöscht werden und eine neue "sms.xml" verarbeitet wird, werden die neuen Positionsdaten den alten hinzugefügt.
Das einzige, was evtl. angepasst werden muss, ist die Option "+init=epsg:2397" des cs2cs Befehls. Dieser Befehl gibt das Quellformat der Gauß-Krüger Daten an. Je nach Region könnte ein anderer Code und somit Umrechnungsfaktor gültig sein. Weitere Informationen und Codes habe ich hier gefunden.
Die Umrechnung durch das cs2cs Programm ist in meinen Versuchen genauer als diverse Seiten, welche den O2 GK Code direkt in Koordinaten umwandeln.
Wie das ganze unter Windows zum Laufen zu kriegen ist kann ich euch im Detail nicht sagen, jedoch dürfte cygwin eine gute Anlaufstelle sein
Grüße
FLPI