Ich schlage vor, dass Du das mal runterlädtst, die URL anpasst und dann bei Dir laufen lässt. Und bevor Du nicht den Punkt in Bergheim bei Dir auf der Karte siehst, guck ich mir das LineString-Problem noch nicht einmal an.
Außerdem wäre es schön, die URL zu erfahren, unter der Du das Zeug testest. Manchmal haben Fehler auch mit der Serverumgebung zu tun und verschwinden, wenn man das Problem nachzuvollziehen versucht (Heisenbugs).
ich habe nun dein script angepasst und bei mir laufen gelassen, das läuft auch.
Aber der sourcecode deiner datei sieht ganz anders aus als hier beschreiben.
Ich werde nun schauen, ob ich dein script dynamisch aufbauen kann.
Stell dir einen um die Erdkugel gewickelten Zylinder vor. Und dann im Mittelpunkt der Kugel eine Lampe. Und dann paust Du die Kontinente auf dem Papierzylinder ab (oder sieh dir besser ein Wikipedia-Bild zur Zylinderprojektion an, ich kanns so schlecht erklären…)
Die Mercatorprojektion sieht in etwa so aus wie da oben erklärt (blos noch ein bisschen gestaucht). Das Licht der Lampe durch den Nordpol trifft den Zylinder nie, weil das fällt oben durch die Zylinderbohrung. Das Licht durch einen Punkt gleich neben dem Pol trifft den Zylinder ziemlich weit oben, fast im Unendlichen.
Dass polnahe Regionen stark verzerrt sind und die Pole überhaupt nicht drauf sind, ist ein Merkmal der Zylinderprojektion. Irgendwo macht man dann Schluss, weil es zu hässlich wird und das kann man auch bei 85 Grad machen.
Für gerade 85.xxx Grad spricht, dass dann die Mercatorprojektion zufällig genau ein quadratisches Kartenbild für die ganze Erde ergibt und das passt dann wunderbar ins Kachelschema von Karten im Web.
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 (½φ + ¼π))
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 π:
Kleine Korrektur, denn ich muss die Zylinderprojektionen in Schutz nehmen: Merkmal der Zylinderprojektion ist ausschließlich, dass sowohl Längengrade als auch Breitengrade auf gerade Linien abgebildet werden.
Denn nur die konforme Zylinderprojektion (=Merkatorprojektion) verhält sich ungehörig, sowohl die rektilineare Projektion (die von der Welt-Wandkarte) als auch die flächentreue Zylinderprojektion (Albersprojektion, gruselig verzerrend, aber politisch korrekt) sind brav (und haben auch einfachere Mathematik).
Der Funktion “lon2x()” aus dem Wiki war defekt. Ich habe sie repariert und die schließende Klammer an die richtige Stelle geschoben. Die übrigen Funktionen waren korrekt.