Hacker News new | past | comments | ask | show | jobs | submit login
A flat map with the least error possible: The Gott-Goldberg-Vanderbei projection (princeton.edu)
185 points by westcort 7 months ago | hide | past | favorite | 84 comments



Gott-Goldberg-Vanderbei may have a lower error, but its usefulness is also significantly reduced.

My favourite for world maps is still Winkel Tripel (https://en.wikipedia.org/wiki/Winkel_tripel_projection). Winkel-Tripel was given one of the best ranks by Gott and Goldberg, before they developed the projection in the OP.

Winkel Tripel used to be the standard until Google Maps came along and pushed everyone back to using Mercator for data visualization and political maps.


The triple was|is a damn fine world projection.

My favourite for "local area" usage was the old New Zealand Map Grid .. not a polyconic projection, rather a custom complex polynomial optimised to reduce grid error in toto (by multiple metrics) for the North and South Islands of New Zealand.

As a topographic grid projection it was aligned with the "spine of best fit" of the two islands, rather than stright up North|South aligned, and weighted to minimise the N|S and E|W distortion within the land region of interest as distance from the centre zone increased.

https://www.linz.govt.nz/guidance/geodetic-system/coordinate...

There were very few (three ?) in use about the world pre WGS84 .. and like many things went the way of the Dodo, the Krasovsky 1940 ellipsoid, the Bessel 1841, and all those tens and tens of other ellipsoids, datums, and projections of days yore.


> My favourite for "local area" usage was the old New Zealand Map Grid .. not a polyconic projection, rather a custom complex polynomial optimised to reduce grid error in toto (by multiple metrics) for the North and South Islands of New Zealand.

Paper link: https://www.linz.govt.nz/resources/research/conformal-mappin...


That's the paper alright, I've got a physical copy in a filing cabinet somewhere :-)

IIRC, for anyone else looking for a curio, there was one state|county|region in the USofA that used a custom conformal projection for a local grid system pre 1980s .. somewhere outside the regular PLA mapping grids.


I don't think this is the one you're thinking of, but in NYC the subway maps (which are not particularly geographically accurate) are drawn with Manhattan vertical, rather than on its 20-something degree tilt.


> subway maps (which are not particularly geographically accurate)

Subway maps and bus maps in cities are very typically not geographically accurate map projections .. the focus tends to be on a compact stylisation that represents connections for travel plans.

Historically Roman Road maps were on a scroll and very linear, today the UK underground tube maps are displayed in a manner that aids commuters in making connections.

I'm not all that familiar with NYC subway maps (only there for a short time in the 80s .. and who can recall their youth?) but I remember them being more "graphic" rather than "geographic".

I'm thinking more of a local land projection map that would have been used for local surveying in the days prior to global GPS .. but thanks for the thought all the same!


The NYC MTA map is pretty geographic by metro map standards. There are some obvious distortions, like Manhattan being wider than it actually is and it's not actually vertical as noted before. It also includes a lot of surface street and neighbourhood references. Most metro maps just focus on station names.

Compared with something like the London Tube map or Paris Metro map it's extremely geographic.

https://new.mta.info/map/5256


Tilt relative to what? Rotating a map doesn't make it inaccurate.


My comments above were referring to the axis alignment used in a projection transformation that takes 3D points wrapped about a sphere and maps them to a flat 2D plane.

Most of the common global world projections use conic projections that have a major axis aligned NS and conic slices that are orthogonal to the cone major axis mapped to latitude lines that are East-West.

There are many other types of projections, the older NZ map grid is an unusual one.

Once a projection is used to make a flat map, that map can be rotated about in any direction .. but that's another thing altogether.

You may, or not, enjoy looking through a free USGS projection reference of note:

Map projections: A working manual Synder (1987) https://pubs.usgs.gov/publication/pp1395

The Plate 1 link is to a handy wall poster of a limited number of common projections: https://pubs.usgs.gov/pp/1395/plate-1.pdf


My personal favorite map projection is the Equal Earth projection (https://en.wikipedia.org/wiki/Equal_Earth_projection) but it seems like it is relatively unknown. Though in general I have a soft spot for all equal-area projects, except the abomination Gall-Peters.


I'm partial to the Pierce Quincuncial [0] projection myself. Actually, any conformal projection that tiles really.

[0]https://en.wikipedia.org/wiki/Peirce_quincuncial_projection


Technically Mercator tiles.


To me, Kavrayskiy VII still feels like the most balanced compromise among general-purpose pseudocylindrical projection - more so than Winkel Tripel, and of course miles ahead of Mercator but that isn't even a contest.


Agreed. The only thing i have against Kavrayskiy VII is that i learned about it from the XKCD about map projections, which makes me feel like a complete fraud.


IIRC the use of Web Mercator is primarily for ease of generating 256×256 tiles.

The ideal projection is simply 3D, as it accounts for all scales, and the geoid if so inclined.


> The ideal projection is simply 3D, as it accounts for all scales

Unless you have 3D display that is not really true, it is still projected to 2D; perspective projection is still projection and it is not obvious that it's in any way "ideal" for maps


Sure, but it can be projected in a way that minimizes distortion of the current region you're looking at. 3D effectively allows you to choose the best projection from an infinite family of projections, while 2D restricts you to a single projection regardless of your location of interest.


I'm assuming someone has made a graph of error versus utility in map projections? Not being able to draw straight lines is a fairly useful thing to do.

If you want accurate, it is also silly to insist on it being a static 2d projection? Having a globe is not exactly difficult.


A globe is just using physics to create a perspective projection on your retina.

https://en.wikipedia.org/wiki/General_Perspective_projection


Not quite, you have two retina and local light sources. So you get more information from a globe than any 2d projection.

However by rotating a perspective projection your brain can better recreate the underlying 3D nature of earth.


Right? And that isn't hard and can get you accurate images.

I get that this was a lot harder in the past. But today, this isn't difficult at all.




If we're doing strangely discontinuous maps, I'd like to submit Fuller's Dymaxion Map [1] -- at least that one keeps the continents contiguous, while truly minimizing deformations.

1: https://en.wikipedia.org/wiki/Dymaxion_map


The Dymaxion projection came up in my own recent reading because one was sent in the "Cosmic Call": https://en.wikipedia.org/wiki/Cosmic_Call

The blog series I was reading: https://blog.plover.com/aliens/dd/intro.html

The Cosmic Call map was specifically pages 19-20: https://blog.plover.com/aliens/dd/p19.html


If strange discontinuities are not a problem, what about the Euler spiral?

Okay in the limit it has no area, but if you see it as a limiting process of arbitrarily thin strips then the distortion goes to 0 as the width decreases.


Their justification for no boundary cut error is kinda dodgy.. they say they have none because this projection is really two discs back to back, 'you can just stretch a string over the edge of the disk'.

That's cool but by that argument can't i just fold a Mercator map in half and also have no boundary cut?


Google maps just repeats if you dont set the limits:

https://i.stack.imgur.com/UhosY.jpg


I would say worse than "kinda dodgy" - it's completely intellectually dishonest, and their paper should not have got past peer review if it claims this has no boundary cut but the Mercator projection has a big one.


Equally, one could just glue together the edges of a butterfly map, eliminating the boundary penalty. I think this is cheating.

The problem statement is: find a mapping from the surface of a sphere to ℝ² that minimizes a particular penalty function. This paper maps each hemisphere to ℝ², and then argues that the normal boundary penalty term can be ignored.

However, if you just look at what the map does to South America and Africa, where there's a massive discontinuity at the equator, it's absurd to argue that the boundary penalty should be ignored. This map is useless for equatorial regions, and the penalty function should reflect that.


In the online version you can click and it moves the map so it doesn't have to cut things anywhere specifically - but it will always cut somewhere.

https://imgur.com/rgeg1Lc


You can always make good local maps of a sphere. I think that's just a basic property of Riemannian manifolds: they locally look like flat space.

The problem that this paper is trying to solve, however, is the creation of a minimally distorted (according to some penalty function) global map.


> their paper should not have got past peer review

As far as I can tell its not published anywhere nor received any peer review.

https://xkcd.com/2304/


Yes, dodgy. Same argument could be made for the dymaxion map, which can be folded into an icosahedron, then you can easily stretch the string over the polyhedron.

https://en.wikipedia.org/wiki/Dymaxion_map


> That's cool but by that argument can't i just fold a Mercator map in half and also have no boundary cut?

You need to both fold it in half and glue the ends together, basically creating a torus (or two-sided cylinder) shape


I've seen maps of the heavens using this projection, with the added stipulation of the celestial equator being on a separate bar. So the two circles would represent e.g. +45 degrees north and south of the celestial equator, and the bars would represent from 45 north to 45 south (or thereabout, I'm not sure about the actual degrees).

Here's one that I just found online:

https://fineartamerica.com/featured/vintage-stars-map-celest...


if you click the map - just West of the tip of India- it creates a much better division - without slicing populated continents in half


That's pretty good. Nice find.

I agree with the other commenter that this would be a good default.


Huh, it looks so much better that it seems strange its not the default.


Is there any reason why the rotation animation doesn't just use CSS rotation? The code looks rather complicated and this old laptop seems to really be unhappy to do what appears to just be two images doing a standard rotation.

Is it not that?


It's performing the projection in real time. It has to because you can change the perspective of the projection by clicking on the map.


Yeah sure, that feature makes sense. But when you start rotating it by pressing the spin/pause button in the interface, don't things become much simpler?

Maybe the answer is "no" but I really can't understand why.


Probably just because it is harder to implement, the CSS would be an optimisation of a specific case on top of the general code. Classic cost (in time and overall complexity) vs performance tradeoff.


How would projection code get you rotational animation for free?


The projection logic has an orientation parameter (which you'd probably always want, so that you can pick initial rotation), so the rotation animation itself is just updating the param on a timer.

Basically line 182 plus the calls to redraw:

    gamma -= 0.003;
To do it with CSS, at a minimum it would require adding support for rendering to two different canvas elements.


> To do it with CSS, at a minimum it would require adding support for rendering to two different canvas elements.

It might into trouble because rotating a rectangular <img> area varies it in height and width [1], but I would investigate animating a ‘rotate’ transformation. https://developer.mozilla.org/en-US/docs/Web/CSS/transform-f....

[1] seems to have a demo without that problem, so it seems this can be made to work https://imagekit.io/blog/image-rotation-html-and-css-imageki...


Here's an interactive WebGL implementation: https://brian.sh/around/index.html

It doesn't have a satellite image option, but that would arguably be simpler than drawing continents like it does now. It uses a seldom-redrawn base canvas (menu -> debug > show 2d texture) then the discs are drawn with a simple shader.


I think you're right.. it looks that way visually. You'd want to render at increased resolution to improve quality and then do a simple rotate?


Before I pushed the rotate button, I expected the rotation to be along a different axis, not the one aligned with the projection. i didn't look at the code, does it support that?


The paper is from 2012 if the visualization is from that era JS makes sense.


This map we made does the best in this metric we invented!


Am I understanding correctly that this is just two 'azimuthal equidistant projections' center on antipodal points, side by side?

(but envisioned as being glued to opposite sides of a single disk)


Yes they are.

It's probably increased accessibility of applied map projection plotting libraries vs. the knowledge of theory and history as formal requirement for making up stuff like this. See also Gall-Peters. Formalizing and marketing Map Projectsions are two separate skill sets.

https://twitter.com/mxfh/status/1363807641932337153

Physplaining [2] describes this quite well, if there is an established body of resarch and astrophysic specialist "rediscover" a specialist area that got reduced exposure with in the era of digital print and publishing.

[1] https://www.mappingasprocess.net/blog/2021/2/17/a-radically-...

[2] https://www.mappingasprocess.[net/blog/2021/2/21/perfecting-...


For the OP projection, the best centre seems to be around the Isle of Man. Edit: Just north of Cornwall gets most of the land except SEA, southern tip of South America and Australia+Antarctica.

I just like properly split sinusoidal map the most though [0] Sinusoidal map is where you start at the pole and unwrap the circles of latitude.

[0] https://en.wikipedia.org/wiki/File:Usgs_map_sinousidal_equal...


Respectfully, disagree completely. Like somebody else stated, clicking in the Arabian Sea just to the west of India neatly splits the two circles without cutting continents. One circle becomes Africa / Europe / Asia / Australia, the other becomes North & South America.

Example: https://imgur.com/rgeg1Lc


Oh yea, that's a good one. Too bad you have to reset after each try, makes it hard to experiment.


If your metric is the length of the land that the map boundary cuts, then the best centre lies somewhere in the Indian Ocean. Proven here: [1]

[1] https://marcinciura.wordpress.com/2015/11/17/slicing-earth-c...


I seem to have found this one, basically: https://marcinciura.wordpress.com/min-land-4/ But my metric wasn't as much intersection as maximum land area in one half.

edit: I didn't even know about this: https://en.wikipedia.org/wiki/Land_and_water_hemispheres


But, for what definition of "error"?


This article explains how they measure the error.

https://www.scientificamerican.com/article/the-most-accurate...

>Previously, Goldberg and I identified six critical error types a flat map can have: local shapes, areas, distances, flexion (bending), skewness (lopsidedness) and boundary cuts. >The Goldberg-Gott error score (sum of squares of the six normalized individual error terms)[...]


This is a nice generalised metric, and it's mentioned a few times that the authors' projection is good for a set of maps of the solar system.

But a generalised metric misses some points: practical maps of the world emphasise continuity at the points the mapmaker subjectively considers important. The standard Mercator projection has the London meridian at the centre, not purely because Europe was considered important but because the antipodal meridian through the Pacific, not passing through any population centres, is considered unimportant. Other projections like Goode-homolosine [0] are even more opinionated.

This map emphasises the polar areas, which are front and centre, and introduces a boundary cut along the equator, cutting populous countries like Brazil, Kenya and Indonesia in two. (It's ridiculous to say there's no boundary cut because you can turn the map over - in the same way you can fold a Mercator map or roll it into a cylinder, though admittedly other projections like Winkel-tripel don't have this property).

[0] https://en.m.wikipedia.org/wiki/Goode_homolosine_projection


> But a generalised metric misses some points: practical maps of the world emphasise continuity at the points the mapmaker subjectively considers important.

There is an old military complaint that battles always seem to take place at the very corner of the map. I guess that modern C2 systems have eliminated this problem.


Choosing the poles to be in the Pacific and Indian Oceans at the equator nearly completely solves this problem; the Russian Far East is cut, but no other populated landmasses are.


I didn’t realize until another comment mentioned it, but before you start spinning, you can click a part of the world to center the map on it.


Wherever you centre it, though, there's a boundary cut which is an entire great circle (compared to Mercator which has a boundary cut half as long).


The problem with map projections in the digital age is what works well on world scale doesn't on street scale and vice versa. As explained in detail in this post: https://www.mapbox.com/blog/adaptive-projections


Here’s the D3 implementation (which is just an interrupted azimuthal equidistant projection):

https://observablehq.com/@d3/azimuthal-equidistant-hemispher...


Hilarious to cut Africa in half and present it as errorless


At that point, just render a globe.


Just because it is two discs it does not mean that it could be replaced with a pinpoint camera render.

Hemispherical projections have different properties.

https://map-projections.net/compare.php?p1=azimuthal-equidis...


That would be just another projection. Most likely a perspective or orthographic projection.


Why does the HN title have a false editorialized claim that is not in the linked page?


The linked paper makes the claim “We believe it is the most accurate flat map of Earth yet.”


Map projections are fun but have limited relevance in the age of computers. Almost all on-screen interactive maps should use perspective projection, the only intuitive projection. (I feel like people dismiss perspective projection as not a "real" map projection, but it most definitely is.) If you need to judge relative sizes or distances or draw straight lines or whatever other things you might want from a map projection, software tools can help you do it more easily and more accurately.


Which perspective projection do you mean? Stereographic, gnomic or just a 3D rendering of a globe?


Those are special cases of perspective projection, but they are non-physical because they ignore occlusion. I prefer perspective projections that correspond at least roughly to what a physical camera could see, or, more importantly, an eye. That's what I mean by "intuitive".


Orthographic?


It's OK but still not what the eye sees.


Depends how far away you are?


This is not true in theory (you can't get infinitely far away) or in practice (if you're far enough away to approximate orthographic projection you are too far away to see any detail with the naked eye).


It's difficult to visually distinguish GGV from the good ol' Mollweide Hemispheres projection (https://www.jasondavies.com/maps/mollweide-hemispheres/). As an added benefit, Mollweide projections are equal-area.


Having the boundary at the equator is a strange choice. If you instead have the boundary go through the poles and the cook strait (e.g. click roughly at the edge of the northern hemisphere ~45 degrees down and left on the interactive map), then you end up only cutting off the Russian Far East and Antarctica, all other major landmasses are preserved.


'of land'. For less-accurate needs I prefer the ones that still show (roughly North-top, South-bottom and) lat/long lines and non-blue space where water is separated by the mapping.

Maybe this mapping is most useful for accurately tracking global warming effects at the poles.


I made an interactive WebGL implementation of this without realizing it was a thing: https://brian.sh/around/index.html

I don't really agree with the claims in the articles linked in OP, and don't find it to be a generally useful projection, even for the tool I made using it. It was novel as a representation that included daylight context (instead of just "what time is it there?" it helped express "is it getting dark there?") that preserved area better than a globe and was more intuitive than a day/night waveform on a rectilinear projection. But ultimately, if you're showing anything that has to do with populations (cities, people) pretty much any projection will waste large amounts of space on oceans and unpopulated land regions. That is to say, before choosing a favorite map projection, I think it's probably better to not to use a map projection at all unless you're going for a hike or setting sail.

Somebody beat me to the obligatory xkcd, but this West Wing bit is my go-to for map projection discussions: https://youtu.be/vVX-PrBRtTY

I like framing map projections by what they prioritize or sacrifice—fidelity in axis, position, size—and what projection is "best" depends entirely on which characteristics are more important. I disagree with OP's claim about this projection being "the most accurate flat map of the Earth yet" though haven't put a ton of thought into the physical, back-to-back definition of "flat" vs on-screen.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: