This is a simple geodetic conversion tool for conversion from Lat/Lon to Dymaxion Fuller Map Projection Coordinates.
though pixel coordinate conversion becomes
The conversion routine is as follows. The specified (lon, lat) pair is first converted to spherical coordinates, then cartesian. That value is then used to determine the face number (0-19) and sub-triangle (0-5) on the icosahedron. All this information is then fed into a final subroutine that outputs an (X,Y) position pair suitable for mapping. Results from conversion are cached so repeated calls query a lookup-table first. Note that this is not WGS84 accurate due to the spherical conversion routine in use.
Technically, to unfold the earth into an icosahedron, we must first consider slicing the surface using various intersecting great circle patterns. This results in 20 spherical triangles. Each spherical triangle contain 6 of what Buckminster Fuller called LCD (Lowest Common Denominator) triangles. In pydymax these are ordered in a clockwise fashion.
All images in /docs
and on this page are created by running python3 -m dymax.examples
.
- Replace spherical coordinate conversion with Earth-Centered-Earth-Fixed for much better accuracy.
- Get documentation working correctly.
pip install dymax
# run examples
python3 -m dymax.examples
# benchmark performance
python3 -m dymax.convert
import dymax
xy_projection = dymax.lonlat2dymax(-118.0367, 34.8951)
- ETOPO1 is a 1 arc-minute global relief model of Earth's surface that integrates land topography and ocean bathymetry. It is generated by NOAA and is Public Domain.
- Blue Marble Next Generation (BMNG) is generated by NASA and is public-domain. This is the worldmap most-commonly seen by GIS users.
- Global Self-consistent, Hierarchical, High-resolution Geography Database (GSHHS) is generated by NOAA and is licensed GNU Lesser General Public License. It contains excellent coastline data that is used in examples.
pydymax code is Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)