kostenloser Webspace werbefrei: lima-city


Wie errechnet man sich den Umfang der Längengrade?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    fly-europe

    fly-europe hat kostenlosen Webspace.

    Aber eins muss ich noch mal posten:

    Ich habe mal die Koordinaten rausgesucht von Düsseldorf und Berlin und habe dann die in meinen Code eingebaut:

    Also: Ich habe folgendes kriiert
    <?php
    //Düsseldorf
    $xa = \\\'6,460\\\';
    $ya = \\\'51,171\\\';
    //Berlin
    $xb = \\\'13,320\\\';
    $yb = \\\'52,220\\\';
    
    //Errechnung der Differenzen von x und y
    $dif_x = $xa - $xb;
    $dif_y = $ya - $yb;
    //Errechnung der Differenzen in km
    $dif_y_km = $dif_y * 111;
    
    $durchschnitt = $ya + $yb;
    $u = 2 * pi() * \'6371,2\' * cos($durchschnitt / 2) / 180;
    $dif_x_km = $dif_x * $u;
    
    //Errechnung der Hypotenuse
    $x = pow($dif_x_km, 2);
    $y = pow($dif_y_km, 2);
    $entfernung = pow($x + $y, 1/2);
    
    echo \\\'x: \\\'.$dif_x_km.\\\'km<br>y: \\\'.$dif_y_km.\\\'km<br><br>\\\';
    echo \\\'Entfernung: \\\'.$entfernung.\\\'km\\\';
    ?>

    Tada!

    Ich habe errechnet, dass es einen Abweichsfaktor von 8% gab. Weshalb?

    Beitrag geändert: 23.9.2007 15:41:12 von fly-europe
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. c*a


    Oh je :stupid:
    Wie soll ich das verstehen????

    $u = 2 * pi() * 6371,2 * cos($durchschnitt / 2) / 180;
    Nimmt die cos-Funktion von php nicht den Winkel im Bogenmaß entgegen??

    Du steckst ja einen Winkel im Gradmaß rein!
  4. Autor dieses Themas

    fly-europe

    fly-europe hat kostenlosen Webspace.

    Ja und? Was soll der Unterschied sein?

    Beitrag geändert: 23.9.2007 16:08:08 von fly-europe
  5. c*a

    fly-europe schrieb:
    Ja und? Was soll der Unterschied sein?
    Mit so einem Statement hat man sich eigentlich schon selbst disqualifiziert.

    Was der Unterschied sein soll?????

    Bogenmaß ist eimal den Kreis rum von 0 bis 6.283 im Gradmaß dagegen ist es von 0° bis 360° !!!

    Wenn die Funktion cos das Bogenmaß erwartet und du steckst einen Winkel im Gradmaß rein, kommt etwas raus, was mit dem wirklichen Ergebnis nix aber auch gar nix zu tun hat.

    51.695, dein Durchschnittswinkel von Berlin und Düsseldorf entspricht, wenn man meint es ist Bogenmaß, einem Winkel von 82°, dh. du rechnest in deinem Skript mit der Höhe von Nord-Grönland!

    Dann hast du noch einen weiteren Fehler drin, der das ganze etwas ausgleicht:
    $u = 2 * pi() * 6371,2 * cos($durchschnitt / 2) / 180;

    Warum denn 180 bitte??? Es muss doch 360 sein!!

    Ich hab dein Skript mal rauskopiert:
    http://cga.lima-city.de/geo.php
    und es gibt mir eine Entfernung von 244 km an. Das ist kein »Abweichfaktor« von 8% *lol* schön wärs, das hat garnix mehr mit dem wirklichen Ergebnis zu tun, das liegt nämlich irgendwo bei 460 km!!!

    Also wenn man all die Fehler verbessert, sieht das so aus:
    <?php
    //Düsseldorf
    $xa = 6.460;
    $ya = 51.171;
    //Berlin
    $xb = 13.320;
    $yb = 52.220;
    
    //Errechnung der Differenzen von x und y
    $dif_x = $xa - $xb;
    $dif_y = $ya - $yb;
    //Errechnung der Differenzen in km
    $dif_y_km = $dif_y * 111;
    
    $durchschnitt = ($ya + $yb)*0.5;
    $u = 2 * pi() * 6371.2 * cos(deg2rad($durchschnitt)) / 360;
    $dif_x_km = $dif_x * $u;
    
    //Errechnung der Hypotenuse
    $x = pow($dif_x_km, 2);
    $y = pow($dif_y_km, 2);
    $entfernung = pow($x + $y, 0.5);
    
    echo \"x: \".$dif_x_km.\"km<br>y: \".$dif_y_km.\"km<br><br>\";
    echo \"Entfernung: \".$entfernung.\"km\";
    ?>


    Und siehe da:
    http://cga.lima-city.de/geo2.php
    es kommt 487 km raus.

    Könnte genauer sein.

    Der nächste Schritt wäre dann es mit sphärischer Geometrie zu machen, das mit dem Durchschnittswinkel ist ja wirklich nur eine grobe Näherung.

    Dazu nochmal die Einladung von mir, sich mal den Link anzuschauen, den ich gepostet habe.
  6. Autor dieses Themas

    fly-europe

    fly-europe hat kostenlosen Webspace.

    Hm ja. DANKE! Es haut hin!

    Düsseldorf - Berlin (hab ich ausgemessen) sind ca. 483km +-10km. (Ich hatte eine Deutschlandkarte). Endlich ist es perfekt.
  7. c*a

    fly-europe schrieb:
    Hm ja. DANKE! Es haut hin!

    Düsseldorf - Berlin (hab ich ausgemessen) sind ca. 483km +-10km. (Ich hatte eine Deutschlandkarte). Endlich ist es perfekt.
    Bedenke, dass die Karte »verzerrt« ist. Wie z. B. eine Weltkarte, da stimmt der Maßstab auch nur am Äquator.

    Google Earth gibt mir für Düsseldorf - Berlin Tegel: 469 km.

    Ich hab mir mal die Koordinaten der beiden Flughäfen angeschaut und noch einen Fehler entdeckt:

    Du hast Angaben in Winkelminuten und Winkelsekunden einfach als Dezimalzahlen geschrieben,

    51° 17&#8242; 1\" ist nicht 51.171°

    Du musst das schon umrechnen (60\" = 1&#8242; , 60&#8242; = 1°):

    51° 17&#8242; 1\" = 51° + 17°/60 + 1°/3600 = 51.284°

    Noch eine Frage: Sind die Flughäfen, die deine Airline anfliegt nur in Deutschland?
  8. Autor dieses Themas

    fly-europe

    fly-europe hat kostenlosen Webspace.

    Hm ja, das müsste ich dann noch mal umrechnen.

    Zu deiner Off-Frage: Ja bislang. Wenn jemand Lust hat innerhalb von Europa einen 24h Flugplan zu erstellen (Flugezeuge können nicht ihren Standort ändern und es gibt eine feste Flugzeuganzahl - das ist das schwierige), kann sich gerne bei mir melden. Das Flugnetz soll sich später auf ganz Europa ausbreiten (und ein Teil Afrika). Aber zur Zeit ist es ein bisschen gestoppt, wegend er Schule und den Flugrecorder. Dafür brauche ich die Berechnung.
    Vielleicht sollte ich ein Aufbau-Erklärung-Teil schreiben ;) Vielleicht wäre das ja mal für den einen oder anderen interessant. Bislang habe ich 3000 Zeilen geschrieben :cool:
  9. c*a

    fly-europe schrieb:
    Zu deiner Off-Frage: Ja bislang.
    Dann ist gut, denn diese Nährerungsformel für die Entfernungen funktioniert nur wenn die Flughäfen einigermaßen nah beinanderliegen.

    Für Barcelona - Berlin würde der Fehler schon ziemlich groß werden.
  10. Autor dieses Themas

    fly-europe

    fly-europe hat kostenlosen Webspace.

    Naja. Ein Flugzeug fliegt gewöhnlicherweise an großen Knotenpunkten vorbei. Diese liegen (wenns kein Transatlantikflug ist) meist nur maximal 200km auseinander. Das Programm kennt nartürlich diese Punkte. Jedenfalls von Deutschland ;)
  11. Autor dieses Themas

    fly-europe

    fly-europe hat kostenlosen Webspace.

    Ich habe mir noch mal eine Umrechnung entwickelt von den Graden uin dezimal, womit dann PHP doer der Taschenrechner mit rechnen kann ;)

    ZB.

    <?php
    51°55\\\'18\\\'\\\' bringe ich in eine Arrar die $cor heißt
    //Umrechnung in Sekunden
    $sek = (cor[1] * 60) + cor[2];
    //der Umrechnungsfaktor ist 5/18 gleichzeitig rechne ich /1000 um das Komma zu verrücken
    $sek = sek * 5/18 /1000;
    //Zum Schluss rechne ich noch die ganzen Grade wieder ran und fertig
    $dez = $cor[0] + $sek;
    ?>


    Beitrag geändert: 28.9.2007 20:15:46 von fly-europe
  12. c*a

    Also bei dir sind

    cor[0] : Grad
    cor[1] : Minuten
    cor[2] : Sekunden
    OK?

    Warum machst du das so komplizert und nicht einfach mit:

    $dez = $cor[0] + $cor[1]/60 + $cor[2]/3600;

    Würde mich mal interessieren.

    Ansonsten ist es richtig.
  13. Autor dieses Themas

    fly-europe

    fly-europe hat kostenlosen Webspace.

    Ja genau das meine ich mir $cor

    Jetzt muss ich das ganze monatelang erarbeitete, oder mit Hilfe erarbeite noch im Code einfügen und dann werd ich mal schaun ;)
  14. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!