GPS koordinatak

Sziasztok!

Idokent van, hogy ismeretlen helyre megy az ember gyalog, vagy ismert helyre, de kis szar kacskaringos utcakon. Budapest jo ilyen szempontbol, de Szentendre belso reszen mar volt, hogy elkavarodtam.
Viszont mar a leggagyibb Androidos telefonokban is van GPS meg iranytu, szoval ha tudjuk a cel koordinatait (es a telefon elmondja a mienket), mar nem nagy muveszet megtalalni (ld. Geocaching).
Erre egy 700 MB-os iGO adatbazis kicsit overkill lenne (bar ketsegkivul vannak elonyei), mobilnetes terkep meg viszi a mobilnetet (raadasul nem mindenhol van gyors halo).
Na, ennyi bevezeto utan nezzunk egy egyszeru scriptet, amivel elore le tudjuk szedni a lehetseges jovobeli celpontok helyet:


#!/bin/bash

cim="$1"
cimenc=`echo "$cim"|sed -e "s/ /%20/g"`
url="http://maps.google.com/maps/geo?output=json&oe=utf-8&q=${cimenc}&key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA&callback=_xdc_._7fct6rpb8"
json=`curl "$url" 2>/dev/null`
coords=`echo "$json"|grep "coordinates"|sed -e 's/^[^[]*\[\s*\([0-9.]\+\),\s*\([0-9.]\+\),\s*[0-9.]*\s*\]\s*$/\1 \2/'`
x=`echo "$coords"|cut -d ' ' -f 1`
y=`echo "$coords"|cut -d ' ' -f 2`

echo "cim:  $cim"
echo "long: $x"
echo "lat:  $y"

Ha ezt at akarjuk rakni egy telefonra, arra hasznalhatjuk a QR code-ot is (persze tetszes szerint atalakitando, lehet contact address/memo is, lehet calendar place, stb.. attol fuggoen, hogy hogy lesz kenyelmes a hasznalata):


if [ $# -ge 2 ]
then
  qr_fn="$2"
  qrencode -o "$qr_fn" -s 5 "geo:${y},${x}?q=${cim}"
#  qrencode -o "$qr_fn" -s 5 "${cim} helye: ${y} ${x}"
fi

Persze a script nem csak erre jo (hanem amire eredetileg irtam, rengeteg cim koordinatainak automatikus lekerdezesere), de erre is jo. Arra azert figyeljetek, hogy ha parezer cimmel meginditjatok, akkor a lekerdezesnel legyen egy kis sleep, kulonben kitilt a gugli maps. (a feltuntetett key egyebkent a gugli sajatja)

ui: a "urlencode" most csak a space-t tamogatja.. lehet ezt valahogy szepen, szabvanyosan, shell scriptben? Az eredeti scriptem anno PHP volt, onnan egyszerubb volt.. (na meg a JSON is..)

Hozzászólások

ui-ra: azt nem tudom, de a space helyettesíthető +-szal is, nem muszáj mindjárt hexában megadni. Viszont a hexának van egy olyan előnye, hogy bármilyen karaktert leírhatsz vele, olyat is amit nem kell encodeolni.

--
Don't be an Ubuntard!

Android + Navitel + TuHu?

Ja, a GPS meg eszi az aksit...

mi a különbség ha ugyanazt kapom az eredeti szkripttel és a key=... törlésével?
tehát mi a key? és nem pedig a key értéke :)

ps: olyasmire lettem volna kíváncsi hogy a kulcs tulaja is kap-e valami infót/statisztikát a lekérésről, vagy csak a guglinak infó hogy kit piszkáljanak?

csak ennyit találtam:
If you have a key, we can contact you if we detect problems with your application/site.