| ★ wanayoo — archive 1999 http://www.maplesoft.com/apps/categories/data_analysis_stats/maplemaps/html/pseudo1.html | Nouvelle recherche | Portail wanayoo |
Pseudocylindrical Projections
A cylindrical projection has parallel parallels and parallel meridians. A pseudocylindrical projection has parallel parallels but the meridians are not parallel. An example of a pseudocylindrical projection is the sinusoidal.
> print(`Maps/Sinusoidal`);
> coordplot(Sinusoidal,scaling=constrained);
> changecoords(world[1866],Sinusoidal);
A projection developed by J.E.E. Craster is similar to the sinusoidal but uses parabolas for the meridians.
>
mapcoords(Craster,
input = [lambda,phi],
coords = [[sqrt(3/Pi)*r*lambda*(2*cos(2*phi/3)-1),sqrt(3*Pi)*r*sin(phi/3)]],
params = [r],
view = [-180..180,-90..90,13,7,-180..180,-90..90]);
> coordplot(Craster,scaling=constrained);
> changecoords(world[50],Craster);
>
mapcoords(Parabolic,
input = [lambda,phi],
coords = [[r*1.53499*lambda*(2*cos(2*phi/3)-1),3.06998*r*sin(phi)/3]],
params = [r],
view = [-180..180,-90..90,13,7,-180..180,-90..90]);
The Mollweide Projection is an equal area pseudocylindrical with meridians as semi-ellipses.
> `Mollweide/x` := 2*sqrt(2)/Pi*r*lambda*cos(theta);
> `Mollweide/y`:=sqrt(2)*r*sin(theta);
where
is obtained by solving
> `Mollweide/theta`:=2*theta+sin(2*theta) = Pi*sin(phi): `Mollweide/theta`;
>
mapcoords(Mollweide,
input = [lambda,phi],
coords = [[`Mollweide/theta`, theta = 0],
[`Mollweide/x`,`Mollweide/y`]],
params = [r],
view = [-180..180,-90..90,13,7,-180..180,-90..90]):
Warning: coordinates already exists, system redefined.
Warning: default information already exists, redefining.
As before, the keyword
coords
is the list of operations used to create the new coordinates. The last two equations represent the final conversion, any intermediate calculations are given by the preceding statements. In this example
mapcoords
notes the list that contains the equation to determine theta and invokes Newton's method (a procedure for which is included in the Maps package) to compute this angle. The equation
specifies the initial value of
used in the iteration.
> coordplot(Mollweide,scaling=constrained);
The Mollweide projection is one of the more time consuming projections, requiring 1110 seconds on a 233 MHz Pentium PC for the complete map of the world.
> changecoords(world[1866],Mollweide);