Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Invert Bertin1953, Chamberlin, interruptedSinuMollweide #181

Merged
merged 2 commits into from
Jan 2, 2020

Conversation

Fil
Copy link
Member

@Fil Fil commented Dec 18, 2019

… with an approximate 2-d Newton-Raphson method.

The general Jacobian inversion method is detailed in Ipbuker & Bildirici 2002

In this implementation, I added a dampening factor when the determinant is too small — which helps with convergence near the singularities of the projection.

Inspired by Robert B. Schmunk’s work on the Bertin1953 inverse for G.Projector, which showed it was possible.

closes #85 (at long last)

@Fil Fil requested a review from mbostock December 18, 2019 14:12
… and interruptedSinuMollweide

The general Jacobian inversion method is detailed in Ipbuker & Bildirici 2002

In this implementation, I added a dampening factor when the determinant is too small — which helps with convergence near the singularities of the projection.

Inspired by Robert B. Schmunk’s work on the Bertin1953 inverse for G.Projector, which showed it was possible.

test all inverse projections

closes #85 (at long last)
Fil added a commit to d3/d3-geo-polygon that referenced this pull request Dec 18, 2019
inverses d3.geoTetrahedralLee

See d3/d3-geo-projection#181 for d3-geo-projection
@Fil
Copy link
Member Author

Fil commented Dec 21, 2019

I've written an explanation of the algorithm here https://observablehq.com/d/8fb764aa82e81880

@Fil
Copy link
Member Author

Fil commented Dec 23, 2019

Added a "backtrack if overshooting" step.

@Fil Fil merged commit 559e3c4 into master Jan 2, 2020
@Fil Fil deleted the newton2d-inverse branch January 2, 2020 21:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

Algorithmic search for inverse projections
1 participant