The d3.geoHealpix() function returns Hierarchical Equal Area isoLatitude Pixelization of a 2-sphere. In this implementation, the parameter K is fixed at 3.
Note: It requires clipping to the sphere.
Syntax:
d3.geoHealpix()
Parameters: This method does not accept any parameter.
Return Value: This method creates Healpix projection from the given JSON data.
Example 1: The following example creates Healpix projection of the world with center at (0, 0) and no rotation.
HTML
<!DOCTYPE html> <html lang="en">   <head>     <meta charset="UTF-8" />     <meta name="viewport" content="width=device-width,                 initial-scale=1.0" />      </script>     <script src=     </script> </head>   <body>     <div style="width:700px; height:600px;">         <svg width="700" height="550">         </svg>     </div>       <script>         var svg = d3.select("svg"),             width = +svg.attr("width"),             height = +svg.attr("height");           // Healpix projection         // Center(0, 0) and no rotation         var gfg = d3.geoHealpix()             .scale(width / 1.5 / Math.PI)             .rotate([0, 0])             .center([0, 0])             .translate([width / 2, height / 3])           // 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> </html> |
Output:
Example 2 : In the following example we will create HealPix projection of world with center at (30, 0) and rotating 30 degree anti-clockwise with respect to Y-axis.
HTML
<!DOCTYPE html> <html lang="en">   <head>     <meta charset="UTF-8" />     <meta name="viewport" content="width=device-width,                 initial-scale=1.0" />     </script>     <script src=     </script> </head>   <body>     <div style="width:700px; height:600px;">         <svg width="700" height="550">         </svg>     </div>       <script>         var svg = d3.select("svg"),             width = +svg.attr("width"),             height = +svg.attr("height");           // Healpix projection         // Center(30, 0) and 30 degree rotation         var gfg = d3.geoHealpix()             .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 :

