[PHP] nmea string naar lat long

Pagina: 1
Acties:
  • 417 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,

De standaard voor gps unit is het nmea protocol. Nu ben ik met een script bezig om de strings uit te lezen en naar een bruibaar format om te zetten. Hieronder staat een voorbeeld string.

$GPRMC,125832.19,A,5205.718702,N,00508.174921,E,000.0,151.0,030506,,*3D

Nu weet ik wel wat de berekening zal moeten zijn voor als ik een coordinaat in NL heb maar hoe zit dat met coordinaten die over de evenaar liggenwant dat worden - getallen.

De berekening voor de bovenstaande string is volgens mij:

5205.718702 splitsen met bv $res = substr($string, 2);

05.718702 / 60 = 0.0953117 + 52 = 52.0953117(latitude)

00508.174921 splitsen met bv $res = substr($string, 3);

08.174921/60 = 0.13624868 + 05 = 5.13624868


Heeft iemand een idee wat er dan veranderd of kan ik deze berekening blijven gebruiken. Ik heb op wiki's zitten zoeken en uitleg is er genoeg maar ik kan niet vinden wat er gebeurd als er iemand over de evenaar gaat.

Alvast bedankt

Acties:
  • 0 Henk 'm!

  • soepkip
  • Registratie: Augustus 2000
  • Laatst online: 17:24

soepkip

Kratjes kunnen nu ook voorin

MIn getallen lopen ook gewoon door,
je zult gewoon simpel moetten checken of het getal positief of negatief is, en dan de berekening erop loslaten (en denk erop, min min is plus)


p.s. voor welk gis gerelateerde shit ga je dit nu weer voor gebruiken ?

Beste film ooit


Acties:
  • 0 Henk 'm!

  • PierreAronnax
  • Registratie: Maart 2002
  • Niet online
Hier stond flauwekul

[ Voor 88% gewijzigd door PierreAronnax op 03-05-2006 15:45 ]

Pierre - Motormedia.nl - Motor-Forum.nl - Motorshopper.nl - Motormeuk.nl - Motorstek.nl


Acties:
  • 0 Henk 'm!

  • soepkip
  • Registratie: Augustus 2000
  • Laatst online: 17:24

soepkip

Kratjes kunnen nu ook voorin

Jij wou er stiekem uren van maken :)

Beste film ooit


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ha ha ha ha.... jo soepkippiooo, goeie maar volgens mij heeft het ook iets met dat N(ord) en E(ast) wat ook West en Zuid kan worden.

@pierre.. wat je zegt klopt niet dit is een ander format. doe zelf maar de berekening dan zie je wat ik bedoel. (laat maar :))

[ Voor 3% gewijzigd door Verwijderd op 03-05-2006 15:48 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
@soepkip, heb hier zon ipaq liggen met ingebouwde gps ontvanger...bart is op vakantie dus ik dacht he laat ik dat ding is testen met een leuk freeware tooltje en dan lekker op die map24 meuk van ons knallen.

Je moet toch wat

p.s. geen msn?

[ Voor 4% gewijzigd door Verwijderd op 03-05-2006 15:51 ]


Acties:
  • 0 Henk 'm!

  • PierreAronnax
  • Registratie: Maart 2002
  • Niet online
Als je aan de andere kant van de evenaar zit krijg je geen negatief getal terug, maar veranderd de 'N' die voor het coördinaat staat in een 'S'.

Pierre - Motormedia.nl - Motor-Forum.nl - Motorshopper.nl - Motormeuk.nl - Motorstek.nl


Acties:
  • 0 Henk 'm!

  • sariel
  • Registratie: Mei 2004
  • Laatst online: 22-05-2024
Even gezocht.....

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
$GPRMC

Recommended minimum specific GPS/Transit data

eg1. $GPRMC,081836,A,3751.65,S,14507.36,E,000.0,360.0,130998,011.3,E*62
eg2. $GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7,191194,020.3,E*68


           225446       Time of fix 22:54:46 UTC
           A            Navigation receiver warning A = OK, V = warning
           4916.45,N    Latitude 49 deg. 16.45 min North
           12311.12,W   Longitude 123 deg. 11.12 min West
           000.5        Speed over ground, Knots
           054.7        Course Made Good, True
           191194       Date of fix  19 November 1994
           020.3,E      Magnetic variation 20.3 deg East
           *68          mandatory checksum


eg3. $GPRMC,220516,A,5133.82,N,00042.24,W,173.8,231.8,130694,004.2,W*70
              1    2    3    4    5     6    7    8      9     10  11 12


      1   220516     Time Stamp
      2   A          validity - A-ok, V-invalid
      3   5133.82    current Latitude
      4   N          North/South
      5   00042.24   current Longitude
      6   W          East/West
      7   173.8      Speed in knots
      8   231.8      True course
      9   130694     Date Stamp
      10  004.2      Variation
      11  W          East/West
      12  *70        checksum


eg4. $GPRMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,ddmmyy,x.x,a*hh
1    = UTC of position fix
2    = Data status (V=navigation receiver warning)
3    = Latitude of fix
4    = N or S
5    = Longitude of fix
6    = E or W
7    = Speed over ground in knots
8    = Track made good in degrees True
9    = UT date
10   = Magnetic variation degrees (Easterly var. subtracts from true course)
11   = E or W
12   = Checksum


Ik denk dat het "N"-etje dan in een "S" veranderd, en dat de verdere berekeningen gewoon identiek blijven.


edit: info gevonden op http://aprs.gids.nl/nmea/

[ Voor 3% gewijzigd door sariel op 03-05-2006 15:51 ]

Copy.com


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ja ik weet het niet dit zijn b.v. lt lg coordinaten van een spaniaard op onze database.

lt = 36.8374766667
lg = -2.45934166667

en van een jordanees ;)
lt = 44.5453216667
lg = 1.05241833333

dus je ziet dat ik niet op kan blijven tellen.. toch?

thanks ik al al zoiets http://www.gpsinformation.org/dale/nmea.htm#position

[ Voor 15% gewijzigd door Verwijderd op 03-05-2006 15:55 ]


Acties:
  • 0 Henk 'm!

  • soepkip
  • Registratie: Augustus 2000
  • Laatst online: 17:24

soepkip

Kratjes kunnen nu ook voorin

Hoort dat switchen van S/N niet gewoon in de NMEA specificaties te staan ? (is voor mij ook alweer lang geleden)

offtopic:
Geen MSN hier, ik zit op klus nu, en alles is hier afgeschrmt, google-chat lukt me wel :)Ik ben toch per 1 april een neiuwe baan begonnen

Beste film ooit


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
offtopic:
@soepkip wat is je gmail account

Acties:
  • 0 Henk 'm!

  • soepkip
  • Registratie: Augustus 2000
  • Laatst online: 17:24

soepkip

Kratjes kunnen nu ook voorin

Verwijderd schreef op woensdag 03 mei 2006 @ 15:58:
offtopic:
@soepkip wat is je gmail account
offtopic:
check je mail

Beste film ooit


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
mmm Ik denk dat als ik het zo goed zie dan is het als het W(est) is dat je er dan een minnetje voor moet zetten.

http://www.vonglahn.com/latlongvert/index.htm

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ff kort door de bocht. Maar dit werkt wel.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    function readFile(){
        $handle = @fopen($this->dir.$this->file, "r");
        if ($handle) {
           while (!feof($handle)) {
               $buffer = fgets($handle, 4096);
               if (substr($buffer,0, 6)=='$GPRMC'){
                 $this->decodeNmea($buffer);
                
               }
           }
           fclose($handle);
        }       
    }
    
    function decodeNmea($string){
        $parts = explode(',', $string);
        $lt = (substr($parts[3],2)/60)+substr($parts[3],0,2);
        
        $lg = (substr($parts[5],3)/60)+substr($parts[5],0,3);
        
        if ($parts[6]=='W')
            $lg='-'.$lg;
                        
                if ($parts[4]=='S')
            $lt='-'.$lt;
        
        $time=$parts[1]."|".$parts[9];
        
        $this->point($lt, $lg, $time);
    }
Pagina: 1