PA94
10
Hallo marvek,
Das ist mathematisch exakt gesehen falsch!
Was Du wahrscheinlich sagen wolltest:
Für kleine Radien ist die Abbildung eines Kreises durch die Mercatorprojektion in guter Näherung wiederum ein Kreis.
Genauso ist es!
Rechenweg:
2 Seemeilen= 3704m
3704m : 500.000= 7,408mm
Das stimmt allerdings nur für den Äquator!
z.B. auf der geografischen Breite von 60° muß er (1/cos(60) = 1/0.5 = 2) doppelt so groß sein!
Oder allgemein für die Breite x musst Du den Radius mit 1/cos(x) multiplizieren!
Bezüglich des relativen Fehlers habe ich mir ein kleines Perl-Script zusammengehackt:
use Math::Trig;
sub DegToRad
{
return pi * shift() / 180;
}
sub relativer_fehler
{
my ($lat, $radius)= @_;
my $y0= log(tan(DegToRad($lat )) + sec(DegToRad($lat )))/2/pi;
my $y1= log(tan(DegToRad($lat+$radius)) + sec(DegToRad($lat+$radius)))/2/pi;
my $n0= 1/cos(DegToRad($lat))/360 * $radius;
printf("Relativer Fehler bei Breite %5.1lf Grad und Radius %3.1lf Grad: %10.7lf%%\n", $lat, $radius, abs((($n0/($y1-$y0))-1)*100) );
}
relativer_fehler( 0.0, 0.1);
relativer_fehler( 0.0, 1.0);
relativer_fehler(45.0, 0.1);
relativer_fehler(45.0, 1.0);
relativer_fehler(60.0, 0.1);
relativer_fehler(60.0, 1.0);
relativer_fehler(85.0, 0.1);
relativer_fehler(85.0, 1.0);
was folgendes ausgibt
Relativer Fehler bei Breite 0.0 Grad und Radius 0.1 Grad: 0.0000508%
Relativer Fehler bei Breite 0.0 Grad und Radius 1.0 Grad: 0.0050771%
Relativer Fehler bei Breite 45.0 Grad und Radius 0.1 Grad: 0.0873427%
Relativer Fehler bei Breite 45.0 Grad und Radius 1.0 Grad: 0.8803251%
Relativer Fehler bei Breite 60.0 Grad und Radius 0.1 Grad: 0.1512770%
Relativer Fehler bei Breite 60.0 Grad und Radius 1.0 Grad: 1.5243488%
Relativer Fehler bei Breite 85.0 Grad und Radius 0.1 Grad: 1.0008612%
Relativer Fehler bei Breite 85.0 Grad und Radius 1.0 Grad: 10.3495911%
D.h. bei Breite 60 Grad und einem Radius von 6 Seemeilen(=0.1 Grad) gilt: Wenn diese 0.1 Grad 660 Pixel entsprechen, dann liegst Du schon mit 1 Pixel daneben.
Schöne Grüße
PA94