G.Projector — Map Projections

Version 1.x History

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

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

Version 1.8.4: Unreleased, 2016-10-31.

  • Added Central Cylindrical projection (#143).

Version 1.8.3: Unreleased, 2016-01-31.

  • Modified Wagner VIII projection to allow selection of variants by Canters and Böm.

Version 1.8.2: Unreleased, 2015-12-28.

  • Modifications to mapping library made for use in Panoply and Mars24 apps.

Version 1.8.1: Unreleased, 2015-12-08.

  • Bugfix: Parallels were not drawn for Mollweide Oblique when non-zero "third rotation" parameter was specified.
  • Added Hufnagel family of projections (#142), based on implementation of Jenny et al.

Version 1.8: Released 2015-09-18.

  • Optimized drawing of parallels and meridians for two-hemisphere azimuthal projections for special case of center of projection at a pole.
  • Added Nicolosi globular (aka, al-Biruni) projection (#135).
  • (OS X) Replaced Quaqua filechooser with native file dialog called via JNI/libprojector.
  • Added separate two-hemisphere versions of Nicolosi (#136), Fournier I (#137), Apian II (#138), and Bacon (#139) globular projections.
  • Added Cylindrical Stereographic projection (#140). Note that this is a general form for which the Gall Stereographic, Braun Stereographic, BSAM Cylindrical, and Kamenetskiy (I) projections are specific cases. The first three of these have been removed from G.Projector as separate projections.
  • Refactored frame monitor and prefs autosave.

Version 1.7.5: Unreleased, 2015-08-24.

  • Modifications to projection library made for use in Panoply app, including: 1) allowing for fully vectorized map output rather than combination of bitmap with vectorized gridlines and outline overlay, and 2) refactoring to add methods that return descriptions of projections and their parameters.

Version 1.7.4: Released 2015-07-18.

  • Added Compact Miller projection (#124).
  • Added Patterson Cylindrical projection (#125).
  • Added Wiechel pseudoazimuthal projection (#126).
  • Added Arden-Close projection (#127).
  • Added Kharchenko-Shabanova projection (#128).
  • Added Urmayev Cylindrical II projection (#129).
  • Added Urmayev Cylindrical III projection (#130).
  • "Modified Gall" pseudocylindrical projection renamed "Gall-Bomford Pseudocylindrical".
  • Added BSAM Cylindrical projection (#131).
  • Added Miller Perspective Compromise projection (#132).
  • Added Tobler Cylindrical I and II projections (#133, #134).
  • Bugfix: Incorrect response to test for pole in inverse of Canters pseudocylindrics.

Version 1.7.3: Released 2015-06-27.

  • Added menu option to save map window settings to preferences.
  • Added option for overlay line style (solid, dashed, dots).
  • Allow for heavier grid and overlay strokes.
  • Additional styles for grid and overlay strokes.
  • (Win) Added "universal" Windows version which should better adapt to computer's available memory.

Version 1.7.2: Released 2015-02-27.

  • Added option for grid line style (solid, dashed, dotted).
  • Added option to display grid line labels, but only enabled if map is cylindric.

Version 1.7.1: Released 2014-12-31.

  • Bugfix: Mollweide projection might appear blank for some map sizes.
  • Bugfix: Iteration artifacts near poles in Larrivée projection.
  • Bugfix: Iteration artifacts near poles in Canters Polyconic 1989-f9 projection.
  • Added Canters Polyconic 1989-f7 (#121) and 1989-f8 (#122) projections.
  • "American Polyconic" projection renamed "American Polyconic (Global)", while separate "American Polyconic (Regional)" projection renamed "American Polyconic".
  • Added Rectangular Polyconic projection (#123).

Version 1.7: Released 2014-11-28.

  • Baker Dinomic projection may be displayed in interrupted form.
  • Bugfix: Parallels not drawn for hemispheric case of Apian II.
  • Added Hammer Oblique projection (#109). Specific choices for center of projection as well as scaling parameter allow for creation of Bartholomew's Nordic projection and of Briesemeister projection.
  • Added Mollweide Oblique projection (#110). Specific choices for center of projection as well as "third rotation" parameter allow for creation of Bartholomew's Atlantis projection and of Fairgrieve's' projection.
  • Bugfix: Discrepancy in handling margins of Cassini projection.
  • Added Strebe Equal-Area projection (#111).
  • Added American Polyconic projection in both global (#112) and regional/local forms (#113).
  • Bugfix: Calculated scaling factor for Gott-Mugnolo Azimuthal off by about 1.5%.
  • Added separate Two-Hemisphere versions of several azimuthal projections, including the Orthographic (#114), Azimuthal Equal-Area (#115), Azimuthal Equidistant (#116), Stereographic (#117), Gott-Mugnolo Azimuthal (#118), Breusing Geometric (#119), and Breusing Harmonic (#120) projections.
  • Bugfix: (Windows) Again re-worked memory settings.
  • Overlay file input changed to load-on-demand rather than load-on-launch.

Version 1.6.1: Released 2014-10-28.

  • Extended shapefile overlay support to include point and multipoint record types.
  • Added mechanism to choose shapefile overlay point symbols.
  • Overlays may be opened via drag-and-drop of desktop file icon into a map window.
  • Overlays imported during program use are added to menus in aphabetical position.
  • Use folder-style tabs for panes in preferences window.
  • Bugfix: (OS X) Mac desktop icons not displaying properly.

Version 1.6.0: Released 2014-09-19.

  • G.Projector now requires Java 7 or 8.
  • Use library code for saving bitmapped images.
  • Added Cassini projection (#108).
  • Shapefiles (.SHP) may be opened for use as overlays. Polyline and polygon shapes are included in drawn overlay outline; points, multipoints and multpatches are ignored.
  • Revised selection of MWDB map overlays included in distribution.
  • Memory heap specifications use Java 7 defaults.
  • Increased maximum allowable dimensions for both input and output images if max JVM heap appears to allow for it. Potentially, input images may be as large as 24000×12000 and output images 20000×10000.

Version 1.5.2: Released 2014-06-30.

  • Added close-all-windows keystroke.
  • Preferences for saving images now based on last save action.
  • Added Miller Oblated Stereographic projection (#106).
  • Added Snyder GS50 projection (#107).
  • Added lon-lat limit getter method in underlying library for use by other applications, e.g., Panoply.
  • Library: (OS X) Upgraded Quaqua to v. 9.1.

Version 1.5.1: Released 2014-01-30.

  • Added Transverse Mercator (Sphere) projection (#104).
  • Added Patterson's Natural Earth projection (#105).
  • Robinson projection recoded to use Beineke's approximation rather than that of Canter & Decleir.
  • (Mac) OS X version requires at least "Java for OS X 10.6 Update 3", released May 2010.

Version 1.5: Released 2013-06-20.

  • Added "height" option to Equirectangular oblique projection to allow for creating a non-global map.
  • Added "radius" option to Orthographic projection to allow for creating zoomed-in map.
  • (Mac) Use Apple application handler methods introduced in "Java for Mac OS X 10.6 Update 3".
  • Bug: (Mac) Application locked up during launch if user had installed "Mac OS X v10.6 Update 16" or "Java for OS X 2013-004".

Version 1.4.9: Released 2012-12-28.

  • Bugfix: Corrected mis-spelled name of Ginzburg VIII projection.
  • Added Ginzburg IV projection (#100).
  • Added Ginzburg V projection (#101).
  • Added Ginzburg VI projection (#102).
  • Added Ginzburg IX projection (#103).
  • Bugfix: (Windows) Selecting an item in a control popup menu might be met with no response, depending on location of control and menu on screen.
  • Maximum for the border line weight bumped from 200% up to 500%.
  • Mac version now code-signed and should not be reported as damaged by OS X 10.8 Gatekeeper.

Version 1.4.8: Released 2011-11-27.

  • Added Equirectangular Oblique projection (#96).
  • Re-factored various azimuthal projections (equal-area, equidistant, Gott-Mugnolo, stereographic) so that "fill corners" option also worked if radius set ≥ 90°.
  • Optimized drawing of parallels and meridians for all azimuthal projections for special case of center of projection at a pole.
  • Added Airy projection (#97).
  • Added Breusing Geometric projection (#98).
  • Added Breusing Harmonic projection (#99).

Version 1.4.7: Completed 2012-05-03; version not publicly released.

  • Some refactoring of the map projection class hierarchy, chiefly that cylindric and pseudocylindric projections now subclass from CylindricProjection and PseudoCylindricProjection classes.
  • Added ability to label grid for cylindric projections. (Library only. Not enabled in G.Projector app.)
  • Wrote custom UI to improve appearance of comboboxes with long lists of items (i.e., the projection list).

Version 1.4.6: Released 2011-04-13.

  • Added Gott-Mugnolo Azimuthal projection (#95).
  • Bugfix: Broken URL for application homepage in Help menu and splash window.

Version 1.4.5: Released 2011-03-18.

  • A Java SE 6 runtime environment is now required to run Panoply. This means the Mac OS X version will no longer run on older G5 Macs.
  • Re-factored drawing of gridlines to allow for non-integral spacing.
  • Increased maximum allowable dimensions for saved output image to 7500×3750 pixels. (Note: Also increased maximum possible request for memory to allow for saving larger output images.)
  • Refactored interrupted projections to use an Interruption enum.
  • Re-designed popup color menus to offer more choices from a palette rather than a list.
  • Added Gnomonic projection (#93).
  • Added Gnomonic cubed sphere projection (#94).
  • Bugfix: Red and blue levels were swapped in input PNG images using three-byte BGR format.
  • Library: (Mac) Quaqua FC updated to version 7.3.4.

Version 1.4.4: Released 2010-03-24.

  • Added Gringorten projection (#92).
  • Re-factored drawing of parallels by creating drawParallel method.
  • Eliminated distinction between screen and print for line colors and strokes.
  • Added pale gray and smoke gray to choices in various color menus.
  • Library: (Mac) Quaqua FC updated to version 6.4.1.

Version 1.4.3: Released 2010-02-11.

  • Miller Cylindric I projection re-labeled as just "Miller Cylindric". Miller's equations allowed for an infinite number of possible variations but he indicated that just one met his requirements.
  • Times Atlas projection revised to use Snyder (1993) equations rather than Snyder (1977). Parallels poleward of ±70° are lengthened, with the pole lines becoming 10% longer.
  • Added Gott Equal-Area Elliptical projection (#89).
  • Added Mayr projection (#90), using Ipbüker's Maclaurin series expansion to evaluate the elliptic integral.
  • Added Tobler G1 projection (#91).
  • Apian Globular II projection re-labeled as just "Apian II".
  • Ortelius Oval modified to allow for choice of hemispheric or global display.
  • Bugfix: Raisz Half-Ellipsoidal was not auto-scaled to fill map area for any tilt angle.
  • Bugfix: Lines of latitude were double drawn in many projections (all azimuthals, polyconics, orthoapsidals).
  • Bugfix: Meridians were drawn even when underlying map border in most projections (all cylindrics, pseudocylindrics, polyconics, orthoapsidals).
  • Library: (Mac) Quaqua FC updated to version 6.4.

Version 1.4.2: Released 2010-01-22.

  • Added Hill Eucyclic projection (#86).
  • Apian Globular II modified to allow for choice of hemispheric or global display.
  • Added Fournier Globular I projection (#87).
  • Improved drawing of meridians in Eckert III and Eckert IV projections.
  • Added Bacon Globular projection (#88).
  • Bugfix: Conic projections drawing continental outlines outside right and bottom margins.
  • Library: (Mac) Quaqua FC updated to version 6.3.1.

Version 1.4.1: Released 2010-01-11.

  • Apply consistent "slop" factor to all projections to allow for possible round-off errors when testing translateLL2XY result against map margins.
  • Bugfix: Map windows not correctly downsized if display smaller than default window size.
  • Bugfix: Checkmark in color pop-up menus not drawn correctly for Java 1.6.0_17 on Mac OS X 10.6.
  • Bugfix: Option-click (alt-click) get-info box over-corrected for map margin.
  • Library: JDOM updated to version 1.1.1.

Version 1.4: Released 2009-11-19.

  • Input images may be read in from GroundOverlay images referenced in OpenGIS KML and KMZ files.
  • Added a new "boundaries" dialog when opening a regular map image so that user may work with non-global equirectangular source maps.
  • Bugfix: Output prefs panel was missing JPEG option.

Version 1.3.2: Released 2009-10-23.

  • Bugfix: Overlay menus in preferences window threw exception when "<none>" selected.
  • Bugfix: Controls for second overlay in preferences window not initialized to correct values.
  • Bugfix: Meridians interrupted by small gaps near equator in several projections.
  • Library: (Mac) Quaqua FC updated to version 6.2.

Version 1.3.1: Released 2009-09-29.

  • Added ability to save plot images in uncompressed TIFF format.
  • Added ability to save plot images in JPEG format.
  • Improved handling of gridline and outline drawing near edges of regional map projections (e.g., azimuthals with small radius).
  • Bugfix: Wagner V projection not quite right due to a constant term omitted by source text originally used for projection equations.
  • Bugfix: Sorting of projection names was not locale-friendly (i.e., Érdi-Krausz in wrong menu position).
  • Library: (Mac) Quaqua FC updated to version 6.0.1.

Version 1.3: Released 2009-07-31.

  • Bugfix: Localization missed some places where numerical text input was interpreted.
  • Added option for higher resolution output.
  • Added option to draw second overlay/outline on map.
  • Bugfix: Use of Close menu command on a map window did not initiate clean-up of memory used by window.
  • (Mac) Switched to Quaqua open/save file chooser with option to specify file format.
  • Allow for user-specified map border weight, up to twice as heavy as max graticule or continent outline weight.
  • Bugfix: XY->LL translation in Vertical Perspective could throw NaN error for some combinations of radius parameter and projection centering.
  • PS/PDF output and printing always use variable weight line strokes rather than optional semi-transparent fixed-weight strokes.

Version 1.2.2: Released 2009-04-07.

  • Bugfix: Lack of localization prevented use of comma as decimal separator.

Version 1.2.1: Released 2009-03-30.

  • Re-factored autoscale method for all projections to provide cleaner extensibility from AbstractProjection.
  • Re-factored some projections' transformation code in conjunction with documentation project.
  • Added Braun Stereographic projection (#84).
  • Added Braun Perspective projection (#85).
  • Bugfix: Bonne projection reported lon-lat values for some pixels outside of map area.

Version 1.2: Released 2008-12-19.

  • Separate projection for Interrupted form of Goode Homolosine (was #84) removed.
  • Choice of uninterrupted vs. interrupted format (and type of interruption) made a user-specifiable option for twelve pseudocylindric projections, including Goode Homolosine; McBryde P3, Q3, S2 and S3; Mollweide; Boggs Eumorphic; Sinusoidal; and McBryde-Thomas Flat-Polar Parabolic, Quartic, and Sinusoidal projections.

Version 1.1.4: Released 2008-11-20.

  • Sped up reading in text outline overlay file data.
  • Sped up reading in of larger input map image files for several image types.
  • Bugfix: Canters Polyconic 1989-f9 projection reported lon-lat values for outside-of-map areas within arc of pole curves.
  • Simplified grid-drawing for pseudocylindrics.
  • Added Interrupted form of Goode Homolosine projection as a separate projection (#84).
  • Bugfix: Gridlines not drawn anti-aliased on some platforms/JRE combinations.
  • Mac and Windows versions configured to request more memory from system, which should alleviate problems dealing with large input map images (e.g., 5400×2700 Blue Marbles).

Version 1.1.3: Released 2008-08-04.

  • Added "fill corners" option to azimuthal equal-area, azimuthal equidistant and stereographic projections.
  • Linux version uses default "metal" look-and-feel.

Version 1.1.2: Released 2008-03-04.

  • Added Boggs Eumorphic projection (#80).
  • Added Nell projection (#81).
  • Added Fahey projection (#82).
  • Added Bonne projection (#83).

Version 1.1.1: Released 2007-10-30.

  • Bugfix: Reset button in prefs panel did not reset any projection "extra parameter" values.
  • Bugfix: Equidistant conic in error for case of ϕ1 = ϕ2 and both negative valued.
  • Added Urmayev sinusoidal series of projections (#79).
  • (Mac) Bugfix: Anti-aliasing of map border and graticule did not work on OS X 10.5 Leopard.
  • (Mac) Added large icons for OS X 10.5 Leopard cover flow.

Version 1.1: Released 2007-10-05.

  • Java 1.5 is now required.
  • Added equidistant conic projection (#76).
  • Added Albers equal-area conic projection (#77).
  • Added Lambert conformal conic projection (#78).
  • Preferences can save "extra parameter" settings should a projection have such (e.g., a standard parallel).
  • Added Reset button to preferences to restore default settings.
  • Bugfix: AbstractProjection's drawGrid scheme messed up near poles of azimuthal projections.
  • Rewrote AbstractProjection's drawPath's handling of lines which wrap around borders ±180° from central longitude.
  • Other refactoring of projection codebase as part of code clean-up and shift to Java 1.5.

Version 1.0.2a: Released 2007-05-24.

  • (Mac) Bugfix: If CNO file double-clicked on desktop, tried to open it as image file rather than continent data.
  • Added Larrivée projection (#74).
  • Added Baker Dinomic projection (#75).
  • Modified Mollweide projection to allow use of Bromley variant.
  • Optimizations and other internal modifications to projection codebase.

Version 1.0.1: Released 2007-04-04.

  • Bugfix: Help window content could not be updated once window was created.
  • Added Putniņš P2 projection (#66).
  • Added Putniņš P6 projection (#67).
  • Added Putniņš P6' projection (#68).
  • Bugfix: Miller Cylindric I projection was missing constant scaling term in y. Also was mis-identified simply as "Miller Cylindric".
  • Bugfix: Robinson projection did not scale to fit plotting area.
  • Bugfix: Map window was hard-coded to a size larger than some older monitors.
  • Added Times Atlas projection (#69).
  • Added Modified Gall, aka Oxford Atlas, projection (#70).
  • Added Pavlov projection (#71).
  • Added Cylindrical Equal-Area projection (#72).
  • Added Ginsburg VIII projection (#73).
  • Hide center-of-projection latitude input field if projection cannot be centered off the equator.
  • Bugfix: Bad y-shift value for Raisz Half Ellipsoidal if tilt = 0°.
  • Bugfix: Some OSes/Javas not all able to read same list of input image formats via ImageIO, e.g., Windows version unable to open TIFFs.
  • (Non-Mac) Use JFileChooser rather than FileDialog for file opens and saves.
  • Bugfix: App could hang when displaying Equirectangular projection and grid spacing set to 0.

Version 1.0: Released 2007-03-13.

+ Go to current G.Projector changelog

+ Return to G.Projector homepage