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:
- It has unified the concepts of geodetic points, line sections,
areas, and three-dimensional regions.
- 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;
- 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.
|