x

Re: OpenLayer.Layer.Vector KML Datei wird nicht angezeigt


Geschrieben von Netzwolf (Gast) am 08. Mai 2012 21:58:32: [flux]

Als Antwort auf: OpenLayer.Layer.Vector KML Datei wird nicht angezeigt geschrieben von Bytechanger (Gast) am 28. Juli 2009 13:18:

Nahmd,

nomatrix wrote:

Geographisch Koordinaten umfassen -180…+180,-85…+85.

es scheint eine information zu geben die ich noch nicht kenne, bedauere. dieses -85/+85 ... wieso das? nicht -90/+90? wieso? wo steht das? das ist wirklich ernst gemeint. ich kenne: eine seite, 90 hoch, 90 runter, zweite seite das gleiche = 4 x 90 = 360. was hat das mit den 85 auf sich? bekommt die projektion das nicht gebogen oder wie oder was? klär mich auf.

Also: der ganze Ärger der Kartenmalens hängt daran, dass die Erde als mehr oder weniger Kugel eine räumliche Krümmung hat. Egal wo Du stehst, egal in welche Richtung du guckst, es geht (räumlich) abwärts.

Das gilt nicht beim Zylinder (siehe Papieraufkleber auf Konservenbüchse) oder beim Kegel (Schultüte, kann man aus Papier zusammenrollen). Die haben an jedem Punkt eine Richtung (plus die Gegenrichtung), in der sie nicht gekrümmt sind.

Weil die Erde also räumlich gekrümmt ist (ein Gaußsches Krümmungsmaß ungleich 0 hat), kann man sie nicht aus einem Blatt Papier herstellen. Damit gibt es auch keine Karte, die die Erdoberfläche (bis auf Verkleinerung) exakt wiedergibt.

Das ist lästig, aber die Kartografen haben sich davon nicht beirren lassen, und sich diverse listige sogenannte “Projektionen” einfallen lassen. Eine Projektion ist einfach eine Umrechung von einem (Länge, Breite)-Paar auf eine (X,Y)-Koordinate in einem rechtwinkligen Koordinatensystem (wie man es in der Schule lieben oder hassen gelernt hat).

Eine solche Abbildung kann nun verschiedene Eigenschaften haben:
→ sie kann die Fläche exakt abbilden.
→ sie kann Richtungen exakt abbilden.
→ sie kann Entfernungen exakt abbilden.
→ sie kann Formen exakt abbilden.
→ sie kann Großkreise (=Längengrade+Äquator) als geraden abbilden.
→ sie kann die Breitengrade als Linien abbilden
→ usw. usw.

Einige der Eigenschaften schließen sich aber aus. Da muss man wählen.

Die Merkatorabbildung soll nun folgende Eigenschaften haben:
→ Längengrade werden auf Graden abgebildet.
→ Breitengrade werden auf Geraden abgebildet.

Diese beiden Charakterisierungen reichen aber noch nicht zur Eindeutigkeit. Denn jeder kennt die großen Welt-Wandkarten, die oben und unten eine gleichförmige Skala von -180° bis +180° haben, und an den Seiten eine gleichmäßige Skala von -90° bis +90°. An diesen Typ Projektion hast Du wahrscheinlich gedacht. Die hat aber eine merkwürdige Eigenschaft: Nordpol und Südpol, Punkte, sind zu je einer Linie geworden, genau so lang wie der Äquator. Was ist da passiert?

Ganz einfach: der Abstand zwischen den Meridianen (Längengradlinien) nimmt zu den Polen hin ab und erreicht an den Polen den Wert 0 (genauer: er geht mit dem Cosinus der Breite: cos(0°)=1 (am Äquator), cos(90°)=0 (am Pol). Die Karte in rektilinearer Projektion aber zieht die einfach soweit auseinander, dass der Abstand konstant bleibt. Je weiter zu den Polen hin, um so mehr zieht sie auseinander.

Dieses Auseinanderziehen hat aber einen unangenehmen Effekt: Formen werden zerstört. Stell Dir ein Gebäude mit quadratischen Grundriss vor: in der Karte würde das in der Breite auseinandergezogen und würde rechteckig. Aus einem kreisförmigen Brunnen würde ein ellipsenförmiger.

Die Merkatorprojektion verhindert das mit einem genialen Trick: sie zieht nicht nur in der Breite auseinander, sondern um den gleichen Faktor auch in der Höhe. Dadurch bleiben Formen erhalten. Abbildungen mit dieser Eigenschaft nennt man auch “konforme Abbildungen”, falls Du das mal irgendwo liest. Konform heißt (vereinfacht): Ein Objekt mag verschoben, vergrößert, verkleinert oder sogar gedreht (siehe UTM-Gitter) werden: die Form aber bleibt erhalten (zumindest bei hinreichend kleinen Objekten).

Die Frage ist jetzt: wie groß wird eine Karte der ganzen Erde in Merkator-Projektion. Ich nehme die Antwort vorweg: unendlich groß. Man kann keine Merkatorkarte erstellen, die bis an die Pole reicht.

Warum das? Gucken wir uns einen Streifen der Höhe 1m z.B. auf 60° Breite an. Auf 60° Breite haben die Meridiane nur noch die Hälfte des Abstandes, den sie am Äquator hatten. Wir ziehen also den Streifen auf das doppelte auseinander und auch auf das doppelte in die Höhe. Der ist jetzt also 2m hoch.

Das machen wir mit allen Streifen immer weiter in Richtung Pol. Bei 78.46° ist der Cos noch 0.2, wir müssen unseren Streifen also um das 5-Fache in Länge und Breite dehnen.

Auf 89.94° ist der Cos noch 0.001, wir dehnen also in Länge und Breite auf das Tausendfache. Und Du ahnst es schon: je näher wir dem Pol kommen, umso extremer wird die Dehnung. Der Streifen bei 89.99994° muss auf das Millionenfache gestreckt werden, aus 1m werden also 1000km in der Höhe: die Merkatorkarte explodiert nach oben und unten.

Das kann man auch als Formel ausdrücken: wenn ich jeden infinitesimal schmalen Streifen um den Faktor 1/cos(phi) dehne, so ist die Gesamtstrecke das Integral über 1/cos. Die Funktion 1/cos wird auch als Secans bezeichnet, die Stammfunktion kann man selbst herleiten, man kann aber auch - listig listig - bei Wikipedia nachschauen.

Integral (1/cos(φ)) = log (1/cos(φ) + tan(φ)) = log ( tan (½φ + ¼π))

merkatorbreite␣=␣log␣(tan␣(½geographischebreite␣+␣¼π))␣␣␣[IM␣BOGENMASS!]

Wo schneiden wir jetzt die Merkatorkarte ab? Da bietet sich die Merkatorbreite -180° und +180° an, denn dann wird die entstehen Karte in Merkatorprojektion quadratisch (tile=0/0/0) 🙂

180° im Bogenmaß ist gerade π.

Wir suchen also die geographische Breite zur Merkatorbreite π:

π = log ( tan (½geographischeBreite + ¼π))
exp(π) = tan (½geographischeBreite + ¼π)
arctan(exp(π)) = ½geographischeBreite + ¼π
arctan(exp(π)) - ¼π = ½geographischebreite
geographischebreite = 2*arctan(exp(π)) -½π

Flugs Taschenrechner auf Bogenmass umgeschaltet und ausgerechnet: 1.48442223

Umgewandelt in Grad (÷ π × 180°): 85.05113°

Also wenn Dich nochmal jemand fragt, woher die 85.0…° kommen, lautet die Antwort:

Das ist 2*arctan(exp(π)) -½π umgerechnet in Grad.

Und der Frager verstummt. 🙂

Gruß Wolf