kartenprojektionen.de: WVG-9

Deutsch  •  English
Deutsch  •  English

Wagner-Variationen-Generator    – maßgeschneiderte Projektionen, basierend auf Wagner IX

Kurzinfo: siehe unten  –  Mehr dazu: s. Wagner – Das Umbeziffern  –  WVG, basierend auf Wagner VII

 

Siehe unten für eine genaue Beschreibung der Parameter
 

Die folgenden vier Felder auf keinen Fall ausfüllen!

Vordefinierte Konfigurationen
Grafik-Optionen

Wagner IX

Vorgestellt von Karlheinz Wagner, 1949, unter der Bezeichnung Der Aitoffsche Entwurf mit Pollinie.
Auch bekannt als Aitoff-Wagner.
Längentreu geteilter Nullmeridian.

Teile diese Konfiguration

Teile nur Projektions-Paramter
Teile Paramter & Grafik-Optionen

Werte der aktuellen Konfiguration

Böhms Notation (angepasst)

70-50-200-100
erweitert:
ix@70-50-200-100

Canters’ Notation

m1 = 0.7778
n  = 0.2778
k1 = 1.6733
k2 = 1.6733
p  = 0.5

In Wagners Formel

m1 = 0.777778
n  = 0.277778
Cx = 3.6
Cy = 1.285714
 
k  = 1.67332

Diese Werte beziehen sich auf die Transkription Wagners Formel in libproj4 von Gerald I. Evenden, v1.2, 2005.[4] Wagner selbst schrieb m1 als 7/9 und n als 5/18.

Variablen für d3.js

var CM = 0.777777777778,
CN = 0.277777777778,
CX = 3.6,
CY = 1.28571428571;

Was ist das hier?

Die von Karlheinz Wagner vorgestellte Methode zum Transformieren von Kartennetzentwürfen – Umbeziffern genannt – besteht darin, einen Ausschnitt eines existierenden Entwurfs zu übernehmen und die gesamte Erdoberfläche auf diesen Ausschnitt zu projizieren. Dabei kann der resultierende neue Entwurf anhand von vier Konfigurationsparametern beeinflusst werden.
Eine ausführliche Beschreibung des Vorgangs findest Du im Artikel Das Umbeziffern.

Auf dieser Seite kannst Du mit diesem Mechanismus experimentieren, indem Du die Parameter modifizierst. Ändere die vorgegebenen Werte innerhalb des erlaubten Bereichs und klicke auf den Button Generiere Projektion.

Die vier Konfigurationsparameter

In diesem Beispiel ist die Ausgangsprojektion der querachsige abstandstreue Azimutalentwurf, wie bei dem bekannten Entwurf Wagner IX. Ändere die Projektion durch Verwendung der folgenden Parameter:

  1. ψ1
    – Der begrenzende Breitengrad der Ausgangsprojektion.
    Minimum: 1 / Maximum: 90
    Beeinflusst die Länge der Pol-Linie: Höhere Werte verkürzen, niedrigere Werte verlängern sie.
    Bei 90° werden die Pole punktförmig abgebildet, bei 1° ist die Pollinie (fast) so lang wie der Äquator.
  2. λ1
    – Der begrenzende Längengrad der Ausgangsprojektion.
    Min.: 1 / Max.: 180
    Beeinflusst die Krümmung der Breitenkreise: Höhere Werte führen zu einer stärkeren, niedrigere Werte zu einer schwächeren Krümmung.
    Bei 1° werden die Breitenkreise zu (fast) geraden Linien.
    Hinweis: Ein Wert von 180° führt zu einer fehlerhaften Darstellung der resultierenden Projektion. Setze in diesem Fall λ1 auf einen Wert < 180 – sogar 179,99 funktioniert.
  3. p
    – Achsenverhältnis.
    Min.: 1 / Max.: 9999
    Sinnvolle Werte liegen (anhängig von den Parametern 1 - 4) etwa zwischen 150 und 250.
    Angabe in Prozent: Das Längenverhältnis von Zentralmeridian zu Äquator, bei 200 ist der Äquator doppelt so lang wie der Zentralmeridian.
    Niedrigere Werte ziehen die Projektion in die Länge, niedrigere Werte in die Breite.
  4. a
    – Breite der x-Achse.
    Min.: 20 / Max.: 100
    Werte unter etwa 50 sind vermutlich nicht sinnvoll.
    Angabe in Prozent: Je niedriger die Zahl, desto schmaler wird die Projektion.
Hinweise:
– Natürlich ist einer der Parameter 3 und 4 überflüssig: Anstatt z.B. p auf 200 und a auf 88 zu setzen, kann man auch a = 1 belassen und p = 155 festlegen. Aber Wagner hat die Entwurfsvariante, der hier IX.i genannt wird, genau so erzeugt, indem er nämlich die Formel zunächst mit p = 200 berechnet und anschließend eine »Zusammendrückung in Richtung des Äquators« mit a = 0,88 vorgenommen hat (was hier im WVG als 88% ausgedrückt wird). Ohne es explizit zu erwähnen, operiert auch Canters[2]:129 in seiner Zusammenfassung von Wagners Formeln mit beiden Parametern. Daher habe ich – auch wenn es unlogisch erscheint – diese Einteilung beibehalten.
Glücklicherweise werden unlogische Sachen Deinen Computer nicht explodieren lassen, auch wenn SciFi-Filme der 1960er Jahre Gegenteiliges behaupten.
 
– Eine Überprüfung verhindert, dass Du Werte außerhalb der o.g. Min.-/Max.-Grenzen absendest. Wenn Du es aber mal versuchen willst, z.B. für ψ1 einen Wert von 0,01 einzutragen, dann klick auf den Button »Ignoriere Prüfung & generiere«. Es kann dann allerdings vorkommen, dass gar keine oder eine fehlerhafte Grafik erzeugt wird. Probier’s einfach aus.
 
– Abhängig von Browser und Landeseinstellungen Deines Systems wird als Dezimaltrennzeichen entweder ein Komma oder ein Punkt oder beides akzeptiert. Wenn das eine Zeichen bei Dir zu Problemen führt, probiere das andere aus.

Vordefinierte Konfigurationen

Anstatt eine eigene Konfiguration zu erstellen, kannst Du auf Klick eine existierende Projektion auswählen, die mit der Formel für Wagner IX generiert werden kann. Die zugehörigen Konfigurationsparameter werden dann auch ins Formular eingetragen. Dies mag zu einem besseren Verständnis der Parameter führen und ist ein guter Ausgangspunkt für eigene Experimente.
Siehe unten für eine ausführliche Erklärung zu den unterschiedlichen Ausführungen von Canters Optimierung des Wagner IX.

Grafik-Optionen

Diese Optionen ändern nicht die Projektion an sich, sondern nur ihre grafische Darstellung.

  1. Kontinente: Die Landmassen der Erde können gezeigt werden als graue Silhouette, nur in Umrissen, mit farbiger Darstellung der Staaten – oder gar nicht.
  2. Gradnetz: Meridiane und Breitenkreise werden wahlweise in einem Abstand von 5, 10, 15, 18, 20, 30 oder 45 Grad gezeigt werden – oder gar nicht.
  3. Skalierung: Dieser Wert hat nichts zu tun mit dem Maßstab, wie er oft auf gedruckten Karten angegeben ist. Es handelt sich nur um einen Script-internen Faktor. Der Standardwert von 150 wurde so gewählt, dass alle vordefinierten Projektionen in die Grenzen des angezeigten Rahmens passen.
    Höhere Werte vergrößern, kleinere Werte verkleinern die Projektion.
    Min.: 30 / Max.: 300
  4. Hintergrund-Projektion: Zum Vergleich mit der generierten Projektion kannst du eine von 167 anderen Projektionen auswählen. Dabei handelt es sich übrigens um alle zylindrischen, pseudozylindrischen und lentikulären Entwürfe, die auf kartenprojektionen.de angeboten werden.
    Die Größe der Hintergrundprojektion kann nicht geändert werden. Um Vordergrund- und Hintergrundprojektion auf die gleiche Größe zu bekommen, musst Du mit der Option Größenfaktor so lange herumspielen, bis es passt. Sorry.
  5. Tissotsche Indikatrix: Visualisiert die Verzerrungen in der aktuellen Konfiguration. Die hier verwendete Implementierung ist vielleicht nicht zu 100% genau, aber nah genug dran für eine vernünftige Beurteilung.
    Du findest mehr Informationen über die tissotsche Indikatrix in diesem Artikel.

Die verschiedenen Canters-Annäherungen

Frank Canters hat 2002 eine Optimierung vom Wagner IX vorgelegt.[3]:182ff Allerdings finden sich hier gleich drei Varianten der Optimierung: Eine auf dem Button Approx. Canters (i), eine auf Approx. Canters (v) und eine bei Canters Original-Werten.
Was soll das denn nun wieder?

Wir müssen uns noch einmal kurz vergegenwärtigen, was hier geschieht:
Das obige Formular nimmt Parameter entsprechend der Böhm-Notation entgegen (begrenzende Längen-/Breitengrade usw.) und rechnet sie in numerische Konstanten um, die in Wagners Formel eingesetzt werden. Canters aber verwendete eine andere Herangehensweise, indem er die genannten Konstanten direkt modifiziert hat. Folglich hatte ich keine Ahnung, welche Parameters das Formular benötigen würde, um eine exakte Darstellung von Canters Optimierung auswerfen zu können.

Also fing ich an, an den Eingabe-Parametern herumzuspielen – hier den Wert etwas erhöhen, dort verkleinern – und hoffte, dass ich irgendwann bei den richtigen Werten für m1, n, k1, k2 und p ankommen würde.
Das hat nicht geklappt.
Daraufhin habe ich die Illustration in Canters Buch eingescannt und diese als Hintergrund-Grafik für die erzeugten Darstellungen benutzt. Somit hatte ich eine Vorlage, an die ich mich annähern konnte, und schon nach kurzer Zeit hatte ein Eingabeparameter gefunden, die eine Grafik berechnet haben, welche optisch nicht von der Vorlage zu unterscheiden war. Diese Version heißt hier Approx. Canters (i) (mit i für Illustration).
Dummerweise weist sie zwar die richtigen Werte für m1, n und p auf, aber die Werte für k1 und k2 weichen ab.

Dann kam mir die Idee, dass ich das Umrechnen von Eingabeparameter nach Böhmscher Notation überspringen sollte: Stattdessen würde ich die Formel, welche die Grafik berechnet, direkt mit Canters Werten füttern. (Das ist die direkte Injektion von Canters Original-Werten.)
Das funktionierte zwar – aber ich war ziemlich erstaunt, als ich festgestellt habe, dass auch diese Variante nicht mit der gescannten Vorlage aus dem Buch übereingestimmt hat. Die Abweichungen sind geringfügig, aber sichtbar. Darauf komme ich unten noch einmal zurück.

Abermals habe ich an den Eingabeparametern gedreht, aber dieses mal habe ich mich an die berechnete Grafik aus den Original-Werten angenähert und nicht an die Illustration aus dem Buch. Und abermals habe ich ein Ergebnis erzielt, was nahezu perfekt der Vorlage entspricht:
Approx. Canters (v), mit v für values (engl. Werte).
Dieses mal sind die Werte für m1, n und k1 korrekt, während k2 und p abweichen.

Wir fassen noch einmal schnell zusammen:
Approx. Canters (i) rechnet die Eingabeparameter um und nähert sich der Illustration aus Canters Buch an.
Approx. Canters (v) rechnet die Eingabeparameter um und nähert sich der folgenden Variante an:
Canters Original-Werte umgehen die Eingabeparameter und berechnen die Grafik direkt. Daher sieht der fragliche Button anders aus – und bei einem Klick auf den Button werden alle Eingabeparameter auf Null gesetzt.

 

Puuh, das war verwirrend, oder?
Aber jetzt möchte ich noch darauf eingehen, warum die Illustration aus dem Buch nicht der berechneten Grafik aus den Originalwerten entspricht.
Tja, ich weiß es einfach nicht. Es besteht natürlich die Möglichkeit, dass ich bei der Funktion, welche die Grafik generiert, etwas falsch gemacht habe. Andererseits funktioniert sie korrekt bei Wagner IX und IX.i … Ist die Illustration vielleicht nicht hundertprozentig korrekt? Ich weiß nicht, wie die Illustrationen in Canters Buch erzeugt worden sind. Aber wenn man drüber nachdenkt, muss eine derartige Illustration auch gar nicht absolut genau sein. Sie ist dazu da, dem Leser eine Vorstellung vom Aussehen der Projektion zu vermitteln. Wenn er mit dieser Projektion arbeiten will, wird er die Formel dazu benutzen. Und – nun die Illustration des Winkel II (Fig 2.7, Seite 59) ist definitiv nicht korrekt, denn die Meridiane weisen einen Knick nahe der Pole auf. Was nahelegt, dass vielleicht auch andere Illustrationen leichte Abweichungen von der Formel aufweisen könnten – was es ganz einfach keine Rolle spielt.

 

Download

Du kannst die erzeugte Projektion herunterladen, um sie in anderen Programmen zu betrachten oder weiterzuverarbeiten. Es wird stets die gesamte Projektion gesichert, auch falls sie hier auf der Seite nicht komplett angezeigt wird, weil sie die den begrenzenden Rahmen überschreitet.

Die Projektion wird als SVG gesichert. SVG heißt Scalable Vector Graphics – skalierbare Vektorgrafik – und genau das ist es auch. ;-) Daher ist es eine gute Wahl für Strichzeichnungen wie die hier benutzen Projektionsgrafiken.
Es gibt etliche Programme, mit denen man SVG-Dateien öffnen und bearbeiten kann, viele davon sind gratis wie z.B. Inkscape, LibreOffice Draw, OpenOffice Draw, and GIMP (die genannten Programme sind erhältlich für Windows, macOS und Linux).
Kommerzielle Programme (für Windows und macOS) sind z.B. PhotoLine, Affinity Designer und Adobe Illustrator.

Eine eventuell ausgewählte Hintergrund-Projektion ist nicht Bestandteil der SVG-Datei. Du kannst sie aber (als PNG-Datei) separat herunterladen unter dem Link Download Hintergrundprojektion, der ggf. direkt unter der Projektionsgrafik angezeigt wird.

Werte der aktuellen Konfiguration

Die angezeigten Werte der aktuellen Konfiguration haben folgende Bedeutung:

  1. Böhms Notation: Die Schreibweise zur Kennzeichnung einer Wagner-Variation, wie sie Dr. Böhm in seinem Artikel Variationen von Weltkartennetzen [2] vorgeschlagen hat. Böhm hat diese Schreibweise für Variationen von Wagner VII/VIII kreiert (s. WVG-7), ich habe sie entsprechend für Wagner-IX-Varianten angepasst.
    Die erweiterte Variante ist ein Vorschlag von mir und fügt nur ein Präfix hinzu, das anzeigt, welcher Wagner-Entwurf modifiziert wird.
  2. Canters’ Notation: Werte der Parameter, wie sie Frank Canters in seinem Buch Small-scale Map Projection Design[3]:185 gelistet hat (Tabelle 5.2).
  3. In Wagners Formel: Konstanten zur Verwendung in der Formel für Wagner VII/VIII, nach Kartographische Netzentwürfe [1], siehe auch Umbeziffern: Notation.
  4. Variablen für d3.js: Werte für den unten gezeigten Quellcode-Ausschnitt von d3.geo.projection.js.
  5. Flächenvergrößerung: Eine Liste der Flächenvergrößerung an Breitenkreisen in 10-Grad-Schritten (plus 85°, um zu zeigen, wie enorm die Vergrößerung zu den Polen hin ansteigt). Gezeigt als Faktor (z.B. 1,500) und prozentualer Wert (20).
    Diese Liste fällt natürlich weg, sofern eine flächentreue Projektion erzeugt wurde.

Nutzungsbedingungen

SVG-Dateien:
Alle auf dieser Seite generierten SVG-Dateien sind public domain. Die Grafiken dürfen in jeder Weise weiterverwendet werden, z.B. durch Verändern des Inhalts und der Gestaltung, elektronische Verbreitung oder Druck. Der Urheber dieser Seite, Tobias Jung, verzichtet auf jeden finanziellen Anspruch auf die Daten und erlaubt ausdrücklich die Verwendung zu persönlichen, kommerziellen und Bildungszwecken.
Die Verwendung der SVG-Datei bedarf keiner Erlaubnis. Der Autor dieser Site muss nicht genannt werden. Falls eine Urheberangabe gewünscht wird, reicht die folgende Angabe aus: Tobias Jung, map-projections.net.
 
Hintergrund-Grafiken:
Die Hintergrund-Grafiken sind lizensiert unter CC BY-SA 4.0.
Für weitere Informationen benutzen Sie bitte den Link Download Hintergrundprojektion, der ggf. direkt unter der Projektionsgrafik angezeigt wird.
 
 
Der Autor bietet diese Seite als freie Dienstleistung an und ist nicht verantwortlich für etwaige Probleme bezüglich Genauigkeit, Inhalt, Design und Gebrauch der Dienstleistung.

Bitte beachten Sie auch das Impressum dieser Website.

Danksagung

Diese Seite verwendet die unten genannten Scripte. Ich möchte mich herzlich bei den Autoren für ihre großartige Arbeit bedanken!

Quellenangaben

  1. Wagner, Karlheinz:
    Kartographische Netzentwürfe.
    Leipzig 1949.
  2. Dr. Rolf Böhm:
    Variationen von Weltkartennetzen der Wagner-Hammer-Aitoff-Entwurfsfamilie
    Erstveröffentlichung in: Kartographische Nachrichten Nr. 1/2006. Kirschbaum: Bonn-Bad Godesberg.
    Zitiert nach www.boehmwanderkarten.de/archiv/pdf/boehm_kn_2_2006_2015_complete.pdf
  3. a b c Canters, Frank:
    Small-scale Map Projection Design.
    London & New York 2002.
  4. libproj4, cartographic projection library, release 050319.

 

Quellcode-Ausschnitt für d3.geo.projection.js

Dies ist der Quellcode, den Du der Datei d3-geo-projection.js hinzufügen musst. Die Variablen CM, CN, CX, CY sind so gesetzt, dass sie der aktuell angezeigten Projektion entsprechen.
Die Funktion wurde mit v1.2.1 von d3-geo-projection.js geschrieben, evtl. funktioniert sie nicht mit älteren Versionen.

Hinweise:
a) Dies ist die vorläufige Version des Quellcodes. Ich versuche mich derzeit auch an der inversion Funktion, infolgedessen werde ich die hier gezeigte Funktion aus Gründen der Einheitlichkeit u.U. auch noch einmal etwas anpassen.
a) Eine saubere Lösung würde die Variablen an die Funktion übergeben, anstatt sie hart zu kodieren. Für meine Zwecke reicht diese Variante aber aus, also werde ich diese Anpassung nie vornehmen.


function wagner9GenRaw(lambda, phi) {
    var CM = 0.777777777778,
    CN = 0.277777777778,
    CX = 3.6,
    CY = 1.28571428571;

    var cosdel = cos(phi *= CM) * cos(CN * lambda);
    var y = acos(cosdel);
    if ( y == 0) {
        return [ 0,0 ];
    } else {
        var cosalph = sin(phi) / sqrt(abs(1 - cosdel * cosdel));
        var x = CX * y * sqrt(abs(1 - cosalph * cosalph));
        if (lambda < 0) {
            x = -x;
        }
        y *= CY * cosalph;
        return [ x , y ];
    }
}

var wagnerGen9 = function() {
  return d3Geo.geoProjection(wagner9GenRaw)
      .scale(150);
};
// (...)
// don't forget the additional lines at the end of the file:
exports.geoWagnerGen9 = wagnerGen9;
exports.geoWagnerGen9Raw = wagner9GenRaw;

Da es sich bei der Funktion um eine JavaScript-Übersetzung des C-Quellcodes von Gerald I. Evenden handelt, greift die originale Lizenz (obwohl es sich bei einer einzelnen Funktion wohl nicht um eine substantial portion handelt):


        
libproj -- library of cartographic projections

Copyright (c) 2003   Gerald I. Evenden

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.    

Nach oben

Diese Website nutzt Cookies, um bestmögliche Funktionalität bieten zu können.   Mehr Infos