Justin Kunimune 6a6b9eac34 Garbage in, mediorcity out
I changed up the inputs a bit. Many of the raster inputs are now PNGs; I decided that even though they take up more space, JPEG artifacts aren't worth the few extra megabytes, especially since JPEG artifacts that get magnified by projection are really annoying.
I touched up the graticule SVGs by removing some annoying "z"s and thinning the lines.
I realised that Political.png was really bad, so I color-coded Political.svg and converted that to a PNG. I don't know why it's taken me so long to find a decent way of doing that. Oh, yeah, and Political.svg exists now. The default "Basic.svg" is what was "Compound.svg". It makes the two map designers more consistent.
I also updated the README accordingly.
2018-01-09 10:11:33 -10:00
2017-08-25 21:06:56 -10:00
2018-01-09 10:11:33 -10:00
2017-12-28 22:02:13 -10:00
2017-07-22 22:28:00 -04:00
2018-01-04 21:03:42 -10: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-11-26 11:46:43 -05:00
2017-07-22 22:28:00 -04:00
2017-11-26 11:46:43 -05:00
2017-11-26 11:46:43 -05:00
2017-11-26 11:46:43 -05:00
2018-01-09 10:11:33 -10: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%