Blending equal-area projections

General discussion of map projections.
Post Reply
daan
Site Admin
Posts: 1003
Joined: Sat Mar 28, 2009 11:17 pm

Blending equal-area projections

Post by daan »

Milo wrote: Sun May 14, 2023 2:22 am
daan wrote: Sat May 13, 2023 10:01 pmI’d call it obsolete after my homotopy, letting you blend any two projections.
I've read about that one. It's pretty clever, but I do find it a little inelegant due to its lack of symmetry, which prevents a 50% blend of two
You know what? I used to agree, but I have wasted far too much time on the symmetry “problem” and after all that, I think that the quest for symmetry is poorly motivated: There are good topological reasons to want asymmetry. Consider a cylindric projection (and therefore each pole is a line the width of the map) and a pseudocylindric, with each pole being a point, as the two terminal projections in the homotopy that I created. When A is the cylindric and B is the pseudocylindric, the pole-line on (k – 1) × A + k × B merely shrinks as k grows, but there is always a pole-line until k = 1. If you swap the two projections for A and B, then you have never have a pole line as k grows until k = 1. Let’s say, now, that we had a symmetrical homotopy. In that case, what is the topology? What happens to that pole-line? If it’s always a pole-line, then it’s not different from the first case in any interesting way. If it’s never a pole-line, then it’s not different from the second case in any interesting way. Whereas, if it’s a pole-line partway through the progression but then begins deviating (where, at k = ½?), that seems very strange indeed, and even then, that’s not different than just swapping the two halfway along the way. Presumably you could do that smoothly in a hypothetical symmetrical method, but still, it smells arbitrary.

More generally, dealing with singularities doesn’t have any symmetrically coherent solution. I think my method more honestly acknowledges the topology and lets you choose your biases for resolving such problems.

Cheers,
— daan
Milo
Posts: 294
Joined: Fri Jan 22, 2021 11:11 am

Re: Tobler’s hyperelliptical projection

Post by Milo »

Well yeah, there are multiple ways to blend maps together. But then, I could also ignore both directions of your homotopy and use some other method entirely.

So long as it unavoidably comes in multiple variations, you can't really claim it's the One True Way of blending maps and that all other ways are obsolete.
quadibloc
Posts: 330
Joined: Sun Aug 18, 2019 12:28 am

Re: Tobler’s hyperelliptical projection

Post by quadibloc »

Milo wrote: Sat Feb 21, 2026 12:13 am So long as it unavoidably comes in multiple variations, you can't really claim it's the One True Way of blending maps and that all other ways are obsolete.
I think you seem to be missing the point. If you blend two conformal maps simply by averaging their coordinates, the resulting map will also be conformal.
What his paper explained was a technique of blending two equal-area maps... so that the resulting map would also be equal-area. That's a very useful thing to be able to do. Other ways of blending maps aren't obsolete, as they can still produce maps that look pretty... but this way of blending maps is a new tool that can produce maps that blend two equal-area projections - and retain the valuable property of being equal-area!
daan
Site Admin
Posts: 1003
Joined: Sat Mar 28, 2009 11:17 pm

Re: Tobler’s hyperelliptical projection

Post by daan »

Milo wrote: Sat Feb 21, 2026 12:13 am So long as it unavoidably comes in multiple variations, you can't really claim it's the One True Way of blending maps and that all other ways are obsolete.
Which member of the infinite set of symmetric homotopies would achieve the designation of the One True Way?

Why is symmetry important in this context?

As a practical matter, what are these other ways of achieving an area-preserving homotopy?

— daan
daan
Site Admin
Posts: 1003
Joined: Sat Mar 28, 2009 11:17 pm

Re: Tobler’s hyperelliptical projection

Post by daan »

daan wrote: Sat Feb 21, 2026 9:27 am
As a practical matter, what are these other ways of achieving an area-preserving homotopy?

I had always thought the “brute-force” method would involve double integrals. As it turns out, it’s not that hard. Messing around with it yesterday yet again, I realized the problem is constrained enough to be (just barely?) tractable on modern computers, depending on your level of tolerance. It’s nowhere nearly as efficient or safe as my original method—and I confidently predict nothing ever will be—but it’s at least available.

In my new scheme, you take the two projections you want to travel between and compute the weighted average. So,
C = k A + (1 – k) B.
C is not the final projection: Throw away the y result but keep the x. This gives you two known entries in the blended projection’s Jacobian matrix at every point. To review, the Jacobian of a map projection is
[[∂x/∂𝜆 ∂x/∂𝜑], [∂y/∂𝜆 ∂y/∂𝜑]]
which, for the purpose of discussing its entries, we will label as
[[a b], [c d]]
And so in this scheme, we have a, b known from keeping the x coordinate. The entries c, d are constrained by integrability and the equal-area condition. The equal-area condition requires that the determinant a∙c – b∙d = 𝛥(𝜑), where 𝛥(𝜑) is the meridian convergence function, which is, of course, cos(𝜑) for the sphere.

Related problems have already been solved in other domains. In 2D, incompressible fluid flow is equal-area mapping. It’s a first-order partial differential equation:
a(𝜆, 𝜑)(∂y/∂𝜑) – b(𝜆, 𝜑)(∂y/∂𝜆) = 𝛥(𝜑)

This partial differential equation (PDE) is solvable along “characteristics”. The characteristic curve here is the path where x is held constant, which I’ll call x₀ for a given 𝜆, 𝜑 that we are trying to project. It is 𝜑 that will be integrated against, so we have values of 𝜑, but notice that, in general, we would not be able to directly solve x₀ = C(𝜆, 𝜑) for 𝜆 unless it happens that C[x] is invertible. So, you would likely have a Newton–Raphson iteration in the quadrature for your PDE.

I’m not going to go over how to get to this step-by-step in clumsy text-math. Here is the resulting procedure:
Goal: Find y at (𝜆, 𝜑)
Pick x₀ = C(𝜆, 𝜑)[x], which is constant along your path integral.
Integrate from 𝛳 = 0…𝜑
Solve x₀ = C(𝜆, 𝛳)[x] for 𝜆. If you are using quadrature, you will need 𝜆 for each point.
Probably a root solver there, but if you can solve it analytically, great.
The integral: y = ∫𝜑𝛥(𝛳)/((∂x/∂𝜆)(𝜆(𝛳), 𝛳) ∂𝛳

In the typical case, this would be root-finding embedded in numerical integration, which means it’s going to be veeeeery slow compared to closed-form projections. Anything you could do to optimize the root-finding would help exponentially. You can obtain a high quality seed for the root-finding by noticing that
∂𝜆/∂𝜑 = – b/a.

As a suggestion for “good” homotopies, instead of using the two projections that are to be blended directly in this operation, you could use my original homotopies for the blending operation against k, and then average them to give C, like this:
C = ½ ([AB](k) + [BA](1–k)).

I will also note that this procedure is good for much more: You can create equal-area projections against a shape that’s defined along one dimension. This blending operation is a special case of that.

In my next posting, I’ll provide the closed-form solution for the boring case of sinusoidal + cylindric equal-area, as if we needed another blending method for that.

Cheers,
— daan
daan
Site Admin
Posts: 1003
Joined: Sat Mar 28, 2009 11:17 pm

Re: Blending equal-area projections

Post by daan »


A simple blended case, using the “brute-force” PDE. The projections to blend are the sinusoidal S and the cylindric equal-area E projections.
S(𝜆, 𝜑) = [𝜆 cos 𝜑, 𝜑]
E(𝜆, 𝜑) = [𝜆 cos 𝜑₁, sin 𝜑 ∙sec 𝜑₁]

Blending them and keeping just the x coordinate:
C(𝜑, 𝜆)[x] = k∙𝜆∙cos 𝜑 + (1 – k)∙𝜆∙cos 𝜑₁

The Jacobian entries a, b for C are:
a = k∙cos 𝜑 + (1 – k)∙cos 𝜑₁
b = –k∙𝜆∙sin 𝜑

Solving for 𝜆 in x₀ = C(𝜑, 𝜆)[x], we have:
𝜆 = –x₀/(k∙cos 𝜑₁ – k∙cos 𝜑 – cos 𝜑₁)

However, x₀ turns out not to be relevant because 𝜆 is not in a. Therefore,
(∂x/∂𝜆)(𝜆(𝜑), 𝜑) = a = k∙cos 𝜑 + (1 – k)∙cos 𝜑₁

Using 𝛥(𝛳) = cos 𝜑 for the sphere, the integral then is:
y = ∫𝜑cos 𝛳/(k∙cos 𝛳 + (1 – k)∙cos 𝜑₁) ∂𝛳

This has a closed-form solution. We ignore the constant of integration because 𝜑 = 0 is on the x axis:
t = √((1 – k)²∙cos² 𝜑₁ – k²)
y = –2∙(1 – k)∙cos 𝜑₁∙ arctan[(k∙cos 𝜑₁ – cos 𝜑₁ + k)∙(cos 𝜑 – 1)/(t∙sin 𝜑)]/(kt) – 2∙arctan(cot 𝜑 – csc 𝜑)/k

The arctan is not the arctan2 form. Now, given that t can become imaginary for some values of k and cos 𝜑₁, if you don’t want to use complex arithmetic, then you can do this: If (1 – k)²∙cos² 𝜑₁ – k² < 0, then flip its sign to positive for the √ and use –arctanh in place of arctan in just the affected portion. That is, leave the arctan(cot 𝜑 – csc 𝜑) as arctan; don’t change it to atanh.

See the boring animation.

Cheers,
— daan
Post Reply