Du bist nicht eingeloggt.

Login

Pass

Registrieren

Community
Szene & News
Locations
Impressum

Forum / Bits und Bytes

Entfernungsberechnung

  -1- -2- vorwärts >>>  
fat32
Experte (offline)

Dabei seit 09.2006
1465 Beiträge
Geschrieben am: 21.12.2006 um 19:04 Uhr

hallo,

$e = acos((sin($Breite1)*sin($Breite2)) + (cos($Breite1)*cos($Breite2)*cos($Laenge2 - $Laenge1)));

return round(($e * 6378.137 * 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679 / 180), 2);

ich berechne mit dieser Formel die Entfernung zwischen 2 Koordinaten.

Wenn ich zwischen Berlin und Laupheim ausrechne, kommen nur 319km raus! also ca. 200 zu wenig....

was stimmt an der rechnugn nicht?
Neo_m85 - 40
Halbprofi (offline)

Dabei seit 03.2005
285 Beiträge

Geschrieben am: 21.12.2006 um 19:13 Uhr
Zuletzt editiert am: 21.12.2006 um 19:13 Uhr

mit welcher genauigkeit hast du die längen/Breitengrade?

hell awaits...

Crewman - 38
Profi (offline)

Dabei seit 10.2004
550 Beiträge
Geschrieben am: 21.12.2006 um 19:24 Uhr
Zuletzt editiert am: 21.12.2006 um 19:27 Uhr

ich glaub ein paar stellen weniger bei pi dürften auch nicht ins gewicht fallen :-D

In welcher Form liegen dir denn die Koordinaten vor?
Breiten und Längengrad?

http://www.lastfm.de/user/Crewman/

B8X - 34
Profi (offline)

Dabei seit 07.2005
513 Beiträge
Geschrieben am: 21.12.2006 um 19:24 Uhr

Zitat von Saiboter:

Zitat von fat32:

hallo,

$e = acos((sin($Breite1)*sin($Breite2)) + (cos($Breite1)*cos($Breite2)*cos($Laenge2 - $Laenge1)));

return round(($e * 6378.137 * 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679 / 180), 2);

ich berechne mit dieser Formel die Entfernung zwischen 2 Koordinaten.

Wenn ich zwischen Berlin und Laupheim ausrechne, kommen nur 319km raus! also ca. 200 zu wenig....

was stimmt an der rechnugn nicht?


des muss ich aber net peilen oder?? wozu is dse $??? kapier ich net


des steht dran du held -.-
kona - 37
Experte (offline)

Dabei seit 12.2004
1146 Beiträge

Geschrieben am: 21.12.2006 um 19:24 Uhr

Zitat von Saiboter:

des muss ich aber net peilen oder?? wozu is dse $??? kapier ich net

wenn du keine ahnung von programmierung hast. dann schreib doch einfach nichts.

das $ steht vor jeder variabelen

was für koordinaten hast du den?

En Comhrac án Cèart

fat32
Experte (offline)

Dabei seit 09.2006
1465 Beiträge
Geschrieben am: 21.12.2006 um 19:25 Uhr
Zuletzt editiert am: 21.12.2006 um 19:30 Uhr

Zitat von Neo_m85:

mit welcher genauigkeit hast du die längen/Breitengrade?


sind glaub 8 nachkommastellen

EDIT: Ne, ist immer verschieden
Neo_m85 - 40
Halbprofi (offline)

Dabei seit 03.2005
285 Beiträge

Geschrieben am: 21.12.2006 um 19:26 Uhr
Zuletzt editiert am: 21.12.2006 um 19:28 Uhr

denke ich auch, eher bei Pi auf 10 oder 12 stellen. dafür die Koordinaten auf 6-8 Stellen runden.

und nicht mit Grad, Minuten, Sekunden, sondern in Grad als Dezimalzahl, nicht wie bei google Earth

'edit:
möglicherweise liegt das an der Erdkrümmung, dass du damit nur die Gerade 'durch' die Erde berechnest, nicht die Strecke auf der Oberfläche. Überprüf das mal.

hell awaits...

fat32
Experte (offline)

Dabei seit 09.2006
1465 Beiträge
Geschrieben am: 21.12.2006 um 19:30 Uhr

Zitat von kona:

Zitat von Saiboter:

des muss ich aber net peilen oder?? wozu is dse $??? kapier ich net

wenn du keine ahnung von programmierung hast. dann schreib doch einfach nichts.

das $ steht vor jeder variabelen

was für koordinaten hast du den?


die hol ich mir aus meiner datenbank...

laupheim: 9.88333 & 48.2333

berlin: 13.4 & 52.5167
-joggeshouse - 36
Anfänger (offline)

Dabei seit 12.2006
6 Beiträge
Geschrieben am: 21.12.2006 um 20:13 Uhr

Zitat von fat32:

hallo,

$e = acos((sin($Breite1)*sin($Breite2)) + (cos($Breite1)*cos($Breite2)*cos($Laenge2 - $Laenge1)));

return round(($e * 6378.137 * 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679 / 180), 2);

ich berechne mit dieser Formel die Entfernung zwischen 2 Koordinaten.

Wenn ich zwischen Berlin und Laupheim ausrechne, kommen nur 319km raus! also ca. 200 zu wenig....

was stimmt an der rechnugn nicht?


Wieso nimmst du nicht die Entfernungsrechnung von Pythagoras? Ist doch viel einfacher...
BURTON-inc
Halbprofi (offline)

Dabei seit 11.2006
230 Beiträge
Geschrieben am: 21.12.2006 um 20:14 Uhr

wieso schaust du nicht in google earth ? xD
aber du kannst wirklich wenn du die entfernung zu einem anderen punkt hast pythagoras nehmen....
wer nich proggn kann kanns gleich lassen...den irgendwelche sinnlosen befehle aus dem internet zusammensuchen und versuchen irgendworauf anzuwenden is sowas von schwachsinnig....
was soll dir das denn bringen?
Polaris
Experte (offline)

Dabei seit 07.2006
1766 Beiträge
Geschrieben am: 21.12.2006 um 20:20 Uhr

Erdkrümmung berücksichtigen, du wirst sphärische Geometrie / Trigonometrie brauchen

Patriotismus ist die Tugend der Bosheit! (Oscar Wilde)

BURTON-inc
Halbprofi (offline)

Dabei seit 11.2006
230 Beiträge
Geschrieben am: 21.12.2006 um 20:50 Uhr

erdkrümmung? 80 prozent zu wenig? scheint unrealistisch
Polaris
Experte (offline)

Dabei seit 07.2006
1766 Beiträge
Geschrieben am: 21.12.2006 um 20:55 Uhr
Zuletzt editiert am: 21.12.2006 um 21:15 Uhr

Zitat von BURTON-inc:

erdkrümmung? 80 prozent zu wenig? scheint unrealistisch

ja, aber muss man trotzdem berücksichtigen ;-)
hab ewig gebraucht, also die erste Formel zur Berechnung des Winkels $e müsste stimmen

Edit:

sorry Müll gepostet
Das:
($e * 6378.137 * 3.14159..../ 180)
passt eigentlich auch.

Vllt nimmste als Erdumfang einfach mal 40000 km statt deine Berechnung, v.a. deine vielen Nachkommastellen von Pi sind äußerst unübersichtlich und überprüf mal die Wirkungsweise von "round"

Patriotismus ist die Tugend der Bosheit! (Oscar Wilde)

silver-cloud - 39
Halbprofi (offline)

Dabei seit 07.2005
312 Beiträge

Geschrieben am: 21.12.2006 um 22:45 Uhr

gibt es nicht in den meisten Programmiersprachen eine konstante für PI?
Das würde die sache schonmal übersichtlicher machen.

Als unwissender im Entfernungsbestimmen würde mich auch interessieren was welche part der formel erreichen soll ^^ falls die anderen besser helfen können ohne ignoriert mich itte das spart mir arbeit ;-)


Du sollst nur soviel Zeit in eine Antwort verschwenden, wie der Anfragende in seinem Startpost.

MrDimension - 43
Halbprofi (offline)

Dabei seit 01.2005
247 Beiträge

Geschrieben am: 21.12.2006 um 23:00 Uhr
Zuletzt editiert am: 21.12.2006 um 23:04 Uhr

Wie wäre es wenn du deine Längen und Breitengrade zuerst ins Richtige Maß bringst und nicht das Ergebnis erst ins Bogenmaß bringst.... nur so ein kleiner mathematischer Gedanke....

$pi = 3.141592653589;
$Breite1 = $Breite1/180*$pi;
$Breite2 = $Breite2/180*$pi;
$Laenge1 = $Laenge1/180*$pi;
$Laenge2 = $Laenge2/180*$pi;

$e = acos((sin($Breite1)*sin($Breite2)) + (cos($Breite1)*cos($Breite2)*cos($Laenge2 - $Laenge1)));

return round($e * 6378.388, 2);


versuch es einfach mal so ;-)

Wenn man keine Ahnung hat, einfach mal das Posten sein lassen...

stockfish - 44
Anfänger (offline)

Dabei seit 01.2006
6 Beiträge
Geschrieben am: 21.12.2006 um 23:36 Uhr
Zuletzt editiert am: 21.12.2006 um 23:39 Uhr

1. Die Kugelkoordinaten in Raumkoordinaten umrechnen:
http://de.wikipedia.org/wiki/Polarkoordinaten#Sph.C3.A4rische_Polarkoordinaten_.28Kugelkoordinaten.29

2. Den Abstand dieser Koordinaten berechnen:
wurzel_aus((X_1-X_2)hoch2+(Y_1-Y_2)hoch2+(Z_1-Z_2)hoch2)

3. Diese Strecke bildet mit zwei Geraden, die durch den Mittelpunkt
und je einen Ort gehen ein gleichschenkliges Dreieck.
Das wird in zwei rechtwinklige, kongruente Dreiecke zerlegt,
bei denen man alle Winkel ausrechnen kann.

Viel Spaß ;-)
PS: Programmiere nur dann, wenn du zweck der programmierung verstanden hast ;-)
  -1- -2- vorwärts >>>
 

Forum / Bits und Bytes

(c) 1999 - 2026 team-ulm.de - all rights reserved - hosted by ibTEC Team-Ulm

- Presse - Blog - Historie - Partner - Nutzungsbedingungen - Datenschutzerklärung - Jugendschutz -