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, 12: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 12:10 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 13-10-2009, 12: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, 12: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, 12: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, 12: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 12:48 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 13-10-2009, 12: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, 12: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, 12: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, 12: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, 12: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, 12: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 13:08 Uhr)
Mit Zitat antworten
  #12 (permalink)  
Alt 13-10-2009, 14: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, 22: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, 22: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 13-10-2009, 23: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 19:18
Vergleich und Aktualisierung zweier DB´s und oxy83 SQL / Datenbanken 6 24-07-2006 10:55
Längen/-Breitengrad umrechnen rlebek PHP Developer Forum 2 08-07-2006 13:39
Query ordered by Summe aller Text-Längen Marco Gutenhof SQL / Datenbanken 1 09-11-2004 07:52
Verknüpfung zweier Tabellen ohm SQL / Datenbanken 1 13-09-2001 16: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

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:26 Uhr.