Abstract
The Natural Area Coding System^{TM} is a new system to
standardize and integrate geodetic datums, geographic coordinates,
geographic area codes, map grids, addresses and postal codes in the world.
The system employs revolutionary approaches:
 It has unified the concepts of geodetic points, line sections,
areas, and threedimensional 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 is defined only on the datum of WGS84 to avoid any variations;
 It creates one standard representation for all these geographic units.
These approaches make the Natural Area Coding System^{TM} superior over
traditional systems. A set of coordinates of the system is
called a Natural Area Code (NAC) 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 or
UTM coordinates. Using NACs to represent line sections, rectangles or threedimensional
regions can save even more in required characters compared with other systems.
In addition to all functions of traditional systems, the new system generates Universal
Addresses^{TM} for all locations in the world, Global Postal Codes^{TM}, and the Universal Map Grid System^{TM} for all
kinds of maps in any scales and projections. A Natural Area Code^{TM} is also called a Universal Area Code^{TM}.
A Global Postal Code^{TM} is also called a Universal Postal Code^{TM}.
The Natural Area Coding System has unified all these systems into one
simple system and greatly simplifies the communication between
different categories of science and engineering, different languages,
and different countries.
Description
The Natural Area Coding System is a new geodetic
system with its origin at the earth 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 NAC Character and Integer Correspondences
===========================================================
CharacterIntegerCharacterIntegerCharacterInteger

 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 Natural Area Code (NAC) 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
earth 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 NAC blocks.
Therefore, a first level NAC block can be represented by a NAC of
three characters separated by blank spaces, each of which
represents the character string for longitude, latitude
and altitude respectively, for example, NAC: 5 6 7. A
second level NAC block can be represented by a NAC 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, NAC:
JB KH LN represents a NAC block at the second level, in
which the characters J, K and L represent coordinates of
a first level NAC block which contains the second level
NAC block, and the characters B, H and N are the relative
coordinates of the second level NAC block in the first
level NAC block. A region formed by sides at different
division levels is called a NAC region and can be represented
by a single NAC too. Any three NAC character strings
can form a NAC which represents a completely defined
region in the universe.
If the third string of a NAC is omitted, the
resulting NAC represents an area on the earth surface,
called a NAC area if the number of characters in the two
coordinate strings are different, and called a NAC cell
if the number of characters in the two coordinate
strings are the same. Any two NAC character strings
can form a NAC representing a completely defined area
on the earth. 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 NAC can represent a geodetic point anywhere
in the universe, a line section of constant longitude
or constant latitude on the earth, an area bounded by
constant longitude and constant latitude anywhere on the
earth and a threedimensional region bounded by constant
longitude, constant latitude and constant altitude anywhere
in the universe.
The Correlations between the Natural Area Coding
System and the World Geodetic System1984
From (Longitude, Latitude, Altitude) to NAC
The NAC of a region that contains a geodetic point
expressed by the longitude, latitude and altitude
coordinates in the WGS84 system[1] can be determined by
the following algorithm:
LONG = (Longitude + 180)/360
x1 = Integer part of( LONG*30)
x2 = Integer part of(( LONG*30x1)*30)
x3 = Integer part of((( LONG*30x1)*30x2)*30)
x4 = Integer part of((((LONG*30x1)*30x2)*30x3)*30)
...
LAT = (Latitude + 90)/180
y1 = Integer part of( LAT*30 )
y2 = Integer part of(( LAT*30y1)*30)
y3 = Integer part of((( LAT*30y1)*30y2)*30)
y4 = Integer part of((((LAT*30y1)*30y2)*30y3)*30)
...
ALT = Arctan(Altitude/R)/90
z1 = Integer part of( ALT*30)
z2 = Integer part of(( ALT*30z1)*30)
z3 = Integer part of((( ALT*30z1)*30z2)*30)
z4 = Integer part of((((ALT*30z1)*30z2)*30z3)*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 the earth 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 earth center along the
gravitational force line to the geoid surface and can be
approximated by the earth radius at the location:
R = sqrt[b^2+(a^2b^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 = (1b^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 semimajor earth axis (ellipsoid
equatorial radius) equal to 6378.1370 km; b is the semi
minor earth axis (ellipsoid polar radius) equal to
6356.7523 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 NAC character and
integer correspondences: X1, X2, X3, X4, ..., Y1, Y2, Y3,
Y4, ..., Z1, Z2, Z3, Z4, .... Then, the Natural Area Code
of the region is written as NAC: X1X2X3X4... Y1Y2Y3Y4...
Z1Z2Z3Z4... with a blank space between any two character
strings. The first character string of a NAC represents
longitude, the second string represents latitude, and the
third represents altitude.
If a NAC has only two
character strings, then the NAC represents an area on the
earth surface and the two character strings represent the
longitude and latitude respectively, as defined in the
beginning of this chapter. For example, NAC: 8KD8 PGGK
represents a 25 by 50 meter area in the White House,
while NAC: 8KD8 PGGK H000 represents a region 25 meters
wide, 50 meters long and 25 meters high measured from the
geoid surface under the White House.
The number of
characters to be used in a character string of a NAC
representing the geodetic point is determined by the
required resolution or the resolution of the original
coordinates of the longitude, latitude and altitude. A
NAC 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 NAC is used
to represent a geodetic point, it has both the
information of the location and its error range.
From NAC to (Longitude, Latitude, Altitude)
If the NAC 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 NAC Character and Integer Correspondences.
Then use the following formulae to calculate coordinates:
Longitude = (x1/30+x2/30^2+x3/30^3+x4/30^4+...)*360180
Latitude = (y1/30+y2/30^2+y3/30^3+y4/30^4+...)*18090
f = (a  b)/a ; e = 2*f  f^2 ;
N = a/sqrt(1  e^2*sin^2(Latitude)) ;
R = N*sqrt[1  e^2*(2e^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 NAC.
Then, the region can be completely determined by the
coordinates of these two geodetic points.
NAC Algebra
In the Natural Area Coding System, several algebraic rules have
been introduced to simplify the notations and operations of NACs.
Some of the rules are defined in the following, where symbol =
represents the equivalency and symbol + represents the sum of
two NAC regions or areas.
Definition a If there are a series of neighboring NAC
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 NAC which uses a hyphen to link the relative coordinate
characters of the first NAC with the relative coordinate characters
of the last NAC in each direction with multiple NAC regions
respectively, for example:
NAC: NHJL TH KJH = NAC: NHJ TH KJH + NAC: NHK TH KJH + NAC: NHL TH KJH
NAC: NHJL THJ KJH = NAC: NHJ TH KJH + NAC: NHK TH KJH + NAC: NHL TH KJH
+ NAC: NHJ TJ KJH + NAC: NHK TJ KJH + NAC: NHL TJ KJH
NAC: NHJL THJ KJHJ = NAC: NHJ TH KJH + NAC: NHK TH KJH + NAC: NHL TH KJH
+ NAC: NHJ TJ KJH + NAC: NHK TJ KJH + NAC: NHL TJ KJH
+ NAC: NHJ TH KJJ + NAC: NHK TH KJJ + NAC: NHL TH KJJ
+ NAC: NHJ TJ KJJ + NAC: NHK TJ KJJ + NAC: 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 NAC 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
NAC region coordinate in this direction. For example, NAC: NHJLV TH KJH
represents a threedimensional region which starts from the region of
NAC: NHJ TH KJH and ends by the region of NAC: NLV TH KJH, that is,
NAC: NHJLV TH KJH = NAC: NHJZ TH KJH + NAC: NJ0Z TH KJH + NAC: NK0Z TH KJH + NAC: NL0V TH KJH
It is the same for NACs with hyphens in two or three character strings, such as:
NAC: FPGV THVK HJK = NAC: FPZ THZ HJK + NAC: G0V THZ HJK + NAC: FPZ V0K HJK + NAC: G0V V0K HJK
When a NAC with 0Z 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:
NAC: JJ0Z KKL HG = NAC: JJ KKL HG
NAC: JJ0Z KKL0Z HG0Z = NAC: JJ KKL HG
When the character following the hyphen in a NAC character string represents a
number smaller than the number represented by the corresponding one proceding the
hyphen in the character string, it should be interpreted with the rotation rule.
For example,
NAC: W8C8 Q90 = NAC: W8CZ Q90 + NAC: W908 + Q90
NAC: GZJ1K G8L = NAC: GZJZ G8L + NAC: H00Z G8L + NAC: H10K G8L
When the rotation happens to the first character of the first character string of
a NAC (i.e. the string representing longitude), the rotation should be interpreted
across the 180 degree meridian line. For example,
NAC: ZF9 HK = NAC: ZFZ HK + NAC: 009 HK
An exponent has been introduced to represent the repetition of one same
character in a NAC coordinate string, for example:
NAC: RGJJJJK RDF FDS = NAC: RGJ(4)K RDF FDS
NAC: RGGGH HFF ZZZZZ = NAC: RG(3)H HF(2) Z(5)
The exponential expressions will be useful only in representing far distant
objects in the universe.
Definition b If there are a series of neighboring NAC areas on the
earth which exactly fill an area bounded by lines of constant longitude
and constant latitude, then the whole area can be represented by a single
group NAC which uses a hyphen to link the relative coordinate characters of
the first NAC with the relative coordinate characters of the last NAC in
each direction with multiple NAC areas respectively. The exponential
expression can be applied to the twodimensional NAC too.
There are special cases which need be further explained.
A group NAC such as NAC: HJ K0Z can be simplified as NAC: HJ K since
0Z covers all NAC divisions in the higher level division, but NAC: 0Z HF
is not allowed to be written into NAC: HF because any simplication is
only to shorten the coordinate string but not remove the whole string.
With the above definitions, the concept of NAC 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
NAC areas has been extended to include any areas on the earth, bounded by
lines of constant longitude and constant latitude. Every NAC region or
NAC area can be expressed by a single group NAC. Since the side ratios
and size of a NAC area or region can be any values, a NAC in fact can
represent any point in the universe, any line section of constant longitude
or constant latitude on the earth, any area bounded by lines of constant
longitude and constant latitude on the earth, any region bounded by
surfaces of constant longitude, constant latitude and constant altitude
in the universe.
Calculation of Distance between Two NACs
If the NACs of any two areas on the earth surface
have been given as: NAC1 and NAC2, then the earth surface
distance between the centers of these two areas can be
calculated as follows:
1. First, calculate the longitude, latitude and the
local earth radius of NAC1 and NAC2: a1, b1, R1 and a2, b2,
R2 respectively using the above formulae;
2. Then calculate the distance S between them
approximately as follows:
S = Rav*Arccos(cosb1*cosa1*cosb2*cosa2+cosb1*sina1*cosb2*sina2+sinb1*sinb2)
where Rav = (R1 + R2)/2.
Calculation of the Time Difference between Two NACs
The natural Time difference between these two areas
can be calculated by the following equation:
DT = (a1a2)*24/360
where the positive value means area 1 has the day staring
DT hours earlier than area 2.
Important Advantages
The Natural Area Coding System has special advantages over all other geodetic
systems.
First, it integrates the concepts of geodetic points, line sections,
areas and regions and generates a unified form to represent all these geodetic
units.
Second, it generates extremely short coordinates for all these geodetic units
to save storage size, for examples:
For a geodetic point, the following are equivalent:
NAC: 2CHD Q87M
Longitude West 151.3947, Latitude North 43.6508
For a line section, the following are equivalent:
NAC: 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:
NAC: 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 threedimensional region, the following are equivalent:
NAC: 2C Q8 H000
In WGS84, it is expressed by
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 efficiency of the Natural Area Coding System is so significant that
it can save 50% of memory for geodetic points, 75% for line sections,
87% for NAC areas and 94% for NAC regions.
Third, the simple NAC can be used to a represent map both in digital
and hardcopy forms. If the NAC is used for digital map then all the
geodetic coordinates of the map can be save by the relative NAC to
save another 50% memory and make the database of maps extremely efficient
in retrieving and storing maps. If the NAC is used to name a hardcopy map,
then the maps will be very well shelved which will be very conveniently
retrieved and placed.
Fourth, an eightcharacter NAC is an ideal universal address for postal
services, delivery services, emergency services and taxi services because
it can specify an area less than 25 by 50 meters anywhere in the world.
Five, a tencharacter NAC is a perfect property identity code for each
property in the world, which specify a reference area less than 0.8 by 1.6
meters on a property anywhere in the world.
