Eigentlich OT und doch wieder nicht

Allgemeine Fragen zu GPS und verwandten Themen

Moderator: Roland

Antworten
Loony
Beiträge: 3
Registriert: 07.05.2007 - 15:56
Wohnort: SH

Eigentlich OT und doch wieder nicht

Beitrag von Loony » 07.05.2007 - 16:11

Moin,

ich habe mir eine Aufgabe gestellt bei der ich schon in der Konzeptionsphase Hilfe benötige :)

Ich möchte eine Art Offlinetracker für Google Earth bauen. Ich meine damit einen Tracker der eine Position nicht anhand echter GPS Daten ermittelt sondern anhand berechneter.

Beispiel:

Meine Familie fliegt von HH nach, sagen wir Mallorca. Ungeachtet der Tatsache das es vielleicht Tracker gibt die das eventuell in Echtzeit darstellen können (mir sind solche nur aus den USA bekannt) ist das ja auch nur ein Beispiel. Ok, die Familie fliegt also in den Urlaub. Ich kenne die Koordinaten vom Hamburger Flughafen und ich kenne die koordinaten vom Flughafen in Palma. Zusätzlich ist mit auch noch die Flugzeit, hier ca. 1,5h bekannt. Jetzt müsste ich doch - theoretisch - ausrechnen können wo sich der Flieger zu bestimmten Zeitpunkten gerade befindet. Als Erleichterung nehmen wir mal an er würde tatsächlich Luftline fliegen.

Ich hoffe das die Aufgabe leicht ist und ich - mangels GPS Kenntnissen - nur noch nicht auf den richtigen Trichter gekommen bin.

Vielen Dank für die Aufmerksamkeit und noch größeren falls jemand sagen kann wie es funktioniert.

Loony

P.S.: Falls die Aufgabe so zu leicht ist würde ich auch gerne noch den Pfad entlang der kürzest möglichen Strecke berechnen und die Position auf dieser darstellen können

:twisted:

Benutzeravatar
Roland
Beiträge: 2055
Registriert: 18.02.2004 - 22:33
Wohnort: Wusterhausen(Dosse)

Beitrag von Roland » 07.05.2007 - 23:38

Hmmm,

gemacht hab' ich das noch nicht (noch nicht 8) )
Aber Hilfen, wie man eine KML-Datei aufbaut, findet man doch. Irgendwo hier
http://code.google.com/apis/kml/documentation/
Man findet sicher auch den Hinweis, wo man die fertige Datei ablegen muss.
Bestimmt kann man die Bogenlängenberechnung noch implementieren. Hatte eigentlich gedacht, ich finde die fertige Lösung. Leider Neese.

Ich hoffe inständig, dass Du nicht nach der Berechnung der Bogenlänge fragst. Darauf gibt es, irgendwo im Netz, ich glaube sogar hier bei uns, Antworten. (Das ist jetzt wohlwollend gemeint. Ich stolpere wöchentlich über diese Frage ...)

Außerdem sind wir hier im Forum alles Gutmenschen :twisted:

Grüße Roland

Benutzeravatar
Roland
Beiträge: 2055
Registriert: 18.02.2004 - 22:33
Wohnort: Wusterhausen(Dosse)

Beitrag von Roland » 08.05.2007 - 21:31

Hallo,

mich reitet der Teufel. Ich stehe kurz davor, mir einen
KML-Editor runterzuladen. Bin aber erstmal anderweitig eingespannt.
Gestern wusste ich noch nicht, wodurch sich kml und kmz unterscheiden, heute gebe ich Tipps :?:

Drauf gekommen bin ich u.a. durch
diese Seite und den darin enthaltenen Links.

Weiterhin kommt erleichternd hinzu, dass wohl keine Bogenlänge gebraucht wird. Man kann die Graddifferenzen der Flughäfen einfach durch die Anzahl von Stunden- oder Viertelstundenintervallen teilen. Hier 6. Dazu sei gesagt, dass die Strecke Hamburg-Mallorca etwa 1600-1700 km lang ist und die Flugzeit wohl eher 2 1/2 Stunden beträgt

Im Prinzip müsste die kml-Datei aus einem Header

Code: Alles auswählen

  <?xml version="1.0" encoding="UTF-8" ?> 
- <kml creator="Track " xmlns="http://earth.google.com/kml/2.0">
- <Folder>
  <description>Flight Track from Hamburg to Mallorca</description> 
  <name>My first Track</name> 
und dem aus Punktspezifikationen bestehenden Body bestehen. Hier hatte ich zwei Ideen, Einzelpunkte oder "Folder", wobei ich nicht weiß, was einen Folder ausmacht. Auch weiß ich nicht, ob der #waypoint als Icon gefunden wird.

Code: Alles auswählen

<Placemark>
  <description>Hamburg Fuhlsbuettel Time: 12:00:00 Lat: 53.6 Long: 10.0 Alt: ?? </description> 
  <name>Startpoint</name> 
<styleUrl>#waypoint</styleURL>

<Point>
  <coordinates>10.00,53.60,150.0</coordinates> 
</Point>
</Placemark>

<Placemark>
  <description>Palma de Mallorca Time: 13:30:00 Lat: 39.5 Long: 2.73 Alt: ??? </description> 
  <name>Endpoint</name>
<styleUrl>#waypoint</styleURL>

<Point>
  <coordinates>2.73,39.5,150.0</coordinates> 
</Point>
</Placemark>


<Folder>
  <description>The Waypoints between</description> 
  <name>The Waypoints between</name> 
  <visibility>1</visibility> 
  <open>1</open> 
  <Placemark>
	<name> 12:15 </name> 
<styleUrl>#waypoint</styleURL>
<Point>
  <coordinates>8.80,51.25,150.0</coordinates> 
 </Point>
 </Placemark>

  <Placemark>
	<name> 12:30 </name> 
<styleUrl>#waypoint</styleURL>
 <Point>
  <coordinates>7.60,48.90,150.0</coordinates> 
 </Point>
  </Placemark>

Dann alle Tags schließen und das ganze unter, tja, "myplaces.kml" da speichern, wo auch GoogleEarth gespeichert ist.

(In ein paar Tagen, wenn ich schlauer bin, lösche ich den Beitrag :twisted: )

Grüße Roland

Loony
Beiträge: 3
Registriert: 07.05.2007 - 15:56
Wohnort: SH

Beitrag von Loony » 11.05.2007 - 20:01

Hallo Roland,

erstmal vielen Dank für die viel Mühe die du dir gemacht hast!!! :lol:

In GE werde ich es wohl mittels dynamischem Update der KML-Datei einpflegen. http://code.google.com/apis/kml/documen ... ml#updates

Zuerst bin ich mal beruhigt das es mit relativ bescheidenen mathematischen Mitteln funktioniert.
Mein Lösungsweg sieht nun so aus - bitte korrigieren wenn ich daneben liege:

Koordinaten HAM:
53°37'52.00"N = 50,631
9°59'49.00"E = 9,997

Koordinaten PMI:
39°33'9.99"N = 39,553
2°44'9.00"E = 2,736

50,631 - 39,553 = 11,078
9,997 - 2,736 = 7,261

-------------------------------
11,078 / 6 = 1,846
7,261 / 6 = 1,210

Bei viertelstündiger Aktualisierung würde ich also je 1,846 von der N Position und 1,210 von der E Position abziehen und hätte damit meine "Route" annäherungsweise dargestellt.

Jetzt muß ich das "nur noch" mittels eines skriptes automatisiert berechnen und schon ist alles fertig :D

Was mache ich aber wenn der Flug über den Äquator geht bzw. nach USA? :shock:


Loony

Benutzeravatar
Roland
Beiträge: 2055
Registriert: 18.02.2004 - 22:33
Wohnort: Wusterhausen(Dosse)

Beitrag von Roland » 11.05.2007 - 22:43

Hallo Loony,

ehhm, mal unter uns, das mit der Unterteilung der Gradangaben, also das kannnn man machen, vielleicht auf kurzen Strecken, das ist aber nicht so, also nicht so ganz ... Also ein Vermesser würde sowas nienie machen.

Ich hielt das bei einer kleinen Spaßaufgabe für eine gute Idee, um schnell ein Ergebnis zu erzielen. Bis eben. An Deine letzte Frage angeknüpft folgendes Beispiel:

Ein Flug von Philadelphia 40°N 75°W nach Baku 40°N 50° O: Das Problem ist nicht die Differenz bei Ost/West-Verbindungen (ich meine das überhaupt nicht politisch!) Sondern die ideale Flugroute verläuft dabei nicht auf 40° Breite.

Jetzt müssten wir doch in die Berechnung von Großkreisen einsteigen und in deren (gleichmäßige ?) Unterteilung. Na, da haben wir wieder Beschäftigung.

Grüße Roland

Benutzeravatar
martinli
Beiträge: 84
Registriert: 03.05.2004 - 16:35
Wohnort: Bremen

Beitrag von martinli » 15.05.2007 - 16:10

Hallo,
In einem anderen Post dieses forums findet man folgendes:
Distanz= alpha * (40003,2/(2*pi))
alpha = arccos(sin(B_lat)*sin(A_lat)+cos(B_lat)*cos(A_lat)*cos(B_lon - A_lon))

Distanz=arccos(sin(B_lat)*sin(A_lat)+cos(B_lat)*cos(A_lat)*cos(B_lon - A_lon))* (40003,2/(2*pi))


Die Distanz ist zu meinem Lösungsansatz das erste, was du brauchst.
Und zwar muss die Distanz durch die Anzahl der gewollten Punkte geteilt werden.
Und dabei erhält man die Entfernung zwischen den einzelnen Punkten.

Als nächstes brauchen wir nun den Großkreis Kurs, also die ° die der Pilot steuert:

Kurs=arccos((cos(90-B_lat)-cos(90-A_lat))/(sin(alpha)*sin(90-A_lat)))

Gut, jetzt haben wir den Kurs, den wir fliegen wollen, die Distanz und die Entfernung der einzelnen Punkte.
Jetzt brauchen wir noch eine Formel, in die wir einen Startpunkt eingeben, einen Kurs und eine Distanz.
Und schon haben wir den ersten Punkt.

Nun bin ich leider etwas faul bzw. habe nicht mehr so viel Zeit. Und deshalb werde ich jetzt hier erst mal abbrechen, aber, entweder jemand ist schneller als ich, oder ich werde selbst die letzte Formel vervollständigen.
Ich hoffe ich hab mich bis hier hin noch nirgends vertag! Aber ich denke es sollte passen. Man muss bei der Eingabe ein wenig aufpassen, dass man alles mit ° eingibt, oder direkt in ° rechnet.
Ich rechne sowas immer auf meinem Ti 92/Voyage, damit klappt das ganz gut und eigentlich gibt es für den auch schon Programme für diese Aufgaben.
Also erstmal noch einen schönen abend!
Viele Grüße
Martin

Loony
Beiträge: 3
Registriert: 07.05.2007 - 15:56
Wohnort: SH

Respekt!!

Beitrag von Loony » 15.05.2007 - 22:29

Hallo,

zuerstmal muß ich den allergrößten Respekt zollen den ich aufbringen kann:

Ihr seid wirklich klasse!! :lol:

Nicht das ich auf Anhieb viel von dem verstehe was ihr schreibt, aber mit etwas nachdenken kann ich zumindest der Argumentation folgen. Besondern respektabel finde ich das Ihr in so ein "kleines" Projekt euren Hirnschmalz steckt. Vielen Dank!!!!!

Als nächstes muß ich mich bei allen Vermessern für meinen stümperhaften Ansatz entschuldigen. :oops: Ich will dabei aber auch nicht 100% exakt sein sondern vielmehr etwas annäherungsweise visualisieren, also nicht böse sein. :wink: Dabei reicht mir erstmal diese annäherungsweise Berechnung (und die Entfernung in unserem Beispiel ist doch nicht wirklich groß, oder?) obwohl mir bewußt ist das die kürzeste Verbindung nicht die gerade ist - so seltsam das auch klingt. Dabei möchte ich Euch natürlich nicht davon abbringen die "richtigen" Lösung zu finden, denn wenn das ganze funktioniert ist es sicher schöner wenn es möglichst genau ist.

Was die Berechnung angeht kann ich das ganze nicht mit speziellen Geräten rangehen sondern muß die Berechnung mit einem "Normalen" Skript lösen das die Positionen mit etwas Pech noch in der xx°yy"zz' Notation bekommt. Aber für das Problem lasse ich mir dann etwas einfallen - auch wenn es wieder eher quick and dirty wird. ;)

Also nochmal Respekt und vielen Dank bisher und ich bin gespannt wie es weitergeht.

Loony

Antworten