Maple Maps
Created by
Ross Taylor and Richard Baur
Department of Chemical Engineering
Clarkson University, Potsdam, New York 13699
and
John Oprea
Department of Mathematics
Cleveland State University
Cleveland, Ohio 44115
There are hundreds of map projections that have
been described in the cartographic literature. It is our objective here
to describe Maple tools that can be used in their creation. For much more
historical and/or mathematical background to the subject see, for example,
J.P. Snyder (Flattening the Earth - Two Thousand Years of Map Projections,
The University of Chicago Press, 1993), F. Pearson (Map Projections: Theory
and Applications, CRC Press, 1990), D.H. Maling (Coordinate Systems and
Map Projections, 2nd Edition, Pergamon Press, 1992), and L.M. Bugayevskiy
and J.P. Snyder (Map Projections - A Reference Manual, Taylor and Francis,
1995).
Maple already contains functions to add (and use)
new coordinate systems to Maple: the addcoordsand changecoordscommands.
With these functions it is straighforward to create some of the simpler
map projections (such as the Mercator and cylindrical equal area). However,
addcoordsis unable to work with some of the more complicated projections.
We have, therefore, created the Maps package which contains some new functions
as well as slightly revised versions of addcoords, changecoordsand coordplotfrom
the plotspackag. It is important to load the plotspackage (if needed for
other reasons) before loading the Maps package. To load the Maps package
we must include the path in the global variable libnameas shown below.
Note that the file maple.lib must not be located in the existing lib directory.
> restart;
libname:=`e:/earth`,libname;
![[Maple Math]](/Applications/appviewer.aspx?I=maps2.gif&ID=158)
> with(Maps);
![[Maple Math]](/Applications/appviewer.aspx?I=maps5.gif&ID=158)
addcoords- a modified version of Maple's own function
for adding coordinate systems to Maple.
mapcoords- interface to addcoords.
changecoords- a modified version of Maple's own
function for changing coordinate systems in Maple.
coordplot- a modified version of Maple's own function
for plotting coordinate systems to Maple.
graticule- procedure for making grids for map
projections.
removelines- procedure for eliminating lines that
wrap around the edges of a plot.
makeprojections- converts data structures defining
map projections to Maple coordinate systems.
distortion- command for creating images/maps that demonstrate
the degree to which a projection distorts land/water bodies.
There are literally hundreds of map projections
that have been described in the cartographic literature. The Maps package
comes with a number of predefined projections that can be identified and
constructed by makeprojections. A list of the available projections can
be obtained by using the makeprojectionscommand as follows:
> makeprojections(`?`);
![[Maple Math]](/Applications/appviewer.aspx?I=maps6.gif&ID=158)
To add the coordinate system for any of these
projections we invoke makeprojectionswith the name of the projection as
the argument of the function. Some projections require other projections
to be defined first. Thus, it is simplest to construct all of these coordinate
systems by invoking makeprojectionswith no arguments as follows:
> makeprojections():
Warning, check parameter definitions
r <> lasterror
Warning, check parameter definitions
r <> lasterror
shore- Maple table with each land or water body
represented by a list of longitude/latitude coordinates in degrees. For
example:
> shore[50];
There are 1867 such bodies with index numbers
from 0 to 1866. The largest body has an index of 0 and represents the continuous
coastline of Europe, Africa, and Asia. North and South America are shore[1].
Australia is shore[4. The major part of Great Britain is shore[10]. There
are many islands and lakes with only four data points.
The data used here is from the the Global Self-consistant
Hierarchical High-resolution Shorelines (GSHSS), Version 1.2 of P. Wessel
and W.F. Smith (A global self-consistent, hierarchical, high-resolution
shoreline database, J. Geophys. Res., 101, 8741-8743, 1966, www.soest.hawaii.edu/soest/gmt.html).
The GSHSS collection comprises four data sets which differ in their resolution
of the worlds coastlines. We use the crude data set which contains shoreline
data for 1867 bodies of land/water at a resolution of approximately 25
km.
world- Maple table of plot structures containing
equirectangular projections of the world. The plots differ by the number
of included land/water bodies and whether or not a graticule (grid) is
present. For example: world[nn]is a gridded map of the the nn largest land/water
bodies. world[ng,nn]is the same map with no grid (ng). Allowed values of
nnare 50, 200, and 1866.
changecoords- used for replotting maps in new
coordinate systems. The map at the top of this page was created with the
following command.
> changecoords(world[1866],`Lambert
Conical Equal Area`);
![[Maple Plot]](/Applications/appviewer.aspx?I=maps13.gif&ID=158)
>
Many more examples of many different map projections
are shown elsewhere.
Cylindrical projections
Azimuthal projections
Pseudocylindrical projections
Projections of The National Geographic
Society
Transverse projections
Hybrid Projections
Interrupted projections
Miscellaneous Projections - Pierce
Quincuncial
More Miscellaneous Projections
Map Distortion
The Mathematics of Map Projections