[tor-bugs] #24563 [Metrics/Atlas]: Relay Search map has severe area distortions
Tor Bug Tracker & Wiki
blackhole at torproject.org
Fri Dec 8 13:48:26 UTC 2017
#24563: Relay Search map has severe area distortions
-------------------------------+--------------------------
Reporter: teor | Owner: metrics-team
Type: defect | Status: new
Priority: Medium | Milestone:
Component: Metrics/Atlas | Version:
Severity: Normal | Keywords:
Actual Points: | Parent ID:
Points: | Reviewer:
Sponsor: |
-------------------------------+--------------------------
I'm concerned that the Relay Search map represents countries and
continents poorly.
It uses the d3.geo.mercator() projection, which is not recommended for
comparison maps like ours:
{{{
The spherical Mercator projection...introduces severe area distortion at
world scale and thus is not recommended for choropleths.
}}}
https://en.wikipedia.org/wiki/Choropleth_map
One obvious issue is that India and the EU are about the same size, but
the EU looks larger. Similarly, Greenland is smaller than India, but looks
much larger. Here's a list of countries in order of area:
https://en.wikipedia.org/wiki/List_of_countries_by_area
I suggest we use an equal-area projection instead. It's much better suited
to the kinds of comparisons that we're doing.
None of the built-in projections are rectangular equal-area:
https://github.com/d3/d3-geo#projections
Extra projections are available here:
https://github.com/d3/d3-geo-projection
This is the only rectangular equal-area projection without significant
distortion:
https://en.wikipedia.org/wiki/Cylindrical_equal-area_projection
https://github.com/d3/d3-geo-projection#geoCylindricalEqualArea
Here's the line in js/views/aggregate/map.js we'll need to change, as well
as adding the d3-geo-projection import:
{{{
var projection = d3.geo.mercator()
}}}
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/24563>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list