-
Notifications
You must be signed in to change notification settings - Fork 23
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
[Cahill-Keyes] Conformal version #16
Comments
Yeah, I have been intending for a long time to properly implement this in D3. The original SCToolbox version I made was outrageously slow to compute, so I let my computer run for a couple days finding the positions of a pretty dense grid of Chebyshev nodes in latitude/longitude for half an octant, and used Chebfun to efficiently compress and evaluate that (that method should be entirely suitable for real-time rendering of many points). It would in general be a good idea to implement a few parts from the guts of Chebfun in JavaScript, and use those for many map projections. It should in many cases dramatically speed up computations vs. the existing implementations of D3 projections, especially if the inner loops can be implemented as wasm. I've had a lot of trouble finding time to work on this kind of project in the past year, as I've been taking care of a (now 20 month old) baby full time. But I still do intend to sometime finish here. I hope I can also properly write a paper about this projection at some point, to submit to some kind of cartography conference/journal. And there are a couple related map projections which I would like to produce (both an equal-area version, and one optimizing for distance errors), but which will take some significant research effort to figure out. Not sure it would be reasonable to call this particular projection "Cahill–Keyes" though. I would call it something like the "Conformal Octahedral Butterfly" projection. (I don't personally like sticking my own name on things, but also wouldn’t really be comfortable sticking someone else’s name on a project I spent a few months figuring out the details for.) |
@jrus has implemented a few possibilities at https://observablehq.com/@jrus/conformal-octahedron (but I can't find the link to the version with corners, à la Cahill.) |
There was never any such version until I spent a month or two of effort making one up in 2015 (Cahill’s “conformal” butterfly map was just an equilateral triangle). I still haven’t ported it to Javascript though. It’ll take quite a bit more effort to write the paper explaining the construction. I’ll get around to it eventually though. |
We could use the Schwarz-Christoffel transformation. http://www.genekeyes.com/CAHILL-VARIANTS/Cahill-Conformal.html shows one made by @jrus
The text was updated successfully, but these errors were encountered: