Demo of Customizable Wagner VII/VIII using d3-geo

by kartenprojektionen.de

This is a demo of the Customizable Wagner, using the d3-geo scripts with
d3.geoWagner().poleline(55.4366).parallels(118.854).inflation(20).ratio(196.54)
This is Frank Canters’ low-error optimization of Wagner VIII. Aphylactic.

Böhm Notation of this example: vii@55.4366-118.854-60-20-196.54. Show in WVG-7.

For more information about Wagner’s transformation method, read this blogpost or the notes at the Wagner Variations Generator (WVG-7) or the article Das Umbeziffern – The Wagner Transformation Method.

HTML/JavaScript source code for this example

        <div id="svgs" class="svg-container"></div>
<script>
    var width = 1000,
        height = 660;

    var projection = d3.geoWagner()
        .scale(150)
        .translate([width / 2, height / 2.2])
        .precision(.1)
        .poleline(55.4366)
        .parallels(118.854)
        .inflation(20)
        .ratio(196.54)

    var path = d3.geoPath()
        .projection(projection);

    var graticule = d3.geoGraticule()
        .step([15,15]);

    var svg = d3.select("#svgs").append("svg")
        .attr("id", "image_PID_")
        .attr("preserveAspectRatio", "xMinYMin meet")
        .attr("viewBox", "0 0 1000 660")
        .classed("svg-content", true)
        .append("g");

    svg.append("defs").append("path")
        .datum({type: "Sphere"})
        .attr("id", "sphere")
        .attr("d", path);

    svg.append("use")
        .attr("class", "stroke")
        .attr("xlink:href", "#sphere");

    svg.append("use")
        .attr("class", "fill")
        .attr("xlink:href", "#sphere");

    svg.append("path")
        .datum(graticule)
        .attr("class", "graticule")
        .attr("d", path);

            
    d3.json("world-50m.json").then(function(json) {
        world = json;
        svg.insert("path", ".graticule")
            .datum(topojson.feature(world, world.objects.land))
            .attr("class", "land")
            .attr("d", path);
    });

    d3.select('#svg').style("height", height + "px");
</script>    
    

Source code of d3-geo-projection.umbeziffern.rfc.js

View/Download d3-geo-projection.umbeziffern.rfc.js

License

Released under the GNU General Public License, version 3.

kartenprojektionen.de: Startseite · Impressum · Datenschutz