The starmap program produces star maps according to the options you give it. It knows all the stars down to magnitude 11.5, which is 1,391,099 stars. You can also give it additional objects to display, such as planets. It has many options for controlling what part of the sky you want to see, and what lines and labels and magnitudes of stars you want to see, etc.
I wrote the program itself. The data files it uses were derived from various sources; some written by me and some not. For details, see the comment near the start of starmap.c, which is in astro30src.zip.
Producing a star map is a two step process:
But the file called "map.bat" (for Windows) or "map" (for Linux) does both of these in one step. For either system, you just type "map" followed by whichever starmap options you want, then the Enter key. That brings up a new window, showing you the star map. When you are done looking at the map and/or printing it, you can close that window.
If there is something wrong in your command line, an error message will be printed. If you gave it a wrong option letter, it will print the whole list of options. Otherwise, it will tell you more specifically about what is wrong.
(NOTE: After you downloaded, if you are on Windows you should have edited "map.bat" as described in this additional setup if necessary; and for Linux you may want to alter "map" if desired.)
Below is a description of all the options. They all consist of a dash followed by a letter. For some of them, you then type a space and some more information.
The order of options on the line doesn't matter. But all of this has to be on one line, even it is very long and so appears to wrap around.
To see the details of each option, you can run
map -hand you will get the following output:
starmap program, version 3.2 starmap -a additional_objects -d designations -g grid_level -i inhibits \ -l limiting_mag -m map -p precession_year -s label_mags -t title \ -v viewfields -z zenith -b -e -h -n -q -u -w -x (all parameters are optional) Program to generate PostScript commands for printing a star map. The map can be centered on any point in the sky, and cover a specified field of view. Or, you can print the following six standard maps to cover the sky, with some overlap: 1 = north circumpolar 2 = south circumpolar 3 = midsection, right ascension 0 hours to beyond 7.5 hours 4 = midsection, right ascension before 7.5 hours to 15 hours 5 = midsection, right ascension 12 hours to beyond 19.5 hours 6 = midsection, right ascension before 19.5 hours wrapped to 3 hours The intent is that you would print maps 3 and 4 and splice them into one wide map; and the same with 5 and 6. For the parameters below, whenever right ascension is stated, it can be in any of these six formats: H Hh HhM HhMm HhMmS HhMmSs where H is hours, M is minutes, and S is seconds. Whenever an angle is stated, for declination or other things, it can be in any of these six formats: D Do DoM DoM' DoM'S DoM'S" where D is degrees, M is arcminutes, and S is arcseconds. For all twelve formats, only the last number given can have a decimal point, and none can have a sign except for D. All must be in the appropriate range. If D is negative, that sign applies to M and S also, if present. The parameters that have operands are: -a: show additional objects. The operand to -a is either "file=" followed by the name of a file containing a list of objects, one per line, or the objects can be listed on the command line, separated by colons (":"). Each object is given as 4 items: right ascension, declination, magnitude, name. If given in a file, the 4 items can be separated by either commas or spaces or tabs. If given on the command line, they must be separated by commas. The name is optional, and if omitted, the last separator may also be omitted. -d: designations to print for a star, whichever exist, as follows: b: Bayer letter (the default choice) f: Flamsteed number b-f: Bayer if it exists, otherwise Flamsteed b+f: Bayer preceded by Flamsteed n: neither -g: level of coordinate grid lines to show, as follows: 0: do not print (also inhibits the ecliptic and galactic equator) 1: right ascension every hour, declination every 10 degrees 2: right ascension every 30 minutes, declination every 5 degrees 3: right ascension every 5 minutes, declination every degree The default is 1, except 2 for centered maps with screen width less than 60 degrees and 3 for centered maps of width less than 25 degrees. Near the poles, not as many right ascension lines are shown. -i: inhibit printing of each item in this operand. The letters in the operand may be in any order, and are as follows: b: constellation boundaries n: constellation names o: constellation outlines s: star names and designations -l: limiting magnitude (faintest stars to print): default 5.0, minimum -2.0, maximum 11.5. Star names etc. are placed to avoid colliding with stars down to 5.0, but fainter than that there will be collisions. -m: which map to print (default 1). This can be a number from 1 to 6, for one of the standard maps; or it can be comma separated items specifying a map centered on some point in the sky. In the latter case, the items can be right ascension, declination, and optionally the width to be shown as an angle from 1 to 90 degrees defaulting to 60; or they can be an ID and optionally the width. An ID can be a constellation, or an object given by its proper name or by its Bayer or Flamsteed designation. A Bayer designation is a letter, followed by a digit if needed, followed by a constellation. The letter can be the name of a Greek letter spelled out, or a single Roman letter that represents a Greek letter; a for alpha, b for beta, etc. The whole list of Roman letters for the Greek alphabet in Greek alphabetical order is: a b g d e z h q i k l m n x o p r s t u f c y w. A Flamsteed designation is a number followed by a constellation. In any of these contexts, for constellation you can use the standard name, or the possessive form, or the official three letter abbreviation (like Cetus, Ceti, Cet). In any of the forms of ID, blanks and case of letters are ignored. -p: year to precess everything to, default 2000. -s: limiting magnitudes for showing object names, Bayer letters, and Flamsteed numbers: default 4.5, minimum -2.0, maximum 11.5. One or two numbers (comma separated) may be given. If one number, it applies to all of these IDs. If two, the first applies to Bayer and Flamsteed and the second applies to object names. Object names for objects from the -a option are printed regardless of magnitude. For standard maps, some names are never printed. For centered maps, some names may or may not be printed, based on the screen width, to avoid collisions. -t: title to be printed above the map. If it is multiple lines, end each line but the last with \n. The font size defaults to 14. For a different size, begin the string with s(X) where X is the size. -v: view field circles to draw. This is for centered maps only. The items are colon separated. Each item starts with an angle, which is the diameter of the view field, optionally followed (comma separated) by the right ascension and declination of where the view field is to be centered, or an ID in the same format as for the -m option. If right ascension/declination and ID are not given, the view field will be centered where the map is centered. -z: right ascension and declination of the zenith; the horizon is drawn based on this. They are comma separated. This is for centered maps only. The parameters without operands are: -b: use black and white only in drawing the map. -e: print page edges (your paper should extend at least to there). -h: print this help message and exit. -n: show star number where the proper name would normally be. -q: quantize magnitudes to the nearest integer. -u: show magnitude times 10 where the proper name would normally be. -w: print on white background. -x: draw an X at the point the map is centered on (centered maps only).Here is an example showing R.A. 15 hours 23 minutes, declination minus 15 degrees 17 arcminutes, and screen width 35 degrees. The limiting magnitude is set to 6.5, and star names and letters are shown down to magnitude 6.
map -m 15h23m,-15o17,35o -l 6.5 -s 6The resulting map looks like this.
You can use whichever options you want, and let the others default to the values stated above. You can list them in any order. Normally, don't put any spaces in the option information, but if you need to, like in a name of something, put the information in "quotes". There needs to be space between options, except that Options with no information can be combined; like, instead of "-b -w" you can say "-bw".
The most important option is -m, because that tells it where to center the map and what the width in degrees should be. There are several ways to specify the place, as in the examples below. Note that right ascension can be given either in hours with optional minutes and seconds (using h, m, and s), or as a decimal number of hours. Similarly, declination and screen width can be in degrees with optional arcminutes and arcseconds (using o, ', and "), or as a decimal number of degrees. (Actually, for arcseconds, in Windows you should omit the " after the number, because the command window doesn't handle it correctly. You can always omit the character after the last number. For Linux you need to be careful of both the ' and " characters, quoting or backslashing them as needed so that the shell will take them literally.)
Examples of the -m option:
-m 3 (standard map number 3) -m 15h20,-17o30,40 (center at RA 19 hours 20 minutes, declination -17 degrees 30 minutes, with 40 degree width of field) -m 15.33,-17.51,40 (center at RA 15.33 hours, decl -17.51 degrees, width 40 degrees) -m canismajor,30 (center on Canis Major, 30 degrees wide) -m albireo,20 (center on Albireo, 20 degrees wide) -m betascorpii,25 (center on beta Scorpii, 25 degrees) -m bscorpii,25 (center on beta Scorpii [b stands for beta], 25 degrees) -m pi3orionis,25 (center on pi3 Orionis, 25 degrees) -m 18cygni (center on 18 Cygni; no width given, so it defaults to 60 degrees)Here are some other popular options:
Use -l to set the limiting magnitude for printing an object, and -s to set the limiting magnitude for showing its name or Bayer letter or Flamsteed number.
Use -a to provide additional objects to print, like planets etc. Example:
-a 14h15,9o17,6.9,Ceres:14h59,-3o17,5.8,VestaOr put this into a file in this folder (directory), using Notepad if you are in Windows. The file could be called example.txt and contain
14h15 9o17 6.9 Ceres 14h59 -3o17 5.8 Vestaand you would say
-a file=example.txtIn Linux you can give the -a option the output of the "runplanet" shell script (see here) by saying
-a $(runplanet)If you intend to print, you should use -w to get a white background, or else you'll be using a lot of ink. And if you don't have a color printer, use -b for black and white.
To show the horizon, use -z, giving it ra,decl of the zenith. The declination of the zenith is your latitude. Its RA is the hour angle of the vernal equinox. You can find that by running the celcoo program like this:
celcoo -R 0 -D 0 (and other options, like date and time)Or, in Linux, you can use the output of the "zenith" shell script (see here.)