PMGlobe -- an OS/2 Presentation Manager World Globe
PMGlobe is a program which displays the Earth as a globe using OS/2
Presentation Manager. You can choose to view the globe from any
direction, or select one of a number of 'standard' views.
In addition to simply displaying a picture of the world, PMGlobe will
also let you light the globe as though by sunlight -- so you can see
at a glance those areas of the globe where the sun has risen, and where
it is night. Additional options add shading to the globe for a
three-dimensional effect, and let you measure distances between
two points on the globe.
Other features are described in detail below. If you have any questions
or suggestions not covered by this document, please use the PMGLOBE
FORUM on the IBMPC disk.
Mike Cowlishaw (MFC at WINVMB, or [email protected]
Using the Mouse with PMGlobe
Mouse button 1 is used to select a geographical location on the globe,
and mouse button 2 is used to select a new point of view. Specifically:
* Move the mouse pointer to any visible point on the globe and click
mouse button 1. This will cause the 'Position and Distance
Calculator' to appear (if not already visible). You can move the
calculator anywhere on the screen, just like any other window.
1. The current position (Latitude and Longitude) of the mouse is
displayed if the mouse is over the globe.
2. A single click of mouse button 1 records the current point on the
distance calculator. Up to two points can be recorded: if two are
shown then the distance between them is also displayed, in
kilometers and miles. (The distance shown is the 'Great Circle
Distance', that is, the shortest distance between the points when
moving over the surface of the globe.)
3. A double click of mouse button 1 also records the current point
on the distance calculator, and makes it a 'fixed' (or 'base')
point. This keeps that point visible on the calculator while you
select any number of other points. You can set a new fixed point by
double-clicking mouse button 1 at another position.
You can clear all selected points, including the fixed point, by
pressing the 'Reset' button on the calculator.
'Cancel' hides the calculator.
* Move the mouse pointer to any visible point on the globe and click
mouse button 2. The globe will then be redrawn with that point at the
center of the view.
Once you have found your preferred view, selection by mouse button 2
can be disabled from the 'Views' menu, if you wish, to avoid
accidental change of the view.
The PMGlobe menu options can be selected from the Action Bar in the
usual way, and fall into three groups (in addition to the Help panel
'Options' gives access to various miscellaneous settings
'Views' is used to select what is seen, and from where
'Lighting' is used to choose the lighting effects and background shade.
Each group (and each submenu in each group) has a summary 'Help' panel
as its first selection. The other selections are as follows:
'Options' -- miscellaneous settings
'Position/distance calculator': when selected this makes the position
and distance calculator appear (it will also appear automatically
if you click on the window with mouse button 1). See above for
information on how to use the calculator.
'Make window square': makes the window fit the globe on all edges,
if possible (it may not be possible on some very narrow or low
windows). This is an instantaneous action; the window size and
position is not saved by PMGlobe (there are other programs, such as
GO, that let you start PMGlobe at a certain position and size).
'Make full screen': enlarges the window to fill the screen entirely,
so that the title and action bars and the frame are just off the
screen and so not visible. You can still use OS/2 key combinations
to move the window, select action bar items, etc. For example: F10
followed by "O" will pull down the 'Options' menu.
'Make desktop': enlarges the window to fit the screen entirely, and
puts it behind all other windows. Click anywhere visible to end
PMGlobe or bring it to the foreground. (In the foreground it will
still fill the screen: use OS/2 key combinations to move the window,
or select action bar items -- F10 and keystroke, etc.) This option
may not work with all versions of OS/2...
'Set timezone': this pops up a dialog that lets you set the time zone
information. You only need to do this for the 'sunlight' view, and
even then only need to do it once. If no other program updates the
current time zone information then you may also have to change it
whenever you change the clock on your computer for daylight saving
(summer or winter) time.
'Set refresh time': this lets you choose how long PMGlobe will wait
after drawing a view of the globe before it redraws it. This only
takes effect for the 'Sunlight' view, which needs regular updating
to give a useful picture.
'Save settings': this saves the settings you have selected; they will
then be used automatically when PMGlobe is next started. See below
for details of which settings are saved.
'Save windows': this saves the position and size of the main PMGlobe
window, and the position of the distance calculator. These will
be used automatically when PMGlobe is next started.
'Close': leaves PMGlobe. If you changed any of the settings, this
will also give you the chance of saving the settings (as will
closing the window from the system menu).
'Views' -- where and what you see
'Standard views': this gives you a choice of standard views (Europe &
Africa, Americas, India & Asia, Pacific, and the two Poles). Use
mouse button 2 (see above) to select any point to be placed at the
center of the view.
'Grid lines': lets you choose which grid lines (if any) are to be
shown, and the color of the grid lines.
'Allow mouse button 2': if selected, lets you rotate and tilt the
globe using Mouse Button 2 (see above). It can be de-selected to
prevent accidental movement of the direction of view.
'Snap to equator': this leaves the Longitude of the center of view
unchanged and sets the Latitude to zero (the equator). Globe
drawing is faster when the Latitude of the center of view is zero
than when globe is tilted.
'Snap to Greenwich': sets the Longitude of the center of to zero (the
Prime Meridian) while leaving the Latitude unchanged. This has no
effect on drawing time.
'Lighting' -- how the globe is seen
'Sunlight': asks for "sun lighting" of the globe. This lets you see
at a glance which parts of the world are in daylight, and which are
in the dark. This lighting is (of course) time dependent, so
PMGlobe needs to know the time zone you are in, and will ask you for
it if it is not already set. If Sunlight is selected, the globe
will be redrawn (at intervals selected via 'Set refresh time', under
'Options'). See below for notes on the accuracy of the time and
'Sunlight from Space': is similar to 'Sunlight', except that it is
more realistic -- you cannot see details on the dark side of the
earth. For best realism, choose a black background, 3-D, and no
grid lines (or perhaps low-key grid lines, such as GREY). This
setting implies (sets) 'Sunlight'.
'3-D': adds shading, to give the globe a "three-dimensional"
appearance. On a VGA screen there are only two shades of green and
blue available, so this will give a rather grainy and mottled
appearance (especially if Sunlight is selected too), so this setting
is then more of a curiosity than of general use. On a BGA (8514),
or better screen and adapter, smoother shading is possible.
'Background shade': lets you select the background shade (Black, Grey,
Pale Grey, or White). This may be useful for display on monochrome
or laptop screens. A black background gives a nice 'deep space
background' effect, though may be a bit too much of a contrast for
Data and time limits and accuracy
The data used for presenting the globe is loaded in compressed form (a
little less than 10 kilobytes). The coastline and lake data were
derived from a variety of sources, with some manual editing to improve
the representation in critical areas. The accuracy of the coastline and
other data is not guaranteed in any way, but is believed to be within
40km (25miles) in the worst case (near the equator) and significantly
better in the East-West direction in Northern and Southern latitudes.
When the distance calculator is used, the mouse position can only be
determined to the nearest pel (picture element) on the screen. The
longitude and latitude is then reported as being at the center of that
pel. Distance calculations between the two positions thus reported are
then calculated from those coordinates and should be accurate to the
nearest unit (km or mile), or 0.2%, whichever is greater. The 0.2%
limit is a consequence of assumption used in the calculation that the
earth is spherical (which it is not).
Time and sun position calculations are only important when 'Sunlight' is
selected. In this case, PMGlobe needs to know the current date and
time-of-day (taken from your computer's clock -- make sure it is set
correctly). It also needs to know which time zone you are in: if not
already set it will ask you to set it (you may also need to change it
if your computer clock is changed for daylight saving, summer, or winter
From the current time and time zone information, PMGlobe can determine
apparent solar time (up to 16 minutes different from the Civil time used
for clocks) and hence the sun's position. This is then used to display
the globe as though lit by the sun: the light/dark dividing line thus
shows where the sun is rising or setting.
The various calculations done should give an accuracy of sun position of
somewhat better than one minute of time. Actual sunset or sunrise times
will be different because of atmospheric effects, which vary with the
time of year and latitude. However, PMGlobe gives a useful indication
of the time, and of course lets you see at a glance which parts of the
globe are in night or daylight.
PMGlobe is designed as a '32-bit' application, with heavy use of long
(32-bit) integers. In its 16-bit version it spends more than 40% of its
time in simulating 32-bit instructions, but even so, performance is good
for this type of application. In general, the simpler the image
presented then the faster it is drawn. Non-equatorial views take
significantly longer than equatorial views (hence the 'Snap to equator'
The following settings are saved when 'Save settings' is selected. If
any of these are changed, then on leaving PMGlobe you are given the
opportunity to save them before leaving:
Latitude and Longitude of the centre point of the view
Whether mouse button two is active ('Allow mouse button 2')
Whether 'Desktop' is selected (globe acts as wallpaper)
Grid (Meridians and Parallels) selections and color
Lighting selections (Sunlight, Sunlight from space, 3-D)
Refresh (re-draw) interval.
The following settings are saved when 'Save windows' is selected:
The position and size of the main (globe) window
The position of the 'Position/distance calculator' window.
The following setting is saved when Mouse button 1 is double-clicked on
The latitude and longitude of the current 'fixed point'. This is
cleared when 'Reset' is selected in the Position/distance calculator.
Time Zone interface details
Personal computer operating systems have a variety of ways of holding
timezone information (some compilers even build in a default
geographical location!), but to date no standard mechanism has been
PMGlobe introduces a mechanism for holding timezone information that
might form the basis for a standard for OS/2. The current timezone
offset, daylight savings offset, and timezone name is held in the
system file "OS2SYS.INI" in a general format that any application can
use and which can easily be accessed by application programs (for
example, by C or REXX programs).
Specifically, the information is held as three words in the OS2SYS.INI
file, under the name "TimeZone" with key "Active". This string holds at
least three words separated by exactly one blank, and with no leading
blanks. The third word will be followed by either a blank (to allow
future extension) or the C 'end of string' null character.
The three words are:
base-time-offset-from-GMT winter/summer-time-offset zone-name
where the two times have the format <+|->h<:m<:
s>>> and the
zone-name is either "???" (indicating unknown) or "xxx", where xxx are
three uppercase alphabetics.
The total offset from GMT is the sum of the two time offsets.
Copyright (c) IBM Corporation, 1991. Author: Mike Cowlishaw.