Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ENCODING SCHEME FOR GEOGRAPHIC POSITION DATA
Document Type and Number:
WIPO Patent Application WO/2018/104207
Kind Code:
A1
Abstract:
A computer implemented method of encoding an angular representation of a geographic position into an alphanumeric code is disclosed. The method comprises the following steps performed by a processor device: defining a grid pattern of a plurality of grid points over the entire surface of the Earth, said grid points being equally spaced along each one of a plurality of grid latitudes according to a predefined lateral resolution, and said grid latitudes being equally spaced in the longitudinal direction according to a predefined longitudinal resolution; assigning a serial number to each of the grid points using a predefined sequencing algorithm; assigning a unique alphanumeric code having a length of a predefined number of digits to each of the grid points, said alphanumeric code being represented using a character set of a predefined number of alphanumeric symbols; reading a geographic position of a location from a computer application or a database, said geographic position being represented by angular position data; determining the grid point nearest to the geographic position of said location using a predefined selection algorithm; determining the alphanumerical code associated with said nearest grid point; and outputting, by the processor device, the alphanumeric code as a compressed geographic position code for said location.

Inventors:
BHASIN CHARANDEEP SINGH (HU)
Application Number:
PCT/EP2017/081320
Publication Date:
June 14, 2018
Filing Date:
December 04, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
UTB ENVIROTEC ZRT (HU)
International Classes:
G06F17/30; G01C21/32; G09B29/10
Domestic Patent References:
WO2013057221A12013-04-25
WO2014170646A12014-10-23
WO2013057221A12013-04-25
Foreign References:
US20090077100A12009-03-19
Other References:
B M SMIRNOV: "LINEAR AND ANGULAR MEASUREMENTS REMOTE DETERMINATION OF THE POSITION OF AN OBJECT IN THE COORDINATE SYSTEM OF A MOBILE PLATFORM", MEASUREMENT TECHNIQUES, 30 March 2000 (2000-03-30), XP055440977, Retrieved from the Internet [retrieved on 20180115]
DARRELL S MASSENGILL ET AL, 28 April 2013 (2013-04-28), XP055355888, Retrieved from the Internet [retrieved on 20170317]
ANONYMOUS: "Reading US National Grid (USNG) Coordinates FGDC-STD-011-2001", 1 January 2001 (2001-01-01), XP002768291, Retrieved from the Internet [retrieved on 20170317]
Attorney, Agent or Firm:
HARANGOZÓ, Gábor (HU)
Download PDF:
Claims:
A computer implemented method of encoding an angular representation of a geographic position into an alphanumeric code, the method comprising the following steps performed by a processor device:

defining a grid pattern of a plurality of grid points over the entire surface of the Earth, said grid points being equally spaced along each one of a plurality of grid latitudes according to a predefined lateral resolution, and said grid latitudes being equally spaced in the longitudinal direction according to a predefined longitudinal resolution;

assigning a serial number to each of the grid points using a predefined sequencing algorithm;

assigning a unique alphanumeric code having a length of a predefined number of digits to each of the grid points, said alphanumeric code being represented using a character set of a predefined number of alphanumeric symbols;

reading a geographic position of a location from a computer application or a database, said geographic position being represented by angular position data;

determining the grid point nearest to the geographic position of said location using a predefined selection algorithm;

determining the alphanumerical code associated with said nearest grid point; and

outputting, by the processor device, the alphanumeric code as a compressed geographic position code for said location.

The method of claim 1, wherein the sequencing algorithm comprises the steps of:

circumferentially traversing each grid latitude from a respective starting grid point on each latitude, wherein the grid latitudes are taken from an initial latitude toward one pole of the Earth, and then from the initial latitude toward the other pole of the Earth; and

assigning a serial number to each grid point in the order of their traversal.

3. The method of claim 1 or 2, wherein the selection algorithm comprises the steps of: finding the grid latitude nearest to the geographic position of said location in a direction towards the Equator,

finding the nearest grid point on said nearest grid latitude in western direction; and

determining the serial number of said nearest grid point.

4. The method of any one of claims 1 to 3, wherein the lateral resolution and the longitudinal resolution of the grid are the same.

5. The method of any one of claims 1 to 4, wherein outputting the alphanumeric code of the location comprises at least one of:

returning the alphanumerical code to the computer application; writing the alphanumerical code into the database;

displaying the alphanumerical code on a display of the processor device; and

communicating the alphanumerical code from the processor device to another processor device.

6. The method according to any one of claims 1 to 5, wherein a plurality of predefined rectangular areas are defined within said grid pattern, and the alphanumerical codes of the grid points residing within a rectangular area are represented in at least 8 digits, the first 3 digits defining a specific area code and the remaining at least 5 digits defining the position of a grid point within said area, and wherein said specific area codes being selected from any one of the following code sets: IATA codes, postal index numbers, country and/or area phone codes.

7. A computer program product stored on a computer-readable medium and comprising instructions which, when executed on a processor device, cause the processor device to carry out the method according to any one of claims 1 to 6.

AMENDED CLAIMS

received by the International Bureau on 28 March 2018 (28.03.2018)

1. A computer-implemented method of compressing a global angular representation of a geographic position into an alphanumeric code, wherein the global angular representation is based on predefined angular accuracy in both lateral and longitudinal directions, the method comprising the following steps performed by a processor device:

defining a global grid pattern of a plurality of grid points over the entire surface of the Earth, said grid points being equally spaced along each one of a plurality of grid latitudes according to a predefined lateral resolution, and said grid latitudes being equally spaced in the longitudinal direction according to a predefined longitudinal resolution, wherein said lateral and longitudinal resolutions of the global grid pattern correspond to the equatorial lateral resolution and the equatorial longitudinal resolution of the global angular representation, respectively;

assigning a serial number to each of the grid points using a predefined sequencing algorithm;

generating a unique alphanumeric code having a length of a predefined number of digits to each of the grid points based on its associated serial number, said alphanumeric code being an alphanumeric symbol included in a set of a predefined number of alphanumeric symbols, and wherein the alphanumeric codes are represented by the least possible bits; reading a geographic position of a geographic location from a computer application or a database, said geographic position being represented by said global angular representation;

determining the grid point nearest to the geographic position of said location using a predefined selection algorithm;

determining the alphanumerical code associated with said nearest grid point; and

outputting, by the processor device, the alphanumeric code as a compressed geographic position code for said geographic location.

2. The method of claim 1, wherein the sequencing algorithm comprises the steps of: circumferentially traversing each grid latitude from a respective starting grid point on each latitude, wherein the grid latitudes are taken from an initial latitude toward one pole of the Earth, and then from the initial latitude toward the other pole of the Earth; and

assigning a serial number to each grid point in the order of their traversal.

3. The method of claim 1 or 2, wherein the selection algorithm comprises the steps of:

finding the grid latitude nearest to the geographic position of said location in a direction towards the Equator,

finding the nearest grid point on said nearest grid latitude in western direction; and

determining the serial number of said nearest grid point.

4. The method of any one of claims 1 to 3, wherein the lateral resolution and the longitudinal resolution of the global grid pattern are the same.

5. The method of any one of claims 1 to 4, wherein outputting the alphanumeric code of the location comprises at least one of:

returning the alphanumerical code to the computer application; - writing the alphanumerical code into the database;

displaying the alphanumerical code on a display of the processor device; and

communicating the alphanumerical code from the processor device to another processor device.

6. The method according to any one of claims 1 to 5, wherein a plurality of predefined rectangular areas are defined within said global grid pattern, and the alphanumerical codes of the grid points residing within a rectangular area are represented in at least 8 digits, the first 3 digits defining a specific area code and the remaining at least 5 digits defining the position of a grid point within said area, and wherein said specific area codes being selected from any one of the following code sets: IATA codes, postal index numbers, country and/or area phone codes.

7. A computer program product stored on a computer-readable medium and comprising instructions which, when executed on a processor device, cause the processor device to carry out the method according to any one of claims 1 to 6.

Description:
Encoding scheme for geographic position data

FIELD OF THE INVENTION

The present invention relates to a computer-implemented method and a computer program product for encoding angular coordinates of a geographical position into a unique alphanumeric code, and vice versa.

BACKGROUND ART

Recently, satellite based positioning systems have become widely used which are able to determine the location of a device incorporating a geographical positioning system, like a GPS unit, with great accuracy. The use of geometric numerical coordinates to identify geographic positions, such as latitude and longitude coordinates or grid references, is well known, and satellite based positioning systems usually identify the geographic positions using such angular coordinates, e.g. GPS coordinates. Geo-coordinates provide a mapping the position of any location on the Earth's surface to a pair of real numbers, where the latitude is between -90 and +90 degrees, and the longitude is between -180 and +180 degrees.

The longitude functions as a polar coordinate, but the latitude does not as the length of latitude belts decrease towards the poles. Therefore, the geo-coordinate representation of geographic locations provides variable resolution along the latitudes.

There are many schemes of mapping a geo-coordinate pair into some other forms of representation. Some of these schemes are non-hierarchical or global in the sense that the resulting code uniquely identifies a location on the Earth (with a given resolution), whereas others are essentially hierarchical in the sense that they operate with predefined regions. These two kinds of approaches are very different in various aspects. For example, when two users wish to communicate a location using a non-hierarchical coding, they can share the position code of a location without passing overhead data, i.e. the position code itself provides sufficient information for the position of the location. On the other hand, hierarchical codes require that region data be initially exchanged between the parties. Some non-hierarchical codes may be communicated verbally, which allows the recipient to calculate the location in his/her mind, while the same is not true for hierarchical codes. Hierarchical codes can be built in accordance with user considerations in mind, e.g. population density, road density and so on. Non-hierarchical codes are not optimal for this purpose.

Due to inefficiencies, multiple covering and other factors, the mathematical minimum length for a hierarchical code cannot be less, and it is typically much more, than that for a non- hierarchical code at the same resolution, covering the same (global) area.

Based on the above fact and considerations, in terms of the number of bits of a digital representation, the most efficient coding should be non-hierarchical.

One of the practical problems with using the above mentioned conventional angular coordinates to identify a geographic position is that the coordinate representation of the position is not user- friendly.

In some cases geographic positions are identified using other means, such as post codes or street names, which can be useful only in urban areas where a high density of suitable codes, names and numbers are available. With the post codes or street names, the following problems arise:

- about 75% of the world's population has inadequate post addressing;

- more than 3 billion people have no formal/reachable post address; - map applications are usually not detailed enough for exact positioning while they are using an excessive amount of storage space and data;

- landmark navigation is inaccurate;

- for delivery service providers, the last mile of transportation has a relatively high transportation cost (last mile delivery problems); The document US 2009/0077100 discloses a universal geographic database and a method of creating, maintaining and using the same. The Universal Geographic Database includes a real-time, automated registry/clearinghouse for the publication and retrieval of real-world locations and location-related information for businesses and other entities. By this registry, entities may publish their location and location-related information in a single place, and information services and their users can refer to this single place, via telecommunications devices, to obtain static, real-time location and location-based information about the registered locations. Each UGD record is keyed by a proprietary location address (PLA) based on the World Geographic Referencing System (WGRS). The PLAs may be used as key reference and addressing terms, e.g., imbedded in digital documents, websites, GPS devices, or other information services to provide links to maps, directions, and information in the registry related to such locations. PLAs may also provide a concise, user-friendly notation for location naming and designating real-world locations. One of the drawbacks of this solution is that the location data cannot be converted back to a real location, therefore the database is unsuitable for navigation use.

The document WO 2014/170646 Al discloses a method of producing a location identifier. The method comprises the steps of obtaining the geographical coordinates of a location; converting the geographical coordinates into a single unique value; converting the single unique value into a unique group of a plurality of values; converting the plurality of values into an equal plurality of respective words; and providing the plurality of words as a location identifier. One of the drawbacks of this solution is that the representation of the location identifiers is language-dependent and therefore the off-line computer implementation of the method requires a rather large memory space for storing the word database. A further disadvantage of this solution is that because of the approximately spherical shape of the earth, the size and shape of the cells vary, with the cells being approximately constant in width in the North-South direction, and varying in width in the East- West direction, and the East- West dimension of the cells generally being smaller at locations further from the Equator, which results in an uneven resolution of the accessible positions within the global grid of cells. The document WO 2013/057221 Al discloses a method for assigning identifiers to geographic locations within digital map data. The method comprises the steps of selecting a region within the map data, dividing the region into a first plurality of cells each uniquely addressable by an identifier of a first length, selecting a portion of the region and dividing the portion into a second plurality of cells each uniquely addressable by an identifier of a second length, wherein the second length is shorter length than the first length and a geographic location within the portion of the region may be uniquely identified by an identifier of the first length and an identifier of the second length. This method also uses an angular representation of the geographic positions for the above described hierarchical encoding scheme.

It is an object of the present invention to provide a novel encoding scheme for converting the angular representation of a geographic position into a language-independent alphanumeric representation in a compressed from, and vice versa.

It is another object of the present invention to provide a novel encoding scheme for representing geographic positions, wherein the alphanumerical codes of the positions are associated with a plurality of grid points in a predefined grid pattern, in which the grid points are distributed over the entire surface of the Earth according to a uniform distribution. These and other objects are achieved, in a first aspect of the present invention, by providing a computer-implemented method of encoding an angular representation of a geographic position into an alphanumeric code, the method comprising the following steps performed by a processor device: defining a grid pattern of a plurality of grid points over the entire surface of the Earth, said grid points being equally spaced along each one of a plurality of grid latitudes according to a predefined lateral resolution, and said grid latitudes being equally spaced in the longitudinal direction according to a predefined longitudinal resolution; assigning a serial number to each of the grid points using a predefined sequencing algorithm; assigning a unique alphanumeric code having a length of a predefined number of digits to each of the grid points, said alphanumeric code being represented using a character set of a predefined number of alphanumeric symbols; reading a geographic position of a location from a computer application or a database, said geographic position being represented by angular position data; determining the grid point nearest to the geographic position of said location using a predefined selection algorithm; determining the alphanumerical code associated with said nearest grid point; and outputting, by the processor device, the alphanumeric code as a compressed geographic position code for said location.

Preferably, the sequencing algorithm comprises the steps of circumferentially traversing each grid latitude from a respective starting grid point on each latitude, wherein the grid latitudes are taken from an initial latitude toward one pole of the Earth, and then from the initial latitude toward the other pole of the Earth; and assigning a serial number to each grid point in the order of their traversal.

Preferably, the selection algorithm comprises the steps of finding the grid latitude nearest to the geographic position of said location in a direction towards the Equator, finding the nearest grid point on said nearest grid latitude in western direction; and determining the serial number of said nearest grid point.

It is particularly preferred that the lateral resolution and the longitudinal resolution of the grid are the same.

Outputting the alphanumeric code of the location may comprise at least one of returning the alphanumerical code to the computer application; writing the alphanumerical code into the database; displaying the alphanumerical code on a display of the processor device; and communicating the alphanumerical code from the processor device to another processor device.

In an alternative embodiment of the method, a plurality of predefined rectangular areas are defined within said grid pattern, and the alphanumerical codes of the grid points residing within a rectangular area are represented in at least 8 digits, the first 3 digits defining a specific area code and the remaining at least 5 digits defining the position of a grid point within said area, and wherein said specific area codes being selected from any one of the following code sets: IATA codes, postal index numbers, country and/or area phone codes. The above and other objects are further achieved by providing a computer program product stored on a computer-readable medium and comprising instructions which, when executed on a processor device, cause the processor device to carry out the encoding method according to the present invention. The main features of the proposed encoding scheme are summarized herein. The Earth's surface is "flattened" so that each latitude circle is represented at its own length. This projection thus includes latitudes with their length of R*cos(latitude) in the east- west direction. Then a grid formed of a plurality of grid points, equally spaced laterally and longitudinally, is placed over this projection. The minimal section of this rectangular grid that encapsulates the entire projection is the projection's bounding rectangle. All of the grid points of the bounding rectangle of the grid along the Equator reside on the projection of the Equator, but towards the poles the fraction of grid points residing on the projection converges to 0. The encoding scheme according to the present invention takes only the grid points residing within the projected area into account, and disregards those outside the projected area. Altogether, about 36% of the grid points of the grid are outside the projected surface of the Earth and are therefore of no interest with respect to encoding. This principle will be described later with reference to Figure 3. Therefore, the proposed encoding scheme uses the lowest possible number of grid points for a specific representational resolution. For example, an 8-digit code (using 36 alphanumeric characters) allows encoding the geographic positions with a maximum distance error of 10 meters and with a mean distance error of 7 meters. A set of 36 codes can be represented on 42 bits.

No further compression of geo-codes is theoretically possible, otherwise with shorter codes the length of the overhead data would increase the amount of data needed for the position representation.

The encoding scheme of the present invention: a. ) requires no additional (or initial) data transfer between users communicating the position codes, b. ) is proven to have the shortest possible codes at a specific position resolution. The encoding method according to the first aspect of the present invention, converts the Earth's latitude and longitude coordinates, i.e. angular position data, into a unique alphanumeric code that is easy to remember and communicate, e.g. to share via SMS or email. When implemented in a processor device, the method has a reduced memory/processor footprint and also capable of working offline, which is particularly beneficial in navigation/transportation applications .

The method according to the second aspect of the present invention, converts a unique alphanumeric code into a geographical position represented by angular data defined by latitude and longitude coordinates. When implemented in a processor device, this reverse conversion method also has a reduced memory/processor footprint and also capable of working offline. The second method is particularly beneficial for finding a geographic position with a predefined, relatively small distance error.

It is noted that within the context of the present invention, the terms "computer" and "processor device" can be referred to as any kind of processor-based electronic device equipped with a graphical user interface, including personal computer, notebook computer, laptop, tablet, Personal Digital Assistant (PDA), smart phone, navigation device, etc.

BRIEF DESCRIPTION OF THE DRAWINGS

Figure 1A schematically illustrates a part of the grid used for the encoding and decoding schemes of the present invention around the Equator in perspective view.

Figure IB schematically illustrates another part of the grid used for the encoding and decoding schemes of the present invention around a pole of the Earth in a perspective view.

Figure 2 schematically illustrates a process of traversing the grid points of the grid used for the methods according to preferred embodiment of the present invention. Figure 3 schematically illustrates a projected area of the Earth's surface with angularly distributed grid points and with uniformly distributed grid points as used in the methods of the present invention.

Figure 4 is flow diagram showing the major steps of the encoding method according to the present invention.

DETAILED DESCRIPTION OF THE INVENTION

First, the encoding method of converting a two-dimensional geographical position defined by angular data, like latitude and longitude coordinates, e.g. GPS coordinates, into a unique alphanumerical string will be described. For the present invention, it is assumed that the geographic coordinates define the positions on the surface of the Earth with a predefined accuracy, for example with an accuracy of at least 10 meters, anywhere on the Earth. Obviously, the higher the resolution of the representation of the positions is, the longer codes are to be used.

For example, for the aforementioned accuracy of 10 meters, the angular representation shall include 14 digits, including 7 digits for each of the latitude and longitude coordinates. However, the same accuracy can be achieved by the use of 8-digit codes of represented in a numeral system of 36. Assuming 36 alphanumeric characters for each digit, an 8-digit alphanumeric string can represent up to Cs = 36 8 = 2 821 109 907 456 different codes.

As the angular resolution with a predefined angular accuracy would produce an increasing resolution towards the poles of the Earth (as the representable positions tend to situate closer and closer to each other towards the poles), the angular position data, like the GPS coordinates, do not provide a uniform coverage of the Earth's surface. Therefore, in order to obtain a substantially uniform surface distribution of the representable positions on the Earth's surface, even in the vicinity of the poles, a new approach of distributing the representable positions on the Earth's surface has been developed.

The new representation of the position data is based on defining a new type of grid on the spherical surface of the Earth, wherein the grid is formed of a pattern of a plurality of grid points over the entire surface of the Earth. The grid points are equally spaced along a plurality of predefined grid latitudes (i.e. in lateral direction), wherein said grid latitudes are also equally spaced in the longitudinal direction. Consequently, the grid points define an approximately rectangular grid pattern in the proximity of the Equator, while showing a random-like pattern in the proximity of the poles. However, due to the fact that the grid points are equally spaced along a grid latitude, the surface distribution of the grid points are substantially uniform even in the vicinity of the poles, unlike the conventional angular representation of the position data.

When the distance dy between two adjacent grid latitudes is equal to the distance dx between two adjacent grid points along a grid latitude, i.e. dx=dy=d, the distance D between any two neighbouring grid points of the grid pattern according to the invention varies between d and d*V2 on the entire surface of the Earth, i.e. d < D < d*V2, meaning that the maximum of the distance error is

If the above mentioned grid resolution d is set to 10 meters in both of the lateral and longitudinal directions, any position of the Earth's surface may be assigned to the nearest grid point with an accuracy of 10*V2 = ca. 14 meters.

A part of the grid used for the encoding and decoding schemes of the present invention is schematically illustrated in Figure 1A, which shows the grid around the Equator in perspective view, whereas another part of the same grid is schematically illustrated in Figure IB, which shows the grid around a pole of the Earth in a perspective view. In Figures 1 A and IB, the grid latitudes are indicated by the lines L^. A uniform distribution of the grid points can be achieved when the grid latitudes are at a predefined longitudinal distance d from each other, and any two adjacent grid points Pi, P 1+1 along a grid latitude are also at the same distance d from each other in the lateral direction. Within the context of the present invention, the uniform surface distribution of the grid points is to be understood for a larger surface area including a plurality of grid points, for example a convex surface area covering at least a few tens or a few hundreds of grid points.

According to the encoding method of the present invention, each grid point of the novel grid pattern is identified by a serial number. The unique identifiers of the grid point may be generated in several ways. It is particularly preferred that the serial numbers of the grid points P are generated by assigning a sequence number obtained while helically traversing the Northern hemisphere of the Earth from a first initial grid point Pi to the North pole and then helically traversing the Southern hemisphere from a second initial grid point to the South pole. This process is schematically depicted in Figure 2. Within the context of the present invention, the term "helically traversing" is used for a path which first runs along the entire length of a first predefined latitude residing on or adjacent to the Equator, then steps to the next latitude in the northern direction, runs along the entire length of the next latitude, and so on towards the North pole, and then traverses all of the southern latitudes towards the South pole in a similar way. The serial numbers of the grid points can be used to generate a unique alphanumerical code for each grid point. The alphanumerical codes of the grid points may, for example, be coded represented in a number system of a higher base value, such as a the numeral system of 36, including 10 numbers and 26 letters. Alternatively, any other representations or algorithms may also be used to generate the unique alphanumeric codes for the grid points.

An example of determination of the serial numbers of the grid points will now be described for the case where the serial numbers of the grid points are generated by the above mentioned scheme of helically traversing the Earth's surface.

The serial number of the grid points generated according to the above mentioned scheme of helically traversing the grid points can be determined by an algorithm described below. Since the length of each latitude is proportional to the cosine of the angle value of the latitude, and the cosine function produces a real number for integer latitude values (given in degree), rounding up the real values and adding a constant to the rounded values_will solve this problem. Adding a predefined, small constant value to the rounded values of the grid latitudes may be used to avoid any accidental overlapping of the indices of adjacent grid latitudes.

When the entire surface of the Earth is covered by grid points in the above mentioned way, i.e. grid points residing on predefined grid latitudes, the following algorithm may be used for determining the serial number of a grid point.

First, it is assumed that the radius ER of the Earth is ER = 6378 km. The predefined resolution res is assumed to be res = 14 meters, wherein the resolution is a function of the accuracy of the encoding scheme of the invention. Accuracy is defined as the maximum distance between any selected position on the surface of the Earth and the grid point residing nearest to the selected position. The resolution of the longitude and latitude values of the grid points, XRES and YRES, respectively, may be calculated as YRES = ceil(2 * ER * π / res), and

XRES = ceil(ER * π / (2 * res)) where ceil is the ceiling function. In the above definitions, the value YRES specify the total number of grid points along a longitude between the Equator and a pole, whereas the value of XRES specify the total number of grid points along the Equator. Assuming that a given grid latitude resides along the latitude Y (given in degree), the accumulated number of the grid points residing on the previous grid latitudes F(Y) can be calculated in the following way. The parameter base is defined as the offset number of grid points for the hemisphere of the given position, and i is defined as the number of the grid points along the respective latitude counted from the initial grid point of the same latitude. On the northern hemisphere, the counting may start with the serial number of 1 (i.e. base=0), whereas on the southern hemisphere, the counting may start with an offset value for the serial numbers.

Along the Equator, F(Y)=0. On the northern hemisphere: base = 0 i = Y * YRES / 90 whereas on the southern hemisphere: base = (2 * XRES *YRES / π) + (10 * YRES) + 1 i = - Y * YRES / 90

From the above expressions F(Y) can be calculated as

F(Y) = ceil(2 * XRES * YRES / π + sin(0.5 * π * (i + 1) / YRES) + 10 * (i + 1))

Using the above expressions, the serial number of a grid point can be calculated according to the following steps:

1. The longitudinal offset, X OFF, is determined for the position (x, y):

X OFF = F(Y) (This is the coordinates of the point (-180, Y).)

2. X UNIT = 360 / XRES Y UNIT = 90 / YRES where X_UNIT and Y_UNIT are values (given in degree) specifying the angular distance between two grid points in the lateral and longitudinal directions, respectively.

3. The number of grid points are counted along the current longitude up to the current position by the following formulae:

YCNT = Y / Y UNIT

YGRID = round(YCNT) * Y UNIT

4. The number of grid points are then counted along the current latitude from the longitude X= -180 up to the current position by the following formulae: latshrmk = cos^ * YGRID / 180) where YGRID is the rounded value of Y.

XCNT = (X + 180) * latshrmk / X_UNIT

X GRID = X OFF + round(XCNT)

5. The code of the location is generated by adding the thus obtained values of X GRID and Y GRID, and the result value may be represented, as a unique code, for example in a numeral system of 36 using a set of 36 alphanumeric symbols. It is noted that although any other numeral system may be used to represent the codes of the locations, a significantly smaller base of the numeral system would result in much longer codes, while a significantly higher base of the numeral system would suffer from the necessary involvement of a number of rather unusual symbols, which could render the computer implementation of the method less user-friendly in practice.

The core idea behind the above algorithm is that XCNT and YCNT gives the number of grid points while moving along the directions of latitude and longitude, respectively, from a predefined starting grid point through a predefined path. Counting the grid points in the longitudinal direction may start from an initial grid point on the Equator, whereas counting the grid points in the lateral direction may start from the grid points residing on the longitude X = -180. To this end, the longitudinal coordinate y of a given position is substituted with the longitudinal coordinate of the nearest grid point, the longitudinal offset X OFF is then determined for the latitude of the selected grid point, i.e. the position (-180, YGRID) is determined, the number of grid points are summed between the first latitude and the latitude of the selected grid point nearest to the current position, and then the number of the grid points is counted in the eastern direction (along the current latitude) from the point (-180, YGRID) up to the selected grid point and this lateral count value is added to the previous value of the count variable. The count value thus obtained is represented by a string of alphanumerical characters.

When only a particular rectangular area of the Earth's surface, like an area covering a big city and its vicinity, is concerned, the above algorithm of determining the serial number of a grid point may be applied with the only difference that the initial grid point is defined to be one of the corner grid points of said area and a much smaller number of grid points are to be processed, which means that the serial numbers may be represented by shorter strings, but identification of these areas also needs some additional digits. It is noted that any other shape for such an area may be conceivable, including circle, hexagon or the like, with the only constraint that the geometry of the shape can be defined in a rather compressed form. The grid points in areas with shapes different from the rectangle may be traversed according to any suitable scheme depending on the particular shape of the area.

In a particularly beneficial embodiment of the first method of the present invention, the a plurality city areas on the Earth's surface are defined, in which the grid points are distributed so that any geographical position can be assigned to a grid point with an accuracy of 10 meters. To this end, an area may be identified by any kind of specific area code like a 3-digit IATA (International Air Transport Association code of the city covered by the respective area, a postal index number, a country and/or area phone code, or the like, and the geographical position of the grid point nearest to a given location within the specific area may be represented in 5 digits of an alphanumerical code based on the numeral system of 36. For a higher position resolution, the grid points of the area may be represented in even more digits. Due to the fact that the grid points are distributed in a uniform manner over the surface of the Earth, the position data can be represented by a significantly smaller number of codes with respect to the conventional angular representations. In other words, the position data in an angular representation define an increasingly denser grid pattern towards the poles, while a uniform grid point distribution is provided by the grid pattern used in the method of the present invention. The reduction in the number of the necessary codes of the grid points is about 36%. This comparison of the two grid patterns is schematically illustrated in Figure 3, wherein the grid pattern A corresponds to a conventional representation of the grid positions P, which can be given using a predefined number of digits of latitude/longitude data, whereas the grid pattern B corresponds to a grid pattern used by the methods of the invention, in which the grid positions P are uniformly distributed over the entire surface of the Earth. Both diagrams illustrate the same surface segment of a sphere in an outspread view. Due to the significant reduction in the number of codes at a particular position resolution, the codes can be represented in significantly less bits in comparison with the conventional angular position data. This data compression allows saving a substantial amount of storage space when a huge number of codes are to be stored by a specific computer application, like an address database of highly populated areas, where the address data comprise the alphanumeric codes of the locations instead of street addresses.

In a second aspect, the present invention relates to a decoding method of converting an alphanumeric code generated by the encoding method of the invention into numeric latitude and longitude coordinates. By using the second method of the invention, the geographic position of a grid point is determined from the alphanumeric code of the grid point. This reverse conversion method has an inherent inaccuracy in the determination of the position of a specific location, for which an alphanumerical code was previously generated using the encoding method of the invention. This inaccuracy can be reduced by increasing the grid point resolution along with using longer alphanumerical codes in the same numeral system, or using the same number of digits with a numeral system having a greater basis.

In Figure 4, a flow diagram showing the main steps of the first method of the invention is illustrated in line with the above detailed description. The steps of the method may be carried out by a processor device to produce a unique alphanumeric code for any position on the surface of the Earth at a predefined accuracy. First, in step SI 00, a grid pattern formed of a plurality of grid points residing on parallel grid latitudes is defined using a desired grid resolution, wherein each grid point is uniquely identified by an alphanumerical code of predefined number of digits.

The unique code may, for example, be represented in the numeral system of 36, which contains 36 different alphanumeric symbols, but any other alphanumerical or alphabetical representation or symbol set may be conceivable for this purpose. For example, for achieving a position resolution of at least 10 meters, the use of 8 -digit codes using 36 different symbols may be enough for covering the entire surface of the Earth with grid points, whereas 5-digit codes may be suitable for representing the grid points within the areas assigned to the big cities. In this latter case, however, the areas may be identified, for example, by the 3-digit IATA codes, resulting in location codes having a total length of 8 digits. It is noted again that for a higher position resolution, the codes may be longer than 8 digits.

In step SI 10, a 2D geographical position of a location is read by the processor device from a user application or a data base, wherein the geographical position is made available by the user application or the database in an angular representation, for example in the form of numeric longitude and latitude coordinates represented in a predefined number of digits. The format of the position coordinates may vary depending on the source of the position data. The position data may, for example, be represented in decimal format (e.g.: 12.345678°), in degree format (e.g.: 12°34'56") or in a combined format, such as used by the GPS applications (e.g.: 12°34'56.78").

Next, in step S120, a grid point residing nearest to the previously obtained geographic position of said location is determined using a predefined algorithm. As described above, the grid points are uniformly distributed along a plurality of predefined grid latitudes, wherein said grid latitudes are equally spaced from each other in the longitudinal direction by a predefined distance, for example by 14 meters.

Finally, in step SI 30, the alphanumerical code of the grid point nearest to the geographic position of the given location is output as a compressed geographic position code for said location. In this step, the code may be presented to the user on a display of a processor device, like a computer, a smart phone, a navigation device, etc. or may be stored in a memory of the processor device or a data storage, or may even be communicated to another processor device via e-mail, SMS or the like. Since the alphanumeric code of the grid points are relatively short strings, for example they are presented as 8 characters (or symbols), it is easy to memorize the codes for anyone, and there is no need of further converting this code into a language-specific string according to the spoken language of the user. This language-independent approach of the encoding scheme allows an easy computer implementation of the encoding and decoding methods of the present invention and thus portability of the computer program carrying out the methods.

In the reverse conversion method, an alphanumerical code previously associated with a geographic location is read from a user application or a database. The alphanumeric code is then converted into an integer serial number and then a search for the latitude containing the selected grid point is carried out. This search method is performed by carrying out the above mentioned encoding algorithm in the reverse direction. As this reverse algorithm can be easily derived from the encoding algorithm by a skilled person, its detailed description is omitted.

EXAMPLE

Using the encoding method according to the present invention, the latitude/longitude coordinates of a geographic position may be easily converted into an 8-digit alphanumeric code using the grid pattern with uniformly distributed grid points, wherein said code is associated with a location with a predefined maximum of distance error, which is preferably not more than 10 meters. For example:

47°3 Π3.3"Ν, 19°0Γ37.1Έ→ C9TT.4VKH

In the above conversion, the position code C9TT.4VKH is assigned to the grid point which is nearest to the position defined by the angular coordinates 47°3 13.3"Ν 19°0Γ37. ΓΈ .

When the location code is generated on the basis of IATA area codes and the geographic position within a specific area, the location code may be represented in the following form:

47.32'28.3"N, 18.56 * 44.5"E→ BUD.A1YUG wherein BUD is the three-digit code of the city area, and A1YUG is the position code of the grid point within the city area, which is nearest to the position defined by the angular coordinates 47.32 * 28.3"N, 18.56 * 44.5"E. On the other hand, using the reverse conversion method according to the present invention, an 8-digit alphanumeric code of a location may be easily converted into the latitude/longitude angular coordinates of the grid point, which is nearest to the location of interest. For example:

C9TT.4VKH→ 47°3 Π3.3212"Ν, 19°01 * 37.182Έ In the above example, the alphanumeric position code C9TT.4VKH of a grid point corresponds to the geographic position 47°3 Γ13.3212"Ν, 19°0Γ37.182Έ. The actual location can be found within an area around this angular position with a distance error of at most 10 meters.

The methods according to the present invention have the following advantages. The computer implementation of the methods requires relatively small storage space as there is no need of storing a large database for language-specific code words associated with each of the grid points. The methods can be implemented as offline computer applications allowing the conversion and the reverse conversion without online (e.g. internet) connections. Due to the language-independent alphanumerical representation of the geographic positions of the grid points, the methods of the invention provide high-level portability of the encoding and decoding schemes since they can be conveniently implemented in computers irrespective of the language used by the users. A further advantage of its language-independency is that it allows easy speech recognition as only the audio recognition of 36 different symbols should be solved.