Hallo,
das wollt mich nicht locker lassen und habe mal kurz ein Script geschrieben, bei dem ich die Entfernung der Punkte immer mehr vergrößere und die Entfernung der Mittelpunkt über Projektion und arithmetisches Mittel berechnet.
Code:
program Test;
VAR
lat1, lon1: real;
lat2, lon2: real;
lat3, lon3: real;
lat4, lon4: real;
Dist0, Dist, Angle: real;
i: integer;
begin
Lat1 := 'N 50° 07.850';
Lon1 := 'E 008° 35.189';
Lat2 := 'N 50° 08.248';
Lon2 := 'E 008° 34.901';
Writeln('Entfernung Fehler');
if CalcProjection(Lat1, Lon1, Lat2, Lon2, Dist0, Angle) then begin
for i := 1 to 40 do begin
Dist := Dist0 * i;
MakeProjection(Lat1, Lon1, Dist, Angle, Lat2, Lon2);
if CalcProjection(Lat1, Lon1, Lat2, Lon2, Dist, Angle) then begin
MakeProjection(Lat1, Lon1, Dist / 2, Angle, Lat3, Lon3);
if CalcProjection(Lat3, Lon3, Lat2, Lon2, Dist, Angle) then begin
Lat4 := (lat1 + lat2) / 2;
Lon4 := (lon1 + lon2) / 2;
if CalcProjection(Lat3, Lon3, Lat4, Lon4, Dist, Angle) then begin
writeln(Dist0 * i: 10: 2, Dist: 10: 2)
end
end
end
end
end;
end.
Heraus kommt das:
Code:
Entfernung Fehler
813.74 0.01
1627.48 0.07
2441.23 0.11
3254.97 0.26
4068.71 0.32
4882.45 0.59
5696.19 0.64
6509.94 1.05
7323.68 1.08
8137.42 1.65
8951.16 1.64
9764.90 2.38
10578.65 2.34
11392.39 3.24
12206.13 3.16
13019.87 4.25
13833.61 4.12
14647.36 5.39
15461.10 5.22
16274.84 6.67
17088.58 6.45
17902.32 8.09
18716.07 7.83
19529.81 9.65
20343.55 9.36
21157.29 11.35
21971.03 11.03
22784.78 13.19
23598.52 12.85
24412.26 15.18
25226.00 14.82
26039.75 17.30
26853.49 16.94
27667.23 19.58
28480.97 19.21
29294.71 21.99
30108.46 21.63
30922.20 24.55
31735.94 24.21
32549.68 27.26
Jetzt kann jeder für sich entscheiden, wann ihm das arithmetisch Mittel nicht mehr reicht.
_________________
."Di fernunft siget!" (J.J.Hemmer 1790 Mannheim)
