Justin Kunimune 0082af3ff5 I underestimated the pointiness of triangles
As it turns out, they are quite pointy. And creating an authagraphic
tetrahedral projection that has to shove landmasses into the pointy
corners doesn't work very well. Oh, well. I did some fun calculus to
make it work. I don't know how AuthaGraph does it. Probably by not being
authagraphic and lying to its followers. I'll probably make something
interrupted now.
2017-11-21 19:23:11 -05:00
2017-08-25 21:06:56 -10:00
2017-08-27 15:40:49 -10:00
2017-07-22 22:28:00 -04:00
2017-11-21 17:23:58 -05:00
2017-11-21 17:39:29 -05:00
2015-11-23 12:58:38 -05:00
2017-09-02 21:03:34 -04:00
2017-07-22 22:28:00 -04:00
2017-09-02 21:03:34 -04:00
2017-09-02 21:03:34 -04:00
2017-09-02 21:03:34 -04:00
2017-09-02 23:50:00 -04:00

Map-Projections

A class to create custom maps of the Earth's surface. There are thousands of combinations of color-schemes, projections, and aspects. Includes Mercator, Gall-Peters, Orthographic, Peirce Quincuncial, and More!

Installation

If you are a fancy Windows user, I recommend the convenient fancy Windows binaries. Double-click to install them and then keep pressing buttons until something good happens. If you see a map, you're in the right place.

If you are not on Windows or are otherwise not fancy enough to deserve such executables, simply double-click on the .jar files in the main directory and, if you have Java installed (10/10 would recommend), it should just run without any set-up.

You could also compile and run the source code, but if you do, there are a few dependencies. All of them can be obtained as .jar files:

Usage

There are three executable files and three other runnable Java scripts. These are, in order:

  • MapDesignerRaster.jar The original program. Create custom oblique raster images of the Earth's surface using a variety of algorithms called projections.
  • MapDesignerVector.jar The same idea, but working in vector images instead in case you want to cut a vinyl sticker or something.
  • MapAnalyzer.jar See graphs and figures quantifying the amount of scale and angular distortion present in each map projection.
  • MapPlotter.java Plot a large group of map projections by the amount of distortion they produce.
  • MapOptimizer.java Run gradient descent on parametric projections to minimize their distortion.
  • MapExplainer.java Generate an HTML blurb outlining and displaying every map projection.

The executable applications all have similar layouts that let you select an input equirectangular map, a projection, an aspect (where the North Pole is situated with respect to the projection), and parameters if applicable. Go crazy! There are a practically unlimited number of combinations.

The runnable scripts just kind of work on their own. Those ones aren't really meant for mass consumption.

Wherefore?

I'll write a little blurb here later.

For some examples, check out the output folder. For more information, go to jkunimune15.github.io/Map-Projections.

Credits

While I wrote all of the code in this repository myself, and I created several of the simpler images from scratch, other people did help. Here's a comprehensive list.

Description
A suite of programs to create custom maps of the Earth's surface. https://kunimune.home.blog/2017/11/23/the-secrets-of-the-authagraph-revealed/
Readme 886 MiB
Languages
Java 88.5%
Python 11.5%