|
|
| |
xearth(1) |
FreeBSD General Commands Manual |
xearth(1) |
xearth - displays a shaded image of the Earth in an X window
xearth [-proj proj_type ] [-pos pos_spec ]
[-rot angle ] [-sunpos sun_pos_spec ] [-mag
factor ] [-size size_spec ] [-shift
shift_spec ] [-shade|-noshade]
[-label|-nolabel] [-labelpos
geom ] [-markers|-nomarkers]
[-markerfile file ] [-showmarkers]
[-stars|-nostars] [-starfreq
frequency ] [-bigstars percent ]
[-grid|-nogrid] [-grid1
grid1 ] [-grid2 grid2 ] [-day pct ]
[-night pct ] [-term pct ] [-gamma
gamma_value ] [-wait secs ] [-timewarp
timewarp_factor ] [-time fixed_time ]
[-onepix| -twopix]
[-mono| -nomono] [-ncolors
num_colors ] [-font font_name ]
[-root|-noroot] [-geometry
geom ] [-title title ] [-iconname iconname
] [-name name ]
[-fork|-nofork]
[-once| -noonce] [-nice
priority ] [-gif] [-ppm] [-display dpyname
] [-version]
Xearth sets the X root window to 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 updates the displayed image every five
minutes. The time between updates can be changed with the -wait option
(see below); updates can be disabled completely by using the -once
option (see below).
If desired, Xearth can be configured to create and render
into its own top-level X window instead of the root window; see the
-root, -noroot, and -geometry options (below). Finally,
xearth can also render directly into PPM and GIF files instead of
drawing into an X window; see the -ppm and -gif options
(below).
This man page documents version 1.1 of xearth.
Xearth understands the following command line options (corresponding X
resources can be found in the following section):
- -proj proj_type
- Specify the projection type xearth should use. Supported projection
types are mercator, orthographic, and cylindrical;
these can either be spelled out in full or abbreviated to merc,
orth, or cyl, respectively. Xearth uses an
orthographic projection by default.
- -pos pos_spec
- Specify the position from which the Earth should be viewed. The
pos_spec (position specifier) consists of a keyword, possibly
followed by additional arguments. Valid keywords are: fixed,
sunrel, orbit, moon, and random. (If you're
having problems getting xearth to accept a position specifier as a
command line argument, make sure and read the comments about position
specifier delimiters and using explicit quoting in the sixth paragraph
following this one.)
The position specifier keyword fixed should be followed
by two arguments, interpreted as numerical values indicating the
latitude and longitude (expressed in decimal degrees) of a viewing
position that is fixed with respect to the Earth's surface. Positive and
negative values of latitude correspond to positions north and south of
the equator, respectively. Positive and negative values of longitude
correspond to positions east and west of Greenwich, respectively.
The position specifier keyword sunrel should be
followed by two arguments, interpreted as numerical values indicating
the offsets in latitude and longitude (expressed in decimal degrees) of
a viewing position that is fixed with respect to the position of the
Sun. Positive and negative values of latitude and longitude are
interpreted as for the fixed keyword.
The position specifier keyword orbit should be followed
by two arguments, interpreted as numerical values indicating the period
(in hours) and orbital inclination (in decimal degrees) of a simple
circular orbit; the viewing position follows this orbit. Astute readers
will surely note that these parameters are not sufficient to uniquely
specify a single circular orbit. This problem is solved by limiting the
space of possible orbits to those positioned over 0 degrees latitude, 0
degrees longitude at time zero (the Un*x epoch, see time(3)).
The position specifier keyword moon should not be
followed by any arguments. When this keyword is used, the viewing
position is the current position of the moon, recalculated at each
update.
The position specifier keyword random should not be
followed by any arguments. When this keyword is used, the viewing
position is selected at random each time an update occurs.
Components of a position specifier are delimited by either
whitespace, forward slashes (/), or commas. Note that using whitespace
to separate position specifier components when invoking xearth
from a shell may require explicit quoting to ensure the entire position
specifier is passed as a single argument. For example, if you want to
use spaces to delimit components and are using a "typical"
shell, you'd need to use something like:
-pos "fixed 42.33 -71.08"
or
-pos 'fixed 42.33 -71.08'
to make things work. If you'd rather not have to explicitly
quote things, you can use forward slashes or commas instead of spaces to
separate components, as shown below.
-pos fixed,42.33,-71.08
-pos fixed/42.33/-71.08
If a position specifier is not provided, xearth uses a
default position specifier of "sunrel 0 0" (such that the
entire day side of the Earth is always visible).
- -rot angle
- Specify a rotated viewing position such that the north is not
"straight up" in the center of the rendered image. The
angle can be specified either as a numeric value or the keyword
galactic. When angle is a numeric, it represents the number
of degrees by which the image is to be rotated. Positive values of
angle rotate the rendered image counterclockwise; negative values
rotate the rendered image clockwise. The keyword galactic orients
the image so that the galactic north is straight up: the sun is positioned
somewhere on the plane passing through the horizontal center of the
screen. The default value of angle is 0.
- -sunpos sun_pos_spec
- Specify a fixed point on the Earth's surface where the Sun is always
directly overhead. The sun_pos_spec (Sun position specifier)
consists of two components, both numerical values; these components are
interpreted as the latitude and longitude (in decimal degrees) of the
point where the Sun is directly overhead.
The details provided for position specifiers (see above) about
the interpretation of positive and negative latitude and longitude
values and the characters used to delimit specifier components apply to
Sun position specifiers as well.
By default, xearth calculates the actual position of
the Sun and updates this position with the progression of time.
- -mag factor
- Specify the magnification of the displayed image. When the orthographic
projection is in use, the diameter of the rendered Earth image is
factor times the shorter of the width and height of the image (see
the -size option, below). For the mercator and cylindrical
projections, the width of the rendered image is factor times the
width of the image (see the -size option, below). The default
magnification factor is 1.
- -size size_spec
- Specify the size of the image to be rendered. The size_spec (size
specifier) consists of two components, both positive integers; these
components are interpreted as the width and height (in pixels) of the
image.
The details provided for position specifiers (see above) about
the characters used to delimit specifier components apply to size
specifiers as well.
When rendering into the X root window, these values default to
the dimensions of the root window. When producing a PPM or GIF file
instead of drawing in the X root window (see the -ppm and
-gif options, below), both values default to 512.
When rendering into its own top-level X window, any values
specified using this option are ignored; dimensions for the top-level
window can be specified using the -geometry option.
- -shift shift_spec
- Specify that the center of the rendered Earth image should be shifted by
some amount from the center of the image. The shift_spec (shift
specifier) consists of two components, both integers; these components are
interpreted as the offsets (in pixels) in the X and Y directions.
The details provided for position specifiers (see above) about
the characters used to delimit specifier components apply to shift
specifiers as well.
By default, the center of the rendered Earth image is aligned
with the center of the image.
- -shade | -noshade
- Enable/disable shading. When shading is enabled, the surface of the Earth
is shaded according to the current position of the Sun (and the values
provided for the -day, -night, and -term options,
below). When shading is disabled, use flat colors (green and blue) to
render land and water. Shading is enabled by default.
- -label | -nolabel
- Enable/disable labeling. If labeling is enabled and xearth is
rendering into an X window, provide a label that indicates the current
date and time and current viewing and sun positions. The position of the
label can be controlled using the -labelpos option (see below).
Labeling is disabled by default.
- -labelpos geom
- Specify where the label should be drawn. If labeling is enabled and
xearth is rendering into an X window, geom is interpreted as
the "position" part an X-style geometry specification
(e.g., {+-}<xoffset>{+-}<yoffset>;
positive and negative values of xoffset denote offsets from the
left and right edges of the display, respectively; positive and negative
values of yoffset denote offsets from the top and bottom edges of
the display, respectively) indicating how the label should be positioned.
The label position defaults to "-5-5" (i.e., five pixels
inside the lower right-hand corner of the display).
- -markers | -nomarkers
- Enable/disable markers. If markers are enabled and xearth is
rendering into an X window, display small red circles and text labels
indicating the location of interesting places on the Earth's surface.
Markers are enabled by default.
- -markerfile file
- Specify a file from which user-defined marker data (locations and names)
should be read. Each line in the marker data file consists of three
required components: the latitude and longitude (expressed in decimal
degrees) followed by the text of the label that should be used. Individual
components are delimited by either whitespace, forward slashes (/), or
commas. Components that need to include delimiter characters (e.g.,
a multi-word label) should be enclosed in double quotes. For example, a
line in a typical marker data file might look something like:
42.33 -71.08 "Boston, MA" # USA
Everything between a `#' character and the end of a line,
inclusive, is a considered to be a comment. Blank lines and lines
containing only comments are allowed.
In addition to the three required components, xearth
supports optional following "key=value" components. In this
version of xearth, the only supported "key" is
"align", which can be used to control where marker labels are
drawn in relation to the marker proper. Supported alignment values are
"left", "right", "above", and
"below"; the default behavior (if no alignment is specified)
is "align=right".
The marker data file is reread every time xearth
redraws an image into an X window. In this way, the marker positions and
labels can be dynamic (e.g., given appropriate data sources,
markers could be used to encode hurricane positions, where earthquakes
have happened recently, temperatures at fixed locations, or other forms
of "real-time" data).
Xearth includes a built-in set of marker data for 76
major locations around the world. The built-in data can be selected by
specifying "built-in" for the file argument; this is
the default behavior. The built-in set of marker data can be examined
either by using the -showmarkers option (see below) or by reading
the BUILT-IN file included with the xearth source distribution
(see OBTAINING THE XEARTH SOURCE DISTRIBUTION, below).
- -showmarkers
- This option indicates that xearth should load the marker data
(whether built-in or user-specified), print a copy of it to standard out
in a form suitable for use with the -markers option (see above),
and then exit.
- -stars | -nostars
- Enable/disable stars. If stars are enabled, the black background of
"space" is filled with a random pattern of "stars"
(individual white pixels). The fraction of background pixels that are
turned into stars can be controlled with the -starfreq option (see
below). Stars are enabled by default.
- -starfreq frequency
- Set the density of the random star pattern (see -stars, above);
frequency indicates the fraction of background pixels that should
be turned into "stars". The default value of frequency is
0.002.
- -bigstars percent
- Set the percentage of double-width stars (see -stars, above); by
default, all stars are a single pixel, but this option can be used to
create some stars that are composed of two horizontal pixels. This
provides a slightly less uniform look to the "night sky".
- -grid | -nogrid
- Enable/disable the display of a longitude/latitude grid on the Earth's
surface. The spacing of major grid lines and dots between major grid lines
can be controlled with the -grid1 and -grid2 options (see
below). Grid display is disabled by default.
- -grid1 grid1
- Specify the spacing of major grid lines if grid display (see -grid,
above) is enabled; major grid lines are drawn with a 90/grid1
degree spacing. The default value for grid1 is 6, corresponding to
15 degrees between major grid lines.
- -grid2 grid2
- Specify the spacing of dots along major grid lines if grid display (see
-grid, above) is enabled. Along the equator and lines of longitude,
grid dots are drawn with a 90/(grid1 x grid2) degree
spacing. The spacing of grid dots along parallels (lines of latitude)
other than the equator is adjusted to keep the surface distance between
grid dots approximately constant. The default value for grid2 is
15; combined with the default grid1 value of 6, this corresponds to
placing grid dots on a one degree spacing.
- -day pct
- Specify the brightness that should be used to shade the day side of the
Earth when shading is enabled. Pct should be an integer between 0
and 100, inclusive, where 0 indicates total darkness and 100 indicates
total illumination. This value defaults to 100.
- -night pct
- Specify the brightness that should be used to shade the night side of the
Earth when shading is enabled. Pct should be an integer between 0
and 100, inclusive, where 0 indicates total darkness and 100 indicates
total illumination. This value defaults to 5 (if this seems overly dark,
you may want to double-check that appropriate gamma correction is being
employed; see -gamma, below).
- -term pct
- Specify the shading discontinuity at the terminator (day/night line).
Pct should be an integer between 0 and 100, inclusive. A value of
x indicates that the shading should immediately jump x
percent of the difference between day and night shading values (see
-day and -night, above) when crossing from the night side to
the day side of the terminator. Thus a value of 0 indicates no
discontinuity (the original xearth behavior), and a value of 100
yields a maximal discontinuity (such that the entire day side of the earth
is shaded with the -day shading value). This value defaults to 1.
- -gamma gamma_value
- When xearth is rendering into an X window, adjust the colors
xearth uses by a gamma value. Values less than 1.0 yield darker
colors; values greater than 1.0 yield brighter colors. The default
gamma_value is 1.0, appropriate for use on systems with built-in
gamma correction. For systems without built-in gamma correction,
appropriate gamma values are often in the 2.3 to 2.6 range.
See the GAMMA-TEST file included with the xearth source
distribution for information about a simple test that allows you to
directly estimate the gamma of your display system (see OBTAINING THE
XEARTH SOURCE DISTRIBUTION, below).
- -wait secs
- When rendering into an X window, wait secs seconds between updates.
This value defaults to 300 seconds (five minutes).
- -timewarp timewarp_factor
- Scale the apparent rate at which time progresses by
timewarp_factor. The default value of timewarp_factor is
1.0.
- -time fixed_time
- Instead of using the current time to determine the "value" of
time-dependent positions (e.g., the position the sun), use a
particular fixed_time (expressed in seconds since the Un*x epoch
(see time(3)).
- -onepix | -twopix
- Specify whether xearth should use one or two pixmaps when rendering
into an X window. If only one pixmap is used, partial redraws may be
visible at times in the window (when areas of the window are exposed and
redrawn during the time xearth is rendering the next image). If two
pixmaps are used, xearth uses them to double-buffer changes such
that partial redraws are (almost?) never seen. Using only one pixmap has
the advantage of using quite a bit less memory in the X server; this can
be important in environments where server-side memory is a fairly limited
resource. Two pixmaps is the default.
- -mono | -nomono
- If rendering into an X window, enable/disable monochrome mode. Monochrome
mode is enabled by default on systems with one-bit framebuffers (see the
"depth of root window" information provided by
xdpyinfo(1)) and disabled by default otherwise.
- -ncolors num_colors
- If rendering into an X window or a GIF output file, specify the number of
colors that should be used. (If markers are enabled (see -markers,
above), the actual number of colors used may be one larger than
num_colors.) The default value of num_colors is 64.
When rendering into an X window, the maximum allowable value
for num_colors is 1024. In practice, using values of
num_colors larger than twice the number of distinct shades of
red, green, or blue supported by your hardware is likely to provide
little additional benefit, or, in some cases, produce
"banding" effects in the image. Thus, on systems that can
support 256 distinct shades of red, green, or blue (eight bits per
component), the largest practical value of num_colors is around
512. Similarly, on systems that support only five or six bits per
component (e.g., many systems with 16-bit displays), the largest
practical value of num_colors is probably around 64.
When rendering into a GIF output file, the maximum allowable
value for num_colors is 256.
- -font font_name
- If rendering into an X window, use font_name for drawing text
labels (see -label and -markers, above). By default,
xearth uses the "variable" font.
- -root | -noroot
- When rendering into an X window, select whether xearth should
render into the X root window (-root) or create and render into a
top-level X window (-noroot). By default, xearth renders
into the X root window.
- -geometry geom
- Cause xearth to create and render into a top-level X window with
the specified geometry. When this option is used, the -noroot
option can be elided. Use of the -root overrides the effect of
-geometry. By default (if -noroot is specified by no
geometry is provided), xearth uses a geometry of
"512x512".
- -title title
- When rendering into a top-level X window, this option can be used to
specify the window title string that might be displayed by a window
manager. By default, xearth uses a title of "xearth".
- -iconname iconname
- When rendering into a top-level X window, this option can be used to
specify the icon name that might be used by a window manager for the
window. By default, xearth uses an icon name of "xearth".
- -name name
- When rendering into an X window, this option can be used to specify the
application name under which X resources are obtained, rather than the
default executable file name. The specified name should not contain
"." or "*" characters.
- -fork | -nofork
- When rendering into an X window, enable/disable forking. If forking is
enabled, xearth forks a child process to handle all rendering
calculations and screen updates (in essence, automatically putting itself
in the background). Forking is disabled by default.
- -once | -noonce
- Disable/enable updates. If updates are enabled and xearth is
rendering into an X window, xearth updates the displayed image
periodically (the time between updates can be controlled via the
-wait option, above). If updates are disabled, xearth only
renders an image once and then exits. Updates are enabled by default.
- -nice priority
- Run the xearth process with priority priority (see
nice(1) and setpriority(2)). By default, xearth runs
at the priority of the process that invoked it, usually 0.
- -gif
- Instead of drawing in an X window, write a GIF file (eight-bit color) to
standard out.
- -ppm
- Instead of drawing in an X window, write a PPM file (24-bit color) to
standard out.
- -display dpyname
- Attempt to connect to the X display named dpyname.
- -version
- Print what version of xearth this is.
The behavior of xearth can also be controlled using the following X
resources:
- proj (projection type)
- Specify the projection type xearth should use (see -proj,
above).
- pos (position specifier)
- Specify the position from which the Earth should be viewed (see
-pos, above).
- rot (float)
- Specify the viewing rotation (see -rot, above).
- sunpos (sun position specifier)
- Specify a fixed point on the Earth's surface where the Sun is always
directly overhead (see -sunpos, above).
- mag (float)
- Specify the magnification of the displayed image (see -mag, above).
- size (size specifier)
- Specify the size of the image to be rendered (see -size, above).
- shift (shift specifier)
- Specify that the center of the rendered Earth image should be shifted by
some amount from the center of the image (see -shift, above).
- shade (boolean)
- Enable/disable shading (see -shade, above).
- label (boolean)
- Enable/disable labeling (see -label, above).
- labelpos (geometry)
- Specify where the label should be drawn (see -labelpos, above).
- markers (boolean)
- Enable/disable markers (see -markers, above).
- markerfile (file name)
- Specify a file from which user-defined marker data (locations and names)
should be read (see -markerfile, above).
- stars (boolean)
- Enable/disable stars (see -stars, above).
- starfreq (float)
- Set the density of the random star pattern (see -starfreq, above).
- bigstars (int)
- Set the percentage of stars that are double width (see -bigstars,
above).
- grid (boolean)
- Enable/disable the display of a longitude/latitude grid on the Earth's
surface (see -grid, above).
- grid1 (integer)
- Specify the spacing of major grid lines if grid display is enabled (see
-grid1, above).
- grid2 (integer)
- Specify the spacing of dots along major grid lines if grid display is
enabled (see -grid2, above).
- day (integer)
- Specify the brightness that should be used to shade the day side of the
Earth when shading is enabled (see -day, above).
- night (integer)
- Specify the brightness that should be used to shade the night side of the
Earth when shading is enabled (see -night, above).
- term (integer)
- Specify the shading discontinuity at the terminator (see -term,
above).
- gamma (float)
- Specify the gamma correction xearth should use when selecting
colors (see -gamma, above).
- wait (integer)
- Specify the delay between updates when rendering into an X window (see
-wait, above).
- timewarp (float)
- Specify the apparent rate at which time progresses (see -timewarp,
above).
- time (integer)
- Specify a particular fixed time that should be used to determine the
"value" of time-dependent positions (see -time, above).
- twopix (boolean)
- Specify whether xearth should use one or two pixmaps when rendering
into an X window (see -onepix and -twopix, above).
- mono (boolean)
- Specify whether xearth should use monochrome mode when rendering
into an X window (see -mono and -nomono, above).
- ncolors (integer)
- Specify the number of colors xearth should use (see
-ncolors, above). The ncolors resource is only used when
rendering into an X window -- the number of colors to use when rendering
into a GIF file can only be specified using the -ncolors command
line option.
- font (font name)
- Use the named font for drawing text labels (see -font, above).
- root (boolean)
- Specify whether xearth should render into the X root window or a
top-level X window (see -root, -noroot, and
-geometry, above).
- geometry (geometry)
- Specify the geometry of a top-level X window that xearth should
create and render into (see -geometry, above).
- title (string)
- When rendering into a top-level X window, specify the window title that
xearth should use (see -title, above).
- iconname (string)
- When rendering into a top-level X window, specify the icon name that
xearth should use (see -iconname, above).
- fork (boolean)
- When rendering into an X window, enable/disable the automatic forking of a
child process to handle the updates (see -fork, above).
- once (boolean)
- When rendering into an X window, disable/enable updates for the displayed
image (see -once, above).
- nice (integer)
- Specify the priority at which the xearth process should be run (see
-nice, above).
The latest-and-greatest version of xearth should always be available via a link
from the xearth WWW home page (URL
http://www.cs.colorado.edu/~tuna/xearth/index.html), or, for the web-deprived,
via anonymous ftp from cag.lcs.mit.edu in /pub/tuna.
Thanks to Frank Solensky for the "-pos moon" and "-rot
galactic" stuff.
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 DEC WRL.
The Graphics Interchange Format(c) is the Copyright property of
CompuServe Incorporated. GIF(sm) is a Service Mark property of CompuServe
Incorporated.
Thanks to Robert Berger for allowing me to include his nifty gamma
measurement image and associated text in the xearth source
distribution.
Thanks to Jamie Zawinski for suggesting that I look at his
xscreensaver package for a good example of how to use the resource and
command line option parts of Xt; his code saved me piles of lossage.
Thanks to Chris Metcalf for the -bigstars stuff, a pile of general
source code cleaning, and spell checking everything carefully.
Thanks to Chris Hayward, Chris Metcalf, Sherman Mui, Dan Rich, and
Leonard Zubkoff for giving the pre-release of version 1.0 a test drive.
Kudos to Jef Poskanzer for his excellent PBMPLUS toolkit.
Finally, thanks to everybody that sent encouragement, suggestions,
and patches. Apologies to the many people whose good ideas didn't make it
into this release.
Copyright (C) 1989, 1990, 1993-1995, 1999 by Kirk Lauritz Johnson
Portions of the xearth source code, as marked, are:
Copyright (C) 1989, 1990, 1991 by Jim Frost
Copyright (C) 1992 by Jamie Zawinski <jwz@lucid.com>
Permission to use, copy, modify and freely distribute xearth for
non-commercial and not-for-profit purposes is hereby granted without fee,
provided that both the above copyright notice and this permission notice
appear in all copies and in supporting documentation.
Unisys Corporation holds worldwide patent rights on the Lempel Zev
Welch (LZW) compression technique employed in the CompuServe GIF image file
format as well as in other formats. Unisys has made it clear, however, that
it does not require licensing or fees to be paid for freely distributed,
non-commercial applications (such as xearth) that employ LZW/GIF technology.
Those wishing further information about licensing the LZW patent should
contact Unisys directly at (lzw_info@unisys.com) or by writing to
Unisys Corporation
Welch Licensing Department
M/S-C1SW19
P.O. Box 500
Blue Bell, PA 19424
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.
Kirk Johnson <tuna@indra.com>
Patches, bug reports, and suggestions are welcome, but I can't
guarantee that I'll get around to doing anything about them in a timely
fashion.
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |