Wednesday, July 1, 2026
HomeLanguagesJavascriptD3.js geoBromley() Function

D3.js geoBromley() Function

D3.js is a JavaScript library for producing dynamic, interactive data visualizations in web browsers. It makes use of Scalable Vector Graphics, HTML5, and Cascading Style Sheets standards.
The geoBromley() function in d3.js is used to draw the Bromley projection which is also a rescaled Mollweide projection.

Syntax:

d3.geoBromley()

Parameters: This method does not accept any parameters.

Returns Value: This method creates a Bromley projection from given json data.

Example 1: The following example makes Bromley projection of world with center at (0, 0) and no rotation.




<!DOCTYPE html>
<html lang="en">
  
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content=
        "width=device-width, initial-scale=1.0" />
    <script src="https://d3js.org/d3.v4.js"></script>
    <script src=
    </script>
</head>
  
<body>
    <div style="width:700px; height:500px;">
        <center>
            <h3 style="color:black">
            </h3>
        </center>
        <svg width="600" height="450">
        </svg>
    </div>
  
    <script>
        var svg = d3.select("svg"),
            width = +svg.attr("width"),
            height = +svg.attr("height");
  
        // Bromley projection
        // Center(0, 0) with 0 rotation
        var gfg = d3.geoBromley()
            .scale(width / 1.5 / Math.PI)
            .rotate([0, 0])
            .center([0, 0])
            .translate([width / 2, height / 2])
  
        // Loading the json data
        // Used json file stored at:
        // https://raw.githubusercontent.com/janasayantan
        // /datageojson/master/world.json
        var myURL = "https://raw.githubusercontent.com/"
            + "janasayantan/datageojson/master/world.json"
  
        d3.json(myURL, function (data) {
  
            // Draw the map
            svg.append("g")
                .selectAll("path")
                .data(data.features)
                .enter().append("path")
                .attr("fill", "DarkGoldenRod")
                .attr("d", d3.geoPath()
                    .projection(gfg)
                )
                .style("stroke", "#ffff")
        })
    </script>
</body>
  
</html>


Output:

Bromley projection with no rotation and centered at (0, 0)

Example 2: The following example makes Bromley projection of world after customizing the center and rotation.




<!DOCTYPE html>
<html lang="en">
  
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content=
        "width=device-width, initial-scale=1.0" />
    <script src="https://d3js.org/d3.v4.js"></script>
    <script src=
    </script>
</head>
  
<body>
    div style="width:700px; height:600px;">
    <center>
        <h3 style="color:black"></h3>
    </center>
    <svg width="700" height="400">
    </svg>
    </div>
  
    <script>
        var svg = d3.select("svg"),
            width = +svg.attr("width"),
            height = +svg.attr("height");
  
        // Bromley  projection
        // Center(0, 0) and 20 degree 
        // rotation w.r.t X axis
        var gfg = d3.geoBromley()
            .scale(width / 1.5 / Math.PI)
            .rotate([0, 20])
            .center([0, 0])
            .translate([width / 2, height / 2])
  
        // Loading the json data
        // Used json file stored at:
        // https://raw.githubusercontent.com/janasayantan
        // /datageojson/master/world.json
  
        var myURL = "https://raw.githubusercontent.com/"
            + "janasayantan/datageojson/master/world.json"
  
        d3.json(myURL, function (data) {
  
            // Draw the map
            svg.append("g")
                .selectAll("path")
                .data(data.features)
                .enter().append("path")
                .attr("fill", "SaddleBrown")
                .attr("d", d3.geoPath()
                    .projection(gfg)
                )
                .style("stroke", "#ffff")
        })
    </script>
</body>
  
</html>


Output:

Bottomley projection with 20 degree rotation w.r.t X axis  and centered at (0, 0)

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!
RELATED ARTICLES

4 COMMENTS

Most Popular

Dominic
32517 POSTS0 COMMENTS
Milvus
131 POSTS0 COMMENTS
Nango Kala
6900 POSTS0 COMMENTS
Nicole Veronica
12014 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12110 POSTS0 COMMENTS
Shaida Kate Naidoo
7019 POSTS0 COMMENTS
Ted Musemwa
7262 POSTS0 COMMENTS
Thapelo Manthata
6976 POSTS0 COMMENTS
Umr Jansen
6966 POSTS0 COMMENTS