altf

The Natural Area Coding System

Posted in Uncategorized by AltF on September 25, 2007

Abstract

The Natural Area Coding SystemTM 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:

  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 is defined only on the datum of WGS-84 to avoid any variations;
  4. It creates one standard representation for all these geographic units.

These approaches make the Natural Area Coding SystemTM 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 three-dimensional 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 AddressesTM for all locations in the world, Global Postal CodesTM, and the Universal Map Grid SystemTM for all kinds of maps in any scales and projections. A Natural Area CodeTM is also called a Universal Area CodeTM. A Global Postal CodeTM is also called a Universal Postal CodeTM. 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
===========================================================
||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 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 three-dimensional 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 System-1984

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 WGS-84 system[1] 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 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^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 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+...)*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 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: NHJ-L TH KJH = NAC: NHJ TH KJH + NAC: NHK TH KJH + NAC: NHL TH KJH

 NAC: NHJ-L TH-J 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: NHJ-L TH-J KJH-J = 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: NHJ-LZ TH KJH
represents a three-dimensional region which starts from the region of
NAC: NHJ TH KJH and ends by the region of NAC: NLZ TH KJH, that is,

 NAC: NHJ-LZ TH KJH = NAC: NHJ-Z TH KJH + NAC: NK0-Z TH KJH + NAC: NL0-Z TH KJH

It is the same for NACs with hyphens in two or three character strings, such as:

 NAC: FP-GZ TH-ZK HJK = NAC: FP-Z TH-Z HJK + NAC: G0-Z TH-Z HJK
		      + NAC: FP-Z V0-Z HJK + NAC: G0-Z V0-Z HJK
		      + NAC: FP-Z W0-Z HJK + NAC: G0-Z W0-Z HJK
		      + NAC: FP-Z X0-Z HJK + NAC: G0-Z X0-Z HJK
		      + NAC: FP-Z Z0-K HJK + NAC: G0-Z Z0-K HJK

When a NAC 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:

 NAC: JJ0-Z KKL HG = NAC: JJ KKL HG

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

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 very useful 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 two-dimensional NAC too.

There are special cases which need be further explained. NAC: RGJ-H WDF is not defined because there are no divisions after division H but before division J in the same higher level division. A group NAC such as NAC: HJ K0-Z can be simplified as NAC: HJ K since 0-Z covers all NAC divisions in the higher level division, but NAC: 0-Z 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 = (a1-a2)*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 three-dimensional region, the following are equivalent:

	NAC: 2C Q8 H000

	In WGS-84, 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 eight-character 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 ten-character 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.

Source: http://www.nacgeo.com/