G.Projector — Map Projections

The current version of G.Projector is 3.0.2, released 2021-10-08.

Version History

Versions labeled "unreleased" correspond to mapping library updates that were included in other software releases, such as Panoply.

Version 2.6.4: Unreleased, 2021-06-26.

  • Added Gott-Mugnolo Elliptical as a variant of the Gott Equal-Area Elliptical.
  • Added Gott-Wagner as a variant of the Wagner IX.
  • Bugfix: Click for info on Gott Equal-Area Elliptical might report info even if click was outside the map.
  • Bugfix: Projection name Comparator handling of Roman numerals in middle of projection name.
  • Added Frančula A07 and A28 (aka, Frančula V and XIV) projections as variants of the Wagner VII.
  • Added Frančula A05 and A25 (aka, Frančula IV and XIII) projections as variants of the Wagner IX.

Version 2.6.3: Unreleased, 2021-05-31.

  • Added Fournier II projection (#208).

Version 2.6.2: Unreleased, 2021-04-29.

  • Library: Updated pdfbox-graphics2d to v. 0.31.
  • Bugfix: Projection name Roman numeral Comparator did not handle accented characters correctly.
  • Code linting and minor optimizations.

Version 2.6.1: Released 2021-02-27.

  • Added Canters Polyconic W07 as a variant of Wagner VII.
  • Added Compressed variant to Wagner IX.
  • Sort Roman numerals in projection list in appropriate order.

Version 2.6: Released 2021-01-24.

  • Java 9 (or later) is required to run G.Projector.
  • Improve negative feedback in case of any problem interpreting shapefile header.
  • (macOS): New desktop icon.
  • Added Györffy A, B, D, E and F projections (#203-#207).
  • Library: Updated Apache pdfbox to v. 2.0.20.
  • Library: Updated pdfbox-graphics2d to v. 0.23.

Version 2.5: Released 2020-04-04.

  • Re-factored all projection constructors to better manage variable initialization.
  • Re-factored all projections with extra params to prevent indirect/direct setting mismatch.
  • Added Gnomonic Icosahedron projection (#202).
  • Bugfix: Scaling of grid, border and outline line widths in saved image output.
  • Other minor optimizations and reduction of redundant code.
  • Library: Updated Apache pdfbox to v. 2.0.18.
  • Library: Updated slf4j to v. 1.7.30.

Version 2.4.2: Released 2019-12-18.

  • Added Van der Grinten IV projection (#201).
  • Bugfix: Exception drawing HillEucyclic border for k=0.

Version 2.4.1: Released 2019-12-04.

  • Bugfix: Wagner VIII unresponsive to change of variant choice.
  • Bugfix: Typo in a Patterson Cylindrical coefficient.
  • Code cleaning in several quad-symmetric projections.
  • (macOS) Notarized in order to pass new Gatekeeper security test.

Version 2.4.0: Released 2019-09-26.

  • Enabled zoom-in and -out on equirectangular, azimuthal and conic projections via commands in View menu.
  • Added Bertin-Rivière projection (#200), i.e., Rivière's approximate implementation of the Bertin 1953.
  • Various code refactoring in projection library.
  • (Linux) Use Nimbus look-and-feel.
  • Library: Updated slf4j to v. 1.7.28.

Version 2.3.7: Released 2019-07-30.

  • Code-cleaning in AbstractProjection.
  • (Bugfix) Gilbert Two-World drew some points in duplicate if overlay a (multi)point shapefile.
  • Library: Updated Apache pdfbox to v. 2.0.16.
  • Library: Updated pdfbox-graphics2d to v. 0.23.

Version 2.3.6: Released 2019-06-27.

  • (macOS) Improved Java app launcher compatibility with alternative Java distributions, including openjdk, Corretto and Zulu.
  • Allow for "zoomed" Vertical Perspective projection by adding Edge Angle parameter.

Version 2.3.5: Released 2019-04-29.

  • Added Cylindrical Equal-Area Oblique projection (#199).
  • Library: Updated slf4j to v. 1.7.26.
  • Library: Updated Apache pdfbox to v. 2.0.14.

Version 2.3.4: Released 2019-01-28.

  • (macOS) Partially accomodate Mojave "Dark Mode".
  • Add 60° gore option to interrupted projections.
  • Refactored projection list parameter items as enums.
  • Library: Updated Apache PDFBox to v. 2.0.13.

Version 2.3.3: Released 2018-10-29.

  • Added Solov'ev Modified Bonne projection (#197), for one specifc case.
  • Added Solov'ev Perspective Cyliindrical projection (#198).
  • Library: Updated Apache PDFBox to v. 2.0.12.
  • Library: Updated rototor's pdfbox-graphics2d to v. 0.20.

Version 2.3.2: Released 2018-09-25.

  • Reworked View menu behavior.
  • Refactored several Wagner projections.
  • Bugfix: Potentially unresponsive controls for HEALPix and Gnomonic Cubed Sphere projections.
  • Added Tobler Hyperelliptical projection (#196), preferred case only.
  • Minor optimizations.

Version 2.3.1: Released 2018-08-24.

  • Added Deakin's Minimum-Error projection (#193).
  • Added the Equal Earth projection (#194) by Šavrič et al.
  • Bugfix: Intermittent meridian and/or parallel drawing errors for Adams projections.
  • Minor country border additions to built-in MWDB outline overlay files.
  • Added Hammer's azimuthal projection (#195).

Version 2.3.0: Released 2018-07-24.

  • Rewrote help/credits windows to use JavaFX WebView.
  • Added View menu.
  • Library: Updated Apache pdfbox to v. 2.0.11.
  • Added Spilhaus Oceanic (Conformal) projection (#191).
  • Added Baar Sine Series projections (#192).

Version 2.2.1: Released 2018-06-28.

  • Bugfix: Border-crossing parallels or outlines could be drawn across map in Gilbert Two-World projection.
  • Added Baranyi IV projection (#190).
  • Minor optimizations.

Version 2.2.0: Released 2018-05-31.

  • Further refactoring of azimuthal projections to reduce more redundant code.
  • Replaced La Hire projection with the more general Azimuthal Far-Side Perspective. The La Hire is the default setting (D = 1.70711).
  • Added Maurer SNo. 160 Apparent Globular projection (#186).
  • Added Clarke Twilight projection (#187).
  • Added James Azimuthal projection (#188), with option to create James-Clarke.
  • Bugfix: Bounds errors when working with multipoint shapefile overlays.
  • Automated creation of sample projections images for website.
  • Added Aitoff Oblique projection (#189).
  • Bugfix: Shift-click re-centering did not work for some cases of Adams World in a Square I, Guyou, Hufnagel, and Robinon projections.

Version 2.1.8: Released 2018-04-27.

  • Bugfix: Incorrect term in phi-to-y transform in Arden-Close projection.
  • Miller Cylindrical projection renamed "Miller Cylindrical I".
  • Added Miller Cylindrical II projection (#182).
  • Added Baker's Dinomic scheme to interrupted map options.
  • Added Maurer SNo. 187 All-Globular projection (#183).
  • Added Maurer SNo. 159 Full Globular projection (#184).
  • Re-factored inverse procedure for Nicolosi Globular projections.
  • Library: Use Apache pdfbox (v. 2.0.9) for PDF output.
  • Added La Hire projection (#185).
  • Refactored azimuthal projections to reduce redundant code.

Version 2.1.7: Released 2018-03-28.

  • Added August Epicycloidal projection (#180).
  • Added Lambert-Lagrange projection (#181).

Version 2.1.6: Released 2018-02-26.

  • Bugfix: Forward transform for interrupted forms of McBryde-Thomas Flat Polar Parabolic.
  • Added William-Olsson projection (#173).
  • Additional gore options for interrupted pseudocylindric projections.
  • Added Berghaus Star projection (#174).
  • Added Bartholomew Tetrahedral projection (#175).
  • Added Hexafoliate Equal-Area projection (#176).
  • Added Maurer SNo. 231 projection (#177).
  • Added Petermann Star projection (#178).
  • Added Hexafoliate Equidistant projection (#179).
  • Bugfix: Intermittent NPE during component layout when creating initial map window.
  • Some re-organization of utility and constant classes.

Version 2.1.5: Released 2018-01-31.

  • (Bugfix) Peirce Quincuncial forward transformation performed in only one quadrant.
  • Added Van der Grinten III projection (#171).
  • Added Van der Grinten II projection (#172).
  • Optimized drawing graticule for Van der Grinten I.
  • Other minor optimizations.

Version 2.1.4: Released 2018-01-26.

  • Bugfix: NPE when drawing nightside shading on map without input image.
  • Reworked handling of alpha levels in DayNightMap.
  • (MacOS) Use Java 9 Desktop handlers if possible.
  • Bugfix: Invalid return from AzimuthalProjection.getBounds if map size was small.
  • Allow for choice of latitude grid spacing with two central parallels bracketing equator.
  • Allow for choice of which gridlines are labeled, if labeling permitted for projection.
  • Added Guyou hemispheric projection (#167).
  • Added Adams World in a Square I and II projections (#168, #169).
  • Added Adams Hemisphere in a Square projection (#170).
  • Bugfix: Intermittent gaps in curved meridians and parallels.
  • Refactored drawing of graticule for Mollweide Oblique and Hammer Oblique.

Version 2.1.3: Released 2017-12-20.

  • Added Canters Polyconic W21 projection (#163).
  • Added Canters Pseudocylindric W33 and W34 projection (#164, #165).
  • Added Canters Polyconic W20 projection (#166).
  • Renamed all other Canters projections using Böhm's numbering scheme.
  • Bugfix: Unable to open input KMZ files if ZipEntry reported size -1.
  • Bugfix: Possible NPE testing if file is color table when dropping desktop icon into map window.

Version 2.1.2: Released 2017-11-20.

  • Bugfix: Changing map projection had no effect on enabling of grid label control.
  • Added control and preference for grid label size.
  • Bugfix: Bounds errors when working with shapefile overlays.
  • Generalized Tobler G1 projection to allow for different weighting of basis projections.
  • Natural Earth projection has been renamed "Natural Earth I".
  • Added Natural Earth II projection (#162).
  • Refactored McBryde-Thomas projections to more closely resemble original 1946 equations.
  • Bugfix: Print output was blank.
  • Bugfix: No error displayed if printing failed.
  • Bugfix: (Windows) Map window size too large on small displays.
  • Resize map window if dragged from larger display to smaller (but not vice versa).

Version 2.1.1: Released 2017-10-30.

  • Improved quality handling of non-equirectangular input map images.
  • Re-worked some mapping utility classes.
  • Code linting and minor optimizations.

Version 2.1.0: Released 2017-09-28.

  • Re-organized map controls into a set of tabbed panels.
  • Added option to apply nightside shading to map.
  • Allow for different longitude and latitude gridline spacings.
  • Allow for three map overlays rather than two.
  • Refactored map plot to use PlotPiece and PlotHolder library code.
  • Refactored messaging between map controls and map plotter.
  • Refactored map import code to reduce redundancies.
  • Output "paper size" for saved PS and PDF output may be specified via preferences.
  • Bugfix: Bottomley projection did not render if reference latitude set to equator.
  • Bugfix: Some gridlines and overlays not drawn on Cassini projection if height set to large value.
  • Bugfix: Overlay combobox choices did not update if an overlay removed from library.
  • Added Hammer and Aitoff to list of input map projections that can be re-projected.
  • Added option to image output dialog controlling inclusion of map margin. (This will cause any border stroke to be cropped.)
  • Code linting and minor optimizations.

Version 2.0.5: Released 2017-07-26.

  • Reduced overhead when initializing projection list.
  • Improve Bonne projection meridians and border near poles when reference latitude is large.
  • Bugfix: Bonne projection did not accept setting the reference latitude at a pole.
  • Added Bottomley projection (#155).
  • Added Stabius-Werner I and III projections (#156, #157). Note that Stabius-Werner II is available as a special case of the Bonne.
  • Bugfix: Winkel II projection did not render correctly.
  • Added Gilbert Two-World projection (#158).
  • Added Winkel-Snyder projection (#159). This is Snyder's (1977) mistaken description of the Winkel II.
  • McBryde-Thomas Sine #1 projection has been renamed "McBryde-Thomas I".
  • Added McBryde-Thomas II projection (#160). This is a flat-polar version of the McBryde-Thomas I.
  • Added Philbrick Sinu-Mollweide projection (#161), uninterrupted form only.
  • Rewrote Mayr projection to use algorithm yielding more accurate result; height of map consequently about 1% shorter.
  • Reduced number of projections that might draw a meridian or parallel underlying map border to just a few complex cases.
  • Bugfix: Non-visible parallels drawn for Wiechel projection when pole-centered.
  • Bugfix: Input file filter did not accept KMZ map files.

Version 2.0.4: Released 2017-06-26.

  • Added Loximuthal projection (#153).
  • Added Hatano symmetric and asymmetric projections (#154).

Version 2.0.3: Released 2017-05-29.

  • Library: Updated slf4j to v. 1.7.25.
  • Foucaut projection has been renamed "Foucaut Stereographic".
  • Added Foucaut Sinusoidal projection (#152).

Version 2.0.2: Released 2017-04-24.

  • Added Littrow retroazimuthal projection (#150).
  • Added Siemon IV projection (#151).
  • Modifications to mapping library's KMZ handling for use in Panoply app.

Version 2.0.1: Released 2017-03-28.

  • Bugfix: Automatic version check might not check.
  • Added Logarithmic Azimuthal projection (#148), based on implementation of Snyder (1987).
  • Bugfix: A meridian might not be drawn in Hammer Oblique or Mollweide Oblique if map centered on a pole.
  • Added HEALPix projection (#149) for case of K = 3.
  • Quartic Authalic projection may be displayed in interrupted form.

Version 2.0: Released 2017-01-31.

  • Java 8 is required.
  • Overlays included in distribution now zipped into app code rather than placed in external directory.
  • Added overlays panel to preferences window to allow management of library of overlays.
  • (macOS) Use small-size property for plot controls.
  • (macOS) Replaced native filechooser implementation from JNI/libprojector with that of JNI/libgiss.
  • Rewrote prefs handling to work with custom XML file rather than use Java prefs interface.
  • Use SLF4J libraries for logging.
  • Added capability to accept an input map image using other than the Equirectangular projection. This is initially implemented only for the Cylindrical Equal Area, Robinson, and Winkel Tripel projections. More will be added in future releases.
  • Implemented zoom-in and zoom-out using mouse-clicks with key-modifiers on equirectangular, azimuthal and conic projections. Zooming in on an Equirectangular map will automatically switch to separately coded "Equirectangular (Regional)" projection (#144).
  • Hairlines added to crosshairs cursor.
  • Bugfix: PDF and PS output was drawn fully bitmapped.
  • Added Peirce Quincuncial projection (#145).
  • Added "Check for Updates" tool to preferences and to Help menu.
  • Added Ginzburg I (#146) and Ginzburg II (#147) azimuthal projections.

+ Go to current G.Projector changelog

+ Return to G.Projector homepage