map-projections.net: WVG-7

Deutsch  •  English
Deutsch  •  English

Wagner Variations Generator    – custom map projections, based on Wagner VII

Short info: see below  –  More Info: Wagner – Das Umbeziffern  –  WVG, based on Wagner IX

 

See below for a detailed description of the parameters
 

Please leave the following four input field blank in any case!

Predefined Configurations
Image Options

Wagner VII.c

Presented by Karlheinz Wagner in 1941 using the name Flächentreuer Entwurf aus der flächentreuen Azimutalprojektion durch Umbeziffern entwickelt (Equal-area projection, derived from the equal-area azimuthal projection by Umbeziffern).

Share this configuration

Share projection parameters only
Share parameters & image options

Values of the current configuration

Böhm’s Notation

67.5-75-60-0-205.128
extended:
vii@67.5-75-60-0-205.128

Canters’ Notation

m1 = 0.9239
m2 = 1
n  = 0.4167
k1 = 1.3682
p  = 0.4875

In Wagner’s Formula

m1 = 0.92388
m2 = 1
n  = 0.416667
Cx = 4.410485
Cy = 2.355969
 
k  = 1.36823

Variables for d3.geo.projection.js

Geocart parameters

Areal Inflation

The projection is equivalent, there’s no areal inflation anywhere.

What’s this all about?

Karlheinz Wagner’s method of map projection transformation – called das Umbeziffern – consists of selecting a part of an existing projection and mapping the entire surface of the earth onto this part. The resulting new projection is determined by five configuration parameters.
You can find a detailed description of this process in the article Umbeziffern – The Wagner Transformation Method.

On this page you can experiment with this mechanism by modifying four of the five parameters. Change the values within the allowed range and hit the Render my projection button.

The five configuration parameters

This example is using the equatorial aspect of the azimuthal equal-area projection as parent projection, as the well-known Wagner VII and Wagner VIII do. Modify using the following parameters:

  1. ψ1
    – the bounding parallel of the parent projection.
    Min. value: 1 / max. value: 90
    In effect, lower values increase, higher values decrease the pole line length.
    At 90°, the poles become points. At 1°, the pole line is (almost) as long as the equator.
  2. λ1
    – the bounding longitude of the parent projection.
    min.: 1 / max.: 180
    Lower values generate a less pronounced, higher values generate a more pronounced curvature of the parallels.
    At 1°, the parallels become (almost) straight lines.
    Note: A value of 180° will generate a faulty image. In that case, try a value < 180, even 179.99° will do.
  3. φ1
    – reference parallel for the areal distortion.
    Determines the latitude that shows the amount of areal inflation noted in #4.
    You can’t modify this parameter, the reason is given in the article Umbeziffern – The Wagner Transformation Method.
  4. S60
    – amount of areal distortion.
    min.: 0, max.: 99.999
    Noted in percent, a value of 200 corresponds to a areal inflation with a factor of 1.2 at 60° N/S.
    A value of 0 will result in an equal-area projection.
  5. p
    – axial ratio.
    min.: 1 / max.: 9999
    Reasonable values range (depending on parameters 1 to 4) roughly between 150 and 250.
    Noted in percent: The ratio of central meridian to equator. At 200, the equator is twice as long as the central meridian.
    Lower values increase the height of the projection, higher values increase the width.
Notes:
– There is a form validation which prevents sending values that don’t meet the min/max values noted above. However, you can try to enter values like e.g. 0.01 for ψ1. In that case, hit the »Ignore validation & render« button but be aware that a faulty image might be rendered, or no image at all.
 
– Depending on your browser and the regional settings of your system, the decimal marker can be a dot, a comma, or either of them. If you run into problem using a dot, try a comma (and vice versa).

Predefined Configurations

Instead of building your own projection, you can select an existing projection that can be generated using the Wagner VII formula. The corresponding configuration parameters will be filled into the form. This might contribute to a better understanding pf the parameters and is a great start for your own experiments.
See below for a detailed description of the various implementations of Canters’ optimization of Wagner IX.

Image Options

These option don’t modify the projection in itself but only the image that is generated.

  1. Continents: The land masses can be shown as grey silhouette, as outlines only, with a colored display of the countries – or not at all.
  2. Graticule: Meridians and Parallels can be shown at a spacing of 5, 10, 15, 18, 20, 30 or 45 degree – or not at all.
  3. Map scale factor: This has nothing to do with the nominal scale that you’ll often find on printed maps. It’s just an internal factor of the script that renders the projection. The default value of 162 was chosen because with this value, all predefined projections fit into the given boundary.
    Higher values increase, lower valued decrease the size of the projection.
    Min.: 30 / max.: 300
  4. Background projection: You can compare the rendered projection to one of 165 others projections. It’s a listing of all the cylindric, pseudocylindric and lenticular projections that are offered by map-projections.net.
    The background projection can’t be scaled. To match rendered and background projection in size, you just have to play around with the map scale factor until you succeed. Sorry.
  5. Tissot Indicatrix: Visualizes the distortions of the current configuration. The implementation that is used here might not be absolutely accurate, but it’s close enough for a reasonable evaluation.
    Read more about Tissot’s indicatrix here.

Download

You can download the generated projection to view or edit it in other applications. The full projection will be saved to your hard disk, even if here on this page it isn’t shown fully because it exceeds the bounding frame.

The projection will be saved as SVG file. SVG means Scalable Vector Graphics, and guess what, it is exactly that. ;-) Which makes is a good choice for line drawings like they are used here.
There are numerous applications to open and edit SVG files, many of them are free, e.g. Inkscape, LibreOffice Draw, OpenOffice Draw, and GIMP (all of them are available for Windows, macOS and Linux).
Commercial software (for Windows and macOS) include PhotoLine, Affinity Designer and Adobe Illustrator.

The background projection you may have selected will not be part of the SVG file. But you can download it separately (as PNG file) using the link Download background projection which in this case will be visible beneath the projection image.

Values of the current configuration

For the current configuration, the following values are displayed:

  1. Böhm’s notation: The representation of a Wagner variant as suggested by Dr. Böhm in his german article Variationen von Weltkartennetzen [2].
    The extended variant is my own suggestion, it only adds a prefix that indicates which Wagner projection was modified.
  2. Canters’ Notation: Parameter values as listed by Frank Canters in Small-scale Map Projection Design[3]:185 (Table 5.2).
  3. In Wagner’s Formula: Constants to insert into Wagner’s formula for Wagner VII/VIII, from Kartographische Netzentwürfe [1], see Umbeziffern: Notation.
  4. Values for the d3.geo.projection.jssource code snippet below.
  5. Geocart parameters: Values to insert into the generalized Wagner which will be available in the next version of the map projection software Geocart. (Currently, no release date of that version is announced.)
  6. Areal Inflation: A list of values of the areal inflation at latitudes in steps of 10 degrees (plus 85° to show the enormous increase near the poles). Displayed as factor (e.g. 1.500) and in percent (20).
    Of course, this list is dismissed when you’ve rendered an equivalent projection.

Terms of Use

SVG files:
All generated SVG images that are generated on this page are in the public domain. You may use the images in any manner, including modifying the content and design, electronic dissemination, and offset printing. The author of this site, Tobias Jung, renounces all financial claim to the data and invites you to use it for personal, educational, and commercial purposes.
No permission is needed to use the SVG files. Crediting the author is unnecessary. However, if you wish to cite the data source, simply use: Tobias Jung, map-projections.net.
 
Background projection images:
The background projection images are licensed under CC BY-SA 4.0.
For more information please refer to the link Download background projection which is visible beneath the projection image in case you have selected a background projection.
 
 
The author provides this page as a free piece of service and is not responsible for any problems relating to accuracy, content, design, and how it is used.

Please also pay regard to the imprint of this website.

Credits

This page utilizes a few scripts mentioned below. I’d like to thank the authors for their great work!

References

  1. Wagner, Karlheinz:
    Kartographische Netzentwürfe.
    Leipzig 1949.
  2. Dr. Rolf Böhm:
    Variationen von Weltkartennetzen der Wagner-Hammer-Aitoff-Entwurfsfamilie
    First publication in: Kartographische Nachrichten Nr. 1/2006. Kirschbaum: Bonn-Bad Godesberg.
    Quoted from www.boehmwanderkarten.de/archiv/pdf/boehm_kn_2_2006_2015_complete.pdf (german)
  3. a b c Canters, Frank:
    Small-scale Map Projection Design.
    London & New York 2002.

 

Source code snippet for d3.geo.projection.js

This is the source code you’ll have to add to d3-geo-projection.js. The variables m1, m2, cx, cy, n are set to generate the currently selected projection.
The function was written for v1.2.1 of d3-geo-projection.js, it might not be operative in older versions.

Remarks:
a) This is a provisional version of the source code. Currently, I’m trying to get the inverse function done, which might lead to certain adjustments in the forward formula shown here.
b) A clean solution would be to pass the variables to the function instead of hardcoding them. However, since this variant works fine for me, I won’t write that clean solution.


function wagnerGenRaw(lambda, phi) {
    var m1 = 0.92388,
    m2 = 1,
    cx = 2.205242,
    cy = 1.177984,
    n  = 0.416667;

  var s = m1 * sin(m2 * phi),
      c0 = sqrt(1 - s * s),
      c1 = sqrt(2 / (1 + c0 * cos(lambda *= n)));
  return [
    cx * c0 * c1 * sin(lambda),
    cy * s * c1
  ];
}

var wagnerGen = function() {
  return d3Geo.geoProjection(wagnerGenRaw)
      .scale(172.632);
};
// (...)
// don't forget the additional lines at the end of the file:
exports.geoWagnerGen = wagnerGen;
exports.geoWagnerGenRaw = wagnerGenRaw;

Since this is a modification of the Wagner7-function of d3-geo-projection, the original license applies:


        
Copyright 2013-2016 Mike Bostock
All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
  list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice,
  this list of conditions and the following disclaimer in the documentation
  and/or other materials provided with the distribution.

* Neither the name of the author nor the names of contributors may be used to
  endorse or promote products derived from this software without specific prior
  written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    

Go to top

This website uses cookies to improve your experience.   More info