Skip to content

temporaer/myriaworld

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Myriaworld

This is a still rugged implementation of the myriahedral projection described by Jarke J. van Wijk in his 2008 paper entitled Unfolding the Earth: Myriahedral Projections.

The rough idea presented in the paper is to split up the sphere (=earth) in a number of very small bits. Bits which have land mass in them should tend to stick together, while bits without land mass might be separated. After deciding where to cut, the sphere can be flattened to the plane.

The resulting projection has a number of interesting properties: It preserves area everywhere, and it preserves angles locally.

Apart from the large number of bits the earth is split in, a large number of configurations is possible, depending on the chosen center of the projection, the graticular weights, the smoothing, the coloring... it's fun to play with the settings.

Here are a two examples:

sample black and white map

sample colored map

Video generated by myriaworld

Installation

check out the code

$ git clone --recursive [email protected]:temporaer/myriaworld.git

S2

This is still a mess. After starting this project, I realized that there's very little support for geometry on the sphere out there. I tried Boost.Geometry, GDAL, and finally ended up with Google's s2 library, which isn't really easy to install and compile.

I'll push my changes to s2 later, for now: let's just assume you managed to do that.

compiling

$ make

natural earth data

get the ne_10m_admin_0_countries and ne_10m_ocean files from naturalearthdata.com and put them in the data directory.

OGR

To read shapefiles from naturalearthdata, you need the OGR python library.

$ easy_install GDAL

should do the trick.

Running

$ cd src
$ python create_countries.py
$ ./myriaworld --depth 5  --sigma 0.4 --wlon 3.    --output test --alpha 1 --rotate 0 --clat 313 --clon -65 --roll -315 --render png

Note that the intermediate values are cached and recomputed as-needed, so if you only change colors, map-centers, render format, or graticular weights, it'll happen much faster than the first run.

About

myriahedral projection world map

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published