The geoAiry() function in d3.js is used to draw the Airy’s minimum-error azimuthal projection from the given geojson data. This is a solution to the shape and area errors caused due to the minimization in a map projection.
Syntax:
d3.geoAiry()
Parameters: This method does not accept any parameters.
Return Value: This method returns the Airy’s minimum-error azimuthal projection.
Example 1: The following example draws the Airy’s minimum-error azimuthal projection of Asia.
HTML
<!DOCTYPE html> <html> <head> </script> <script src= </script> </head> <body> <div style="width:1200px; height:1000px;"> <center> <h3 style="color:green"> geoAiry Projection of Asia </h3> </center> <svg width="800" height="500"> </svg> </div> <svg width="400" height="300"></svg> <script> var svg = d3.select("svg"), width = +svg.attr("width"), height = +svg.attr("height"); // geoAiry projection var gfg = d3.geoAiry() .scale(width / 1.5 / Math.PI) .translate([width / 2, height / 2]); // Loading the json data d3.json("https://raw.githubusercontent.com/" + "janasayantan/datageojson/master/" + "geoasia.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: The following example draws the Airy’s minimum-error azimuthal projection of the world.
HTML
<!DOCTYPE html> <html> <head> </script> <script src= </script> </head> <body> <div style="width:700px; height:600px;"> <center> <h3 style="color:grey"> azimuthal Projection of World </h3> </center> <svg width="700" height="550"> </svg> </div> <script> var svg = d3.select("svg"), width = +svg.attr("width"), height = +svg.attr("height"); // geoAiry projection var gfg = d3.geoAiry() .scale(width / 1.5 / Math.PI) .translate([width / 2, height / 2]); // Loading the json data d3.json("https://raw.githubusercontent.com/" + "janasayantan/datageojson/master/" + "geoworld%20.json", function (data) { // Draw the map svg.append("g") .selectAll("path") .data(data.features) .enter().append("path") .attr("fill", "green") .attr("d", d3.geoPath() .projection(gfg) ) .style("stroke", "#ffff"); }); </script> </body> </html> |
Output:

