brsr / trimetric

Chamberlin and Matrix Trimetric Projections

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

trimetric

Code & TeX archive for the paper "A variation on the Chamberlin trimetric map projection", which introduces the new Matrix Trimetric map projection and compares it to the Chamberlin Trimetric projection. See here for a PDF of the paper itself.

Spun off from https://github.com/brsr/mapproj, which contains (among other things) a Python prototype of the Matrix Trimetric Projection.

Installation

This new projection is implemented in the framework of PROJ

  1. Download the source of PROJ version 8.
  2. Copy src/mattri.cpp to src/projections/ in PROJ.
  3. Update these files to include mattri (just copy the chamb lines and change chamb to mattri):
  • src/Makefile.am
  • src/pj_list.h
  • src/lib_proj.cmake
  1. Compile and install PROJ as per its instructions.
  2. Install PyProj from source as per its instructions.

Check that the right version of PROJ is being recognized by PyProj with the command pyproj.show_versions(). You may need to remove other versions of PROJ and PyProj, or install into a fresh environment.

Scripts

These scripts require Python 3.

  • trimetric.py: Generates figures needed for the TeX file. This seems to run faster in an iPython or Spyder terminal, probably because of matplotlib.
  • timing.py: Times the two projections and compares to a baseline no-op.
  • invparams.py: Used to check the convergence parameters of the inverse.

About

Chamberlin and Matrix Trimetric Projections

License:MIT License


Languages

Language:TeX 61.8%Language:Python 31.4%Language:C++ 6.8%