How to create an image of the rotating Earth

An example ( coments, questions, etc: pawel@crwr.utexas.edu).

Orographic, Lambert Equal-Area Azimuthal (Equatorial), and some other projcetions have two important parameters: Central Meridian and Reference Latitude. To make the illusion of the Earth rotation Avenue script must change in steps the Central Meridian by chosen value from 180 to -180 before the view is exported: 

  theview = av.getactivedoc
  theprj = theview.getprojection
  '===========================================================
  'set files format to bmp (windows bitmap)
  '===========================================================
  exformat = 2
  theFormats = theView.GetDisplay.ReturnExportFormats
  'Returns a list of available export formats.
  if (exformat = 1) then filex = ".wmf" end
  if (exformat = 2) then filex = ".bmp" end
  ' here lines with other format file extensions can be added
  theformat = theformats.get(exformat)
  if (theFormat = nil) then
    msgbox.error("File format not specified", "")
    return 0
  end
  '===========================================================
  ' set the parameters of the projection
  '===========================================================
  'central meridian changes from -180 to 180
  'reference latitude changes from -90 to 90
  'Assume number of steps required to rotate Earth 360 degree
  'this is the number of images will be created
  no_Hsteps = 30
  Hstep = 360/no_Hsteps
  'stepzero = -180-Hstep
  'set the reference latitude to 0
  refl = 0
  '===========================================================
  ' export files (loop) 1 image is redundant (there are two 
  ' images for the cenral meridian = 180 (= -180) 
  ' set the file prefix
    fprx = "wrda" 
  '===========================================================
  i=0
  for each k in -180..180 by Hstep
    i=i+1
    cmrd = k
    theprj.SetCentralMeridian(cmrd)
    theprj.SetReferenceLatitude(refl)
    ' apply the projection to the view
    theView.SetProjection(theprj)
    if (i < 10) then
      sname = fprx+"0"+i.asstring+filex
    else
      sname = fprx+i.asstring+filex    
    end
    theFN = sname.asfilename
    theExportDisplay = theView.GetDisplay.ExportStartFN(theFN, theFormat)
    'Starts exporting graphics drawn on aDisplay to aFileName
    theExportDisplay.Invalidate(FALSE)
    theView.Draw(theExportDisplay)
    'Draws aView onto a Display.
    theExportDisplay.ExportEnd
    'Stops exporting the graphics drawn on aDisplay
  end

Open a new script and copy this listing into it. Compile the script and run it ! You should get 31 files named wrda01.bmp ... wrda31.bmp. (number of images is defined in line no_Hsteps = 30 and the file name prefix in the line fprx = "wrda" . You can use these files to construct an animated gif file (GIF89B). It should looks like it is shown below:

<===== oops! 
Earth rotates wrong direction (?)
Let's change one line in our script to:

for each k in 180..-180 by -Hstep

now it looks better =====>

It seems to me that Lambert Equal-Area Azimuthal (Equatorial) projection is not good for presenting the Earth rotation, Orographic gives a better picture. You can experiment with different projections. By manipulating projection parameters (Central Meridian and Reference Latitude) you can get the effect of flying above countries, fields, etc. I tried to do such a GIF but unfortunately ArcView (or my old PC) mess up with colors ... flight along N40 latitude .