Application Center - Maplesoft

App Preview:

Introduction to the mathematics of maps

You can switch back to the summary page by clicking here.

Learn about Maple
Download Application


 

Maple Maps

[Maple Plot]

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]

> with(Maps);

[Maple Math]

[Maple Math]

[Maple Math]

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]

[Maple Math]
[Maple Math]
[Maple Math]

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];

[Maple Math]
[Maple Math]
[Maple Math]

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]

>

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