CGMAP__DEFINE
Provides an easy way to set up a map projection coordinate space using GCTP map
projections normally accessed via Map_Proj_Init. Allows an unlimited number of map
overlays, and can provide a fresh map structure on demand, eliminating the problem
of ephemerial map structures that plaqued Map_Proj_Init until IDL 8.x. This program
is basically a wrapper for Map_Proj_Init, with additional features that make it
superiour for working with map projections in IDL.
Categories
Graphics, Map Projections
:File_comments:
Only GCTP projections are allowed. If you wish to use projections normally
set up with Map_Set, use the comparable cgMap_Set command.
Author
FANNING SOFTWARE CONSULTING::
David W. Fanning
1645 Sheely Drive
Fort Collins, CO 80526 USA
Phone: 970-221-0438
E-mail: [email protected]
Coyote's Guide to IDL Programming: http://www.idlcoyote.com
History
Change History::
Brought over to the Coyote Library from a similar routine in the Catalyst Library.
Updated to account for the bug that creates incorrect result in UTM projections
when using the WGS84 ellipsoid. The Wallbeck ellipsoid is substituted for the
WGS84 ellipsoid in this instance. David W. Fanning, 7 November 2011.
Added IS_CYLINDRICAL method to solve a problem with grid labeling and drawing
of grid lines. 16 Dec 2011. DWF.
Added ERASE method to erase the display. 28 Dec 2011. DWF.
Added check for identical range values in FORWARD method. 30 Dec 2011. DWF.
I am convinced that the map structure returned by Map_Proj_Init, when there
is a LIMIT used in the call contains a uv_box with incorrect latitude values.
This is important because other routines (e.g., cgMapGrid) depend on these values.
I've created a fix wherein I fixed the uv_box latitude values to correspond
to the LIMIT of the map projection. 6 April 2012. DWF.
Set the default CENTER_LATITUDE and CENTER_LONGITUDE to 0.0. 9 April 2012. DWF.
Added NOFORWARDFIX keyword to allow skipping of the "fix" in the FORWARD method,
as sometimes this is not needed or required. 29 June 2012. DWF.
Fixed a problem that required having to set the UTM zone in addition to the latitude
and longitude in a UTM projection. Now using cgUTMZone to determine the proper
zone. 8 Aug 2012. DWF.
Added a BOUNDARY keyword to the GetProperty method. 16 Aug 2012. DWF.
Modified to allow Hotine Oblique Mercator map projections to work correctly. 7 Sept 2012. DWF.
Additional changes to better handle IDL 8.2 map projections. 12 Sept 2012. DWF.
Added LATLONBOX keyword to the GetProperty method to allow me to obtain
the map boundary in the Google Map preferred notation of [north, south, east, west]
in degrees. 30 Oct 2012.
I was calculating the default X and Y range incorrectly for non-UTM map projections.
I have now gone back to my original method of using the UV_BOX of the map structure
to do this. However, there is still a problem with the UV_BOX when the center latitude
is not zero. I still attempt to fix this problem in the code (SetMapProjection method). 3 Jan 2012. DWF.
I added ASPECT and ISOTROPIC keywords to allow the setting of the aspect ratio of the map. 3 Jan 2012. DWF.
Added zone to the information returned with MapInfo method if projection is UTM. 25 April 2013. DWF.
The map aspect was disappearing because Total(!P.Multi) can occasionally be LT 0! Fixed. 3 July 2013. DWF.
Added Hughes ellipsoid, used at NSIDC, as index 26 or as "Hughes". 11 Sept 2013. DWF.
Fixed a bug in the way ellipsoids were selected when using numbers to choose elliposids. All ellipsoids
with values over 20 were affected. 18 Sept 2013. DWF.
Added FORMAT keyword to LanLonLabels method. 27 November 2013. DWF.
Change EASTING and NORTHING keywords to FALSE_EASTING and FALSE_NOTHING to conform to Map_Proj_Init. 29 Nov 2013. DWF.
Forgetting to add the false_easting and false_northing values to the structure in INIT method. 29 Nov 2013. DWF.
Added Cylindrical Equal Area to list of projections that don't allow CENTER_LATITUDE keyword. 24 Dec 2014. DWF.
Typo in code to handle ASPECT ratio was causing aspect ratio of output to be lost. Fixed. 19 Feb 2015. DWF.
Copyright
Copyright (c) 2011-2013, Fanning Software Consulting, Inc.