Application Center - Maplesoft

App Preview:

Interrupted projections

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

Learn about Maple
Download Application


 

Interrupted Projections

Interrupted projections are those in which the northern and/or southern hemispheres are divided into a number of lobes. This is done in order to minimize the distortion of the major land masses. The projection formulae are essentially the same as for the uninterrupted forms but applied to a restriced range of longitudes. There are four interrupted projections in the Maps package: Boggs, Homolosine, Mollweide, and Sinusoidal. The interrupted sinusoidal projection can be created as shown below:

> `Maps/coords`[`interrupted Sinusoidal`] :=
input = [theta,phi],
coords = [ s = ''readlib(`Maps/break`)(
[theta,phi], [-40],[-100,-5,80])'',
_theta = ''readlib(`Maps/shiftf`)(theta-s,180)'',
''`Maps/Sinusoidal`(_theta,phi,r)
+ [s*r,0]''],
params = [r],
view = [-180..180,-90..90,13,7,-180..180,-90..90]:

> makeprojections(`interrupted Sinusoidal`):

The end points of each lobe are identified in the line of code that includes the `Maps/break` construct. The procedure created by the above command appears next.

> print(`Maps/interrupted Sinusoidal`);

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

The coordinates for this projection are shown below.

> coordplot(`interrupted Sinusoidal`,scaling=constrained);

[Maple Plot]

and the world map (with the 50 largest land/water bodies) appears next.

> changecoords(world[50],`interrupted Sinusoidal`);

[Maple Plot]

Note that the act of changing the coordinates introduces a number of undesired connections between land/water bodies that appear in two different lobes. We can use removelines to eliminate them.

> splot:=removelines(changecoords(world[50],`interrupted Sinusoidal`),10): splot;

[Maple Plot]

This is better, but some of the parallels are left hanging, so to speak. To complete the diagram we add new lines that emanate from just slightly to the left and right of each break point.

> edgeplot:=plot([[-40.1, x, x = 0..90],[-39.9, x, x = 0..90],[-99.9, x, x = 0..-90],[-100.1, x, x = 0..-90],[-5.1, x, x = 0..-90],[-4.9, x, x = 0..-90],
[79.9, x, x = 0..-90], [80.1, x, x = 0..-90]], coords = `interrupted Sinusoidal`, color
= black,scaling=constrained,axes=none): edgeplot;

[Maple Plot]

These edges are located just slightly to either side of the breaks in each hemisphere. We can combine these images/interupt to give the complete map projection.

> plots[display]({splot,edgeplot});

[Maple Plot]

Interrupted Mollweide

> print(`Maps/interrupted Mollweide`);

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

> display(removelines(changecoords(world[50],`interrupted Mollweide`), 10), plot([[-40.1, x, x = 0..90],[-39.9, x, x = 0..90],[-99.9, x, x = 0..-90],[-100.1, x, x = 0..-90],[-5.1, x, x = 0..-90],[-4.9, x, x = 0..-90], [79.9, x, x = 0..-90], [80.1, x, x = 0..-90]], coords = `interrupted Mollweide`, color
= black));

[Maple Plot]

Interrupted Homolosine

The interrupted form of Goode's homolosine projection is quite complicated. The pole of the eastern lobe in the northern hemisphere is not the center of the lobe and shifts depending on the latitude. The projection is created as follows:

> `Maps/coords`[`interrupted Homolosine`]:=
input = [theta, phi],
coords = [s ='' readlib(`Maps/break`)(
[theta,phi],[-30],[-120, -15, 75],
[DEFAULT,30],
[-165, DEFAULT, 30, 150])'',
_theta = ''readlib(`Maps/shiftf`)(theta-s,180)'',
''`Maps/Homolosine`(_theta,phi,r)
+ [s*r,0]'' ],
params = [r],
view = [-180 .. 180, -90 .. 90, 13, 7, -180 .. 180, -90 .. 90]:
makeprojections(`interrupted Homolosine`):

The map of the 50 largest land/water bodies can be plotted using the following command (note the creation of a border).

> display(removelines(changecoords(world[50],`interrupted Homolosine`), 10), plot([[-30.1, x, x = 0..90],[-29.9, x, x = 0..90],[-119.9, x, x = 0..-90],[-120.1, x, x = 0..-90],[-15.1, x, x = 0..-90],[-14.9, x, x = 0..-90], [74.9, x, x = 0..-90], [75.1, x, x = 0..-90]], coords = `interrupted Homolosine`, color
= black));

[Maple Plot]

>