Home Definition CMEX Mars Legal & Licensing Contact
NAC Geographic Products Inc. The Natural Area Coding System International NAC Society, Inc.

The Lunar Area Coding System


Abstract

The Lunar Area Coding SystemTM is a new system to standardize and integrate geographic coordinates, geographic area codes, map grids, and addresses on Moon. The system employs revolutionary approaches:
  1. It has unified the concepts of geodetic points, line sections, areas, and three-dimensional regions.

  2. It employs the 30 most popular characters in the world instead of ten digits and makes full use of these characters to produce the most efficient representations;

  3. It creates one standard representation for all locations, 2D areas and 3D space blocks on Moon.

These approaches make the Lunar Area Coding SystemTM superior over longitude/latitude coordinates. A set of coordinates of the system is called a Lunar Area Code (LAC) that can represent a point, a line section, an area or a 3D block simultaneously. When representing a geodetic point to the same resolution, it requires only half of the number of characters as required by a longitude/latitude. Using LAC to represent line sections, rectangles or three-dimensional regions can save even more in required characters compared with other systems.

Description

The Lunar Area Coding System is a geodetic system with its origin at the Moon gravity center and axis extending to the infinitely distant universe. It employs a character set consisting of digits 0 to 9 and all English capital consonants since these characters are the most popular characters widely used in natural languages such as English, French, Spanish, German, Chinese, and all categories of science and engineering. Each character in the character set represents an integer ranging from 0 to 29, as shown in the following table:

  Table of the LAC Character and Integer Correspondences 
===========================================================
||Character|Integer||Character|Integer||Character|Integer|| 
||---------|-------||---------|-------||---------|-------||
||   0     |   0   ||    B    |  10   ||    N    |   20  || 
||   1     |   1   ||    C    |  11   ||    P    |   21  || 
||   2     |   2   ||    D    |  12   ||    Q    |   22  || 
||   3     |   3   ||    F    |  13   ||    R    |   23  || 
||   4     |   4   ||    G    |  14   ||    S    |   24  || 
||   5     |   5   ||    H    |  15   ||    T    |   25  || 
||   6     |   6   ||    J    |  16   ||    V    |   26  || 
||   7     |   7   ||    K    |  17   ||    W    |   27  || 
||   8     |   8   ||    L    |  18   ||    X    |   28  || 
||   9     |   9   ||    M    |  19   ||    Z    |   29  ||
===========================================================

A Lunar Area Code (LAC) consists of three character strings separated by blank spaces. The first character string represents longitude, the second string represents latitude, and the third string represents altitude. The system divides the whole range of longitude (0 - 360 degrees), latitude (0 - 180 degrees) and altitude (from the Moon center to the infinite outer space) into 30 discrete divisions respectively, each of which is named by one character from the character set according to the order of the characters. And each resulting division is divided into 30 subdivisions, and each of the subdivisions is named by one character. The division process can continue to the third , fourth, and other levels. The resulting divisions in three dimensions form many regions called LAC blocks. Therefore, a first level LAC block can be represented by a LAC of three characters separated by blank spaces, each of which represents the character string for longitude, latitude and altitude respectively, for example, LAC: 5 6 7. A second level LAC block can be represented by a LAC of six characters to form three character strings: the first two characters form the longitudinal string, the third and fourth characters form the latitudinal string, and the last two characters form the altitudinal string. A blank space is placed between these strings, for example, LAC: JB KH LN represents a LAC block at the second level, in which the characters J, K and L represent coordinates of a first level LAC block which contains the second level LAC block, and the characters B, H and N are the relative coordinates of the second level LAC block in the first level LAC block. A region formed by sides at different division levels is called a LAC region and can be represented by a single LAC too. Any three LAC character strings can form a LAC which represents a completely defined region in the universe.

If the third string of a LAC is omitted, the resulting LAC represents an area on the Moon surface, called a LAC area if the number of characters in the two coordinate strings are different, and called a LAC cell if the number of characters in the two coordinate strings are the same. Any two LAC character strings can form a LAC representing a completely defined area on Moon. When the sides are very different in length, a rectangular area will turn out to be a line section automatically. When the sides are relative small, a rectangular area will become a geodetic point.

Therefore, a LAC can represent a geodetic point anywhere in the universe, a line section of constant longitude or constant latitude on Moon, an area bounded by constant longitude and constant latitude anywhere on Moon and a three-dimensional region bounded by constant longitude, constant latitude and constant altitude anywhere in the universe.

The Correlations between the Lunar Area Coding System and the longitude/latitude/altitude coordinates of Moon

From (Longitude, Latitude, Altitude) to LAC

The LAC of a region that contains a geodetic point expressed by the longitude, latitude and altitude coordinates can be determined by the following algorithm:

	LONG = (Longitude + 180)/360
	x1 = Integer part of(   LONG*30)
	x2 = Integer part of((  LONG*30-x1)*30)
	x3 = Integer part of((( LONG*30-x1)*30-x2)*30)
	x4 = Integer part of((((LONG*30-x1)*30-x2)*30-x3)*30)
     ...

	LAT =  (Latitude + 90)/180
	y1 = Integer part of(   LAT*30 )
	y2 = Integer part of((  LAT*30-y1)*30)
	y3 = Integer part of((( LAT*30-y1)*30-y2)*30)
	y4 = Integer part of((((LAT*30-y1)*30-y2)*30-y3)*30)
     ...

	ALT = Arctan(Altitude/R)/90
	z1 = Integer part of(   ALT*30)
	z2 = Integer part of((  ALT*30-z1)*30)
	z3 = Integer part of((( ALT*30-z1)*30-z2)*30)
	z4 = Integer part of((((ALT*30-z1)*30-z2)*30-z3)*30)
     ...

where Longitude is positive in the eastern hemisphere but negative in the western; Latitude is positive in the northern hemisphere but negative in the southern; both Longitude and Latitude are in degrees plus decimals; Altitude is measured along the gravitational force line from the center of the geoid of Moon in kilometers; the symbol * is the multiplication sign; x1, x2, x3, x4, ..., y1, y2, y3, y4, ..., z1, z2, z3, z4, ... are integers ranging from 0 to 29 here; Arctan( ) is the arctangent function with value in degrees; R is in km the distance from the Moon center along the gravitational force line to the geoid surface and can be approximated by the Moon radius at the location:





	R = sqrt[b^2+(a^2-b^2)/(1+b^2/a^2*tan^2(Latitude))]
or more accurately the distance from the gravitation center to the geoid surface along a parabola passing the gravitation center and perpendicular to the geoid surface:
	C1 = [1 - 2*(1 - b^2/a^2)]*tan(Latitude)
	C2 = (1-b^2/a^2)*tan(Latitude)*sqrt[a^2+b^2*tan^2(Latitude)]/a^2
	C3 = 2*a*C2/sqrt[1+b^2/a^2*tan^2(Latitude)]+C1
	C4 = C3*sqrt(1+C3^2)+Asinh(C3)
	C5 = C1*sqrt(1+C1^2)+Asinh(C1)
	R  = (C4 - C5)/4/C2

where a is the semi-major Moon axis (ellipsoid equatorial radius) equal to 1738 km; b is the semi- minor Moon axis (ellipsoid polar radius) equal to 1735 km; sqrt( ) is the square root function; tan( ) is a triangular tangent function; Asinh( ) is the inverse hyperbolic sine function; the symbol / is the division sign; the symbol ^ is the exponential operator.

Once x1, x2, x3, x4, ..., y1, y2, y3, y4, ..., z1, z2, z3, z4, ... are calculated, the corresponding characters can be found from the Table of the LAC character and integer correspondences: X1, X2, X3, X4, ..., Y1, Y2, Y3, Y4, ..., Z1, Z2, Z3, Z4, .... Then, the Lunar Area Code of the region is written as LAC: X1X2X3X4... Y1Y2Y3Y4... Z1Z2Z3Z4... with a blank space between any two character strings. The first character string of a LAC represents longitude, the second string represents latitude, and the third represents altitude.

If a LAC has only two character strings, then the LAC represents an area on the Moon surface and the two character strings represent the longitude and latitude respectively, as defined in the beginning of this chapter. For example, LAC: 8KD8 PGGK represents a 13 by 26 meter area, while LAC: 8KD8 PGGK H000 represents a region 13 meters wide, 26 meters long and 13 meters high measured from the geoid surface.

The number of characters to be used in a character string of a LAC representing the geodetic point is determined by the required resolution or the resolution of the original coordinates of the longitude, latitude and altitude. A LAC using more characters represents a smaller area or region. The smallest area or region containing the geodetic point is the one of the size equal to the error range of the coordinates. Therefore, when a LAC is used to represent a geodetic point, it has both the information of the location and its error range.

From LAC to (Longitude, Latitude, Altitude)

If the LAC of a region is known, then the longitude, latitude and altitude of the southwestern lower corner of the region can be calculated by the following procedure:

First, convert all characters X1, X2, X3, X4, ... Y1, Y2, Y3, Y4, ... Z1, Z2, Z3, Z4, ... into integers x1, x2, x3, x4, ... y1, y2, y3, y4, ... z1, z2, z3, z4, ... according to the Table of the LAC Character and Integer Correspondences.

Then use the following formulae to calculate coordinates:

	Longitude = (x1/30+x2/30^2+x3/30^3+x4/30^4+...)*360-180

	Latitude =  (y1/30+y2/30^2+y3/30^3+y4/30^4+...)*180-90

	f = (a - b)/a ;      e = 2*f - f^2  ;

	N = a/sqrt(1 - e^2*sin^2(Latitude))  ;

	R = N*sqrt[1 - e^2*(2-e^2)*sin^2(Latitude)]

	Altitude = R*tan((z1/30+z2/30^2+z3/30^3+z4/30^4+...)*90)-R

The northeastern upper corner of the region can be calculated by repeating the same procedure with the same integers except adding 1 to the integer corresponding to the last character of each string of the LAC. Then, the region can be completely determined by the coordinates of these two geodetic points.

LAC Algebra

In the Lunar Area Coding System, several algebraic rules have been introduced to simplify the notations and operations of LACs. Some of the rules are defined in the following, where symbol = represents the equivalency and symbol + represents the sum of two LAC regions or areas.

Definition a If there are a series of neighboring LAC regions in the universe, which exactly fill a region bounded by surfaces of constant longitude, constant latitude and constant altitude, then the whole region can be represented by a single group LAC which uses a hyphen to link the relative coordinate characters of the first LAC with the relative coordinate characters of the last LAC in each direction with multiple LAC regions respectively, for example:

	LAC: NHJ-L TH KJH = LAC: NHJ TH KJH + LAC: NHK TH KJH + LAC: NHL TH KJH

	LAC: NHJ-L TH-J KJH = LAC: NHJ TH KJH + LAC: NHK TH KJH + LAC: NHL TH KJH
                     + LAC: NHJ TJ KJH + LAC: NHK TJ KJH + LAC: NHL TJ KJH

	LAC: NHJ-L TH-J KJH-J = LAC: NHJ TH KJH + LAC: NHK TH KJH + LAC: NHL TH KJH
				+ LAC: NHJ TJ KJH + LAC: NHK TJ KJH + LAC: NHL TJ KJH
				+ LAC: NHJ TH KJJ + LAC: NHK TH KJJ + LAC: NHL TH KJJ
				+ LAC: NHJ TJ KJJ + LAC: NHK TJ KJJ + LAC: NHL TJ KJJ
The number of characters after the hyphen in a character string represents the number of the characters of the relative coordinate. The characters before the hyphen in a character string represent the first LAC region coordinate in this direction. The characters before the hyphen with its last characters replaced by the characters after the hyphen in the character string represent the last LAC region coordinate in this direction. For example, LAC: NHJ-LZ TH KJH represents a three-dimensional region which starts from the region of LAC: NHJ TH KJH and ends by the region of LAC: NLZ TH KJH, that is,
	LAC: NHJ-LZ TH KJH = LAC: NHJ-Z TH KJH + LAC: NK0-Z TH KJH + LAC: NL0-Z TH KJH
It is the same for LACs with hyphens in two or three character strings, such as:
	LAC: FP-GZ TH-ZK HJK = LAC: FP-Z TH-Z HJK + LAC: G0-Z TH-Z HJK
				+ LAC: FP-Z V0-Z HJK + LAC: G0-Z V0-Z HJK
				+ LAC: FP-Z W0-Z HJK + LAC: G0-Z W0-Z HJK
				+ LAC: FP-Z X0-Z HJK + LAC: G0-Z X0-Z HJK
				+ LAC: FP-Z Z0-K HJK + LAC: G0-Z Z0-K HJK 

Definition b When a LAC with 0-Z at the end of its character string, these three characters can be omitted in the character string provided there are some characters left in the character string, for example:

	LAC: JJ0-Z KKL HG = LAC: JJ KKL HG
 
	LAC: JJ0-Z KKL0-Z HG0-Z = LAC: JJ KKL HG

Definition c An exponent has been introduced to represent the repetition of one same character in a LAC coordinate string, for example:

	LAC: RGJJJJK RDF FDS = LAC: RGJ(4)K RDF FDS

	LAC: RGGGH HFF ZZZZZ = LAC: RG(3)H HF(2) Z(5)

The exponential expressions will be useful in representing far distant objects in the universe.

Definition d Rotation rule. If the character at the right side of a hyphen of a LAC character string represents a number smaller the number represented by the character at the left side of the hyphen, then the rotation rule should be applied, e.g.

	LAC: RGJ-B WDF = LAC: RGJ-Z WDF + LAC: RH0-B WDF
With the above definitions, the concept of LAC regions has been extended to include any regions in the universe, bounded by surfaces of constant longitude, constant latitude and constant altitude, and the concept of LAC areas has been extended to include any areas on Moon, bounded by lines of constant longitude and constant latitude. Every LAC region or LAC area can be expressed by a single group LAC. Since the side ratios and size of a LAC area or region can be any values, a LAC in fact can represent any point in the universe, any line section of constant longitude or constant latitude on Moon, any area bounded by lines of constant longitude and constant latitude on Moon, any region bounded by surfaces of constant longitude, constant latitude and constant altitude in the universe.

Advantages

The Lunar Area Coding System has special advantages over other systems.

First, it integrates the concepts of geodetic points, line sections, areas and regions and generates a unified form to represent all these objects.

Second, it generates short coordinates for all these objects, for examples:

For a geodetic point, the following are equivalent:  
	
	LAC: 2CHD Q87M 

	Longitude West 151.3947, Latitude North 43.6508 
For a line section, the following are equivalent:
	LAC: 2C Q87M

	Piont 1: Longitude West 151.5902, Latitude North 43.6508
	Point 2: Longitude West 151.1902, Latitude North 43.6508
For an area, the following are equivalent:
	LAC: 2C Q8

	Northwest corner: Longitude West 151.5902, Latitude North 43.8033
	Southwest corner: Longitude West 151.5902, Latitude North 43.6033
	Northeast corner: Longitude West 151.1902, Latitude North 43.8033
	Southeast corner: Longitude West 151.1902, Latitude North 43.6033
For a three-dimensional region, the following are equivalent:
	LAC: 2C Q8 H000

	The bottom surface has the height = 0 meter above the geoid 
	surface and four corners on the surface are:

	Northwest corner: Longitude West 151.5902, Latitude North 43.8033
	Southwest corner: Longitude West 151.5902, Latitude North 43.6033
	Northeast corner: Longitude West 151.1902, Latitude North 43.8033
	Southeast corner: Longitude West 151.1902, Latitude North 43.6033

	The upper surface has the height = 25 meters above the geoid
	surface and four corners on the surface are:

	Northwest corner: Longitude West 151.5902, Latitude North 43.8033
	Southwest corner: Longitude West 151.5902, Latitude North 43.6033
	Northeast corner: Longitude West 151.1902, Latitude North 43.8033
	Southeast corner: Longitude West 151.1902, Latitude North 43.6033
The Lunar Area Coding System can save about 50% of characters for points, 87% for 2D LAC areas and 94% for 3D LAC regions.

Third, the simple LAC can be used to represent map both in digital and hardcopy forms. If the LAC is used for digital map then all the geodetic coordinates of the map can be saved by the relative LAC to save another 50% memory and make the database of maps extremely efficient in retrieving and storing maps. If the LAC is used to name a hardcopy map, then the maps will be very well shelved and will be very conveniently retrieved too.


Copyright © 2004, NAC Geographic Products Inc. All Rights Reserved.