xearth program
Bill Brown
brown at zorro.cecer.army.mil
Fri Mar 18 12:46:41 EST 1994
--------------------- INCLUDED FILE ---------------------
RCS $Id: README,v 1.1 1993/07/23 21:16:17 tuna Exp $
README file for xearth, version 0.5
Kirk Lauritz Johnson <tuna at cag.lcs.mit.edu>
23 July 1993
WHAT IS IT?
Xearth sets the X root window an image of the Earth, as seen from
your favorite vantage point in space, correctly shaded for the
current position of the Sun. By default, xearth forks a child
process that runs in the background, updating the displayed image
every five minutes to reflect changes in the Sun's position.
Xearth can also render directly into PPM and GIF files instead of
drawing in the root window. See the man page for details.
MAJOR CAVEAT
This version of xearth (version 0.5) only supports eight-bit
pseudocolor visuals, primarily because I haven't had enough time
to hack up support for other visuals (and even if I did, I have
very little access to any other kind of display).
WHERE TO GET IT?
The latest-and-greatest version of xearth should be available via
anonymous ftp from cag.lcs.mit.edu:/pub/tuna.
MANIFEST
README this file
Imakefile for use with "imake"
Makefile.DIST for use with "make"
xearth.man man page
dither.c source code
extarr.[ch]
gif.c
gifint.h
giflib.h
gifout.c
kljcpyrt.h
mapdata.c
ppm.c
sunpos.c
x11.c
xearth.[ch]
NOTES
There are a number of very useful improvements that I'd like to
make (such as support for other than eight-bit pseudocolor
visuals, better error recovery, getting options via X resources,
etc.), but I really should be working on my thesis instead of
hacking on this.
The map information used in xearth was derived from the "CIA World
Data Bank II map database," as taken from some "cbd" files that
were apparently originally generated by Brian Reid at DECWRL.
I believe something in dither.c exercises an optimizer bug in
SunOS 4.1.3 /bin/cc; when I compile this code with -O, I get a
segmentation violation. The code works fine under all the other
compilers I can get my hands on, however. So, if possible, don't
use SunOS 4.1.3 /bin/cc to compile xearth, or, if you have no
other compilers, don't use optimization to compile dither.c.
Running in the background on a Sun 4/110, xearth requires around
30 CPU seconds each time it redraws an image in the root window.
With the default time-between-redraws of 300 seconds, I hardly
even notice the extra CPU load. Your mileage may vary, of course,
especially on slower machines.
The Graphics Interchange Format(c) is the Copyright property of
CompuServe Incorporated. GIF(sm) is a Service Mark property of
CompuServe Incorporated.
Kudos to Jef Poskanzer for his excellent PBMPLUS toolkit.
IDEAS FOR FUTURE WORK
Support for other visual classes and depths.
Support for specifying options via X resources.
Better error recovery (better than "assert()", anyway).
Add a "-once" option that draws into the root window, but only
once, and then sets all the necessary stuff to make it permanent
(and such that it interacts gracefully with other programs that
may later write into the root window).
Add "-land", "-water", and "-bg" options to specify colors other
than the default green, blue, and black.
Also draw lines of longitude and latitude (with user defined
spacing?).
Add brightly-colored markers highlighting interesting locations on
the Earth's surface (user specified, of course, possibly by
including a simple database of, say, city locations so that places
to highlight could even be specified by name).
Support for supersampling/antialiasing.
Add a "-pid" option that prints out the pid of the child process
after it gets forked.
AUTHOR
Kirk Johnson <tuna at cag.lcs.mit.edu>
Patches, bug reports, and suggestions are welcome, although I
can't guarantee that I'll get around to doing anything about them
in a timely fashion.
LEGAL STUFF
Copyright (C) 1989, 1990, 1993 by Kirk Lauritz Johnson.
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that copyright notice and this permission
notice appear in supporting documentation. The author makes no
representations about the suitability of this software for any
purpose. It is provided "as is" without express or implied
warranty.
THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT
OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
---------------------------------------------------------
More information about the grass-user
mailing list