home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume11 / starchart / part22 < prev    next >
Text File  |  1990-03-25  |  35KB  |  933 lines

  1. Newsgroups: comp.sources.misc
  2. subject: v11i050: starchart 3.2 Part 22/32
  3. from: ccount@ATHENA.MIT.EDU
  4. Sender: allbery@uunet.UU.NET (Brandon S. Allbery - comp.sources.misc)
  5.  
  6. Posting-number: Volume 11, Issue 50
  7. Submitted-by: ccount@ATHENA.MIT.EDU
  8. Archive-name: starchart/part22
  9.  
  10. #! /bin/sh
  11. # This is a shell archive.  Remove anything before this line, then unpack
  12. # it by saving it into a file and typing "sh file".  To overwrite existing
  13. # files, type "sh file -c".  You can also feed this as standard input via
  14. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  15. # will see the following message at the end:
  16. #        "End of archive 22 (of 32)."
  17. # Contents:  doc/as.ms.ab
  18. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  19. if test -f 'doc/as.ms.ab' -a "${1}" != "-c" ; then 
  20.   echo shar: Will not clobber existing file \"'doc/as.ms.ab'\"
  21. else
  22. echo shar: Extracting \"'doc/as.ms.ab'\" \(32244 characters\)
  23. sed "s/^X//" >'doc/as.ms.ab' <<'END_OF_FILE'
  24. XCurrently defined command line arguments are described below.
  25. XAdditional flag interpretation may be done by the device driver:
  26. Xunidentified flags are passed to a driver-specific function which
  27. Xattempts to interpret the flag. All others are undefined, and produce a
  28. Xusage message and error exit.
  29. X.PP
  30. X.nf
  31. X.br
  32. X   
  33. XFlag    Additional argument type(s)   Mnemonic
  34. X-r    float               Right ascension
  35. X-d    float               Declination
  36. X-s    float               Scale
  37. X-m    float               Magnitude limit
  38. X-l    float               name Label magnitude limit
  39. X-g    float               Greek label magnitude limit
  40. X-p    [string]           Polar,
  41. X                   or Projection = string
  42. X                   Possible values ``sansons'',
  43. X                   ``stereographic'',
  44. X                   ``orthographic'',
  45. X                   ``gnomonic'', ``rectangular''.
  46. X-b    --none--           Big map: full page map
  47. X-i    --none--           Invert: flip map top to bottom
  48. X-t    string               Title
  49. X-y    string               Yale.star: star data file
  50. X-h    string               Harvard index.indx index file
  51. X-n    string               Neb.star: nebula data file
  52. X-w    string               Wanderers: planet.star planet data file
  53. X-f    string               File: user file
  54. X-c    string [string]           Constellation: a three or four character
  55. X                   mnemonic followed by an optional file name;
  56. X                   the file is searched for an entry
  57. X                   corresponding to that mnemonic: the entry
  58. X                   specifies the RA DEC Scale and Title.
  59. X-v    float float           Variable finder: labels stars with their
  60. X                   magnitudes if they are within
  61. X                   arg2 mags. of arg1
  62. X-x    float float [float float]  X grid: grid in RA and DEC,
  63. X                   spacing arg1 and arg2, origin at arg3 arg4
  64. X-e    string               Extra: chart control file.
  65. X-u    --none--           User input.  Allow keyboard-based user input
  66. X-a    string               Additional Argument string:
  67. X                   passed to driver for additional control.
  68. X.fi
  69. X.PP
  70. X.NH 3
  71. XControl\ and\ Specification\ Files
  72. X.br
  73. X.PP
  74. XThe controlling variables of the chart are set by default at compile
  75. Xtime, and many may be overridden by command line arguments.  However,
  76. Xmore control is afforded by \f(CW\`.starrc\'\fR and \f(CW\`-e \fIextra\fR\'\fR
  77. Xfiles.  The starchart programs attempt to read an initialization file,
  78. Xwhose name is set at compile time (default \f(CW\`./.starrc\'\fR).
  79. XAdditional such files may be read through the \f(CW\`-e\'\fR commandline
  80. Xargument.  The file contains lines of the form \f(CW\`\fIvariable\fR
  81. X\&\fIvalue\fR\'\fR or \f(CW\`\fIvariable\fR=\fIvalue\fR\'\fR, with comments
  82. Xbeginning with \f(CW\`#\'\fR ignored.  The variables and their values are
  83. Xgiven below.  These definitions reset the values of program variables,
  84. Xoverriding their current value.  These may in turn be overridden by
  85. Xlater command line arguments or additional \f(CW\`.starrc\'\fR files
  86. Xspecified with \f(CW\`-e\'\fR.  Any variables not understood by the main
  87. Xprogram are passed to a driver specific function which may interpret it.
  88. X.PP
  89. X.nf
  90. X.br
  91. X   
  92. XVariable        Value type(s)     comment
  93. Xra            float      # same as -r
  94. Xdec            float      # same as -d
  95. Xscale            float      # same as -s
  96. Xtitle            string      # same as -t
  97. Xfindconst        string      # same as first argument of -c
  98. Xconstfile        string      # same as second argument of -c
  99. Xnamelim            float      # same as -l
  100. Xlbllim            float      # same as -l
  101. Xmaglim            float      # same as -m
  102. Xgklim            float      # same as -g
  103. Xstarfile        string      # same as -y
  104. Xindexfile        string      # same as -h
  105. Xnebfile            string      # same as -n
  106. Xplanetfile        string      # same as -w
  107. Xuserfile        string      # same as -f
  108. Xmapfile            string string # set mapfile array in main routines:
  109. X                  #       sets elements in order
  110. X                  #       overrides previous settings
  111. X                  #    overrides default yale.star, etc.
  112. X                  #    second arg is type of file
  113. X                  #    as specified in index.indx
  114. Xboundfile        string      # sets file for "boundaries" layer
  115. Xpatternfile        string      # sets file for "patterns" layer
  116. Xconstlnamefile        string      # sets file for "constlnames" layer
  117. Xlayers            string      # same as all_layer:
  118. Xall_layer        string      # sets array of layers in main routines:
  119. X                  #     sets elements in order
  120. X                  #     overrides previous settings
  121. X                  # possible values :
  122. X                  # "outline" "ra_grid" "dec_grid" "ecliptic"
  123. X                  # "boundaries" "patterns" "constlnames"
  124. X                  # "allfiles" "allglyphs" "allnames"
  125. X                  # "allmaglbls" "allvectors" "allareas"
  126. X                  # "legends"
  127. Xpolarmode        logical      # same as -p if logical is nonzero or is TRUE
  128. Xbigflag            logical      # same as -b if logical is nonzero or is TRUE
  129. Xprojection_mode        string      # set projection mode
  130. X                  # may be "sansons", "stereographic"
  131. X                  # "orthographic", "gnomonic" or "rectangular"
  132. Xinvert            logical      # same as -i if logical is nonzero or is TRUE
  133. Xprecess_to          float      # Precess to equinox and ecliptic of year.
  134. Xchart_type        string      # set chart type: "fullpage" or "threepart"
  135. X                  # "threepart" is default: Large window,
  136. X                  # thumbnail, and legend
  137. X                  # "fullpage'' is same as -b flag
  138. Xvrange            float float      # same as -v
  139. Xvmags            float float      # set magnitude labeling maximum
  140. X                  # and minimum magnitudes
  141. Xgrid            float float [float float]
  142. X                  # same as -x
  143. Xnogrid            logical      # turn off display of all grids
  144. Xnogrid_ra        logical      # turn off display of RA grid
  145. Xnogrid_dec        logical      # turn off display of DEC grid
  146. Xnomaglbls        logical      # turn off display of magnitude labels
  147. Xdrivercontrol        string      # same as -a flag
  148. Xdriver_control        string      # same as -a flag
  149. Xadditional        string      # same as -a flag
  150. X
  151. XFor interactive control, the following commands are also active:
  152. X
  153. Xexit            --none--      # Exit the program
  154. Xquit            --none--      # Exit the program
  155. Xend_input        --none--      # End input, display chart
  156. Xdone_input        --none--      # End input, display chart
  157. Xdone            --none--      # End input, display chart
  158. Xdraw            --none--      # End input, display chart
  159. Xhelp            --none--      # Give help
  160. X?            --none--      # Give help
  161. Xshow            --none--      # Show value of variables
  162. Xwrite_rc_file        string      # Write current state to .starrc file
  163. Xwrite_mapwin_file   string      # Write detailed specification of
  164. X                  # chart to given filename
  165. Xread_mapwin_file    string      # Read detailed specification of
  166. X                  # chart from given filename
  167. X.fi
  168. X.PP
  169. X.PP
  170. X.PP
  171. X.PP
  172. X.PP
  173. X.NH 3
  174. XInteractive\ Controls
  175. X.br
  176. X.PP
  177. XThe \f(CW\`-u\'\fR option activates interactive mode, where the same commands
  178. Xas in the \f(CW\`.starrc\'\fR file may be typed to control the program
  179. Xoptions.  In addition, \f(CW\`end_input\'\fR ends interactive input and draws
  180. Xthe chart.  After the chart is drawn, control returns to the keyboard.
  181. XThe \f(CW\`quit\'\fR command exits the program.  The command \f(CW\`show\'\fR
  182. Xshows the current state of the control variables.  The command
  183. X\&\f(CW\`help\'\fR may be used to get a brief description of the commands and
  184. Xcontrols available.
  185. X.PP
  186. XSome, especially window based, versions will allow the user final
  187. Xcontrol over each map of the chart.  The chart is specified by an
  188. Xarray of large \fBC\fR structures, one for each map on the page.  The
  189. X\&\f(CW\`mapwin\'\fR file contains the values in this structure.  Advanced
  190. Xinteractive versions of starchart, such as \fBstarXaw\fR, allow the
  191. Xcomponents of the structures to be edited individually, providing full
  192. Xaccess to the flexible controls of the program.
  193. X.PP
  194. XThe sequence of control of the program is:
  195. X.PP
  196. X1) read the \f(CW\`./.starrc\'\fR file.
  197. X.PP
  198. X2) process the command line: options are processed in order, later
  199. Xarguments may override earlier arguments, additional \f(CW\`.starrc\'\fR
  200. Xformat files are read as they are encountered in \f(CW\`-e\'\fR options.
  201. XHowever, if the file specified in the \f(CW\`-e\'\fR option is in \f(CW\`mapwin\'\fR
  202. Xformat, it is read later.  After the command line is processed, if the
  203. X\&\f(CW\`-u\'\fR option is active, keyboard interaction is performed.  Next,
  204. Xany \f(CW\`mapwin\'\fR format files are read.  If there is more interaction
  205. Xavailable (e.g. as in \fBstarXaw\fR), the details of the chart may now be
  206. Xcontrolled.  If a \f(CW\`mapwin\'\fR file is to be written, it is written now.
  207. XThen the chart is drawn to specification.  Finally, after the chart is
  208. Xdrawn, the program returns to the first interaction (i.e. returns to
  209. Xthe point after the command line has been processed).
  210. X.PP
  211. XOne more form of interaction is available on some systems:  A mouse or
  212. Xother pointing device may be used to either select points on a map and
  213. Xthe coordinates of that point are displayed, or the databases may be
  214. Xsearched for objects near the selected point and the database entries
  215. Xfor the objects found are displayed.
  216. X.PP
  217. X.NH 2
  218. XStandard\ Data\ Files
  219. X.br
  220. X.PP
  221. XAll are in equinox 2000.0 coordinates, and should also be in epoch
  222. X2000.0.
  223. X.PP
  224. X.IP \f(CW\`yale.star\'\fR\ 
  225. Xstellar information (mandatory)
  226. X.IP
  227. X.IP \f(CW\`neb.star\'\fR\ 
  228. Xnebulae (optional)
  229. X.IP
  230. X.IP \f(CW\`planet.star\'\fR\ 
  231. Xplanets (optional)
  232. X.IP
  233. X.IP \f(CW\`boundaries.star\'\fR\ 
  234. Xconstellation boundaries (optional)
  235. X.IP
  236. X.IP \f(CW\`cnames.star\'\fR\ 
  237. Xconstellation names (optional)
  238. X.IP
  239. X.IP \f(CW\`patterns.star\'\fR\ 
  240. Xconstellation patterns (optional)
  241. X.IP
  242. X.IP \f(CW\`index.indx\'\fR\ 
  243. Xindex file for additional star files (optional)
  244. X.IP
  245. X.IP \f(CW\`con.locs\'\fR\ 
  246. Xdefault mnemonic locations
  247. X.IP
  248. X.PP
  249. X.NH 2
  250. XParticular\ Starchart\ Programs
  251. X.br
  252. X.PP
  253. XSome starchart programs have coadditional driver-specific controls
  254. Xwhich are accessed throught the \f(CW\`-a\'\fR command line option, or the
  255. X\&\f(CW\`additional\'\fR (= \f(CW\`driver_control\'\fR) variable.
  256. X.PP
  257. XThese programs and other versions of starchart with special needs are
  258. Xdocumented in this section.
  259. X.PP
  260. X.PP
  261. X.NH 3
  262. X\&\fBstarX11\fR
  263. X.br
  264. X.PP
  265. X\&\fBstarX11\fR is the X11 version of starchart.  It has the following
  266. Xspecial arguments which are accessed through \f(CW\`-a\'\fR, e.g.
  267. X.br
  268. X\&\f(CW\`-a p\'\fR.
  269. X.PP
  270. X.IP \f(CW\`p\'\fR\ 
  271. XPostScript preview: use screen size and shape to approximate coverage of
  272. X\&\fBstarpost\fR chart. 
  273. X.IP \f(CW\`l\'\fR\ 
  274. XPostScript landscape preview: use screen size and shape to approximate
  275. Xcoverage of \fBstarpost\fR landscape format chart. 
  276. X.IP \f(CW\`h\'\fR\ 
  277. Xhide: display is generated invisibly, which may save time. 
  278. X.IP \f(CW\`b\'\fR\ 
  279. Xbackup: use backup pixmap, allows window to be hidden and redrawn. 
  280. X.IP \f(CW\`m\'\fR\ 
  281. Xmonochrome: prevents use of color on displays otherwise capable of it. 
  282. X.PP
  283. XUsage example:
  284. X.br
  285. X\&\f(CW\`starX11 -c ori -g 5 -a p\'\fR.
  286. X.PP
  287. X.NH 3
  288. X\&\fBstarXaw\fR
  289. X.br
  290. X.PP
  291. X\&\fBstarXaw\fR is the X11 version of starchart with interactive control
  292. Xusing Athena Widgets.  In addition to the controls for \fBstarX11\fR,
  293. Xit has the following special arguments which are accessed through
  294. X\&\f(CW\`-a\'\fR, e.g. 
  295. X.br
  296. X\&\f(CW\`-a "t -geometry -0-0"\'\fR.
  297. X.PP
  298. X.IP \f(CW\`t\'\fR\ 
  299. X" toolkit_args" for access to the standard X toolkit controls, such as
  300. Xfor geometry, fonts, etc. 
  301. X.PP
  302. XUsage example:
  303. X.br
  304. X\&\f(CW\`starXaw -c sgr -a p -a "t -geometry -0-0 -bg red"\'\fR.
  305. X.PP
  306. X.NH 3
  307. X\&\fBstarpost\fR
  308. X.br
  309. X.PP
  310. X\&\fBstarpost\fR is the PostScript version of starchart.  It has the
  311. Xfollowing special arguments which are accessed through \f(CW\`-a\'\fR, e.g.
  312. X.br
  313. X\&\f(CW\`-a "m9 8 7 6 5 4 3.5 2.5 2 1.5 1 0.5"\'\fR. 
  314. X.PP
  315. X.IP \f(CW\`n\'\fR\ 
  316. Xnotebook: The chart is shifted to the right on the page, and the
  317. X``thumbnail'' map is replaced with prompts and space for recording
  318. Xobserving conditions.  The rest of the argument string is taken to be a
  319. Xlist of floating point numbers separated by `:' or ` '.  These are taken
  320. Xto be the radii in degrees of fields of view of the instrument or
  321. Xfinder.  Circles with these radii are drawn, centered on the center of
  322. Xthe chart. 
  323. X.IP \f(CW\`m\'\fR\ 
  324. Xmagnitude: 0.1 magnitude quanta are to be used (the default is 1.0
  325. Xmagnitude, e.g. a 4.6 magnitude star is represented by the same symbol
  326. Xas a star of magnitude 5.4).  The rest of the argument string is taken
  327. Xto be a list of floating point numbers separated by `:' or ` '.  These
  328. Xare taken to be the radii of the symbols for stars of magnitude -1, 0,
  329. X1, 2, 3 etc. The sizes of symbols for stars with magnitudes between
  330. Xthese magnitudes are determined by linear interpolation.  Note that the
  331. Xlast value given is the value assigned to all magnitudes fainter than
  332. Xthat magnitude.  Current default sizes are "9 8 7 6 5 4 3.25 2.5 2 1.5 1
  333. X0.5". 
  334. X.IP \f(CW\`s\'\fR\ 
  335. Xsize: this argument provides an alternative way of specifying
  336. Xmagnitude symbol sizes, using a formula proposed by Andrew Young in
  337. XSky and Telescope, March 1990, p. 311, D = D0 * 10^(k*(v0 - v)).
  338. XHe proposes a k of between 0.07 and 0.16, with 0.11 as probably the
  339. Xbest.  If \f(CW\`s\'\fR uses 0.1 magnitude quanta as does \f(CW\`m\'\fR.  The
  340. Xdefault values for \fID0\fR, \fIv0\fR, and \fIk\fR are 0.5 (points),
  341. Xthe limiting magnitude of the first main map, and 0.11, respectively.
  342. XThese may be altered with the optional arguments to \f(CW\`s\'\fR, which set
  343. X\&\fID0\fR, \fIv0\fR and \fIk\fR in that order, e.g. \f(CW\`s 0.7 6.6\'\fR sets
  344. X\&\fID0\fR to 0.7 point, and \fIv0\fR to magnitude 6.6 so that a magnitude
  345. X6.6 star will be printed as 0.7 point in diameter, and \fIk\fR will
  346. Xremain 0.11.  \f(CW\`s 0.7 6.6 0.07\'\fR will set \fID0\fR and \fIv0\fR as
  347. Xabove, and also set \fIk\fR to 0.07. 
  348. X.IP \f(CW\`f\'\fR\ 
  349. X\&\f(CW\`f \fIfile\fR\'\fR may be used to specify an output file, otherwise the
  350. XPostScript produced is sent to the standard output. 
  351. X.IP \f(CW\`c\'\fR\ 
  352. Xmay be used to produce color postscript output. 
  353. X.IP \f(CW\`l\'\fR\ 
  354. Xmay be used to specify landscape mode (as opposed to the default
  355. Xportrait orientation).  Landscape mode can only used with a
  356. Xfullpage map.  
  357. X.PP
  358. XSince the resolution of PostScript is much higher than other common
  359. Xdevices, \f(CW\`mapwin\'\fR files must be edited when transferred between
  360. Xstarpost and other drivers.  The controls for window \f(CW\`width\'\fR,
  361. X\&\f(CW\`height\'\fR, \f(CW\`x_offset\'\fR and \f(CW\`y_offset\'\fR must be changed. 
  362. X.PP
  363. XThe \f(CW\`-a p\'\fR or \f(CW\`-a l\'\fR option used with \fBstarX11\fR or
  364. X\&\fBstarXaw\fR can be used to produce a \f(CW\`mapwin\'\fR file which can be
  365. Xconverted for use in \fBstarpost\fR through an \fBawk\fR script named
  366. X\&\fBpostconv.awk\fR, provided with the source to this program. 
  367. X.PP
  368. XUsage example:
  369. X.br
  370. X\&\f(CW\`starpost -a "n 6:1.5:.5" -a "m9 8 7 6 5 4 3.5 2.5 2 1.5 1 0.5" -a "f orion.PS" -c ori -g 5\'\fR.
  371. X.PP
  372. X.NH 3
  373. X\&\fBstartool\fR
  374. X.br
  375. X.PP
  376. X\&\fBstartool\fR uses the \fBtooltool\fR program, not included in the
  377. Xstarchart distribution, to provide an interface to \fBstarsunv\fR.
  378. X\&\fBttooltool\fR is available from your local Sun sources archive.
  379. X.PP
  380. X.NH 2
  381. XWriting\ a\ New\ Version\ for\ a\ New\ Device
  382. X.br
  383. X.NH 3
  384. XOrganization
  385. X.br
  386. X.PP
  387. XThere are several layers of functions in starchart.  The top level is in
  388. X\&\f(CW\`starmain.c\'\fR, \f(CW\`starm2.c\'\fR, and \f(CW\`readfile.c\'\fR.  It is (I
  389. Xhope) general enough to enable any additions to be made by users in the
  390. Xform of modified drivers, leaving these files stable.  \f(CW\`starmain.c\'\fR
  391. Xand \f(CW\`starm2.c\'\fR are in charge of the user interface and file
  392. Xreading, with \f(CW\`readfile.c\'\fR.  Generally, this top level controls
  393. X\&\fIwhat\fR is to be drawn, and \fIwhere\fR it appears.  The device
  394. Xspecific section controls \fIhow\fR it appears.
  395. X.PP
  396. XInformation is passed to the drivers via externs and function
  397. Xparameters.  The externs are for runtime values, the function parameters
  398. Xare for values taken from the data files.  Information is passed from
  399. Xthe driver to the starchart.c routines via externs.
  400. X.PP
  401. XThere are three layers of functions, in several source files.  The top
  402. Xlevel functions are in \f(CW\`starmain.c\'\fR and \f(CW\`starm2.c\'\fR.  You
  403. Xshould not have to change anything in this file, except perhaps #defines
  404. Xfor default file names and file types, and these may also be set in the
  405. XMakefile.
  406. X.PP
  407. XThe \f(CW\`starcust.c\'\fR file contains customizing functions, including functions
  408. Xto define additional command line flags, which may apply to several
  409. Xdrivers.
  410. X.PP
  411. XThe \f(CW\`starXXXX.c\'\fR or \f(CW\`starimages.c\'\fR + \f(CW\`starXXXX.c\'\fR files
  412. Xdefine the more device dependent functions.  There is one function,
  413. Xcalled \f(CW\`drawobj\'\fR, which is the interface between the top level
  414. Xfunctions and the device for drawing the stars, planets, and other
  415. Xobjects read from a database file.  In addition, standard functions to
  416. Xopen and close the device, draw a line, move without drawing, etc. are
  417. Xrequired.  These may then call the lowest level device dependent
  418. Xfunctions.  The \f(CW\`starimages.c\'\fR file provides a standard definition
  419. Xfor \fBdrawobj\fR and supporting functions for bitmapped devices; the
  420. Xdevice dependent code remaining (e.g. line drawing), is in the file
  421. X\&\f(CW\`starXXXX.c\'\fR.
  422. X.PP
  423. XUser input functions also may be defined in \f(CW\`starXXXX.c\'\fR.
  424. X.PP
  425. XThe layer currently being drawn and/or the subroutine currently active
  426. Xis passed to the driver in an extern.  This allows the driver to for
  427. Xexample draw vectors differently for the constellation boundaries.
  428. XAdditionally, each window has a map type field which is for efficiency
  429. Xalso passed as an extern, which may be used by the driver to for example
  430. Xdraw certain layers differently in certain windows.
  431. X.PP
  432. XThe source to other drivers, especially \fBstarXaw\fR and
  433. X\&\fBstarpost\fR, should be a valuable reference to developing new
  434. Xdrivers.
  435. X.PP
  436. X.NH 3
  437. XCustomization
  438. X.br
  439. X.PP
  440. XFor the drivers distributed, there are many \f(CW\`#defines\'\fR and global
  441. Xvariables whose values may be altered to suit your tastes and your
  442. Xparticular piece of hardware.  Default file names are \f(CW\`#defined\'\fR in
  443. Xthe code, and may also be set in the Makefile.
  444. X.PP
  445. XIt is easy to write a driver for other devices, based on the drivers and
  446. Xthe driver skeleton provided.
  447. X.PP
  448. XMore extensive customization is possible through modifying the driver
  449. Xfunctions to take fullest advantage of the device you are using.  It is
  450. Xalso possible to add controls accessed through the \f(CW\`-a\'\fR command
  451. Xline option and the \f(CW\`additional\'\fR (= \f(CW\`driver_control\'\fR) variables.
  452. X.PP
  453. XPlease try to send me (ccount) a note before writing any new drivers, so
  454. XI can let you know if a driver for that device is in the works.  Any
  455. Ximprovements to drivers should be sent to me or the author (if they are
  456. Xnot the same), when you're sure they work and are happy with the
  457. Xchanges.
  458. X.PP
  459. XThings you define in \f(CW\`starcust.c\'\fR, if you think they are generally
  460. Xuseful, should be sent to me.  If possible, they may be incorporated in
  461. Xfuture releases.
  462. X.PP
  463. XImprovements to top level routines should be made with great caution.
  464. XSuch changes will make it harder for you to use future refinements.  If
  465. Xyou're sure you're change (a) works and (b) is better/stronger/faster,
  466. Xplease send it to me.
  467. X.PP
  468. XDo report any bugs/problems.
  469. X.PP
  470. X.bp
  471. X.NH
  472. XThe\ Data\ Files\ and\ Their\ Formats
  473. X.br
  474. X.PP
  475. XThis section discusses file formats used by the programs.
  476. X.PP
  477. X.PP
  478. X.NH 2
  479. XContents\ of\ Data\ Files
  480. X.br
  481. X.PP
  482. XEach line of file contains:
  483. X.IP \fIra,\ dec,\ mag\fR\ 
  484. XRequired.  Right ascension, Declination, and magnitude (V or visual).  6
  485. Xchars for RA, one for sign of DEC, 4 for DEC, 3 for mag. 
  486. X.IP
  487. X.IP \fIobject\ type\fR\ 
  488. XDefines what the object is: star, galaxy, cluster, nebula, planet,
  489. Xother, unknown, vector, area, comment, or invisible, with subtypes for
  490. Xeach (Two chars).  Defaults to type star subtype single. 
  491. X.IP
  492. X.IP \fIspectral\ class\ or\ color\fR\ 
  493. XDefines the color of the object, as spectral class for stars or directly
  494. Xfor other objects (Two chars). 
  495. X.IP
  496. X.IP \fIletter\ or\ flamsteed\ number\ or\ size\fR\ 
  497. XDefines either the Bayer letter or Flamsteed number of a star, or the
  498. Xsize of an extended object encoded in two chars. 
  499. X.IP
  500. X.IP \fIconstellation\fR\ 
  501. XThe constellation field contains the IAU designation of the
  502. Xconstellation the object is in (three chars). 
  503. X.IP
  504. X.IP \fIname\fR\ 
  505. XName or other labeling string.  Terminated by comma. 
  506. X.IP
  507. X.IP \fIcomment\ field\fR\ 
  508. XRemainder of line after the comma which terminates the name.  This
  509. Xcomment field may be used for special information about the object, e.g.
  510. Xthe phase of the moon. 
  511. X.PP
  512. XMagnitude is encoded into three fields as follows: the first character
  513. Xmay be a \f(CW\`-\'\fR, in which case the next two characters are the magnitude
  514. Xtimes 10, e.g. \f(CW\`-16\'\fR means \f(CW\`-1.6\'\fR.  The first character is a digit,
  515. Xthe three characters are the magnitude times 100, e.g. \f(CW\`563\'\fR means
  516. X\&\f(CW\`5.63\'\fR.  Finally, if the first character is a capital letter, this is
  517. Xtaken as the base-36 value of the integral part of the magnitude, and
  518. Xthe remaining two characters are the fractional part times 100, e.g.
  519. X\&\f(CW\`B34\'\fR means \f(CW\`11.34\'\fR.
  520. X.PP
  521. XThe Bayer letter or Flamsteed numbers are applicable only to stars.  The
  522. Xfield is two characters wide.  Greek letters are a single lowercase
  523. Xletter followed by a space or a number, encoded as in the PostScript
  524. XSymbol font:
  525. X.PP
  526. X.nf
  527. X.br
  528. X  
  529. Xalpha    - a    beta    - b    gamma    - g    delta    - d
  530. Xepsilon    - e    zeta    - z    eta    - h    theta    - q
  531. Xiota    - i    kappa    - k    lambda    - l    mu    - m
  532. Xnu    - n    xi    - x    omicron - o    pi    - p
  533. Xrho    - r    sigma    - s    tau    - t    upsilon    - u
  534. Xphi    - f    chi    - c    psi    - y    omega    - w
  535. X.fi
  536. X.PP
  537. XNote that theta, xi, phi, chi, and psi have changed from the original
  538. Xdefinitions, which were @, E, 0, x, and % respectively.  Note also that
  539. Xa variant version of phi is mapped to j. 
  540. X.PP
  541. XAn uppercase letter followed by any character or two non-numeric
  542. Xcharacters is the roman letter designation for the star, e.g. \f(CW\`CY\'\fR.
  543. XTwo numbers or a space and a number is the Flamsteed number of the star.
  544. X.PP
  545. XThe size of nonstellar objects is encoded in seconds of arc in the size
  546. Xfield to two significant digits.  The second character is always a
  547. Xdecimal digit.  Sizes from 0 to 99 arc seconds are encoded as two
  548. Xdecimal digits.  For larger objects the first character is a capital
  549. Xletter, interpreted as follows, with the second character as the next
  550. Xdigit:
  551. X.PP
  552. X.nf
  553. X.br
  554. X   
  555. XFirst character        Value
  556. X0 - 9            00 - 90
  557. XA - I            100 - 900
  558. XJ - R            1000 - 9000
  559. XS - Z            10000 - 80000
  560. X.fi
  561. X.PP
  562. XExamples:
  563. X.PP
  564. X.nf
  565. X.br
  566. X   
  567. XSize field    Value
  568. X 6        6
  569. X09        9
  570. X73        73
  571. XA0        100
  572. XC3        330
  573. XD5        450
  574. XI6        960
  575. XJ2        1200
  576. XR3        9300
  577. XS6        16000
  578. XZ0        80000
  579. XZ9        89000
  580. X.fi
  581. X.PP
  582. XThe types and subtypes implemented are:
  583. X.PP
  584. X.nf
  585. X.br
  586. X   
  587. XType[0]        main type    type[1]        subtype
  588. XC        cluster
  589. X                G        globular
  590. X                O        open
  591. X                (other)     other
  592. X
  593. XG        galaxy
  594. X                a        spiral Sa
  595. X                b        spiral Sb
  596. X                c        spiral Sc
  597. X                d        spiral Sd
  598. X                p        spiral Sp
  599. X                Z        spiral S0
  600. X                s        spiral unspecified
  601. X                A        barred spiral SBa
  602. X                B        barred spiral SBb
  603. X                C        barred spiral SBc
  604. X                D        barred spiral SBd
  605. X                P        barred spiral SBp
  606. X                S        barred spiral unspecified
  607. X                0-7        elliptical E0-E7
  608. X                E        elliptical
  609. X                I        irregular I
  610. X                Q        quasar
  611. X                U        unknown
  612. X                !        peculiar
  613. X                         unspecified
  614. X                (other)     other
  615. X
  616. XN        nebula
  617. X                D        diffuse
  618. X                P        planetary
  619. X                (other)     other
  620. X
  621. XP        planet
  622. X                M        Mercury
  623. X                V        Venus
  624. X                m        Mars
  625. X                J        Jupiter
  626. X                s        Saturn
  627. X                U        Uranus
  628. X                N        Neptune
  629. X                P        Pluto
  630. X                A        Asteroid
  631. X                C        Comet
  632. X                S        Sun (Sol)
  633. X                L        Moon (Luna)
  634. X                (other)     other
  635. X
  636. XS        star
  637. X                S        single
  638. X                D        double
  639. X                V        variable
  640. X
  641. XO        other
  642. X                (any)        other object
  643. X
  644. XU        unknown
  645. X                (any)        unknown object
  646. X
  647. XV        vector
  648. X                M        moveto (begin, no line drawn)
  649. X                S        solid lineto via great circle
  650. X                D        dotted lineto via great circle
  651. X                H        hyphened (dashed) lineto g. c.
  652. X                m        moveto linear
  653. X                s        solid lineto linear
  654. X                d        dotted lineto linear
  655. X                h        hyphened lineto linear
  656. X
  657. XI        invisible
  658. X                (any)        for labels
  659. X
  660. X#        data comment
  661. X                (any)        for comment in file
  662. X
  663. XA        area
  664. X                M        moveto (begin)
  665. X                A        add great circle border segment
  666. X                F        fill region and end region
  667. X                m        moveto (begin)
  668. X                a        add linear border segment
  669. X                f        fill region and end region
  670. X.fi
  671. X.PP
  672. X.PP
  673. XThe magnitude of an object determines what information is displayed.
  674. XThree magnitude limits are defined for each file in each map window.  If
  675. Xthe magnitude is greater (dimmer) than the first limit, nothing is
  676. Xdrawn.  If the object is brighter than a second limit, the label (Bayer
  677. Xor Flamsteed) is printed (if present).  If it is brighter than the third
  678. Xlimit, the name is printed (if present; if not, the label is printed if
  679. Xpresent).  These text strings generally appear to the right of the
  680. Xobject, but the driver can change this.  Note: the label string only
  681. Xapplies to stars.
  682. X.PP
  683. XFor nonstellar objects, the label field defines the size of the object
  684. Xin arc seconds.
  685. X.PP
  686. XFor magnitudes within a range defined for the mapwindow, a magnitude
  687. Xtag, the magnitude to one decimal place as in variable star and asteroid
  688. Xfinding charts, may be displayed.  This will generally be below and to
  689. Xthe right of the object, but this is controlled by the driver.
  690. X.PP
  691. XThe symbol drawn for the object is determined by the type field.
  692. X.PP
  693. XFor devices supporting color, the spectral class or color field defines
  694. Xthe color of the object, and perhaps the associated text.  The spectral
  695. Xclass of stars is mapped to display color, and for other objects, this
  696. Xfield may contain direct color specifications, e.g. 'r3' for an object
  697. Xcolored red level 3.  All this is controlled by the device driver.
  698. XStandards for color definitions are yet to be defined.
  699. X.PP
  700. XThe constellation field is not currently used in the display.
  701. X.PP
  702. XThe comment field is also not generally used, but some drivers may use
  703. Xit to contain special information such as the phase of the moon or
  704. Xposition angle of a comet's tail.
  705. X.PP
  706. X.NH 2
  707. XData\ file\ formats
  708. X.br
  709. X.PP
  710. X.PP
  711. X.NH 3
  712. X\&\f(CW\`lineread\'\fR
  713. X.br
  714. X.PP
  715. XThis text format, called \fIlineread\fR, is the original data file format.
  716. XData for each object is on a single line, stored in character fields.
  717. XCurrently, an older variant is also supported, one which has 4
  718. Xcharacters for the magnitude and omits the color and letter/number
  719. Xfields.  Both of these formats are designated as type \fIlineread\fR,
  720. Xsince each line is read individually and these two types are easily
  721. Xdistinguished on a line by line basis.  In all formats, if a value is
  722. Xunknown, it should be spaces, or a null string in the case of the name
  723. Xand comment fields.  The RA, DEC and mag. must always be provided for an
  724. Xobject.
  725. X.PP
  726. XSince it is a text format, it may be mailed safely and be used on many
  727. Xdifferent computer architectures without change.  However, it is slow,
  728. Xand uses more file space than it ought.
  729. X.PP
  730. X.PP
  731. X.NH 3
  732. X\&\f(CW\`sif\'\fR:\ Starchart\ Interchange\ Format
  733. X.br
  734. X.PP
  735. XThe \fIsif\fR format was introduced to allow data to be exchanged as text,
  736. Xwith greater precision in the location and magnitude fields, and greater
  737. Xreadability compared to the \fIlineread\fR format.  The format is too slow
  738. Xfor use as input to the starchart programs.  A data conversion program
  739. Xis provided to convert between formats, and to precess coordinates
  740. Xduring the conversion.
  741. X.PP
  742. XEach object is represented by a single line in the file.  This line
  743. Xcontains fields each of which corresponds to a field in the
  744. X\&\fIlineread\fR format.  The fields are separated by a single character,
  745. Xusually \f(CW\`;\'\fR.  Fields may be omitted from the end of the line;
  746. Xomitted fields are assigned their default values.  Fields may be empty,
  747. Xand again are assigned their default values.  As with the other formats,
  748. Xthe RA, DEC, and mag. must be present.
  749. X.PP
  750. XThe RA may be given as a decimal hour, hour and decimal minute, or hour
  751. Xminute and decimal second.  The DEC may be given in the same format.
  752. XThe magnitude is a floating point number.
  753. X.PP
  754. XThe type, and color, fields are empty or one or two characters, as in
  755. Xthe \fIlineread\fR format.
  756. X.PP
  757. XThe label field is also the same as in the \fIlineread\fR format, and
  758. Xencodes the size of non-stellar objects in two characters.  There is a
  759. Xbit of ``magic'' in this field.  Since \f(CW\`X \'\fR or \f(CW\` X\'\fR are both
  760. Xvalid, and whitespace is normally ignored, iff this field is two
  761. Xcharacters wide, and both characters are printing characters, it is
  762. Xtaken verbatim as the label field.  That is, \f(CW\`... ; X; ...\'\fR is
  763. X\&\f(CW\` X\'\fR, while \f(CW\`... ; X ; ...\'\fR is read as one character and left
  764. Xjustified to become \f(CW\`X \'\fR. 
  765. X.PP
  766. XThe constellation field is the IAU abbreviation for the constellation
  767. Xand is always blank or three characters.
  768. X.PP
  769. XThe name and comment are two separate fields.  Commas should not be used
  770. Xin the name field, since when this name is placed in the other formats a
  771. Xcomma is used to separate the name from comments.
  772. X.PP
  773. X.NH 3
  774. XBinary\ Formats
  775. X.br
  776. X.PP
  777. XThree binary input formats are supported.  These formats provide greater
  778. Xposition and magnitude accuracy, with faster input, and varying degrees
  779. Xof storage space reduction.  The files are inherently unportable,
  780. Xhowever, and should not be exchanged between machines and operating
  781. Xsystems, or even different compilers.  The \fIsif\fR format, described
  782. Xabove, provides a general data exchange format.
  783. X.PP
  784. XThe three formats provide different storage sizes.  The most general
  785. Xformat, which contains all the data in the \fIlineread\fR format, is the
  786. X\&\fIbinfull\fR format.  A smaller format, \fIbinobj\fR stores only the
  787. XRA, DEC, mag. and object type fields, all other fields become their
  788. Xdefaults (usually spaces).  The smallest format, \fIbinstar\fR stores
  789. Xonly the RA, DEC and mag., all other fields become their defaults,
  790. Xnotably the \fIobject type\fR is \f(CW\`SS\'\fR.
  791. X.PP
  792. XThe binary formats are described as \fBC\fR structures.  How the data in
  793. Xthe structure is stored is therefore highly variable between compilers,
  794. Xoperating systems and machines.  However, most machines should be able
  795. Xto take advantage of these formats for local storage.
  796. X.PP
  797. X.NH 3
  798. XThe\ Guide\ Star\ Catalog
  799. X.br
  800. X.PP
  801. XThe Hubble Space Telescope Guide Star Catalog, available on 2 CD-ROMs,
  802. Xmay be used as a stellar database.  This format may be read by
  803. X\&\fBdataconv\fR and the starchart programs, but now written.  An index
  804. Xfile is used to specify which files on which CD-ROM should be read.
  805. X.PP
  806. X.NH 3
  807. XThe\ Index\ File\ index.indx,\ \f(CW\`indextype\'\fR
  808. X.br
  809. X.PP
  810. XThe \fIindextype\fR file is a special file format added to support larger
  811. Xdatabases of dimmer stars.  It provides an index mapping location to
  812. Xfilenames of files containing star data as above.  Each indexed file
  813. Xcovers a rectangle of sky in RA and DEC.  The areas may be different
  814. Xsizes for different files.  The area covered is given as the RA and DEC
  815. Xof the upper left and lower right corners, followed by the filename and
  816. Xa string indicating the type of the file.  This is all on one line in
  817. Xthe file.  The format is then:
  818. X.PP
  819. X.nf
  820. X.br
  821. X   
  822. Xupper left   upper left   lower right   lower right   filename   filetype
  823. XRA         DEC      RA        DEC          filename     filetype
  824. X
  825. Xe.g.
  826. X02.0         -30.0       00.0            -90.0          SAO00-90     lineread
  827. X04.0         -30.0       02.0            -90.0          SAO02-90     lineread
  828. X06.0         -30.0       04.0            -90.0          SAO04-90     lineread
  829. X08.0         -30.0       06.0            -90.0          SAO06-90     lineread
  830. X10.0         -30.0       08.0            -90.0          SAO08-90     lineread
  831. X.fi
  832. X.PP
  833. X.PP
  834. X.bp
  835. X.NH
  836. XThe\ Support\ Programs
  837. X.br
  838. X.PP
  839. XSeveral support programs are provided for use with the primary
  840. X\&\fBobserve\fR and starchart programs.
  841. X.PP
  842. X.PP
  843. X.NH 2
  844. X\&\fBdataconv\fR
  845. X.br
  846. X.PP
  847. XThis program is used to convert between file formats, especially to
  848. Xgenerate binary format files.  It can precess coordinates as desired.
  849. XRemember, input data files for starchart programs should be in 2000.0
  850. Xcoordinates.
  851. X.PP
  852. X.NH 2
  853. X\&\fBsif-to-text\fR
  854. X.br
  855. X.PP
  856. XThe \fBsif-to-text\fR or \fBsif_to_text\fR program converts sif format
  857. Xfiles to more readable text tables.
  858. X.PP
  859. X.NH 2
  860. X\&\fBtosize\fR
  861. X.br
  862. X.PP
  863. XThis program is used to encode the size of objects, for development of
  864. Xnew databases.
  865. X.PP
  866. X.bp
  867. X.NH
  868. XAcknowledgements
  869. X.br
  870. X.PP
  871. XThe previous versions of starchart were developed by Alan Paeth.
  872. X.PP
  873. XSteve Kennedy contributed to \f(CW\`starimages.c\'\fR.
  874. X.PP
  875. XRobert Tidd provided the original \f(CW\`yale.star\'\fR and the format.
  876. X.PP
  877. XDave Van't Hof provided most of the other databases (in particular boundaries,
  878. Xpatterns, and names).
  879. X.PP
  880. XMichael Campanella provided vms support.
  881. X.PP
  882. XThe Atari ST version was developed by Holger Zessel and Markus Kempf.
  883. X.PP
  884. XTom Horsley contributed the ibm PC driver.
  885. X.PP
  886. XMike Daly helped with the Macintosh version.
  887. X.PP
  888. XJoe Wang helped with the X11 version.
  889. X.PP
  890. XDean Payne provided the original code for \f(CW\`.starrc\'\fR processing.
  891. X.PP
  892. XOther contributions are from Petri Launiainen, Jyrki Yli-Nokari, Sjoerd
  893. XMullender, David Smith, Tim Pointing, and others.
  894. X.PP
  895. X.PP
  896. X.bp
  897. X.SH
  898. XProgram\ Index
  899. X.br
  900. X.PP
  901. X.PP
  902. X.bp
  903. X.SH
  904. XConcept\ Index
  905. X.br
  906. X.PP
  907. X.PP
  908. X.PP
  909. END_OF_FILE
  910. if test 32244 -ne `wc -c <'doc/as.ms.ab'`; then
  911.     echo shar: \"'doc/as.ms.ab'\" unpacked with wrong size!
  912. fi
  913. # end of 'doc/as.ms.ab'
  914. fi
  915. echo shar: End of archive 22 \(of 32\).
  916. cp /dev/null ark22isdone
  917. MISSING=""
  918. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ; do
  919.     if test ! -f ark${I}isdone ; then
  920.     MISSING="${MISSING} ${I}"
  921.     fi
  922. done
  923. if test "${MISSING}" = "" ; then
  924.     echo You have unpacked all 32 archives.
  925.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  926. else
  927.     echo You still need to unpack the following archives:
  928.     echo "        " ${MISSING}
  929. fi
  930. ##  End of shell archive.
  931. exit 0
  932.  
  933.