TITLE
METHOD AND SYSTEM RELATING TO POSITIONING
Technical field of the invention
The present invention relates to a method and system for processing and simplifying geographical data.
Background of the invention
The interest in how to use the position information has grown a great deal in recent years, stimulated primarily by the widespread use of small, cheap GPS receivers. Also, with computers becoming ever faster and cheaper, Geographical Information Systems (GIS), once the domain of few, very specialized companies, are now much more commonly used. The value of combining positioning with GIS has become much more apparent.
A farmer using a GPS receiver, for example, on his tractor can for instance correlate the crop yield with the amount of seed and fertilizer on each square metre of his fields, and adapt next year's seed and fertilizer just by "painting" it on a representation of his fields on a standard personal computer running a GIS system that also controls the seed dispenser through the GPS/Telemetry link to the tractor.
There are several systems in commercial operation that can present position information in some lcind of graphical form, for instance as a marker on a map. This requires that the user has a graphics capable device.
One drawback with presenting position as a marker on a map is that sometimes the device(-s) available to the user cannot display a map with a marker on it, i.e. it has limited graphical functionality. Those devices are generally text-only which means that the system must have a
way of translating the coordinate position into a textual description of the area. Since the description can never be as immediately informative as an annotated map, the text description must be chosen carefully. The problem is that no systems have that capability B either the user is forced to "upgrade" to a better terminal, or the service is simply unavailable.
One problem with any kind of solutions trying to map a semi-exact position to a textual description is that the accuracy of the description may not initially be as good as it could be.
US 5,067,081 A portable electronic navigation apparatus and method utilize universal latitude and longitude coordinates of geographic points and landmarks for determining current location or a specific destination and the distance and bearing thereof relative to landmark data input by the user. Latitude and longitude of population centres (e.g., cities, towns), major buildings, airports, and other landmarks in a geographical area are stored in a first memory. Latitudinal and longitudinal data for roadways in the area are stored in a second memory. A third permanent memory stores programs to; calculate the distance between two known points; look up and retrieve stored information; store and erase data upon the user's instruction; accept corrections to stored data; and to display the data on a screen in relation to its latitude and longitude along with name, mileage, and bearing or destination data corresponding to the related geographical feature or landmark. Destination, current or hypothetical location, latitude and longitude adjustments, other data, and requests for navigational information are input by a keyboard. Roads, population centres, airports, buildings, other landmarks, mileages, and bearings or directions according to the operator's request is displayed visually or vocally. The user may specify a radius around the current or destination location, and receive the distance between the destination and any other geographical feature, landmark, or roadway within the designated radius or within the designated path width.
WO 9911078, discloses a geographical database connected to a mobile radio network contains information about consumer services within the network and about a plurality of geographic areas into which the service area of the network is divided. When a mobile station seeks to obtain information from the database by entering one or more search key words, the network determines the current geographic location of the mobile station within the network. Both the
search keys and the mobile station's current location are used to search the database and return to the mobile station information about available consumer services in different zones made up of geographic areas near its current location. The input and output from the database may be voice or text.
In US 5,625,668, a cellular telephone system embodiment is disclosed, which comprises a combination global positioning system (GPS) receiver and cellular transceiver and a data processing facility for converting latitude, longitude, velocity and bearing information provided by the GPS receiver into meaningful descriptors that are spoken with a speech synthesizer back to the cellular transceiver or an outsider who calls in an inquiry to a "1-900" service. This document merely concerns conversion of coordinate data to site information.
US 5,214,757 relates to an automated, fully transportable mapping system, which utilizes position information gathered from a Global Positioning Satellite (GPS) capture program to create new maps or annotate existing maps contained in a Geographic Information System (GIS) database in real time. In addition, the present invention displays position information captured by GPS in real-time, enabling users to track the path on which they are travelling. Attributes related to the position information may also be entered in real time, and are stored in a file for subsequent inclusion in a GIS database. This document concerns processing GIS data using polygons, lines etc.
US 5,978,804 discloses a data processing system for processing natural product information entered into the system using a standardized entry protocol. The data processing system stores data such as chemical structures, geographic locations, taxonomy, genus synonyms, and textual descriptions and related natural products images such as images of the organisms, and geographic maps. The natural product images are correlated with the natural products data to allow display of the images with the related data. The data processing system further correlates the data products data and images stored in the system with remote databases, such as those containing existing commercially available data, linking the remote data thus correlated for display. Also, this document concerns processing GIS data and using polygons for locating a point.
An improved positioning system and method for use in a wireless communication system including a plurality of base stations each having a corresponding coverage area. Scaled contour shapes are generated having minimum and maximum boundaries based upon determined R measurements of each of the base stations are disclosed in US 5,602,903. The intersections of the contour shapes define a bounding polygon area that describes the position of a mobile unit in terms of minimum and maximum error estimate. Once the bounding polygon area has been defined, the latitude and longitude of the center of the polygon area is determined whereupon corresponding street addresses may be obtained through reference to one or more databases. Accordingly, sectorised signal power is used, whereby a border polygon is generated with respect to the crossing point if signals to provide the position of the mobile with maximum and minimum error estimation in the sectorised section.
Summary of the invention
One of the objects of the present invention is to provide a system that solves above-mentioned problems and to provide a method used in the system component for the actual translation from position to textual description.
Therefore the method for processing geographical data, wherein said geographical data is divided into at least two main types: a first type (Area) represented by an irregular polygon consisting of nodes, each defined by at least two coordinates and a second type (Point), being data comprising of at least two coordinates, said first type further having a level of geographical information specified by a label. The first type comprises a center point and a maximum radius, wherein said center point (C) is a center of a circle drawn around outermost polygon nodes and said maximum radius is the radius (R) of that circle, that said method comprises further step of searching each requested group of second data type (Points) for position of adjacent second types. The search consists of a coarse search comparing a distance between a position of said second data type and said center point of each first data type with the radii of "P" and "C".
Moreover, the method is instructed how said labels are related to each other in terms of containment. Also, the second type is assigned a label.
Preferably, said first type comprises a center point and a maximum radius, wherein said center point is a center of a circle drawn around outermost polygon nodes and said maximum radius is the radius of that circle.
Advantageously, an Application using the method is arranged to recognize or interpret the labels used when importing Geographical Information Systems (GIS) data. The Application is arranged to understand said GIS data semantically. Moreover, the Application is provided to look up said second type form of coordinates with a corresponding radius, which denotes a probable area of a subscriber's location. The lookup also provides a list of hierarchical levels to search, including labels to be included in the search for said first and second types.
The method comprises the further steps of searching each requested group of second data type (Points) for position of adjacent second types, which generates a sorted list of the second data type closest to P up to a hit limit provided by the Application. Preferably, the search results in a list of second data type for each requested level, each list containing a number of second data type and their distance to a point and sorted according to distance data, which sorted list is as well as distances of each point to point position.
Furthermore, the Application decides an identity of the second data type within a radius by comparing the proximity measure of each returned second data type with an original radius.
Preferably, the search consists of a coarse search comparing a distance between a position of said second data type and said center point of each first data type with the radii of "P" and "C" and that all second data type fulfilling CP < R + r are considered candidates, wherein R is the radius of a circle containing all pints of said first data type. For each candidate a coverage value is calculated as a percentage of the intersection between a circle representing the second data type and said central point as compared to the entire circle.
Moreover, for each hierarchical level, the first data types are reported sorted in order of decreasing/increasing coverage measure, essentially up to a maximum number of hits given by
the Application.
The invention also relates to a system for presenting position of a mobile station to a user. The system comprises at least one Application run by said user, a Geographical Information Broker (GLBs) and one or more Position providing means (PBs), wherein said Position providing means provides a position data, to said GLB, and said GLB provides a mapping of said position data into textual descriptions.
The GLB when processing geographical data, divides said geographical data into at least two main types: a first type (Area) represented by an irregular polygon consisting of nodes, each defined by at least two coordinates and a second type (Point), being data comprising of at least two coordinates, said first type further having a level of geographical information specified by a label. The GIB can provide a different type of area description, or description in a certain language. An Application queries one or more PBs and may weight the returned positions together to obtain an accurate position. The application queries each GLB, which interprets the results, possibly combines output from several GLBs into an essentially coherent, grammatically correct text description and presents it to the user.
The invention also concerns an article of manufacture comprising: a computer usable medium having computer readable program code means embodied therein, said computer readable program processing geographical data, the computer readable program code means in said article of manufacture comprising: said geographical data divided into at least two main types: a first type represented by an irregular polygon consisting of nodes, each defined by at least two coordinates and a second type, being data comprising at least two coordinates, said first type further having a level of geographical information specified by a label.
The invention also concerns a computer data signal embodied in a carrier wave comprising: a computer readable program code means embodied therein, said computer readable program provide for processing geographical data, the computer readable program code means in said article of manufacture comprising: said geographical data divided into at least two main types: a first type represented by an irregular polygon consisting of nodes, each defined by at least two
coordinates and a second type, being data comprising at least two coordinates, said first type further having a level of geographical information specified by a label.
Brief description of the drawings
In the following, the invention will be further described in a non-limiting way with reference to the accompanying drawings in which:
Fig. 1 is a schematic representation according to the present invention,
Fig. 2 illustrates a flow diagram,
Fig. 3 is another schematic representation according to the present invention, and
Fig. 4 is a block diagram showing a system according to the invention.
Detailed description of the embodiment
In the following, the term "Application" denotes any entity of the search method, and can be part of the hardware or software, and "User" is a person or system that is interested in textual descriptions of a geographical position.
According to the present invention a novel method, in form of a Search method for processing geographical data is provided. The Search method handles data of two major types: Areas and Points. Points are actually special cases of Areas, but they are so common that it is considered valuable to handle them separately.
The point data comprises two coordinates (Xp, Yp) in a two-dimensional case, and three coordinates (X, Y, Z) in the three-dimensional case.
An Area, as illustrated in fig. 1, is defined, or can be redefined as an irregular polygon. The polygon is defined (or can be redefined) as closed list of vertices, Xn, Yn, wherein n=l, 2, ..., each coded in the same way as above-mentioned Points. For Areas, each "level" of geographical information must have a specific label, for example "street", "city", "region",
"country" and so on.
The Search method is provided with instructions on how these labels relate to each other in terms of containment, i.e. which type of label can contain or refer to another type of label. Using the above example, the following order can be obtained: "country > region > city > street".
Points must also be assigned labels, but since they cannot contain other Points, nor be contained in a point, the algorithm itself has no need for a label ordering. However, it does not mean that the Application that uses the results of the algorithm cannot make use of such an ordering. On the contrary, having several "groups" of Points, each group with a distinct label, allows the Application to present the search results in a way that suits a user.
A "center" and maximum "extend" of all Areas must either be present from the beginning or be pre-calculated otherwise and added to the data for Areas, as shown in fig. 1. The "center" C is the center of a circle drawn around the outermost polygon nodes, i.e. the smallest possible circle containing all polygon vertices. The "extend" is the radius R of that circle.
If possible, it is advantageous to obtain correct prepositions to all Areas. In this way, the position reports will likely be grammatically and/or idiomatically correct, and if the preposition is not wanted by the Application, it can easily disregard the first geometrical element (e.g. country) of all returned Area strings.
The method is exemplified below with reference to a two-dimensional application, but it is appreciated that the Search method can be extended to three dimensions in a reasonably straightforward way.
The Application must be able to recognize or interpret the labels used when importing the GIS data, as well as be able to understand them semantically.
The Application provides the point "P" to be looked up in the form of X and Y coordinates with
corresponding radius "r" (or an error radius), which denotes the probable area of the subscribers location. It also provides a list of hierarchical levels to search, i.e. the "labels" to include in the search for both Points and Areas. Finally, it also provides an upper limit on the number of "hits" that are of interest.
First, the Search method searches each requested (labelled) group of Points for adjacent Points, i.e. generates a sorted list of the Points closest to P up to the "hit" limit provided by the Application. This search results in one list of Points for each requested level. Each, possibly empty, list contains a number of Points and their distance to P and is sorted according to distance. It returns this sorted list as well as the distance of each point to "P". Note that it is up to the Application to decide which points are within the radius "r" by comparing the proximity measure of each returned Point with the original radius "r".
Then it searches for Areas in essentially the same way, i.e. it searches each specified labelled hierarchical Area-level separately. Each search consists of a coarse search comparing the distance between "P" and the center "C" of each Area with the radii of "P" and "C". The candidates are all Areas where CP < R + r.
For each candidate a "coverage" value PJs calculated as the percentage of the intersection between the "P" circle and the area "A" as compared to the entire circle "P", i.e. how much the Area covered by the circle. It is important to note that it is not how much of the Area that the circle covers, it is the circle covered by the area that is important.
Finally, for each hierarchical level, the Areas are reported sorted in order of decreasing coverage measure (or vice- versa), up to the maximum number of "hits" given by the Application.
When the Application receives the list of nearby Points and Areas that contain "P", following possible interpretations are extracted:
- For Points, if there is a single point relatively close while the other points are situated more distanced, it can be considered providing the user with that Point as the result:
"NN is near <First Point>" (NN = A person's name).
- If there are two Points close while the others are distant, the report could be: "NN is somewhere between <First Point> and <Second Point>".
- Since Areas are hierarchical in nature, the report may comprise: "NN is near <First Point> in <First Level Area>, <Second Level Area>".
It is advantageous to combine the interpretations of the Points and Areas when generating the final textual description.
In one preferred embodiment of a system employing the method of the invention, the system, as shown in fig. 3, can be divided into three parts: the Application part 10, one or more Geographical Information Brokers (GLBs) 20 and one or more Position Brokers (PBs) 30.
Each PB is arranged to provide raw position data retrieved in a suitable way, e.g. through fetching information from a communications network 40. Each PB can use a distinct position estimation method or position access method. A position broker system is described in the pending Swedish Application No. 9903980-2.
Each GIB 20 provides the mapping of the raw position data from PB into textual descriptions as defined above, each providing for example a different type of area descriptions, or descriptions in a certain language. The different >types' may comprise descriptions according to the flora and geography of places, e.g. "in meadowlands with flowers X, Y and Z", or descriptions of business interest: "close to the main harbour", "in the commercial district", "close to the offices of company Z", or general location descriptions: "on road X, near city-part Y", etc.
The Application 10 queries one or more PBs 30 and may weigh the returned positions together to obtain an as accurate position as possible, e.g. for position of a mobile terminal 50. It then queries each GLB as described above. It then interprets the results, possibly combines output from several GLBs into a coherent, grammatically correct text description and presents that to a user.
Defining "correct" initial location descriptions can be difficult. Maintenance of the database of descriptions in the GLB can be a time-consuming task. One way of dealing with this problem is to involve the end user, i.e. enlist the end user in the maintenance and accuracy of the location descriptions.
As described above, the Application requests a current end user position, perhaps because of an initial end user request. It then uses the GLB to lookup the Point and Area candidate lists. Instead of just trying to generate a single location description and presenting it to the end user, it is possible to also include some of the candidates in the report to the end user. This would be especially useful if there are several candidates that were ranked almost as high as each other.
When the user receives the >best= or >suggested= location description and is not satisfied that the description is the correct one for his or hers current position, he or she can choose to view the candidates and perhaps select one he or she feels is better than the one presented by the Application.
The Application or the GLB gets this user feedback and can then either immediately adjust the ranking system for that immediate area and/or surrounding points, or it can merely adjust its ranking system so that it will take several user "votes" before any lasting ranking changes are made to the GLB database 21.
Fig. 4 shows an example of a candidate distribution. According to the figure, in which four Areas 1-4 are defined, a point "P" is situated in Area No. 3. "P" is a point returned by the position system with the accuracy radius r. Further more Areas 1-4 are candidates. The search method according to the invention returns a list, preferably stored by the degree of covering of each area by a circle Cp having its center at P and with the radius r. The list can have the following appearance:
Area No. Coverage (%) Section Comment
2 100 a Entirely Contained in Cp
4 30 b
1 15 c
3 10 d Only small part of the large
Area 3 covered by Cp
The coverage values are approximated.
As mentioned above the information from the GLB can be used to compile a set of information, which can be correctly presented to a user. Through the knowledge about the location, or approximative location of the user, the information can be presented in a correct way. Following non-limiting example illustrates presentation of a set of information in five different languages:
Swedish
Sentence: "Pelle ar nara Nisby, pa Gotland, i Sverige"
Model: "{friend} ar {graml} {placel}, {gram2} {place2}, {gram.3} {place3}."
{friend} = Pelle
{graml} =* nara
{placel} = Nisby
{gram2} = pa.
{place2} = Gotland
{gram.3} = i
{place3} = Sverige
Finish
Sentence: "Pelle on lahella Nisbyyn, Gotlannissa, Ruotsissa."
Model: "{friend} on {graml} {placel}, {place2}, {place3}."
{friend} = Pelle
{graml} = lahella
{placel } = Nisbyyn [derived from the common case Nisbyy]
{gram2} = [Not used]
{place2} = Gotlannissa [derived from the common case Gotland]
{gram3} = [Not used]
{place3} = Ruotsissa [derived from the common case Ruotsi]
French
Sentence: "Pelle est pres de Nisba, sur l'ϊle de Gotland, en Suede."
Model: "{friend} est {graml} {placel}, {gram2} {place2}, {gram3} {ρlace3}."
{friend} ■= Pelle
{graml } — pres de
{placel} = Nisby
{gram2} ■= sur l=ϊle de
{place2} = Gotland
{gram3} = en
{place3} = Suede
German
Sentence: „Peter ist nahe bei Nisby, auf der Insel Gotland, in Schweden."
Model: „ {friend} ist {graml} {placel}, {gram2} {place2}, {granι3} {place3}."
{friend} = Pelle
{graml } = nahe bei
{placel} = Nisby
{gram2} = auf der Insel
{place2} = Gotland
{gram.3} = in
{place3} = Schweden
English
Sentence: "Pelle is close to Nisby, on Gotland, in Sweden"
Model: "{friend} is {graml} {placel}, {gram2} {ρlace2}, {gram3} {place3}."
{friend} = Pelle
{graml} = close to
{placel} •= Nisby
{gram2} — on {place2} = Gotland {gram3} = in {place3} = Sweden
The invention is not limited the shown embodiments but can be varied in a number of ways without departing from the scope of the appended claims and the arrangement and the method can be implemented in various ways depending on application, functional units, needs and requirements etc.