# How do I map a Mollweide projection onto a sphere?

I have this Mollweide projection of the Earth circa 600 million years ago (http://jan.ucc.nau.edu/~rcb7/370moll.jpg).(1)

I want to map this onto a sphere. My results have big black splotches in the Pacific Ocean and the continents are distorted, because the code I used also mapped the black corners of the image to the sphere. I need to map just the central ellipse. What sort of code should I use? Perhaps I need to first convert the image to an equirectangular projection.

(1) Image credit: Ron Blakey, NAU Geology

-

It might be better to start from the rectangular global maps that are available here and then use part of the method proposed by PlatoManiac.

This is the earth in early Devonian time:

map = Import["http://jan.ucc.nau.edu/~rcb7/400marect.jpg"];
pic = SphericalPlot3D[1, {u, 0, Pi}, {v, 0, 2 Pi}, Mesh -> None,
TextureCoordinateFunction -> ({#5, 1 - #4} &),
PerformanceGoal -> "Quality", PlotStyle -> Directive[Texture[map]],
Lighting -> "Neutral", Axes -> False, RotationAction -> "Clip",
Boxed -> False]


There should be a way to transform your original image into an image that corresponds to an equirectangular projection by using ImageTransformation[].

-

As there is no conformal map to transform a elliptical shape into a rectangle. But one needs to have a rectangular map in order to use it as a texture on the globe.

In spite of this if you want to use the above image you need to colorize the black back ground similarly as the sea. Such a fairly realistic looking (but wrong) emulation can be the following

i = Import["http://jan.ucc.nau.edu/~rcb7/370moll.jpg"];
map = Colorize[(GeodesicDilation[MorphologicalBinarize[#, {0.35, Automatic}], #, 3] & [i]),
ColorFunction -> "BlueGreenYellow"];
pic = SphericalPlot3D[1 , {u, 0, Pi}, {v, 0, 2 Pi}, Mesh -> None,
TextureCoordinateFunction -> ({#5, 1 - #4} &),PerformanceGoal -> "Quality",
PlotStyle -> Directive[Specularity[White, 10], Texture[map]],
Lighting -> "Neutral", Axes -> False, RotationAction -> "Clip",
Boxed -> False]


-
I don't think that this approach is correct, you just colorized the parts of the 2D map before applying the texture on the sphere. –  VLC Oct 10 '12 at 9:33
There is no conformal map from a ellipse to a rectangle hence I tried this quick hack! Every digital texture image will be rectangular by default. –  PlatoManiac Oct 10 '12 at 9:59