How to convert horizontal coordinates using NOVAS?

How to convert horizontal coordinates using NOVAS?

We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

I'm using NOVAS 3.1. I know that I can convert equatorial coordinates to horizontal coordinates using theequ2horfunction.

Is it possible to make NOVAS do the inverse transformation: from horizontal to equatorial? There is nohor2equ, but maybe some other function implements this functionality?

This is the reply I got from the US Naval Observatory itself:

No, we do not have that transformation in NOVAS. Generally, altitude and azimuth are not determined to very high accuracy, so using them to obtain RA and Dec, which are much more precisely defined and measured, does not make a lot of sense.

Converting Coordinates: RA/dec to Altitude/Azimuth

Binocular observing of the night sky is done primarily by the Horizon Coordinate System (altitude and azimuth). However, sky atlases, catalogs, guide books, and online discussions use the Celestial Coordinate System (Right Angle and declination). Additionally, locating objects in light polluted skies can be a challenge when key constellation stars are not visible to the naked eye. Therefore, converting celestial coordinates to horizon coordinates can be quite useful.

First, the oldest and easiest tool for locating general celestial coordinates (RA and dec) along the observer's north-south meridian line in the night sky is still the handy planisphere, used with a field compass and wrist watch. My planisphere of choice is David Chandler's The Night Sky.

For those wanting an approach with detailed horizon coordinates away from the observer's north-south meridian line (e.g., NE, E, W, etc.), here are a few links to assist you in this task. Astronomy Magazine's Star Dome Plus

Celestial Coordinates I hope this helps you when you need to convert celestial coordinates (RA and dec) to horizon coordinates (altitude and azimuth).

#2 Andresin150

#3 BobinKy

Thank you for posting a reply to this thread. In the past, I have noticed questions from beginner observers about locating objects using the Horizon Coordinate System (altitude and azimuth). As you know, the traditional planisphere can locate general celestial coordinates (Right Angle and declination) along the observer's North-South Meridian Line.

However, planispheres are more tricky when you try to use them to find celestial coordinate positions away from the observer's North-South Meridian. That is where the links in my first post can be of assistance. Even in light-polluted skies, the coordinate conversions (when used with a regular field compass and watch) can tell you where to point your binoculars for specific objects.

Your reply is beneficial because I thought my thread may have been information everyone already knew (and that is why they did not reply) or forum participants were not interested in the information for other reasons.

Get Coordinates: New in 6.0.2

Many new features in Mathematica are manifested in new functions with definite names, but some are not so prominent. You might miss one of the new features that I implemented for Mathematica 6.0.2—but it&rsquos really useful, and so I thought I&rsquod write about it here.

Let&rsquos say you have a plot, or some other kind of graphic. You see something in the graphic—some special point—and you want to know where that is, what its (x, y) coordinates are.

In earlier versions of Mathematica, there were primitive ways to find this out. Now in Mathematica 6.0.2 there&rsquos a nice, clean, general way to do it.

Open the Drawing Tools palette (from the Graphics menu, or by typing CTRL-d or CTRL-t ). Choose the &ldquoGet Coordinates&rdquo tool at the upper right.

Now when you hover over a graphic, the graphical coordinates of the point are shown next to the cursor.

It&rsquos easy to use the tool to annotate the graphic with the coordinates of the point. Click the point—which will leave an orange dot marker in the graphic—then use the Copy command to put the coordinates of the point on the clipboard. Choose the Text tool from the Drawing Tools palette, click in the graphic where you want to add text and then paste the coordinates from the clipboard. Edit the text to remove the outer braces, draw an arrow from the text to the point and you&rsquore done.

You can mark any number of points in a graphic, and use the copied coordinates in calculations. Here is an aerial photo of the Pentagon in a coordinate system where one unit equals one foot.

I wanted to find the length of a side, so I used the Get Coordinates tool to mark two of the Pentagon&rsquos corners. I copied the coordinate values to the clipboard and then pasted them into a distance calculation:

Roughly 940 feet! That&rsquos enormous! How much area does this thing enclose? I marked all five corners, copied the coordinates to the clipboard and pasted them into the calculation of the area of a polygon:

Nearly 1.5 million square feet! What do they use to polish the floors? Zambonis?

You can mark more than just individual points with the Get Coordinates tool. To mark a series of points along a path, drag along the path. To mark a rectangular area, Alt + drag or Option + drag from one corner to the other. Here is an example of how I used Get Coordinates to indicate an area in an image and make an enlarged image of the area.

I grabbed a picture from ExampleData, a rich source of data very useful for performing tests and experiments. Using the Get Coordinates tool, I marked the rectangular area I wanted to zoom into, and copied the coordinates of the area to the clipboard.

Then I wanted to make two images, one showing the enlarged area in the context of the original image, and one showing the enlarged area itself. Both are easier than you might expect. To mark the original image, I used the Epilog option, pasting the copied coordinates into a Rectangle that indicates the enlarged area.

To make the enlarged image, I simply pasted the copied coordinates into a new PlotRange:

The usefulness of the Get Coordinates tool goes far beyond just marking points in graphics. That&rsquos because you can customize what is displayed in the tooltip via the CoordinatesToolOptions option. The suboption "DisplayFunction" specifies a function that is applied to the cursor coordinates to yield the contents of the tooltip. You can display any information that can be calculated from the cursor coordinates.

Here&rsquos an example where the raw cursor coordinates displayed by default are not very revealing. I made a plot of word frequencies in the Declaration of Independence. By default the Get Coordinates tooltip displays something like <30.18, 4.694>—not very helpful here. But I was able to use those coordinates to access the data from which the plot was made, and display in the tooltip the word graphed at the cursor position and its frequency. With that, I could easily explore the relative word frequencies represented in the plot.

Built-in plot functions like PolarPlot and LogPlot specify CoordinatesToolOptions in their outputs so that the Get Coordinates tool returns the coordinates you&rsquod expect: for PolarPlot, polar <r, θ> coordinates instead of the raw <x, y> Cartesian graphics coordinates.

As often happens with new Mathematica features, soon after the implementation of the Get Coordinates tool I discovered uses for it that I didn&rsquot anticipate. That isn&rsquot entirely coincidence: we strive to design in enough generality and flexibility in Mathematica features that that can happen.

Since Mathematica is so highly integrated, you can put any object into the Get Coordinates tooltip, including complex typeset structures and graphics. I used that capability to display in the tooltip a graph of the horizontal cross-section of a contour plot at the cursor position. It takes surprisingly little code to do so:

There are no doubt many more exotic uses for the new Get Coordinates tool. If you discover some good ones, let us know. And if you know of any good used Zambonis, I&rsquom sure the Pentagon would like to hear from you.

Accuracy and uncertainty

The following statement is from the release notes of NADCON Version 2.1, October 1993:

“The accuracy of the transformation should be viewed with some caution. At the 67 percent confidence level, this method introduces approximately 0.15 m uncertainty within the coterminous United States, 0.50 m uncertainty within Alaska, 0.20 m uncertainty within Hawaii, and 0.50 m uncertainty within Puerto Rico and the Virgin Islands. In areas of sparse geodetic data coverage, NADCON may yield less accurate results but seldom in excess of 1.0 m. Transformations between NAD83 and the States/Regions with High Accuracy Reference Networks (HARN) introduce approximately 0.05 m uncertainty. Transformations between old datums (NAD27, Old Hawaiian, Puerto Rico, etc.) and HARN could combine uncertainties (that is, NAD27 to HARN equals 0.15 m + 0.05 m = 0.20 m). In near offshore regions, results will be less accurate but seldom in excess of 5.0 m. Farther offshore, NAD27 was undefined. Therefore, the NADCON computed transformations are extrapolations and no accuracy can be stated.”


Prove that the celestial equator cuts the horizon at azimuth 90° and 270°,
at any latitude (except at the North and South Poles).

At what angle does the celestial equator cut the horizon, at latitude &phi ?

Draw "the" triangle again.
We require the azimuth A of point X,
where X is on the horizon (i.e. a=0)
and also on the equator (i.e. &delta=0)

Apply the cosine rule:
cos PX = cos PZ cos XZ + sin PZ sin XZ cos Z
to get 0 = 0 + sin (90-&phi) cos A
Since 90°-&phi is not 0 (we are not at the Poles),
cos A must be 0
so A = 90° or 270° .

At what angle does the celestial equator cut the horizon, at latitude &phi ?

How to convert horizontal coordinates using NOVAS? - Astronomy

Figure 3.4.1: Definition of direction cosines.

So the question now arises, how do we use $l$, $m$ and $n$ to uniquely identify a location on the celestial sphere? The direction cosine coordinate system (and the relationship between it and the celestial coordinate sytem) is depicted in Fig 3.4.2 ⤵ . Note that the $n$-axis points toward the field center (which is denoted by $oldsymbol_c$ in Fig 3.4.2 ⤵ ). It should be clear from Fig 3.4.2 ⤵ that we can use $mathbf = (l,m,n)$ to uniquely idnetify any location on the celestial sphere.

Figure 3.4.2: The source-celestial pole-field center triangle which enables us to derive the conversion equations between direction cosine and equatorial coordinates. The red plane represents the fundamental plane of the equatorial coordinate system, while the blue plane represents the fundamental plane of the direction cosine coordinate system. We are able to label the orthogonal fundamental axes of the direction cosine coordinate system $l$,$m$ and $n$, since the radius of the celestial sphere is equal to one.

We use the following equations to convert between the equatorial and direction cosine coordinate systems:

Converting between the equatorial and direction cosine coordinates (3.1)

egin l &=& sin heta sin psi = cos delta sin Delta alpha onumber m &=& sin heta cos psi = sin delta cos delta_0 - cos delta sin delta_0 cosDelta alpha onumber delta &=& sin^<-1>(mcos delta_0 + sin delta_0sqrt<1-l^2-m^2>) onumber alpha &=& alpha_0 + an^<-1>igg(frac-msindelta_0>igg) onumber end

We can obtain the conversion relations above by applying the spherical trigonemetric identities in $S$ 12.13 ➞ to the triangle depicted in Fig. Fig 3.4.2 ⤵ (the one formed by the source the field center and the NCP).

There is another important interpretation of direction cosine coordinates we should be cognisant of. If we project the direction cosine position vector $mathbf$ of a celestial body onto the $lm$-plane it's projected length will be equal to $sin heta$, where $ heta$ is the angular distance between your field center $mathbf_c$ and $mathbf$ measured along the surface of the celestial sphere. If $ heta$ is small we may use the small angle approximation, i.e. $sin heta approx heta$. The projected length of $mathbf$ is also equal to $sqrt$, implying that $l^2+m^2 approx heta^2$. We may therefore loosely interpret $sqrt$ as the angular distance measured between the source at $mathbf$ and the field-center $mathbf_c$ measured along the surface of the celestial sphere, i.e. we may measure $l$ and $m$ in $^$. The explenation above is graphically illustrated in Figure 3.4.3 ⤵ .

Figure 3.4.3: Why do we measure $l$ and $m$ in degrees?

Three interpretations of direction cosine coordinates

&bull **Direction cosines**: $l$,$m$ and $n$ are direction cosines

&bull **Cartesian coordinates**: $l$,$m$ and $n$ are Cartesian coordinates if we work on the unit sphere

&bull Angular distance: $sqrt$ denotes the angular distance $ heta$, $(l,m,n)$ is from the field center (if $ heta$ is sufficiently small).

Free Software to Convert UTM to Latitude Longitude in Bulk

Convert Latitude and Longitude to UTM coordinates is a free SAAS application. You need to login to to use this application.

How to Convert Lat Long to UTM?

Prerequisite: To convert LatLong to UTM coordinate system, you need to have LatLong data in Decimal degree and save it in CSV file format as shown below

1. Click on Login button enter your credentials to login

2. Once login to website, click on LatLong to UTM Conversion menu under Modules Main Menu

3. Click on Browse button to select LatLong CSV file

4. Then select Map Datum to conversion

5. Click on Convert to UTM button

6. Then converted Data will be downloaded in Download folder as UTM.xlsx file

7. Output Excel will have converted Data as shown below format

Visit and Create your Free Account Now.

  1. Cartesian coordinate system (CCS)
  2. Geographic Coordinate Systems
  3. Geographic Directions
  4. Latitude
  5. Meridian
  6. Prime Meridian
  7. Longitude
  8. Geodetic Height
  9. Ellipsoid
  10. Map
  11. Map Datum
  12. Map projection
  13. Universal Transverse Mercator coordinate system
  14. UTM Zone

Cartesian coordinate system

Geographical coordinate System (Global Coordinate Systems) (i.e., Latitude and Longitude values, in degrees)

Geographic Directions

North: Direction toward the North Pole.

South: Direction toward the South Pole. East: The direction parallel to the Equator and toward which the Earth's rotation is
West: The direction opposite to the Earth's rotation is West.

Geographic Coordinates

Cartesian coordinates is a point defined by x and y (a pair of numbers) in a plane. Similarly, any point on the earth can be defined with a pair of numbers which are called geographic coordinates (latitude, Longitude) assuming that Earth is Sphere. These coordinates values are measured in degrees, and represent angular distances calculated from the center of the Earth.
Latitude and Longitude are the angles measuring North to South and East to West.
The Equator and Prime Meridian are the reference planes used to define latitude and longitude.




Prime Meridian



Latitude Measurement

Longitude Measurement

Minutes and Seconds of Arc

Geodetic Height


Map Datum

Map projection

Universal Transverse Mercator coordinate system

UTM Zone

The UTM system is not a single map projection. UTM divides the Earth into sixty zones, each a six-degree band of longitude, and uses a secant transverse Mercator projection in each zone.


Move over, Carl Sagan! Even if you can't say ''billions'' with a plosive ''b,'' you can still pick out those bits of star stuff from the rest of the cosmos. All you need to find your way around the night sky is a clear view, your ST and the aSTronomer, a universe-mapping program you'll find on your START disk.

File ASTRO.ARC on your START disk

As an amateur astronomer, the last thing I want to do before an evening of observing is to leaf through an astronomical magazine or almanac, searching for planetary positions, star maps, and other such items. I also don't care to spend five hours wading through massive spherical trigonometry formulas to get the information I want. Wouldn't it be easier, I thought, just to run a program on my ST, enter the current date and time, and in a matter of minutes have star maps and printouts of planetary positions? This is how the aSTronomer was born.

The astronomer is an easy-to-use GEM-based program written in Personal Pascal. I chose Personal Pascal because of its extensive support of GEM, and wrote the program with the user in mind. All keyboard input is done using dialog boxes, which helps eliminate inadvertent errors (such as entering a string when an integer is asked for), and all questions the program asks are answered with alert boxes. All program output can be sent to either the screen or the printer (which you can configure from a menu option). The program also works in both medium and high resolutions.

The aSTronomer can do many things that an amateur astronomer will find useful, and things that a beginner will find educational. With a few clicks of the mouse you can:

    select the latitude and longitude of your observing site anywhere on the Earth


The science of astronomy is an ancient one. Since earliest times, man has wondered about the twinkling lights in the sky--why some of them moved as others remained stationary, why the Moon appeared to grow and shrink in size each month, and why the Sun seemed to disappear occasionally, swallowed by a blackened disk with a shimmering halo in an eclipse. Ancient civilizations began to record such celestial events in calendars, and began formulating ideas about how the universe was structured. One noted Greek astronomer, Hipparchus, mapped the constellations and estimated the brightness of the stars another, Ptolemy, devised the Earth-centered view of the universe where everything, including the Sun, planets and stars revolved about the Earth.

The ideas of the early Greeks stayed with us for nearly two thousand years until the Renaissance, when Copernicus, Kepler and Galileo gave us a more accurate understanding of how the universe is structured. Since then, discoveries such as the planets Uranus, Neptune, and Pluto, the rings about Uranus and Jupiter, the explorations of the planets and the Moon by both U.S. and Soviet probes, and the periodic hype surrounding Halley's Comet have kept astronomy in the public's eye, and powerful radio-telescopes constantly scan the skies for new discoveries. But even after thousands of years there's still plenty for an ordinary person to see!

Many people living in large cities have never really taken the time to appreciate the beauty of the night sky. For most of them, a simple trip to the country with a pair of binoculars (or even just the naked eye) is enough to open the grandeur of space for them. With an Atari ST computer, the aSTronomer should help you see ahead of time what celestial items of interest are worth looking for, and to continue the fascination with the night sky that has been with us since man first appeared on Earth.


First, a few terms and facts.

What's up there? You've seen the Sun and the Moon only a little more difficult to spot are the planets. The planets look like stars, but they seem to move slowly around the sky from week to week--and they don't twinkle as the stars do. The planets Mercury and Venus are known as either "morning stars" or "evening stars" they seem to stay close to the Sun, and are usually the first or last objects you'll see in the night sky (more often Venus than Mercury, since Venus is far brighter). Jupiter usually dominates the night sky, because it is also a very bright planet. Saturn is a visual feast because of its rings--you can see them easily with all but the smallest telescopes! Mars is occasionally bright enough to be dominant in the night sky and presents many interesting views (though, contrary to tradition, there are no canals or Martians to speak of!). The other planets in the Solar System are usually too faint to be seen easily by beginning astronomers.

Also in our Solar System are comets and meteors. Comets are "dirty snowballs," as Halley's Comet was so affectionately described: large balls of dust, ice and gasses, which hurtle toward the sun and then fly back out to deep space on a regular cycle. (There are a few comets, such as Encke, which have orbits similar to the planets.)

Meteors are usually called "shooting stars," and can be seen on practically every night of the year as bright streaks of light. On certain nights of the year, tens or even hundreds of meteors may be seen per hour at night. These displays are called "meteor showers" they happen when the Earth passes through clouds of dust and debris left behind by the passage of comets. An excellent shower for the northern hemisphere occurs each year around August 11. Called the Perseids, since the meteors radiate outward from the constellation Perseus, this shower can produce up to 60 meteors per hour if you watch it in a dark site out in the country. Meteors are easy to watch, since all you need is a lawn chair and a blanket to keep warm!

Occasionally, if you live far enough north or south of the equator, you may be able to catch aurorae (northern or southern lights). Unfortunately, these are not easy to predict, since they depend on magnetic activity in the Sun.

Finally, there are the stars. With binoculars, thousands of extra stars are visible, and in a clear sky the Milky Way is especially breathtaking to scan with binoculars. If you look closely enough, lots of stars that seem to be single to the naked eye turn out to be double or triple (an example of this is the second star in the handle of the Big Dipper, a double known as Mizar and Alcor). With a larger telescope, it's easy to study nebulas and galaxies. It becomes apparent. with just a sweep of the sky with a pair of binoculars, that there is much more to the sky than twinkling stars--that there's literally a whole universe just waiting to be examined by those who will take the time.


Before we get into the program, a little astronomical jargon. First, you can specify where stars are either by their altitude and azimuth or by their right ascension and declination.

The altitude is the angle above the horizon. At the horizon, the altitude is zero halfway up, the altitude is 45 degrees directly overhead, the altitude is 90 degrees. The azimuth is the compass direction--zero degrees is north, 90 degrees is east, 180 degrees is south, and 270 degrees is west.

A handy rule of thumb is that a clenched fist held out at arm's length is about ten degrees across. Thus if (at a particular time) Venus is at 20 degrees altitude, 260 degrees azimuth, you would face almost due west and look for Venus about two fists up from the horizon.

Another system is equatorial coordinates, using declination and right ascension. To get an idea of how they work, imagine that the sky and the earth are giant concentric globes, both turning on the same axis. Just like the earth, the sky has an equator, a north pole and a south pole. It also has latitude lines running parallel to the equator, and longitude lines running from pole to pole.

The latitude lines are called declination (abbreviated Dec.). Like regular latitude, it's the angular distance from the equator--up to 90 degrees north or south. Zero degrees declination is directly above the equator, while 90 degrees north is directly above the north pole, and 90 degrees south is above the south pole.

The longitude lines are called right ascension (abbreviated R.A.). Instead of being measured in degrees, it's measured in hours, minutes and seconds the distance all the way around the "globe" of the sky is exactly 24 hours, and the zero point is located in the constellation Pisces.

Equatorial coordinates are used mainly for plotting star maps. The aSTronomer's Star Atlas menu option lets you choose a right ascension and declination to see what objects are in any section of the sky.

Astronomy also has two ways of keeping track of time: Universal time and Sidereal time. Universal time (abbreviated UT) is just Greenwich Mean Time--the current time at the observatory at Greenwich, England. By quoting times in one known time zone, it's easy to convert times for other locations. For instance, Eastern Standard Time is five hours earlier than UT thus 7 PM. EST is midnight UT.

Sidereal time, or "star time," is just the right ascension of whatever star is directly overhead. Remember, depending where you are, a different set of stars will be directly overhead at any given time, so sidereal time is not an efficient way of reporting astronomical events, it's usually used for orienting large telescopes to locate particular stars.

This isn't a complete introduction to astronomical terms, but it should make a little easier for you to use the aSTronomer Now, on to the program!


To run the aSTronomer, first un-ARC the files in ASTRO.ARC. Then create a new folder named ASTRONOM.Y, and copy HELP.DOC and the six .DAT files into the folder. Finally, double-click on ASTRONMY.PRG, and you're ready to go.

The first time you run the program, just try this: Under the Location menu set the location to your own latitude and longitude, and with the Clock menu set the date and time (remember, it's in Universal time). Now choose Sky Plot from the Almanac menu, and your ST will plot a view of the sky on your screen. By pressing Alt-Help, you can print the map on your printer.

That may be all you'll ever need the aSTronomer for--but there's more information in the other menu options . You can explore the program by moving the mouse across the menu bar, and as you do, you'll learn a lot more about astronomy, too.

A typical Horizon Map


the aSTronomer--show program information

Print Out--toggle printer output for Solar System table of values
Set Printer--select printer for screen dumps
White Screen--toggle white-on-black or black-on-white star maps
Help File--get on-line help
Quit--return to Desktop

Latitude--enter latitude in degrees, minutes and seconds North or South
Longitude--enter longitude in degrees, minutes and seconds East or West

Date--set date
Time (UT)--set time in Universal time

Solar System--calculate table of positions for solar system
Sky Plot--plot star map as Horizon Map, Zenith Map, or Star Atlas

Most of the options are straightforward. Remember that you must set the time to UT, not your local time. In New York, add five hours to your local time in Chicago, add six hours in Denver, add seven hours in San Francisco, add eight hours and in Saudi Arabia, subtract four hours.

The Sky Plots may take a minute or more because so much data must be manipulated. There are three different versions: Horizon Map, Zenith Map, and Star Atlas.

The Horizon Map lets you choose a direction to look (the azimuth) and then displays the sky as it appears from the horizon up to 60 degrees altitude. The Horizon Map also superimposes the positions of the planets, comets, Sun and Moon on the star map.

The Zenith Map shows the entire sky at once (this is the type of map that's published in newspaper astronomy columns). If you use black stars on a white screen, its easy to print out the Zenith Map using Alt-Help. It's one of the easiest ways to get a star chart to compare with what you see in the sky.

Finally, the Star Atlas is a highly detailed star map. Unlike the Horizon and Zenith maps, the Star Atlas just gives you one section of the sky, which you specify by right ascension and declination. The sample coordinates will create a star plot of the constellation Orion and the area around it.

The constellation Orion from the Star Atlas

That's how to use the aSTronomer. As I said before, it's fun to experiment you can see the results of plots made an hour apart, or a day apart, or a month apart. With this program, it's extraordinarily easy to create a map of exactly the night sky you want to look at.


The formulas used in this program are standard astronomical and spherical trigonometry. For those interested in learning more about the formulas used, consult books such as Practical Astronomy with Your Calculator, by Peter Duffett-Smith (Cambridge University press, 1979), or The Observer's Handbook (University of Toronto Press, yearly).

Since Personal Pascal doesn't have any built in functions to convert from numbers to strings and vice versa, I had to devise my own. The more useful of the two functions turned out to be Val (Snumber: string): real, which converted the string Snumber into a real number. This was needed since the data returned by dialog boxes are in string format, and I needed a way to convert those strings to numerical data. Also, all the data in the files in the ASTRONOM.Y folder are in text format, I needed a way to convert them from text to real number format.

The other useful procedure was my version of the C function itoa( ), itoa (x: integer var s: string), which converts an integer (positive or negative) into a string of length up to six. I needed this to convert the system date and time into strings for the date and time dialog box defaults and for the table of Solar System data.

Other features include the use of BIOS, XBIOS and GEMDOS calls directly in the Personal Pascal code. This allowed such things as accessing the system date and time, getting the resolution of the screen, setting the printer port and getting single key input. Also, the built in VT-52 emulator in the Atari ST computer came in handy for the PrintAt (x,y: integer) procedure, which was used to place the cursor at an (x,y) position on the screen.

For the plotting routines (in the Sky Plot section), the Horizon Map plotting routine is quite simple to understand. The horizontal azimuth coordinates are compared to the limits of the horizon to be plotted, and the altitude coordinates are checked to see that they are between 0 and 60 degrees. It is then a straight translation of those coordinates into (x,y) plotting coordinates.

The Zenith Plot is slightly more complicated. It takes the horizontal coordinates from the star database called CONST.DAT It then converts those coordinates (which are, in mathematics, just polar coordinates) into Cartesian coordinates, which are easy to scale to the screen resolutions.

The Star Atlas was by far the hardest to accomplish. It involves taking the equatorial coordinates of the large star databases (called S_RA.DAT, S_ DEC.DAT and S_MAG.DAT) and converting those spherical coordinates into three-dimensional Cartesian coordinates (x,y,z). These coordinates are first rotated in the (x,y) plane by an angle equal to twelve hours right ascension minus the right ascension of the window center. Then the coordinates are rotated in the (x,z) plane by an angle equal to the declination of the window center.

The three dimensional coordinates are then reconverted back to right ascension and declination (equatorial coordinates), and a simple conversion routine plots the stars onto the screen without distortion. The rotations must be performed otherwise you get an unacceptable amount of distortion as you plot closer and closer to the north and south celestial poles. (It's like the distortion you find on a Mercator map of the world, which always shows Greenland much larger than Australia, whereas the opposite is true.) The rotations make it possible to plot the sky as if it were centered about 12 hours right ascension, 0 degrees declination, which can be plotted easily without distortion.

For these rotations, all angles are calculated before entering the loop that goes through the entire star database, and thus speeds up plotting. Unfortunately, since rotations invariably use trigonometry functions (sines and cosines), plotting slows down, but not tremendously. The stars are plotted in relation to their brightness (that is, the brighter the star, the larger the dot that is plotted). This is done by comparing the magnitude of the star from the large star database.


The PLANETS.DAT file is a sequential data file consisting of the orbital elements of each of the planets in the Solar System. Each planet has an entry which is structured as follows: name, period of revolution (years), longitude at the start of 1980 (degrees), longitude of closest approach (degrees), eccentricity of the orbit, semi-major axis of the orbit (astronomical units), inclination of the orbit (degrees), longitude of the ascending node (degrees), angular size at one astronomical unit (arc seconds), and a brightness factor. A good astronomical manual can further explain each of the above orbital elements.

The COMETS.DAT file is also a sequential data file with the following structure: name, year of closest approach, longitude of closest approach (radians), longitude of ascending node (radians), period in years, semi-major axis (astronomical units), eccentricity of orbit, and the inclination of the orbit (radians). The cometary data is, unfortunately, very prone to obsolescence, since the larger planets, Jupiter and Saturn, have enough gravitational pull to change the orbital elements from time to time. If the data does change, then I will make every effort to get a new data file out to replace the old one.

The CONST.DAT file holds the values for the right ascension and declination of over 150 of the brightest stars, which are used by the Horizon Plot and Zenith Plot menu options. The format for this file is: right ascension (in hours), and declination (in degrees).

The file S_RA.DAT is another sequential file which contains only the right ascensions of over 1500 stars. The format for each entry is HHMM.M, which means that the first two characters are hours, the next two are minutes and the final is a fraction of a minute. Thus, if an entry is 01588, the right ascension of that star is one hour, fifty-eight point eight minutes.

The S_DE.DAT file, which contains declinations, is set up much the same way. Each of the star entries have a format of SDDMM, where S is the sign of the declination (either positive for north or negative for south), DD for the degrees, and MM for the minutes of arc.

Finally, the S_MAG.DAT file contains the magnitudes or brightnesses of each of the over 1500 stars. Each of the entries just consists of a number, positive or negative, corresponding to the magnitude of that star. The smaller the number, the brighter the star.

The HELP.DOC file is simply an ASCII text file.


If the aSTronomer increases your interest in astronomy, just go to your nearest library and read up on mankind's oldest, and still perhaps most interesting, science. I hope that amateur astronomers will find the data generated by this program an excellent supplement to their studies, and that beginning astronomers, and people with no previous interest in astronomy, will be able to pick up new information and gain an appreciation of the starry heavens.

How to convert horizontal coordinates using NOVAS? - Astronomy

The hydrographic survey equipment was mounted in the cabin of a 24-foot tri-hull aluminum vessel equipped with twin inboard motors. The hydrographic system contained on the survey vessel consisted of a GPS (global positioning system) receiver with a built-in radio and an omnidirectional antenna, a dual frequency depth sounder, a helmsman display for navigation, a plotter, a computer, and hydrographic system software for collecting the underwater data. Power to the equipment was supplied by an on-board generator.

The shore equipment included a second GPS receiver with a built-in radio and an omnidirectional antenna. The GPS receiver and antenna were mounted on a survey tripod over a known datum point. A radio booster was used for this survey because of the massive area of the Sea. The power for the shore units was provided by two 12-volt batteries. Depending on conditions, the radio data link between the two GPS units ranged from 10 to 15 miles. To obtain the maximum radio transmission range, known datum points near the Sea and high above the water surface were selected.

GPS Technology and Equipment

The positioning system used at the Salton Sea was NAVSTAR (NAVigation Satellite Timing and Ranging) GPS, an all weather, radio based, satellite navigation system that enables users to accurately determine three-dimensional position. The NAVSTAR system's primary mission is to provide passive global positioning and navigation for land, air, and sea based strategic and tactical forces and is operated and maintained by the DOD (Department of Defense). The GPS receiver measures distances between satellites and itself and determines the receiver's position from intersections of the multiple range vectors. Distances are determined by accurately measuring the time a signal pulse takes to travel from the satellite to the receiver.

The NAVSTAR system consists of three segments:

  • The space segment is a network of 24 satellites that are maintained in precise orbits, about 10,900 nautical miles above the earth, each completing an orbit every 12 hours.
  • The ground control segment tracks the satellites, determining their precise orbits. Periodically, the ground control transmits correction and other system data to all the satellites, which is then retransmitted to the user segment.
  • The user segment is the GPS receivers, which measure the broadcasts from the satellites and calculate the position of the receiver.

The GPS receivers use the satellites as reference points for triangulating their position on earth. The position is calculated from distance measurements to the satellites that are determined by how long a radio signal takes to reach the receiver from the satellite. To calculate the receiver's position on earth, the satellite distance and the satellite's position in space are needed. The satellites transmit signals to the GPS receivers for distance measurements along with the data messages about their exact orbital location and operational status. The satellites transmit two "L" band frequencies for the distance measurement signals called L1 and L2. A minimum of four satellite observations are required to mathematically solve for the four unknown receiver parameters (latitude, longitude, altitude, and time). The time unknown is caused by the clock error between the expensive satellite atomic clocks and the imperfect clocks in the GPS receivers. For hydrographic surveying the altitude, the Salton Sea water surface elevation parameter was known, which realistically meant only three satellite observations were needed to track the survey vessel. During the Salton Sea survey, a minimum of five satellites were used for position calculations, but the majority of the time, the best six available satellites were used.

The GPS receiver's absolute position is not as accurate as it appears in theory because of the function of range measurement precision and geometric position of the satellites. Precision is affected by several factorsótime, because of the clock differences, and atmospheric delays caused by the effect on the radio signal by the ionosphere. GDOP (geometric dilution of precision) describes the geometrical uncertainty and is a function of the relative geometry of the satellites and the user. Generally, the closer together in angle two satellites are from the receiver, the greater the GDOP. GDOP is broken into components: PDOP is position dilution of precision ( x , y , z ), and HDOP is horizontal dilution of precision ( x , y ). The components are based only on the geometry of the satellites. The PDOP and HDOP were monitored during the Salton Sea Survey, and for the majority of the time, they were less than 3, which is well within the acceptable limits of horizontal accuracy for Class 1 and 2 level surveys.

An additional and larger error source of GPS collection is caused by false signal projection, called S/A (selective availability). The DOD implements S/A to discourage the use of the satellite system as a guidance tool by hostile forces. Positions determined by a single receiver when S/A is active can have errors of up to 100 meters.

A method to resolve or cancel GPS errors (satellite position or S/A, clock differences, atmospheric delay, etc.) is called DGPS (differential GPS). DGPS was used during this survey to determine positions of the moving survey vessel in real time. DGPS determines the relative position of one receiver to another and can increase position accuracies by eliminating or minimizing uncertainties. Differential positioning is not concerned with the absolute position of each unit but with the relative difference between the positions of the two units, which are simultaneously observing the same satellites. Inherent errors are mostly canceled because satellite transmission is essentially the same at both receivers.

At a known geographical benchmark, one GPS receiver is programmed with the known coordinates and stationed over the geographical benchmark. This receiver, known as the master or reference unit, remains over the known benchmark, monitors the movement of the satellites, and calculates its apparent geographical position by direct reception from the satellites. The inherent errors in the satellite position are determined relative to the master receiver's programmed position and the necessary corrections or differences are transmitted to the mobile GPS receiver on the survey vessel. For the Salton Sea Survey, position corrections were determined by the master receiver and transmitted via a UHF radio link every 3 seconds to the survey vessel mobile receiver. The survey vessel's GPS receiver used the corrections along with the satellite information it received to determine the vessel's differential location. Using DGPS resulted in positional accuracies of 1 to 2 meters for the moving vessel compared to positional accuracies of 100 meters with a single receiver.

The TSC (Technical Service Center) mobile and reference GPS units are identical in construction and consist of a 6-channel L1 C/A code continuous parallel tracking receiver, an internal modem, and a UHF radio transceiver. The differential corrections from the reference station to the mobile station are transmitted using the industry standard RTCM (Radio Technical Commission for Maritime Services) message protocol via the UHF radio link. The programming to the mobile or reference GPS unit is accomplished by entering necessary information via a notebook computer. The TSC's GPS system has the capability of establishing or confirming the land base control points by using notebook computers for logging data and post-processing software. The GPS collection system has the capability of collecting the data in 1927 or 1983 NAD (North American Datums) in the surveyed area's state plane coordinate system's zone, which for the Salton Sea was California Zone 6.

Survey Method and Equipment

The Salton Sea hydrographic survey collection took a total of 22 days, starting on November 4, 1994, and concluding on February 3, 1995. During this time the water surface elevations of the Sea ranged from 227.8 to 227.2 feet below sea level. The bathymetric survey was run using sonic depth recording equipment interfaced with a DGPS capable of determining sounding locations within the Sea. The survey system software was capable of recording depths and horizontal coordinates on 1-second increments as the survey boat moved along the predetermined gridlines or transects covering the Salton Sea. Because of the constant sloping underwater terrain of the Salton Sea, the data were recorded every 2 to 3 seconds the average width between the transects was 2000 feet. The majority of the transects were run in a mostly east-west direction. Data were also collected along the shore as the boat traversed to the next transect. Transects were also run in a mostly north-south direction to provide additional data for complete contour development. The survey vessel's guidance system gave directions to the boat operator to assist in maintaining course along these predetermined gridlines. During each run, the depth and position data were recorded on the notebook computer hard drive for subsequent processing by TSC personnel. The underwater data set includes about 133,400 data points. A graph plotter was used in the field to track the boat and ensure adequate coverage during the collection process. Water surface elevations recorded by the USGS gage (near Westmorland, California) during the time of collection were used to convert the sonic depth measurements to true lake bottom elevations. Little to no wind occurred during the majority of the underwater collection, and the Sea's water surface was very calm.

The hydrographic survey crew used benchmarks as control points for shore station sites that were previously established and verified by other Federal, State, and county agencies. The hydrographic survey crew obtained additional verification by performing a static survey using the GPS receivers. Because of the size of the Sea, four master shore station locations were used for relaying correction information to the survey vessel (DGPS). Shore unit locations were Desert Shores, the Navy Base, and Travertine Rock on the west shore of the Sea and at Red Island on the south shore of the Sea. These points were selected because they had known coordinates, were accessible, were located near the Sea, and were high above the water surface. These locations allowed for good radio transmission range from the known reference survey points to the mobile survey vessel. For this survey, range varied from 10 to 15 miles between the reference and mobile GPS units. At times, the signal between the reference and mobile receivers was broken thus, the mobile GPS receiver did not receive position corrections (DGPS). Trouble shooting determined the problem was a faulty antenna at the master GPS unit. During post processing of the collected data, all points without differential correction were removed.

The TSC's depth sounder is a dual frequency sounder with 41- and 208-kilohertz transducers available. The depth sounder determines the bottom by measuring the elapsed time between the transmission of the sound pulse from the transducer to the waterway bottom and the reception of its echo back to the transducer. The dual frequencies can be operated alone or simultaneously. The high frequency reflects off the first bottom surface and the low frequency penetrates and perhaps traces the harder sub-bottom information. After consulting with the manufacturer, it was determined that a 24-kilohertz low frequency transducer would have the best success in penetrating and tracing the harder sub-bottom. Because this information was of interest to the study team, a lease of the 24-kilohertz equipment was obtained. The collection with the 24-kilohertz equipment was conducted in areas of concern in the southern and northern portions of the Sea where soft bottom conditions were expected. Results of this collection yielded little evidence of soft bottom conditions, but no general conclusions can be made from this information because this was the first extensive use of this equipment by the TSC operator.

Periodically, the depth sounder was calibrated by lowering a deflector plate below the boat by cables with known depths marked by beads. The depth sounder was calibrated by adjusting the speed of sound, which can vary with density, salinity, temperature, turbidity, and other conditions. The accuracy of an instantaneous reading from the depth finder is estimated to be ۪.5 feet, but errors are minimized over the entire survey. The estimated accuracy takes into consideration calibration error and the collection of depth data when the boat is moving. The collected data were digitally transmitted to the computer collection system via an RS-232 port. The TSC collection system only allows one of the frequencies at a time to be stored by the computer. The high frequency data were recorded for the Salton Sea Survey. The depth sounder also produces an analog hard copy chart of the measured depths. These graphed analog charts were printed for all survey lines as the data were collected and recorded by the computer. The charts were analyzed during post processing, and when the analog charted depths indicated a difference from the recorded computer bottom depths, the computer data files were modified.

Drawing the analemma with Julia

You may know that if you check the position of the Sun every day in the same place at the same time (accounting for daylight saving time if necessary), you’ll find that it slightly moves. This is a combination of the tilt of the Earth’s axis and the Earth’s orbital eccentricity. The path traced out by the position in the sky of the Sun during its wandering is called analemma.

Afternoon analemma taken in 1998–99 by Jack Fishburn in Murray Hill, New Jersey, USA. Image credit: Jfishburn, Wikimedia Commons, GFDL 1.2+ and CC-BY-SA 3.0.

We can use Julia to plot the analemma. In particular, we’ll employ AstroLib.jl to do the needed calculations. Throughout this post I’ll assume you have installed the latest stable version of Julia and the necessary packages with the built-in package manager.

What we want to do is to determine the position of the Sun for a specific time every day in a year, say at noon for the whole 2018. This is the recipe:

  1. compute the Julian dates of all the wanted times
  2. calculate the equatorial coordinates for the given Julian dates
  3. convert the equatorial coordinates to horizontal coordinates in the desired place. For example, we choose Heidelberg, in Germany, which has coordinates 49°25′N 08°43′E and elevation of 114 m.

The trickiest part is to get the right Julian dates. The jdcnv function in AstroLib.jl assumes that times are given in UTC standard, but Heidelberg is one hour ahead of Greenwich. In order to work around this issue we can use the TimeZones.zdt2julian provided by the TimeZones.jl package which takes care of the time zones. In addition, Germany adopts daylight saving time from March to October, thus noon on May 15th is not actually the same time of day as noon on November 7th. However, noon on January 1st is the same time of day as noon on December 31st, so we can create a range between these two times with step one (Julian) day.

We have used sunpos to get the position of the Sun in equatorial coordinates and converted them with eq2hor to horizontal coordinates, specifying the coordinates of Heidelberg. The broadcast version of this function returns an array of 2-tuples, being the first element the altitude of the Sun and the second element its azimuth. We’ve used getindex.(altaz, i) to obtain the arrays with the i -th elements of the tuples. Now we can draw the analemma. I recommend using the Plots.jl package, which provides a single interface to several different back-ends (GR, PyPlot, PGFPlots, etc…).

You can check with the JPL HORIZONS System that this is accurate within a few arcminutes.