v09i007: map program no. 1 of 2
Brandon S. Allbery - comp.sources.misc
allbery at uunet.UU.NET
Mon Nov 27 07:14:37 AEST 1989
Posting-number: Volume 9, Issue 7
Submitted-by: gunnaro at hafro.is (Gunnar Orvarsson)
Archive-name: map_go/part01
map program: no. 1 of 2
This shell archive contains a reference manual
for the program, and a README file where some
changes are described.
Unwrap this file ( no. 1) first.
#---------------------------------- cut here ----------------------------------
# This is a shell archive. Remove anything before this line,
# then unpack it by saving it in a file and typing "sh file".
#
# Wrapped by Gunnar Orvarsson <gunnaro at gst> on Mon Nov 20 15:52:10 1989
#
# This archive contains:
# Map
#
# Error checking via wc(1) will be performed.
LANG=""; export LANG
echo mkdir - Map
mkdir Map
echo x - Map/README
cat >Map/README <<'@EOF'
Program:
MAP
Author:
Hughonnun s.f.
Purpose:
To draw a map with the options selected by the user.
Parameters:
The VENIX operating system supplies this program with two
parameters: (1) the number of arguments specified on the
command line when this program was executed; and (2) an
array containing a copy of the arguments specified. A
detailed description of this can be found in chapter two of
'VENIX PROGRAMMING GUIDE'.
Description:
This program calls a variety of external functions.
Some are always called, and some are only called if the
user has specified that particular option. An example is
the 'tic' function, which is only called when the user wants
to make ticmarks on the map's edges.
Latest changes:
Map can now run in colour on bst.
Map can output in colour on hpgl printers.
Map can use diffrent line modes on hpgl printers and on X-servers.
ex: short-dashes, long-dashes etc. (see map manual).
The window command has been written for use with the plot filters.
The predefined station type symbols described in the 'MAP
REFERENCE MANUAL' (see -o station) have been altered. They are:
Type Symbol Description
--- ------------------
1 An empty triangle.
2 A filled triangle.
3 A plus sign.
4 An empty square box.
5 A filled square box.
6 An empty circle.
7 An empty diamond.
8 An x.
Examples:
See examples of using map in the directory Examples. Various maps
are kept in the directory /usr/local/src/Kort.
Usage:
A complete script description is provided in the 'MAP REFERENCE
MANUAL'.
Map can be used in the following ways:
Output on screen:
hafro> map <script> | plot -Tx [=widthxheight+x+y]
(default: 1140x860+40+40).
Uses xplot, a plot(1) filter for X11.
Output on plotter:
hafro> map <script> | plot -Thpgl | rsh hafkul lpr -h -Pplt
Uses hpglplot, a plot(1) filter for hpgl.
Output on printer:
hafro> map <script> | plot -Tgrap | lprenta8
Uses graplot, a plot(1) filter for graph output.
On HP-machines a filter using the Starbase library can be
used in the following way. The output is directed to the
screen.
HP> map <script> | plothp -Tstar
Before running:
setenv GTERM x
setenv DISPLAY <machine>:0
Remember: -w 0.0 1.0 0.0 1.0 in the script-file.
@EOF
set `wc -lwc <Map/README`
if test $1$2$3 != 863652553
then
echo ERROR: wc results of Map/README are $* should be 86 365 2553
fi
chmod 644 Map/README
echo x - Map/MAP.REF
cat >Map/MAP.REF <<'@EOF'
MAPPER Reference Manual
Name: region - select a geographical region
Usage: -r <min_lat> <max_lat> <min_long> <max_long>
Description: This option enables the user to select the
geographical region to be drawn. Furthermore,
any subsequent data which does not fit within
the given region, will be ignored. the given
region will be ignored. However, lines which
cross the region boundaries will drawn up to the
boundaries.
Each positional argument is supplied as
"ddmmss", where "dd" signifies degrees, "mm"
minutes, and "ss" seconds.
Default: The default for this parameter is from 60 to 68
degrees latitude, and from 10 to 28 degrees
longitude.
Example(s): map
map
-r 620000 680000 100000 280000
.bp
MAPPER Reference Manual
Name: erase - erase the device screen before drawing
Usage: -e
Description: This parameter causes the device screen to be
erased before drawning on it. However, when
using a hard copy device (such as the Hewlett
Packard 7470A plotter) this parameter has no
effect.
Deault: If this parameter is not present the device
screen will not be erased before drawing on it.
Example(s): map -e
.bp
MAPPER Reference Manual
Name: border - draw coastal lines on map
Usage: -b <filename>
Descripton: If the border parameter is selected, the program
will draw the costal lines which fit within the
geographical area specified by the region
parameter. The <filename> argument is
required. It indicates which file contains the
coordinates describing the borders to be drawn.
Default: The default is not to draw any borders.
Example(s): map
-b island.d
File(s): The datafile containing the coordinates of the
border has the format: 'ddmmss ddmmss p'; the
first two elements are latitudinal and
longitudinal positions respectively ('dd'
signifies degrees, 'mm' minutes, and 'ss'
seconds); the third element in the file
instructs the plotter whether to to hold the pen
up (p = 0) or down (p = 1) while moving it to
the given point.
.bp
MAPPER Reference Manual
Name: label - label degrees/minutes/seconds
Usage: -l <latitudinal_interval>
<longitudinal_interval>
Description: This parameter enables the user to label the
latitudinal and longitudinal axes at the given
intervals. Each argument is on the form
'ddmmss', where 'dd' signifies degrees, 'mm'
minutes, and 'ss' seconds. Latitudinal and
longitudinal labels are always drawn by the left
and top axes respectively.
A label will always be prepared in one of three
formats depending on what accuracy is needed.
The three formats are: (1) 'dd', (2) 'ddmm', and
(3) 'ddmmss'.
Default: The default is to skip labels.
Example(s): map
-l 010000 020000
.bp
MAPPER Reference Manual
Name: tic - draw ticmarks on map boundaries
Usage: -t <latitudinal_interval>
<longitudinal_interval>
Description: The tic parameter causes ticmarks to be drawn
according to the interval arguments specified.
Each argument has the format 'ddmmss', where
'dd' signifies degrees, 'mm' minutes, and 'ss'
seconds.
Default: Ticmarks will be skipped if this parameter is
not specified.
Example(s): map
-t 003000 010000
map
-l 010000 020000
-t 003000 010000
.bp
MAPPER Reference Manual
Name: comment - insert some text below the map
Usage: -c "<comment_text>"
Description: This option plotts the contents of the
<comment_text> argument immediately below the
map's bottom axis. The comment must be enclosed
by quotes. If quotes are needed within the text
itself, try using single quotes within the text
and double quotes to enclose it, or vice versa.
Multiple lines can be specified by inserting the
hat character (^) where line breaks are
desired. The hat character will always be
interpreted as a linebreak indicator; it cannot
be a part of the comment itself.
Default: There is no default for this parameter; if there
is no comment parameter specified, no space will
be reserved for comments.
Example(s): map
-b island.d
-c "ISLAND"
map
-f
-c "an empty map with a frame^and two 'comment'
lines"
.bp
MAPPER Reference Manual
Name: frame - draw a frame arround the map
Usage: -f
Description: The purpose of this parameter is to draw a frame
arround the entire map, including labels and
comment lines. More specifically, it draws a
frame arround the area defined by the window
option.
Examples: map
-f
map
-w 0.0 1.4 0.0 1.0
-f
.bp
MAPPER Reference Manual
Name: window - select a window area on device screen
Usage: -w <x_min> <x_max> <y_min> <y_max>
Description: The window parameter allows the user to control
the size and location of the map on the device
screen. The four arguments are given with
respect to the largest square which will fit
onto the screen. The minimum and maximum values
are 0.0 and 1.0 respectively. Areas outside
this square may be used by raising the
corresponding maximum value above 1.0.
Default: The default setting is 0.0 1.0 0.0 1.0.
Examples: map
-w 0.0 1.0 0.0 1.0
-b island.d
map
-w 0.0 1.4 0.0 1.0
-b island.d
.bp
MAPPER Reference Manual
Name: pattern - select a line style and colour
Usage: -p{f|b|l|t|c|o} <sc>
Description: The pattern parameter allows the user to select
a specific line style and colour before
drawing. The letter following -p (one of
'fbltco') indicates the parameter it applies to
(i.e. '-pl' means that one wants to select a
different line style and color for label). The
<sc> argument consists of two digits: the first
indicates the line style; the second digit the
line colour. The line style digit can take one
of the following values:
0 solid line
1 dotted line
2 longdashed line
3 shortdashed line
4 dotdashed line
The colour argument, which is also a single
digit, has a meaning which is rather device
dependent. Please refer to the relevant device
documentation, or just try it - it won't hurt!
Default: The default line style is '0' (solid), and the
default line colour is '0'.
Example(s): map
-b island.d
-pb 31
-l 010000 020000
-pl 03
.bp
MAPPER Reference Manual
Name: option - select a special option
Usage: -o option_name "<option_arguments>"
Description: When this parameter is specified, a program with
the given name is executed. The program will
use the last -po parameter to select the line
style and colour. The following is a list of
the options currently available:
Option Function
course draws a vessel's course
site plotts observation sites
station draws station symols
value plotts 'value labels'
shade shades squares by value
Example(s): See the pertinent option documentation for
details.
.bp
MAPPER Reference Manual
Name: course - draw a vessel's course
Usage: -o course "< <filename>"
Description: This function draws lines following a vessel's
course. The lines are drawn in the current line
pattern, and use data in the file known as
<filename>. Note that only lines which fit
within the current geographical region will be
drawn.
File(s): Each course must have its own datafile
containing the geographical coordinates of
points where direction was/is changed. Each
coordinate is on the form 'ddmmss' where 'dd'
signifies degrees, 'mm' minutes, and 'ss'
seconds.
Example(s): map -o course "< course.dat"
map
-e
-f
-r 620000 640000 200000 280000
-l 003000 010000
-t 001500 003000
-po 31
-o course "< course.BS.jan84"
-po 01
-o course "< course.AF.jan84"
File(s): Each entry in the datafile contains one
latitudinal and one logitudinal position on the
form 'ddmmss', where 'dd' signifies degrees,
'mm' minutes, and 'ss' seconds.
.bp
MAPPER Reference Manual
Name: site - plotts observation/station sites on a map
Usage: -o site "< <datafile>"
Description: The site option reads through the datafile
presented to it, and draws a small cross at the
locations specified. The program does not check
for redundant points.
Example(s): map -o site "< site.AF.jul85"
map
-w 0.0 0.7 0.5 1.0
-r 620000 680000 100000 280000
-l 020000 050000
-t 010000 023000
-o site "< site.AF.jul85"
File(s): Each entry in the datafile contains one
latitudinal and one longitudinal position on the
form 'ddmmss', where 'dd' signifies degrees,
'mm' minutes, and 'ss' seconds.
.bp
MAPPER Reference Manual
Name: value - draws a value label at a given location
Usage: -o value "< <datafile>"
Description: The value option enables the user to label
certain datapoints with their associated 'value
labels'. A 'value label' is anything which
follows the geographical position in the
datafile.
Example(s): map -o value "< value.DROFN.mai83"
map
-e
-f
-r 620000 640000 200000 280000
-l 003000 010000
-t 001500 003000
-po 31
-o value "< value.DROFN.mai83"
File(s): The datafile for this option has a latitudinal
and a longitudinal position on the form
'ddmmss', where 'dd' signifies degrees, 'mm'
minutes, and 'ss' seconds. Each line also
contains an optional 'value label', which is
anything following the positions and upto the
end of the line.
.bp
MAPPER Reference Manual
Name: station - draws symbols at station locations
Usage: -o station "< <input_file>"
Description: The station option draws predefined symbols at
the locations where the station was taken. The
coordinates of the stations are stored in the
<input file> along with the corresponding
station type. There are currently seven
predefined station type symbols; these are:
Type Symbol Description
1 a diamond with the upper half filled
2 a diamond with the lower half filled
3 an x
4 an empty square box
5 a square box with an empty circle
6 an empty circle
7 a filled circle
Currently, the program does not check to see
whether a symbol has already been placed at a
given location, and will therefore write one
symbol over another if told to.
File(s): The input file for this option contains three
data elements for each station: (1) a
latitudinal position, (2) a longitudinal
position, and (3) a station type. The first two
data elements are on the 'ddmmss' form, where
'dd' signifies degrees, 'mm' minutes, and 'ss'
seconds. The third element is an integer
between 1 and 7.
Default: If the station type is out of range, nothing
will be drawn, and no error message will be
issued.
Example(s): map
-e
-b island.d
-r 640000 660000 140000 240000
-l 010000 010000
-t 003000 003000
-o station "< station.AF.agust85"
.bp
MAPPER Reference Manual
Name: shade - darkens squares according to data
Usage: -o shade "<brake_value> <vhrl> <shade_factor>
[<brake_value> <vhrl> <shade_factor>] ...
< <filename>"
Description: The shade option produces shaded square areas
according to the arguments presented with the
option, and the input data.
The <break_value> argument is a double precision
floating point number, which indicates at what
point in the data a type of shading stops. An
area which has a data value less than or equal
to the break value will be shaded according to
the conditions specified by the next two
arguments. One should always supply one
breakpoint which is at least equal to the
largest data element in the input file.
However, if a data element is read which is
larger than the highest break value, a message
will be issued, and the data ignored.
The argument <vhrl> is an indicator which
specifies what kind of pattern will be used when
shading the area. The letters 'vhrl' stand for
'vertical lines', 'horizontal lines', 'right
sloping lines', and 'left sloping lines'
respectively. Each of the four is a single
digit which can take the value of '0' or '1'.
If the value is '0', that particular type of
line will not be used in shading the area,
whereas a value of '1' means that it will be
used. Any combantion of the four is valid.
The argument <shade_factor> is an integer which
specifies how many lines are to be drawn if the
square is the largest one possible on the device
screen. Values between 0 and 4-500 are
resonable. There is, however, no rule in
applying this factor. It does not seem to have
a linear quality, so you could try a few
variations in order to find the appropriate
shades for your square.
.bp
MAPPER Reference Manual
Example(s): map
-e
-f
-b island.d
-r 620000 680000 1000000 280000
-l 010000 020000
-t 003000 010000
-c "an example of shading"
-po 31
-o shade
" 0.0 0010 0
10.0 0010 50
100.0 0010 100
1000.0 0010 200
10000.0 0010 400
< togarar.d"
File(s): The input file is on the PRELUDE format. Each
record contains five elements: (1) minimun
latitude, (2) maximum latitude, (3) mininum
longitude, (4) maximum longitude, and (5) a data
value. The first four elements have the form
'ddmmss', where 'dd' signifies degrees, 'mm'
minutes, and 'ss' seconds. Together, the four
elements specify a geographical square area.
The fifth element is a double precision floating
point number which indicates the value for that
particular square.
@EOF
set `wc -lwc <Map/MAP.REF`
if test $1$2$3 != 502205618492
then
echo ERROR: wc results of Map/MAP.REF are $* should be 502 2056 18492
fi
chmod 777 Map/MAP.REF
chmod 777 Map
exit 0
More information about the Comp.sources.misc
mailing list