GPS-Daten weiterverarbeiten

Fragen und Hinweise zu Software, die mit dem Thema GPS zu tun hat. Egal ob PC oder Handheld.

Moderator: Roland

Antworten
fury110
Beiträge: 2
Registriert: 04.03.2007 - 19:31
Wohnort: Berlin

GPS-Daten weiterverarbeiten

Beitrag von fury110 » 04.03.2007 - 19:49

Hallo zusammen,

Ausstattung:
Holus GPSlim240 (SiRF Star III, NMEA0183, v.2.2, BlueTooth 1.2)
Vodafone VPA compact I (WM2003, 2.ed.)

Folgendes Problem liegt vor mir:
Ich möchte meine aktuelle Position benutzen, um damit lokale Informationen von meinem Server über eine http-Verbindung abzurufen.
Die Verbindung zum Server hab ich schon - es fehlt noch das Auslesen der aktuellen GPS-Position, die ich dann nach Hause schicken kann.

Nach Studium unzähliger Postings bin ich leider so schlau wie zuvor...
Ich habe verstanden, daß ich offenbar auf einem Logfile aufsetzen kann, dessen Zugriff aber wohl ggf. gesplittet werden muß. Gibt´s keine Möglichkeit den Stream der seriellen Schnittstelle abzugreifen?
Wie mach ich das ggf?

Wo finde ich das Logfile? Mit den gelieferten Bordmitteln sehe ich es nicht (bei laufendem GPSViewer!).

Schönen Dank für Eure Aufmerksamkeit.
Fury

Benutzeravatar
RaGo
Beiträge: 179
Registriert: 15.10.2005 - 11:14
Wohnort: Stuttgart

Beitrag von RaGo » 05.03.2007 - 09:19

Hallo Fury,

hier auch nicht fündig geworden?

http://www.kowoma.de/gpsforum/viewtopic.php?t=1499

Rainer

Kai-Behncke
Beiträge: 5
Registriert: 26.02.2007 - 16:12
Wohnort: Osnabrück

Beitrag von Kai-Behncke » 06.03.2007 - 18:45

Hallo, ich habe das wie folgt gemacht:

Ich benutze das GPS-Programm u-center 4.02.
Die ganze Anwendnug läuft allerdings nicht auf nem PDA sondern auf nem Rechner mit GPS.

Auf die Logdatei COM...x..y.ubx von u-center kann man auch in Echtzeit zugreifen, das heißt sogar dann, wenn da direkt Daten eingelesen werden.

Mittels eines PHP-Skriptes, welches alle 5 Sekunden aktualisiert wird,
wird der NMEA-String aus der Log-Datei geparst und in eine Geodatenbank (PostgreSQL, PostGIS) eingelesen.
Aletrnativ könnte man natürlich auch den umgekehrten Weg gehen und Daten an den Positionen auslesen.
Das Skript wie folgt:

<body>
<!--Header(Location: ); -->
<meta http-equiv="refresh" content="5"; URL=asus.php">
<!--<form action="http://localhost/asus/asus.php" method="post"> -->
<?

include "verbindungsaufbau_gps_eintrag.php";
$con = pg_connect ($con_string);

$id_check = "SELECT max(gid)as gid from gps_werte2";
$res_id_check = pg_query($con,$id_check);
$count = pg_result($res_id_check,"gid");
echo "The value: ".$count;

$datei="COM3_070306_164948.ubx";

$zerpflueck_array=file($datei);
$y=0;
$z=0;
for ($x=0;$x<count($zerpflueck_array);$x++)
{



if (eregi("GPGGA",$zerpflueck_array[$x])) {


$nmea_array[]=$zerpflueck_array[$x];
$y++;


$nmea_gueltig_pruef=explode(",",$nmea_array[$y-1]);
if ($nmea_gueltig_pruef[2]!='') {
$z++;
echo "Eintrag: $z";

echo "<br>";
echo "Uhrzeit: ".$nmea_gueltig_pruef[1];
echo "<br>";
echo "Längengrad:". $nmea_gueltig_pruef[3];

$nmea_gueltig_pruef[2]= $nmea_gueltig_pruef[2]/100;

$nmea_gueltig_umgerechnet_latitude=explode(".",$nmea_gueltig_pruef[2]);

$nmea_gueltig_umgerechnet_latitude[1]=str_pad($nmea_gueltig_umgerechnet_latitude[1],6,"0");
$nmea_gueltig_umgerechnet_latitude[1]=$nmea_gueltig_umgerechnet_latitude[1]/10000/60;
$nmea_gueltig_umgerechnet_latitude_1=explode(".",$nmea_gueltig_umgerechnet_latitude[1]);

$laengengrad=$nmea_gueltig_umgerechnet_latitude[0].'.'.$nmea_gueltig_umgerechnet_latitude_1[1];
echo "<br>";
echo $nmea_gueltig_umgerechnet_latitude[1];
echo "<br>";
echo $laengengrad;
echo "<br>";







echo "Breitengrad:". $nmea_gueltig_pruef[5];
echo "<br>";
$nmea_gueltig_pruef[4]= $nmea_gueltig_pruef[4]/100;
$nmea_gueltig_umgerechnet_longitude=explode(".",$nmea_gueltig_pruef[4]);
$nmea_gueltig_umgerechnet_longitude[1]=str_pad($nmea_gueltig_umgerechnet_longitude[1],6,"0");
$nmea_gueltig_umgerechnet_longitude[1]=$nmea_gueltig_umgerechnet_longitude[1]/10000/60;
$nmea_gueltig_umgerechnet_longitude_1=explode(".",$nmea_gueltig_umgerechnet_longitude[1]);

$breitengrad=$nmea_gueltig_umgerechnet_longitude[0].'.'.$nmea_gueltig_umgerechnet_longitude_1[1];

echo $breitengrad;
echo "<br>";
$timestamp = time();
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("His",$timestamp);
echo $datum," - ",$uhrzeit," Uhr";
echo "<br>";
echo "---------------------";
echo "<br>";
if ($z > $count) {
$sql_befehl = "INSERT INTO gps_werte2(zeit_gps_erm,zeit_eintrag,gid,the_geom) VALUES ($nmea_gueltig_pruef[1],$uhrzeit,$z,GeometryFromText('POINT($breitengrad $laengengrad)',4326))";
$res = pg_query($con,$sql_befehl);
//$sql_befehl_2="UPDATE gps_werte2 SET the_geom_gk=transform(POINT($breitengrad $laengengrad),31467)";
//$res = pg_query($con,$sql_befehl_2);
}
}


}
}
echo "Insgesamt wurden $z Einträge getätigt";
$differenz=$z-$count;
echo "<br>";
echo "<font color='#FF0000'>Es wurden ".$differenz." neue Werte eingefügt</font>";
//echo "Also: ".sizeof($nmea_array);
//UPDATE poi SET the_geom=GeometryFromText ( 'POINT(3433607.3462448 5781422.89572127)',31467))where poinameid='777'

?></body>
<!--<input type="submit" value="absenden">
<input type="hidden" name="zaehler" value="<? echo $z; ?>"> </form> -->

Benutzeravatar
RaGo
Beiträge: 179
Registriert: 15.10.2005 - 11:14
Wohnort: Stuttgart

Beitrag von RaGo » 07.03.2007 - 09:02

Hallo Fury,

sorry, ich komm da nicht mit.
Das GPS hängt an einem PC? Trägst einen PC mit Dir spazieren?

Rainer

Benutzeravatar
Hartmut
Beiträge: 815
Registriert: 25.05.2004 - 18:56
Wohnort: Prachuab Khiri Khan 11°44'37"N 99°47'17"E
Kontaktdaten:

Beitrag von Hartmut » 10.03.2007 - 09:38

moin,
kann man aus seinem post nicht so genau entnehmen, aber ich lese das so, der pc steht zuhause und er will je nach position bestimmte daten von seinem server haben. kann auch falsch sein, was ich mir da zusammengereimt habe. eine klarstellung seitens des fragers wäre schon gut.

bis denn
:mrgreen: :mrgreen: :mrgreen:
ich bin zwar verantwortlich, für das was ich sage, aber nicht dafür, wie du es verstehst.

rechtschreibfehler sind gewollt und deswegen mit voller Absicht erstellt. wer welche findet, darf sie behalten, verschenken oder auch versteigern.

fury110
Beiträge: 2
Registriert: 04.03.2007 - 19:31
Wohnort: Berlin

GPS-Daten weiterverarbeiten

Beitrag von fury110 » 10.03.2007 - 10:35

Jungs, danke für die Antworten.
Kai, Dein Hinweis hat mich veranlaßt, nochmals bei den fertigen Tools vorbeizuschauen und ich bin bei Franson auf die SerialTools gestoßen, danke (u-Center ist mir ein bißchen zu groß)!
Dem Link von RaGo entnehme ich, daß Du an derselben Sache arbeitest: SerialTools sind nach meiner Einschätzung eine ActiveX-Erweiterung der Java-Class Port. Das macht Sinn, denn die Daten kommen ja über den seriellen Port vom GPS rein.

Deshalb: Hat jemand einen Tip für eine ebenso schlanke, aber günstigere Lösung für das Port-Handling ohne .NET und anderen Overhead (geht das überhaupt ohne?)?
Die SerialTools kosten $79!

Übrigens ist der VPA compact ein Handy, daß ich (meist) mit mir rumtrage.

Hartmut, Deine Vermutung stimmt (entschuldigt die Lückenhafte Darstellugn). Der Weg ist also: GPS - serieller Port am Handy - lokale Vorverarbeitung - Posi zum Server - Infos zurück zum Handy.



Grüße,
Fury

Benutzeravatar
Hartmut
Beiträge: 815
Registriert: 25.05.2004 - 18:56
Wohnort: Prachuab Khiri Khan 11°44'37"N 99°47'17"E
Kontaktdaten:

Beitrag von Hartmut » 10.03.2007 - 13:29

moin,
war so schlimm nicht, bin ja sogar ich hintergekommen. :twisted:

bis denn
:mrgreen: :mrgreen: :mrgreen:
ich bin zwar verantwortlich, für das was ich sage, aber nicht dafür, wie du es verstehst.

rechtschreibfehler sind gewollt und deswegen mit voller Absicht erstellt. wer welche findet, darf sie behalten, verschenken oder auch versteigern.

Antworten