1. Tämä sivusto käyttää evästeitä. Jatkamalla tämän sivuston käyttöä, annat suostumuksesi evästeiden käytöllemme. Lue lisää.

GPS sijainnin käyttö Reittioppaassa?

Keskustelu osiossa 'GPS-paikannus', aloittaja Nibbler, 6/11/07.

  1. Nibbler

    Liittynyt:
    6/11/07
    Viestit:
    2
    Tykkäykset:
    0
    On tullut viikon verran Nokia 6110 Navigatorin kanssa räplättyä. Käytännölliseksi olen huomannut etenkin mobiili Reittioppaan. Käyttöä helpottaisi kuitenkin jos siinä pysytyisi käyttämään GPS-sijaintia reittien valinnassa. Esim. yksinkertaisimmillaan "Anna reitti täältä kotiin" -tyyliin.

    En ole Googlella ainakaan onnistunut löytämään mitään valmista ratkaisua. Periaatteessa tuon pitäisi kuitenkin olla mahdollista. Reittioppaan URLeja tutkimalla huomasin, että siihen pystyy antamaan koordinaatteja KKJ-muodossa seuraavasti:
    Koodi:
    http://aikataulut.ytv.fi/reittiopas-pda/fi/?mm=trip&map=2&n=1&px=2552425&py=6673579&zoom=1&x=100&y=125
    Tämä perustuu siis kartalta valittuihin pisteisiin. px ja py on kartan keskipiste KKJ-koordinaateissa. x ja y on klikkauksen koordinaatit pikseleinä. Pitämällä x ja y ylläolevan tapaan kartan keskellä (100,125) saadaan halutun pisteen kordinaatit syötettyä nimenomaan px ja py arvoilla.

    Nyt tarvittaisiin siis ohjelma joka
    1. Lukee kännykän GPS-koordinaatit
    2. Muuttaa ne KKJ-muotoon
    3. Muodostaa sopivan URLin ja avaa sen selaimessa

    Tällaisen ajattelin koodata Pythonilla, ellei jollain ole tarjota valmista ratkaisua. Vinkkejä?
     
  2. Nibbler

    Liittynyt:
    6/11/07
    Viestit:
    2
    Tykkäykset:
    0
    No, ensimmäinen versio syntyi ihan näppärästi. Itselleni riittävät toiminnot löytyy, mutta aivan niin kätevää tuosta en saanut kuin toivoin. Toimii siten, että ensin valitaan listasta mihin ollaan menossa (valitsemalla "Muu" kohdetta ei aseteta). Sitten avautuu selaimeen Reittiopas siten, että nykyinen GPS sijainti on lähtöpiste ja valittu kohde loppupiste.

    Koodi:
    # File:            GPSreittiopas.py
    #
    # Version:         0.01
    #
    # Description:     Avaa selaimessa Reittioppaan niin että nykyinen sijainti on
    #                  reitin lähtöpisteenä
    
    import positioning
    import e32
    import appuifw
    from KKJWGS84 import *
    from urllib import quote
    
    title=u"GPS Reittiopas"
    dests=[u"Kamppi", u"Rautatieasema", u"Muu"]
    appuifw.app.title = u"Valitse kohde"
    ind=appuifw.selection_list(dests,1) 
    if ind==None or dests[ind]==u"Muu": dest=""
    else: dest=quote(dests[ind])
    appuifw.app.title = title
    
    print "Haetaan sijaintia..."
    positioning.set_requestors([{"type":"service", "format":"application", "data":"test_app"}]) 
    pos = positioning.position()
    lalo = {}
    lalo['La'] =  pos['position']['latitude']
    lalo['Lo'] =  pos['position']['longitude']
    coco=KKJWGS84()
    kkj = coco.WGS84lalo_to_KKJxy(lalo)
    kkjp = int(kkj['P'])
    kkji = int(kkj['I'])
    
    reittiopas_url = "http://aikataulut.ytv.fi/reittiopas-pda/fi/"
    url_args = "?map=2&n=1&px=" + str(kkji) + "&py=" + str(kkjp) + "&zoom=8&x=100&y=125" + "&keyb=" + dest
    url = '4 ' + reittiopas_url + url_args
    b = 'BrowserNG.exe' 
    print "Avataan reittiopas"
    e32.start_exe(b, ' "%s"' %url)
    print "Valmis"
    
    Jos joku haluaa kokeilla niin asentamiseen tarvitaan:
    • PythonForS60. PythonScriptShellistä pitää ladata allekirjoittamaton versio, joka pitää itse allekirjoittaa Developer sertifikaatilla, jotta GPS ominaisuudet toimisi. Sertifikaatin saa rekisteröitymällä SymbianSignediin ja noudattamalla sieltä ohjeita.
    • KKJWGS84.py koordinaattimuunnoksiin. Saa osana pys60gps:ää. (vain tuo yksi tiedosto kuitenkin tarvitaan). Python löytää tiedoston jos sen tallentaa esim. /Python/lib/ -hakemistoon muistikortille.

    Skripti on tosiaan nopea viritelmä, enkä vastaa mistään, jos saatte sillä puhelimenne solmuun. Muokata ja levittää saa toki ihan vapaasti. Tärkeimmät puutteet ovat:
    • Selaimen avautumisen jälkeen pitää vielä painaa Reittioppaasta "Hae" -nappia, vaikka molemmat pisteet olisikin annettuina.
    • Käynnistäminen hankalaa. Pitää ensin avata PythonScriptShell ja sitten valita "Run Script". Tarkoitus olisi tosiaan saada reitti näkyviin parilla napinpainalluksella, mutta en keksinyt miten skriptin saisi valikkoihin omana sovelluksenaan.
    • Jos selain on valmiiksi auki, Reittiopas ei avaudu. Ilmeisesti myös oletussivuna pitää olla kirjanmerkit.
    • Omia kohteita voi muokata vain muokkaamalla skriptiä (ne ovat hardkoodattuna listaan). Muutenkin käyttöliittymä varsin karu ja koodista puuttuu virheentarkistukset, järkevät funktiot, ym...
     
  3. Spelman

    Liittynyt:
    3/6/07
    Viestit:
    79
    Tykkäykset:
    0
    Ilmeisesti tuo Pys60gps ei toimi S60v3 ? (tai ainakin se kaatuu heti kun yrittää käynnistää, tiedostot kopioin vain yksinkertaisesti siitä paketista).

    Tämän ohjelman avulla saa toki nuo KKJ:n paavoiivarit kun katsoo selaimen "sivun tiedot".

    Olisi tarvetta yksinkertaiselle ohjelmalle joka vain kertoisi nuo koordinaatit suoraan ruudulla, pys60gps:n tapaan, ilman mitään ylimääräisiä nopeuksia tai POI-tietoja. Pelkät koordinaatit.
     

Jaa tämä viestiketju