I fixed up lemons such that they have distortion coordinates of (.008, .008). The MapAnalyzer image is literally just white. It's fantastic.
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 (note: will upload Windows binaries in next release). 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.
Features
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.
Dependencies
While the excecutables are standalone, and the Jars require only Java, the source code makes use of several external libraries. These are
- Apache commons
math3
- "mfc"
- "ellipticFunctions"
To be perfectly honest, I don't remember where I got most of these. Oops. It looks like they might be German. I would recommend looking the de.jtem
package from (math.tu-berlin.de)[www3.math.tu.berlin.de/jtem/].
Wherefore?
I'll write a little blurb here later.
For more information go to jkunimune15.github.io/Map-Projections.