GPS jälki talteen!

Moderators: Petri, harald

Post Reply
User avatar
harald
Hallitus
Posts: 11314
Joined: Thu Sep 19, 2002 14:32 pm
Location: Sibbo
Vene: Charlotta
Contact:

GPS jälki talteen!

Post by harald »

Toverit FEneilijät,

Ottakaa hyvät ihmiset ja opiskelkaa valmiiksi seuraavaa kautta ajatellen miten
saatte ne GPS-jäljet ulos laitteistanne. Helpottaisi kummasti kun liitto haluaisi
pitää jotain koulutusta ja veneitä voisi sahailla edestakaisin tykillä.

Ei siis riitä, että jäljen tallettaa GPS-laitteessa nk. trackiksi. Tällöin menetetään
aikatiedot. Arvaa mistä tiedän..

Kiitos etukäteen.
FIN-2674 s/y Charlotta [Mielipiteet on mielipiteitä] GSM: +358 50 594 1020
KaleviHarkonen
luti
Posts: 533
Joined: Fri Oct 21, 2005 09:15 am
Location: Espoo

Post by KaleviHarkonen »

Noniin, kesällä tuli ruuvattua Lowrancen plotteri paikalleen ja kyllähän se huomattavasti ennakko-odotuksia hauskempi varustelisä oli.

Mutta jälkien ulossaanti on toistaiseksi arvoitus. Plotterin myyneestä (halpis)liikkeestä en ole vielä kysynyt. Ajattelin aloittaa täältä jossa kumminkin tiedetään asiat paremmin :)

Okei, tiedetään että nämä asiat olisi pitänyt selvittää ennen ostamista, mutta kun hyvä pakettitarjous sattui kohdalle niin olihan siihen tartuttava.

Laitteen ohjeessa sanotaan lakonisesti, että jäljet voi tallentaa muistikortille. Jaahas, mutta mitä sitten? Millä infralla ne saa sieltä kortilta siirrettyä PC:lle? Ja millä softalla näkymään?

Laitteessa on myös avoin sarjakaapeli - siis ilman liittimiä. Voiko siihen juottaa esim D9 liittimen ja miten? Ja jälleen - mitä softaa sitten PC:lle?

Vinkeistä kiitos.
KaleviHarkonen
luti
Posts: 533
Joined: Fri Oct 21, 2005 09:15 am
Location: Espoo

Post by KaleviHarkonen »

Vastaan tässä itselleni. Luulen selvittäneeni, että hommaan tarvitaan MMC kortti ja PC:hen kortinlukija. Mutta millä ohjelmalla niitä jälkiä katsellaan - onko niissä käytössä standardi tiedostoformaatti? Lowrance näyttäisi tarjoavan .usr, jos se nyt kertoo mitään.

Lowrancen sivuilta löytyi alkeellisen tuntuinen katseluojelma, johon (ilmeisesti) ei saa edes pohjakarttaa ladattua.

Toisaalta, ne Haraldin esittelemät kryssikulmat oli sellaisia että oman mielenrauhan kannalta olisi varmaan parasta jättää homma sikseen...
Guest

Post by Guest »

Ainakin GPSMAN tukee tiedostonsiirtoa suoraan Lowrancen GPSistä (siis NMEA-kaapelia pitkin). Se on Linux-ohjelma, mutta varmasti muitakin löytyy, myös Windowsiin.

En tiedä, mikä on Lowrancen tiedostoformaatti, mutta Garminista tallentamani trackit ovat aika helposti tulkittavia tekstitiedostoja, jotka muutan lyheällä skriptillä NMEA-muotoon, joita voi sitten katsoa vaikkapa CD-Merikartalla (näyttää myös nopeuden ja suunnan) sekä tietysti kaikilla muillakin NMEA:ta tiedostosta lukevilla ohjelmilla.

Joakim
Guest

Post by Guest »

Kalevi_Harkonen wrote:Vastaan tässä itselleni. Luulen selvittäneeni, että hommaan tarvitaan MMC kortti ja PC:hen kortinlukija. Mutta millä ohjelmalla niitä jälkiä katsellaan - onko niissä käytössä standardi tiedostoformaatti? Lowrance näyttäisi tarjoavan .usr, jos se nyt kertoo mitään.
Google Earthin mukana tulee gpsbabel.exe ohjelma, löytyy Earthin ohjelmakansiosta. Se on komentoriviltä käytettävä, ja osaa kääntää melkein kaikki GPS-formaatit johonkin toiseen. Netistä Googlaamalla "gpsbabel" muistaakseni löytyy ohjelman nettisivut, mistä löytyy tarkka lista mitkä formaatit on tuettu.

Jaa, näyttää siltä, että GPS Visualizer http://http://www.gpsvisualizer.com/gpsbabel/ sisältää myös tuon Babelin. Ja Lowrance USR on tuettu. Eli netissäkin voi käännöksen suorittaa, jos ei jaksa komentorivin kanssa puljailla.

-jussi
Olgan hangaround-jäsen
KaleviHarkonen
luti
Posts: 533
Joined: Fri Oct 21, 2005 09:15 am
Location: Espoo

Post by KaleviHarkonen »

Jahas, tuntuu tämä olevan aikamoinen suo. Google kartassa sain sentään jäljen näkymään. Sitten hain kirjastosta CD Merikartan, joka nähtävästi haluaa reittitiedoston sisään .mcd tiedostona. Mukana tuli ohjelma, joka osaa konvertoida .wpl, .mst, .grm ja .trk tiedostot Merikartalle, mutta mitään niistä taas ei löydy GPSBaabelista.

GPSBaabelin tekemä NMEA tiedosto on tekstieditorilla luettavissa, mutta Merikartalla tehty ja tallennettu reitti ei ole lukukelpoinen.

Pitäisikö olla CD Merikartasta uudempi versio? Tämä on v. 2004.
User avatar
harald
Hallitus
Posts: 11314
Joined: Thu Sep 19, 2002 14:32 pm
Location: Sibbo
Vene: Charlotta
Contact:

Post by harald »

Ei taida auttaa tuossa, mutta ei kukaan varmaan käytä tuota mericd-levyllä
olevaa ohjelmaa vaan sellaista kuin seaclear.

Samalla sivulla on linkit ohjelmiin Seatrace ja SeaTrackEdit. Tuota seatrace-
ohjelmaa kannattaa ajossa käyttää SeaClearin käynnistämiseen.

Porin Navigaatioseuralla on netissä loistavia ohjeita miten Mericd-materiaali
konvertoidaan seaclearin muotoon, kalibrointi mukaanlukien.

Sitten varsinaiseen ongelmaan. SeaClear-ohjelmassa on Track-Import työkalu,
jolla voidaan tuoda Waypoint+ tai G7To muotoisia trackeja seacleariin. Gpsbabel
näyttää osaavan tallenusta waypoint+ muotoon joten tällä saisi ainakin trackin
näkymään karttapohjalla.

Tuota virtuaalikisaamista varten tarvitaan vuorostaan XML-pohjainen versio
trackista, ja vielä sellainen joka on siis track, eikä route. Yleensä kun talletetaan
ajettu track reitiksi plotterissa tai gps-laitteessa häviää nuo aikamääreet, jolloin
sitä trackia ei voida käyttää virtuaaliajoon enää. Garminissa taisi olla joku
sellainen kun active route jota piti imuttaa laitteesta ulos, jos active route
tallensi tavalliseksi routeksi siitä nipsaistiin kellonajat pois.

Tähän ei mitään helppoa ratkaisua kyllä ole. Ideaalitapauksessa saisimme
ilman mitään ylimääräistä työtä GPX (XML) muotoiset jäljet jokaisesta veneestä
jokaisen kisan jälkeen mutta standardit jne ovat vielä niin laajat että tätä päivää
joudumme todennäköisesti odottelemaan. Siihen asti pitää nähdä vaivaa ja
uhrata aikaa asian opiskelemiseen.

Itse ottaisin vain GPX-muotoisia trackeja vastaan, vielä niin että niistä on
leikattu pois kaikki pisteet jotka ovat -4min startista ja loppuisi maaliintuloon
(gpsbabel osaa myös leikata trackia kellonaikojen perusteella).

Google Groupsista löytyy myös tästä mericd/track-ongelmasta jotain keskustelua.
Sieltä löytyi jopa linkki Eikka Uikkasen tekemään GeoConv-ohjelmaan joka lukee
ja kirjoittaa sekä NMEA että MCD-tiedostoja.

Laitatko Kalevi tuon NMEA-tiedoston tulemaan minulle s-postilla niin voisin
tehdä siitäkin GPX-tiedoston?
FIN-2674 s/y Charlotta [Mielipiteet on mielipiteitä] GSM: +358 50 594 1020
User avatar
harald
Hallitus
Posts: 11314
Joined: Thu Sep 19, 2002 14:32 pm
Location: Sibbo
Vene: Charlotta
Contact:

Post by harald »

Vähän lisää infoa miten itse käytän gpsbabelia;

gpx-tiedoston pilkkominen start- ja stopaikoja käyttäen:

Code: Select all

gpsbabel -t -i gpx -f tiedosto.gpx -x track,start=200608270711,stop=200608270807 -o gpx -F uusitiedosto.gpx
SeaTrace:n tuottaman TRT-tiedoston konversio GPX-muotoon:

Code: Select all

#! /bin/sh

# © 21 aug 06, Harald Hannelius

# this one reads a SeaTrace trt-file and spits out an GPX file

# Todo: the xml gpx-file doesn't have a <trk> or <trkseg> tag in it. Have to
# add that manually for now.

# Todo: The trt files are un-averaged. One should really do a
# moving average on the values before using them. Or just skip two of three lines?

if [ -z ${1} ] ; then
    echo give input file as arg1
    exit 1
else
    infile="${1}"
fi

newfile="`basename "$infile" .trt`.gpx"

gpsbabel -i xcsv,style=seatrace.style -f "$infile" -o gpx -F "$newfile"

cat $newfile | sed -e 's,<wpt,<trkpt,' -e 's,</wpt>,</trkpt>,' -e 's,<time,  <ele>0</ele>\n  <time,' > $newfile.tmp
mv $newfile.tmp $newfile
#sed -e 's,<wpt,<trkpt,' -e 's,</wpt>,</trkpt>,' 's,<time,<ele>0</ele>,<time,'
edellisen esimerkin seatrace.style tiedosto:

Code: Select all

# Style file for gpsbabel to read SeaClear's companion SeaTrace's TRT file.
#  7 Feb 06 Harald, first version

DESCRIPTION SeaTrace TRT format

#
COMMA   ,
FIELD_DELIMITER    COMMA
RECORD_DELIMITER    NEWLINE

# Look in the file seatrace.format for info on TRT files.
# first column i date (from computer)
#   20050907 15:08:12 CZ    # date, from computer!!
# second column is LAT as D.D
# third column is LON as D.D

#IFIELD YYYYMMDD_TIME,"","%ld"
IFIELD  GMT_TIME,"","%Y%m%d %H:%M:%S %Z"
IFIELD  LAT_DECIMAL,"","%f"
IFIELD  LON_DECIMAL,"","%f" 
FIN-2674 s/y Charlotta [Mielipiteet on mielipiteitä] GSM: +358 50 594 1020
Guest

Post by Guest »

Kalevi_Harkonen wrote:Jahas, tuntuu tämä olevan aikamoinen suo. Google kartassa sain sentään jäljen näkymään. Sitten hain kirjastosta CD Merikartan, joka nähtävästi haluaa reittitiedoston sisään .mcd tiedostona. Mukana tuli ohjelma, joka osaa konvertoida .wpl, .mst, .grm ja .trk tiedostot Merikartalle, mutta mitään niistä taas ei löydy GPSBaabelista.

GPSBaabelin tekemä NMEA tiedosto on tekstieditorilla luettavissa, mutta Merikartalla tehty ja tallennettu reitti ei ole lukukelpoinen.

Pitäisikö olla CD Merikartasta uudempi versio? Tämä on v. 2004.
Haraldista huolimatta käytän CD Merikarttaa, tosin en koskaan veneen liikkuessa, vaan ainoastaan reittien suunnitteluun ja trackien katsomiseen.

CD Merikartta lukee sisään kutakuinkin NMEA-muotoista dataa "lokin toistoon". Olen tehnyt hyvin yksinkertaisen skriptin, jolla muunnan Garminin trackit tuohon muotoon. Tulos näyttää tältä:

res=1
$GPGGA,144030,6006.931,N,2440.919,E,1,06,1.0,0.0,M,-34.0,M,0.0,0000
$GPVTG,315.10,T,,,-0.00,N,-0.00,K
res=1
$GPGGA,144130,6006.931,N,2440.922,E,1,06,1.0,0.0,M,-34.0,M,0.0,0000
$GPVTG,90.00,T,,,0.10,N,0.18,K

Tuossa GPGGA:ssa on siis kellonaika (14:40:30), paikka ja loput "turhaa" ko. käyttöön. Sitten GPVTG:ssä on suunta ja nopeus (toisessa rimpsussa 0,1 kn ja 0,18 km/h)

Ja muunnosohjelma (awk-skripti) tältä:

Code: Select all

BEGIN{
  start=0;
  TR=-1;
  oldtime=-1000;
  FS=","
}
{
  if(match($0, "TP")!=0)
    {
      if($7==1)
        {
          TR++;
          start=1;
          i[TR]=0;
        }
      if(start==1 && $0!="")
        {
          STR[TR,i[TR]]=$0;
          i[TR]++;
        }
    }
}
END{
  maxTR=TR+1;
  for(TR=0; TR <= maxTR; TR++)
    {
      if(i[TR]>0)
        {
          for(j=0;j<i[TR];j++)
            {
              $0=STR[TR, j];
              print "res=1";
              gsub(":", "", $6);
              time=$6;
              h=substr(time,1,2);
              min=substr(time,3,2);
              sec=substr(time,5,2);
              timeh=h + min/60.0 + sec/3600.0;
              NorS="N";
              Ndeg=substr($3,0,3);
              Nmin=substr($3,4)*60.0;
              EorW="E";
              Edeg=substr($4,0,3);
              Emin=substr($4,4)*60.0;
              printf("$GPGGA,%d,%.3f,%c,%.3f,%c,1,06,1.0,0.0,M,-34.0,M,0.0,0000\n", time, Ndeg*100+Nmin, NorS, Edeg*100+Emin,EorW);
              COG=0.0;
              SOG=0.0;
              N=$3;
              E=$4;
              if((timeh-oldtimeh) < 0.2 && (timeh-oldtime) > 0.0001)
                {
                  if(((E-oldE)*(E-oldE))>1e-20)
                    COG=180/3.14159*atan2(N-oldN, (oldE-E)*cos(3.14159*N/180.0))-90.0;
                  else
                    {
                      if(N > oldN)
                        COG=0.0;
                      else
                        COG=180.0;
                    }
                  if(COG < 0.0)
                    {
                      COG+=360.0;
                    }
                  SOG=60.0*sqrt((E-oldE)*cos(3.14159*N/180.0)*(E-oldE)*cos(3.14159*N/180.0) + (N-oldN)*(N-oldN));
                  SOG/=(timeh-oldtimeh);
                }
              printf("$GPVTG,%.2f,T,,,%.2f,N,%.2f,K\n",COG,SOG,SOG*1.852);
              oldtimeh=timeh;
              oldN=N;
              oldE=E;
            }
        }
    }
}
Joakim

mode edit(hh): code-tagit lisätty
KaleviHarkonen
luti
Posts: 533
Joined: Fri Oct 21, 2005 09:15 am
Location: Espoo

Post by KaleviHarkonen »

Aikamoiseksi on purjehdusharrastus mennyt, tästä on tervantuoksu kaukana :shock:

Mutta vinkeistä kiitos, nyt track jo komeilee Seaclearissa merkartalla (se karttojen kovertointi olisi ilman noita Porin Navigaatioseuran ohjeita jäänyt varmasti tekemättä).

Sitten GPX:ien kimppuun. Onneksi kauden alkuun on vielä aikaa....
User avatar
harald
Hallitus
Posts: 11314
Joined: Thu Sep 19, 2002 14:32 pm
Location: Sibbo
Vene: Charlotta
Contact:

Post by harald »

Tässä muistutuksena että ottakaa ne trackit talteen.

päivitänpä samalla tässä miten Seaclearin kaverin Seatrace-ohjelman
TRT-tiedostosta voi tehdä GPX (XML-muotoisen) tracktiedoston. Esimerkkiä
voi hyvin käyttää lowrance/garmin/muitten navigaattorien trackien
muuntamiseen. Silloin gpsbabel:in vipu -i on erilainen. gpsbabel tukee
varmaan tuhansia eri input-formaatteja, erinäisten CSV-formaattien lisäksi
joten en rupea niitä tähän listaamaan.

Ohjeet on linuxia varten, mutta eikö noita windowsillakin voisi ajaa, jos muuntaa
skriptin BAT-muotoon ja käyttää gpsbabel.exe:ä.

Tallettakaa skripti nimeltään trt2gpx.sh

Code: Select all

#! /bin/sh
# 3 jun 08 Harald, trunkating tracks to 500 points, make track-files, not wpt.
# © 21 aug 06, Harald Hannelius
if [ -z ${1} ] ; then
        echo give input file as arg1
        exit 1
else
        infile="${1}"
fi

# filter, 3s average
shorten="-x simplify,count=500"
title="-x track,title=Charlotta"

newfile="`basename "$infile" .trt`.gpx"

gpsbabel -t -i xcsv,style=seatrace.style -f "$infile" $shorten $title -o gpx -F "$newfile"
Vaihda se title-kohta Charlotta oman veneen nimi tilalle.

Skriptissä viitataan seatrace.style nimiseen tiedostoon. Se kuvailee Seatrace-
ohjelman TRT-muotoa gpsbabelille:

seatrace.style tiedosto:

Code: Select all

# Style file for gpsbabel to read SeaClear's companion SeaTrace's TRT file.
#  3 jun 08 harald, added datatype so we can filter output using gpsbabel track-filters.
#  7 Feb 06 Harald, first version

DESCRIPTION     SeaTrace TRT format

DATATYPE        TRACK

#
COMMA   ,
FIELD_DELIMITER    COMMA
RECORD_DELIMITER    NEWLINE

# Look in the file seatrace.format for info on TRT files.
# first column i date (from computer)
#       20050907 15:08:12 CZ    # date, from computer!!
# second column is LAT as D.D
# third column is LON as D.D



#IFIELD YYYYMMDD_TIME,"","%ld"
IFIELD  GMT_TIME,"","%Y%m%d %H:%M:%S %Z"
IFIELD  LAT_DECIMAL,"","%f"
IFIELD  LON_DECIMAL,"","%f" 
Sitten skripti ajetaan näin:

Code: Select all

 sh gps2trt.sh 20080528.TRT
Jonka jälkeen sinulla on 20080528.gpx-niminen tiedosto, melkein valmiina
lähetettäväksi joka paikkaan.

gpsbabel tukee myös esim. start- ja stopaikojen määrittämistä, näin saa
helposti leikattua siirtymiset, pre-start kiemurat ja kotiinpaluumatkat pois.
Esimerkki on gpsbabel.org sivulta:

To get only the parts of a track that were mapped on 20 July 2005 between 10 AM and 6 PM, use this command line:

Code: Select all

gpsbabel -t -i gpx -f in.gpx -x track,start=2005072010,stop=2005072018 -o gpx -F out.gpx
Ajat ovat UTC-aikoja, joten start-aika WHC:ssä on yleensä 15:10:00.
FIN-2674 s/y Charlotta [Mielipiteet on mielipiteitä] GSM: +358 50 594 1020
Post Reply