[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #24563 [Metrics/Atlas]: Relay Search map has severe area distortions
#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 | Resolution:
Keywords: | Actual Points:
Parent ID: | Points:
Reviewer: | Sponsor:
---------------------------+------------------------------
Old description:
> 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()
> }}}
New description:
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.
References:
* https://github.com/d3/d3-3.x-api-reference/blob/master/Geo-
Projections.md#mercator
* 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()
}}}
--
Comment (by teor):
Tidy up the reference and the quote
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/24563#comment:1>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs