D3.js geoNaturalEarth() Function

The function geoNaturalEarth() is used to return the Natural Earth projection.
Syntax :
d3.geoNaturalEarth()
Parameters: This method does not accept any parameters.
Return Value: This method creates and returns geoNaturalEarth() projection from given JSON data.
Example 1: The following example creates geoNaturalEarth() projection of the world with the center at (0, 0) and no rotation.
HTML
| <!DOCTYPE html>  <htmllang="en">   Â<head>      <metacharset="UTF-8"/>      <metaname="viewport"content="width=device-width,                  initial-scale=1.0" />   Â Â    <scriptsrc=      </script>  </head>   Â<body>      <divstyle="width:700px; height:600px;">          <svgwidth="700"height="550">          </svg>      </div>   Â    <script>          var svg = d3.select("svg"),              width = +svg.attr("width"),              height = +svg.attr("height");   Â        // Natural Earth projection          // Center(0,0) and no rotation          var gfg = d3.geoNaturalEarth()             .scale(width / 1.5 / Math.PI)              .rotate([0, 0])              .center([0, 0])              .translate([width / 2, height / 3])   Â        // Loading the json data          d3.json("https://raw.githubusercontent.com/"             +"epistler999/GeoLocation/master/world.json",              function (data) {                  // Draw the map                  svg.append("g")                      .selectAll("path")                      .data(data.features)                      .enter().append("path")                      .attr("fill", "black")                      .attr("d", d3.geoPath()                          .projection(gfg)                      )                      .style("stroke", "#ffff")              })      </script>  </body>  Â</html> | 
Output:
Example 2: In the following example we will create geoNaturalEarth() projection of the world with the center at (30, 0) and rotating 30 degrees anti-clockwise with respect to Y-axis.
HTML
| <!DOCTYPE html>  <htmllang="en">   Â<head>      <metacharset="UTF-8"/>      <metaname="viewport"content="width=device-width,                  initial-scale=1.0" />      <scriptsrc=      </script>  </head>   Â<body>      <divstyle="width:700px; height:600px;">          <svgwidth="700"height="550">          </svg>      </div>   Â    <script>          var svg = d3.select("svg"),              width = +svg.attr("width"),              height = +svg.attr("height");   Â        // geoNaturalEarth() projection          // Center(30, 0) and 30 degree rotation          var gfg = d3.geoNaturalEarth()             .scale(width / 1.5 / Math.PI)              .rotate([-30, 0])              .center([30, 0])              .translate([width / 2, height / 2])   Â        // Loading the json data          // Used json file stored at          // https://raw.githubusercontent.com/epistler999/          // GeoLocation/master/world.json         d3.json("https://raw.githubusercontent.com/"             +"epistler999/GeoLocation/master/world.json",              function (data) {                  // Draw the map                  svg.append("g")                      .selectAll("path")                      .data(data.features)                      .enter().append("path")                      .attr("fill", "black")                      .attr("d", d3.geoPath()                          .projection(gfg)                      )                      .style("stroke", "#ffff")              })      </script>  </body>   Â</html>   | 
Output:
 
				 
					



