php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Jobs und Projekte > Projekthilfe
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Projekthilfe Hier könnt Ihr eine Art Projekthilfe anfordern. Unter Projekthilfe verstehen wir Angebote bei denen KEIN Geld gezahlt werden kann.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 13-10-2009, 13:05
Malchor
 Registrierter Benutzer
Links : Onlinestatus : Malchor ist offline
Registriert seit: Oct 2009
Beiträge: 40
Malchor befindet sich auf einem aufstrebenden Ast
Standard Distanzberechnung zweier Orte über Längen und Breitengrade

Ich habe mal eine Frage, ich bin, wie einigen ja sicher schon bekannt, noch ein relativer Anfänger. Ich habe bereits zu diesem Thema gegoogelt, aber leider noch nicht wirklich was hilfreiches gefunden.

Ich möchte die Distanz zwischen zwei Orten, in meinem Fall zwei Airports ausrechnen lassen via PHP und diese dann von Kilometern in nm (nortische Meilen) umwandeln.

In der Datenbank habe ich bereits die Tabellengeschaffen und gefüllt für die Koordinaten.


flughafenid flughname lat Breite lon Länge
EBAW Antwerp 51.1894 4.4602
EBBE Beauvechain 50.7586 4.7683


Leider habe ich nicht den blassesten Schimmer wie ich das umsetzen soll. Da ich ja die Distanz zu einem anderen Airport haben möchte muss ich ja beide Koordinaten irgendwie einbauen.

Kann mir jemand verraten wie man das macht oder mir ein idotensicheres Tutorial geben?

Wäre super dankbar

Geändert von Malchor (13-10-2009 um 13:10 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 13-10-2009, 13:10
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Dafür gibt es zum Beispiel die Haversine-Formel. Einfach mal nach Googlen, ist recht easy umzusetzen …*bzw. gibts schon tausend mal als Snippet.
Mit Zitat antworten
  #3 (permalink)  
Alt 13-10-2009, 13:14
Malchor
 Registrierter Benutzer
Links : Onlinestatus : Malchor ist offline
Registriert seit: Oct 2009
Beiträge: 40
Malchor befindet sich auf einem aufstrebenden Ast
Standard

Dasheißt ich arbeite nur mit diesen Daten?
aber wie bekomme ich da die beiden Städte so deffiniert da sie beide in der flughafeb_id Spalte stehen!

dlon = B_lon - A_lon
dlat = B_lat - A_lat
a = (sin(dlat/2))^2 + cos(A_lat) * cos(B_lat) * (sin(dlon/2))^2
c = 2 * arcsin(min(1,sqrt(a)))
d = R * c

(R = Erdradius)
Mit Zitat antworten
  #4 (permalink)  
Alt 13-10-2009, 13:17
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Was? Bitte gib dir etwas mehr Mühe beim beschreiben deines Problems. Ich weiß gar nicht, was für Städte du plötzlich meinst und was die Spalte "flughafenb_id" sein soll …
Mit Zitat antworten
  #5 (permalink)  
Alt 13-10-2009, 13:25
Malchor
 Registrierter Benutzer
Links : Onlinestatus : Malchor ist offline
Registriert seit: Oct 2009
Beiträge: 40
Malchor befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von unset Beitrag anzeigen
Was? Bitte gib dir etwas mehr Mühe beim beschreiben deines Problems. Ich weiß gar nicht, was für Städte du plötzlich meinst und was die Spalte "flughafenb_id" sein soll …

Also wie oben geschrieben möchte ich die Distanz zweier Flughäfen zueinander ausrechen lassen.

Das oben ist ein Auszug aus der Datenbank!

der PHP Code in den ich das einbauen möchte lautet wie folgt:
PHP-Code:
<?php 
$flugnummer 
= isset($_GET['flugnummer']) ? $_GET['flugnummer'] : null;  
$abfrage "SELECT `piloten`.`pilot_id` , `Flugplan`.`flughafenid1` ,
 `Flugplan`.`dep_time` , `Flugplan`.`flughafenid2` , `Flugplan`.`arr_time` ,
 `Flugplan`.`flugnummer`,`Flugplan`.`days`,`Flugplan`.`registrierung` ,
`Flugplan`.`hersteller_name` FROM piloten, Flugplan WHERE(pilot_id = '$pilot_id') AND(flugnummer = '$flugnummer')"
;
$ergebnis mysql_query($abfrage);
if (
$ergebnis)
    
    {
       print 
"<table border=\"0\" cellspacing=\"2\" ".
       
"cellpadding=\"5\" WIDTH=\"75\%\" class=\"tableLine\">\n";

       print 
"<tr><th>Flugnummer</th><th>Abflugzeit</th><th>Zielflughafen</th>";
       print 
"<th>Ankunftszeit</th><th>Flugtage</th><th>Flugzeugregistrierung</th><th>Flugzeug</th></tr>\n";
       while (
$dataset mysql_fetch_array($ergebnis))
     

    {
        print 
"<tr>";
        print 
"<td>".$dataset['flugnummer']."</a>&nbsp"."</td>";  
        print 
"<td>".$dataset['dep_time']."</td>";
        print 
"<td>".$dataset['flughafenid2']."&nbsp;"."</td>";
        print 
"<td>".$dataset['arr_time']."&nbsp;"."</td>";
        print 
"<td>".$dataset['days']."&nbsp;"."</td>";
        print 
"<td>".$dataset['registrierung']."&nbsp;"."</td>";
        print 
"<td>".$dataset['hersteller_name']."&nbsp;"."</td>";

        print 
"</tr>\n";
    }
    print 
"</td></tr>\n";
    print 
"</table>\n";
      }

   
?>
Und da ich ja weils die Abkürzung in der Flugäfen in derTabelle Flughafen_id drin stehen habe muss ich die ja wahrscheinlich unterschiedlich deklarieren, oder sehe ich das falsch?

Geändert von Malchor (13-10-2009 um 13:48 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 13-10-2009, 13:40
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Lies unsere Regeln, brich deinen Code um und formuliere dein Problem so, dass Außenstehende es nachvollziehen können!

Vielleicht möchtest du dich über JOIN (SQL) informieren.
Mit Zitat antworten
  #7 (permalink)  
Alt 13-10-2009, 13:44
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

ich hab es mir grad drei mal durchgelesen und verstehe es immer noch nicht. Was musst du unterschiedlich deklarieren? Und unterschiedlich wozu?

Gruß,

Amica
Mit Zitat antworten
  #8 (permalink)  
Alt 13-10-2009, 13:48
Malchor
 Registrierter Benutzer
Links : Onlinestatus : Malchor ist offline
Registriert seit: Oct 2009
Beiträge: 40
Malchor befindet sich auf einem aufstrebenden Ast
Standard

Naja woher soll den PHP wissen welche ID er aus der Tabelle als A und B nehmen soll wenn beide im gleichen Tabellenverzeichnis stehen
Mit Zitat antworten
  #9 (permalink)  
Alt 13-10-2009, 13:50
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Na, genau so, wie PHP alles erfährt, was es tun soll: In dem du es sagst!
Mit Zitat antworten
  #10 (permalink)  
Alt 13-10-2009, 13:51
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Dann sag es "ihm" eben.
Mit Zitat antworten
  #11 (permalink)  
Alt 13-10-2009, 13:51
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von Malchor Beitrag anzeigen
Naja woher soll den PHP wissen welche ID er aus der Tabelle als A und B nehmen soll wenn beide im gleichen Tabellenverzeichnis stehen
Das wirst du PHP doch bestimmt sagen, indem du deine Distanzfunktion mit 2 IDs aus der Tabelle aufrufst. Ob die jetzt aus einer Tabelle kommen oder aus zwei verschiedenen oder du dir die grad selbst ausgedacht hast ist doch der Distanzfunktion egal, oder?

Edit: Sorry, ich muss einfach diesen Vergleich noch loswerden:

Hast du auch beherzigt, was onemorenerd dir bereits über Joins gesagt hat? Das was du grad mit der DB machst ist, als ob du mit 20 Einkaufswagen und einem vollen Kasten Bier einen Supermarkt stürmst, von jedem einzelnen Produkt eins einpackst, einen Kasten Bier nimmst, der genau so aussieht wie dein mitgebrachter, an die Kasse gehst, alles bezahlst, draußen auf dem Parkplatz alles wegwirfst, was du gar nicht haben wolltest und auf diesen Haufen den mitgebrachten Bierkasten stellst, weil du ja jetzt denselben nochmal hast.

Geändert von AmicaNoctis (13-10-2009 um 14:08 Uhr)
Mit Zitat antworten
  #12 (permalink)  
Alt 13-10-2009, 15:59
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Hast du die Koordinaten der Flughäfen denn schon in der Tabelle parat?
Mit Zitat antworten
  #13 (permalink)  
Alt 13-10-2009, 23:06
Malchor
 Registrierter Benutzer
Links : Onlinestatus : Malchor ist offline
Registriert seit: Oct 2009
Beiträge: 40
Malchor befindet sich auf einem aufstrebenden Ast
Standard

Und genau das "ihm" sagen ist mein Problem. Ich weiß überhaupt nicht wie ich das angehen soll und dann noch die Koordinatenberechnung mit einbinden soll.

Währe nett wenn einer von euch mir mit Scriptschnipseln helfen könntet.

Die Kooardinaten sind eingepflegt ja!
Mit Zitat antworten
  #14 (permalink)  
Alt 13-10-2009, 23:46
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Du hast eine Funktion, welche die Distanz zwischen zwei Punkten berechnet. Also sollte sie mit 2 Punkten aufgerufen werden, oder - der Einfachheit halber - mit vier Komponenten (lat1, lon1, lat2, lon2). Die bekommst du aus der Datenbank, wenn du ein Select auf die beiden IDs machst (where ... in (...)). Ich sehe da keine besondere Schwierigkeit, vielleicht ist es daher besser, dass du nochmal ganz genau formulierst, wo es denn jetzt hapert, wie, warum und wann.
Mit Zitat antworten
  #15 (permalink)  
Alt 14-10-2009, 00:38
Peacie
 Registrierter Benutzer
Links : Onlinestatus : Peacie ist offline
Registriert seit: Nov 2003
Beiträge: 341
Peacie ist zur Zeit noch ein unbeschriebenes Blatt
Peacie eine Nachricht über ICQ schicken Peacie eine Nachricht über AIM schicken Peacie eine Nachricht über Yahoo! schicken
Standard

Ansatz für EIN sql query:

Code:
select *, 
DEGREES(ACOS(SIN(RADIANS(DBLATFELD))
*SIN(RADIANS(".$LAT_Flugplatz1."))
+COS(RADIANS(DBLATFELD))
*COS(RADIANS(".$LAT_Flugplatz1."))
*COS(RADIANS(DBLONFELD - ".$LON_Flugplatz1."))) * 60 * 1.85201)
AS Entfernung from DATENBANK 
where flugplatzid = flugplatz2id
so in die Richtung ....
__________________
Mibau Datendesign - Online Ferienwelt
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Verzeichnis aller Orte Tebo Apps und PHP Script Gesuche 2 14-03-2007 20:18
Vergleich und Aktualisierung zweier DB´s und oxy83 SQL / Datenbanken 6 24-07-2006 11:55
Längen/-Breitengrad umrechnen rlebek PHP Developer Forum 2 08-07-2006 14:39
Query ordered by Summe aller Text-Längen Marco Gutenhof SQL / Datenbanken 1 09-11-2004 08:52
Verknüpfung zweier Tabellen ohm SQL / Datenbanken 1 13-09-2001 17:20

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:27 Uhr.