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
Wagner VII.c
Presented by Karlheinz Wagner in 1941 using the name Flächentreuer Entwurf aus der flächentreuen Azimutalprojektion durch Umbeziffern entwickelt (Equalarea projection, derived
from the equalarea azimuthal projection by Umbeziffern).
Values of the current configuration
Böhm’s Notation
67.575600205.128
extended:
vii@67.575600205.128
Canters’ Notation
m_{1} = 0.9239
m_{2} = 1
n_{ } = 0.4167
k_{1} = 1.3682
p_{ } = 0.4875
In Wagner’s Formula
m_{1} = 0.92388
m_{2} = 1
n_{ } = 0.416667
C_{x} = 4.410485
C_{y} = 2.355969
k_{ } = 1.36823
Variables for d3.geo.projection.js
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 equalarea projection as parent projection,
as the wellknown Wagner VII and Wagner VIII do. Modify using the following parameters:

ψ_{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.

λ_{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.

φ_{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.

S_{60}
– 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 equalarea projection.

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.
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.

Continents: The land masses can be shown as grey silhouette, as outlines only,
with a colored display of the countries – or not at all.

Graticule: Meridians and Parallels can be shown at a spacing of
5, 10, 15, 18, 20, 30 or 45 degree – or not at all.

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

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 mapprojections.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.

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:

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.

Canters’ Notation:
Parameter values as listed by Frank Canters in
Smallscale Map Projection Design^{[3]:185}
(Table 5.2).

In Wagner’s Formula:
Constants to insert into Wagner’s formula for Wagner VII/VIII, from
Kartographische Netzentwürfe
^{[1]},
see Umbeziffern: Notation.

Values for the d3.geo.projection.jssource code snippet below.

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.)

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,
mapprojections.net.
Background projection images:
The background projection images are licensed under
CC BYSA 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

↑
Wagner, Karlheinz:
Kartographische Netzentwürfe.
Leipzig 1949.

↑
Dr. Rolf Böhm:
Variationen von Weltkartennetzen der WagnerHammerAitoffEntwurfsfamilie
First publication in: Kartographische Nachrichten Nr. 1/2006. Kirschbaum: BonnBad Godesberg.
Quoted from www.boehmwanderkarten.de/archiv/pdf/boehm_kn_2_2006_2015_complete.pdf
(german)

↑ ^{a b
c}
Canters, Frank:
Smallscale 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 d3geoprojection.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 d3geoprojection.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 Wagner7function of d3geoprojection,
the original license applies:
Copyright 20132016 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