A method and apparatus for defining grid and proprietary addresses of selected locations within a geographical area is described, characterized in that the grid addresses are defined in relation to a grid and can be easily converted to global coordinates defined in relation to a known global referencing system, and the proprietary addresses are unique to the geographical area.

Patent
   5839088
Priority
Aug 22 1996
Filed
Aug 22 1996
Issued
Nov 17 1998
Expiry
Aug 22 2016
Assg.orig
Entity
Small
227
20
all paid
15. In a computational apparatus, a method of addressing a selected location within a geographical area comprising the following steps:
selecting a geographical area from a plurality of geographical areas;
defining a grid corresponding to the selected geographical area, the grid having a plurality of grid cells, a reference point, global coordinates defined in accordance with a known global referencing system, and a name;
subdividing a cell corresponding to the selected location into as many levels of hierarchically-arranged sub-cells as necessary to obtain a desired addressing precision;
associating each sub-cell with a sub-cell code;
identifying each sub-cell with a hierarchical arrangement of codes;
addressing the selected location within the geographical area with an address formed by appending to the name of the grid a hierarchial arrangement of codes corresponding to the selected location.
10. A method of addressing a selected location within overlapping geographical areas using a computational apparatus comprising the following steps:
providing to the apparatus a first address of a first selected location in a first geographical area, the address comprising a hierarchial arrangement of codes of a first pre-defined gird corresponding to the first geographical area appended to a name of the first grid;
determining in the apparatus a second pre-defined grid which corresponds to a second geographical area, the second geographical location having a portion which overlaps at least in part the first geographical area, the first selected location being within the overlapping portion;
determining in the apparatus a hierarchial arrangement of codes of the second grid corresponding to the first selected location; and
appending in the apparatus the hierarchial arrangement of codes of the second grid corresponding to the first selected location to the name of the second grid to form a second address of the first selected location.
16. In a computational apparatus, a method of addressing a selected location within a geographical area comprising the following steps:
providing a grid address of a first selected location in a geographical area, the address comprising a hierarchial arrangement of codes appended to a grid name;
using the grid name to determine a pre-defined grid which corresponds to the geographical area, the grid having a plurality of grid cells, with each of the grid cells having a cell code and subdivided into a plurality of sub-cells, and with each of the sub-cells having a sub-cell code and addressed by a hierarchial arrangement of codes, the grid further having a reference point corresponding to a second selected location within the geographical area, global coordinates of the second selected location defined in accordance with a known global referencing system, and at least one parameter defining cell and sub-cell size and orientation;
determining global coordinates of the first selected location defined in accordance with the known global referencing system by modifying the global coordinates of the second selected location in accordance with the hierarchial arrangement of codes corresponding to the first selected location and at least one parameter defining cell and sub-cell size and orientation.
17. In a computational apparatus, a method of addressing a selected location within a geographical area comprising the following steps:
providing a proprietary address of a first selected location within a geographical area;
determining a pre-defined grid which corresponds to the geographical area, the grid having the plurality of grid cells, with each cell having a cell code and subdivided into a plurality of sub-cells, and with each of the sub-cells having a sub-cell code and addressed by a hierarchial arrangement of codes, the grid further having a reference point corresponding to a second selected location within the geographical area having global coordinates defined in accordance with a known global referencing system, and at least one parameter defining cell and sub-cell size and orientation;
determining a hierarchial arrangement of codes which correspond to the first selected location by using the proprietary address to search through a predetermined file containing proprietary addresses reserved for the grid; and
determining global coordinates of the first selected location by modifying the global coordinates of the second selected location in accordance with the hierarchial arrangement of codes corresponding to the first selected location and at least one grid parameter defining cell and sub-cell size and orientation.
11. A navigational apparatus comprising:
a gps receiver for providing global coordinates of a first selected location within a geographical area defined in accordance with a known global referencing system;
an input device for providing a grid address of a second selected location within the geographical area comprising a hierarchial arrangement of codes appended to a grid name;
a processor coupled to the gps receiver and the input device, and configured to (1) use the grid name to determine a pre-defined grid which corresponds to the geographical area, the grid having a plurality of grid cells, with each of the grid cells having a cell code and subdivided into a plurality of sub-cells, and with each of the sub-cells having a sub-cell code and addressed by a hierarchial arrangement of codes, the grid further having a reference point corresponding to a third selected location within the geographical area, global coordinates of the third selected location defined in accordance with the known system, a name, and at least one parameter defining cell and sub-cell size and orientation; (2) determine the global coordinates of the second selected location by modifying the global coordinates of the third selected location in accordance with the hierarchial arrangement of codes corresponding to the second selected location and at least one parameter; and (3) compare the global coordinates of the first and second selected locations to determine a value; and
an output device coupled to the processor for outputting the value.
8. A method of directing an object to a selected location within a geographical area using a navigational apparatus comprising:
providing to the apparatus an address of a first selected location in the geographical area, the address comprising a hierarchial arrangement of codes appended to a name;
using in the apparatus the name to determine a pre-defined grid which corresponds to the geographical area, the grid having a plurality of grid cells, with each of the cells having a cell code and subdivided into a plurality of sub-cells, and with each of the sub-cells having a sub-cell code and addressed by a hierarchial arrangement of codes, the grid further having a reference point which corresponds to a second selected location within the geographical area, global coordinates of the second selected location defined in accordance with a known global referencing system, and at least one parameter defining cell and sub-cell size and orientation;
determining in the apparatus global coordinates of the first selected location by modifying the global coordinates of the second selected location in accordance with the hierarchial arrangement of codes corresponding to the first selected location and at least one grid parameter;
determining in the apparatus global coordinates of a current location of the object;
comparing in the apparatus the global coordinates of the first selected location with those of the current location to determine a directional indicator;
outputting the directional indicator; and
directing the object towards the first selected location using the directional indicator.
14. A navigational apparatus comprising:
a gps receiver for providing global coordinates of a first selected location within a geographical area defined in accordance with a known global referencing system;
an input device for providing a proprietary address of a second selected location within the geographical area;
a processor coupled to the gps receiver and the input device, and configured to (1) determine a pre-defined grid which corresponds to the geographical area, the grid having a plurality of grid cells, with each of the grid cells having a cell code and subdivided into a plurality of sub-cells, and with each of the sub-cells having a sub-cell code and addressed by a hierarchial arrangement of codes, the grid further having a reference point corresponding to a third selected location within the geographical area, global coordinates of the third selected location defined in accordance with the known system, a name, and at least one parameter defining cell and sub-cell size and orientation; (2) determine a hierarchial arrangement of codes corresponding to the second selected location by using the proprietary name to search through a pre-determined file containing proprietary addresses reserved for the grid; (3) determine global coordinates of the second selected location by modifying the global coordinates of the third selected location in accordance with the hierarchial arrangement of codes corresponding to the second selected location and at least one grid parameter; and (4) compare the global coordinates of the first and second selected locations to determine value; and
an output device coupled to the processor for outputting the value.
18. A navigational apparatus comprising:
a gps receiver for providing global coordinates of a first selected location within a geographical area defined in accordance with a known global referencing system;
an input device for providing an address of a second selected location within the geographical area, the address including a hierarchial arrangement of codes;
a storage device for storing information which identifies a grid and a cell of the grid;
a processor coupled to the gps receiver, the input device, and the storage device, and configured to (1) use the information stored in the storage device to determine a pre-defined grid which corresponds to the geographical area, the grid having a plurality of grid cells, with each of the grid cells having a cell code and subdivided into a plurality of sub-cells, and with each of the sub-cells having a sub-cell code and addressed by a hierarchial arrangement of codes, the grid further having a reference point corresponding to a third selected location within the geographical area, global coordinates of the third selected location defined in accordance with the global referencing system, a name, and at least one parameter defining cell and sub-cell size and orientation; (2) determine the global coordinates of the second selected location by modifying the global coordinates of the third selected location in accordance with the information stored in the storage device, the hierarchial arrangement of the codes corresponding to the second selected location, and at least one parameter; and (3) compare the global coordinates of the first and second locations to determining a value; and
an output device coupled to the processor for outputting the value.
9. A method of directing an object to a selected location within a geographical area using a navigational apparatus comprising:
providing to the apparatus an address of a first selected location within a geographical area comprising a proprietary name unique to the geographical area;
accessing in the apparatus a file containing proprietary names reserved for the geographical area;
using in the apparatus the file to determine a grid address corresponding to the proprietary name, the grid address comprising a hierarchial arrangement of codes appended to a grid name;
using in the apparatus the grid name to determine a pre-defined grid which corresponds to the geographical area, the grid having a plurality of grid cells, with each cell of the grid having a cell code and subdivided into a plurality of sub-cells, and with each of the sub-cells having a sub-cell code and addressed by a hierarchial arrangement of codes, the grid further having a reference point corresponding to a second selected location within the geographical area, global coordinates of the second selected location defined in relation to a known global referencing system, and at least one parameter defining cell and sub-cell size and orientation;
using the file to determine a hierarchial arrangement of codes corresponding to the first selected location;
determining in the apparatus global coordinates of the first selected location by modifying the global coordinates of the second selected location in accordance with the hierarchial arrangement of codes corresponding to the first selected location and at least one grid parameter;
determining in the apparatus global coordinates of a current location of the object;
comparing in the apparatus the global coordinates of the first selected location with those of the current location to determine a directional indicator;
outputting the directional indicator; and
directing the object towards the first selected location using the directional indicator.
1. A navigational apparatus comprising:
a gps receiver for providing global coordinates of a first selected location within a geographical area defined in accordance with a known global referencing system;
an input device for providing an address of a second selected location within the geographical area comprising a proprietary address, and an address of a third selected location within the geographical area, said address of said third selected location including a hierarchial arrangement of codes;
a storage device for storing information which identifies a grid and a cell code of the grid;
a processor coupled to the gps receiver, the input device, and the storage device, and configured to (1) use the information stored in the storage device to determine a pre-defined grid which corresponds to the geographical area, the grid having a plurality of grid cells, with each of the grid cells having a cell code and subdivided into a plurality of sub-cells, and with each of the sub-cells having a sub-cell code and addressed by a hierarchial arrangement of codes, the grid further having a reference point corresponding to a fourth selected location within the geographical area, global coordinates of the fourth selected location defined in accordance with the known global referencing system, and at least one grid parameter defining cell and sub-cell size and orientation; (2) determine a hierarchial arrangement of codes corresponding to the proprietary address by searching through a pre-determined file containing proprietary addresses reserved for the grid; (3) determine global coordinates of the second selected location by modifying the global coordinates of the fourth selected location in accordance with the hierarchial arrangement of codes corresponding to the proprietary address and at least one grid parameter; (4) determine global coordinates of the third selected location by modifying the global coordinates of the fourth selected location in accordance with the information stored in the storage device, the sub-cell code corresponding to the third selected location, and at least one parameter; (5) compare the global coordinates of the first and second selected locations to determine a first value; and (6) compare the global coordinates of the first and third selected locations to determine a second value; and
an output device coupled to the processor for outputting the first and second values.
7. A method of directing an object to a selected location within a geographical area using a navigational apparatus comprising the following steps:
providing to the apparatus global coordinates of a first selected location within a geographical area defined in accordance with a known global referencing system;
providing to the apparatus an address of a second selected location within a geographical area comprising a proprietary address;
providing to the apparatus an address of a third selected location within a geographical area, said address including a hierarchial arrangement of codes;
storing in the apparatus information which identifies a grid and a cell code;
using in the apparatus the stored information to determine a pre-defined grid which corresponds to the geographical area, the grid having a plurality of grid cells, with each of the grid cells having a cell code and subdivided into a plurality of sub-cells, and with each of the sub-cells having a sub-cell code and addressed by a hierarchial arrangement of codes, the grid further having a reference point corresponding to a fourth selected location within the geographical area, global coordinates of the fourth selected location defined in accordance with the known global referencing system, and at least one parameter defining cell and sub-cell size and orientation;
determining in the apparatus a hierarchial arrangement of codes corresponding to the proprietary address by searching through a pre-determined file containing proprietary addresses reserved for the grid;
determining in the apparatus global coordinates of the second selected location by modifying the global coordinates of the fourth selected location in accordance with the hierarchial arrangement of codes corresponding to the proprietary address and at least one grid parameter;
determining in the apparatus global coordinates of the third selected location by modifying the global coordinates of the fourth selected location in accordance with the information stored in the storage device, the sub-cell code corresponding to the third selected location, and at least one parameter;
comparing in the apparatus the global coordinates of the first and second selected locations to determine a first directional indicator;
comparing in the apparatus the global coordinates of the first and third selected locations to determine a second directional indicator; and
outputting the first and second directional indicators.
2. The apparatus of claim 1 wherein the global coordinates defined in accordance with the global referencing system are lat/lon coordinates.
3. The apparatus of claim 1 wherein the first value is distance between the first and second locations.
4. The apparatus of claim 1 wherein the first value is bearing of the second location in relation to the first.
5. The apparatus of claim 1 wherein the second value is distance between the first and third locations.
6. The apparatus of claim 1 wherein the second value is bearing of the third location in relation to the first.
12. The apparatus of claim 11 wherein the value is distance between the first and second locations.
13. The apparatus of claim 11 wherein the value is bearing of the second selected location in relation to the first.

The field of this invention is geographic location referencing systems.

A geographic location system has an addressing scheme that allows a location to be uniquely addressed. Several systems are well known and currently in use, such as geodetic latitude and longitude, Universal Transverse Mercator (UTM), Military Grid Reference System (MGRS), World Geographic Reference System (GEOREF), Maidenhead, Trimble Grid, Trimble Atlas, and Thomas Brothers Detail. These known systems can generally be divided into two categories: global and local. The global systems, such as geodetic latitude and longitude, UTM, MGRS, GEOREF, Maidenhead, and Trimble Grid, use a scheme that subdivides the globe into areas of increasing resolution, until a particular location is properly identified. Thus each location address is referenced to the global system, allowing for the easy comparison of two location addresses. However, the addresses tend to be complicated, cumbersome, and unrelated to the real world, increasing the complexity of these systems.

The local systems, such as Thomas Brothers paper mapping systems, provide a technique that assigns location addresses based on association with a geographic region or physical map pages, with every location identified with only one region. This type of local system is easier to use for local location information in connection with a physical map, but is difficult to use with respect to a more global or electronic systems, as there is no simple way to convert a local address into a global address, and the local address is not recognized in the global systems.

Location technology has been significantly impacted by the wide availability of Global Positioning Systems (GPS), which are operated by the United States Department of Defense to provide worldwide navigation, position location, and precision timing services. GPS comprises a global network of satellites that interact with a controller coupled to a GPS receiver, allowing the controller to precisely determine its location. This location is typically output from the GPS receiver as latitude and longitude numbers, which are cumbersome for users to understand and use. A GPS receiver is sometimes coupled with additional capability that allows the raw latitude/longitude numbers to be converted into a more useful and usable format. See, e.g., Sprague et al., U.S. Pat. No. 5,422,814; Inoue, U.S. Pat. No. 5,289,195; and Yamashita, U.S. Pat. No. 5,471,392. However, even with these enhancements, a problem with these systems is that they are still difficult to use by persons who are unskilled in the use of location referencing systems. Another problem is that these systems are unwieldy because they still retain their global character. Thus, what is needed is a referencing system that can be used with a minimum amount of reading, scrolling, and searching, and with a limited number of keystrokes for data entry. Also needed is a user-friendly, truly local addressing system that is easily convertible to a known global system for wide-range concerns.

The present invention relates to creating and using a location referencing address method associated with an established geographic information system. The location referencing address method has an arbitrary local referencing system that retains a known relationship with a global referencing system.

In a first, separate aspect of the present invention, a universal location address is defined by subdividing a geographic location into several independent districts, each with a name and a reference point. The reference point has a known locational address within a global referencing system. A coordinate system is placed on the district relative to the reference point, yielding a position indicator for locations within the district. Combining the district name and the position indicator defines the local location.

In a second, separate aspect of the invention, the foregoing aspect may be further enhanced by the creation of proprietary locational addresses. A proprietary address is a name, which will be unique within the district, that distinctly identifies a location with the district. A proprietary address is created by selecting a name, capturing positional information about the location associated with the name, checking that the name is unique in the district and storing the name with its associated locational information and feature data. Once stored, the name and the associated information may be selectively disseminated to users of locational systems.

In a third separate aspect of the invention, a locational system first accepts regional or positional information to determine a general location address, including a district name. The locational system then accepts specific addresses, each having less than a complete locational address. The locational system creates a complete locational address by combining the known general positional information with the abbreviated specific locational address to determine the precise and complete locational address, generally by prefixing the known general positional information to the specific locational address.

In a fourth separate aspect of the invention, a navigational system incorporating the foregoing aspects is defined.

FIG. 1 shows two overlapping districts, each with a reference point and a grid system.

FIG. 2 shows a single cell of FIG. 1 with hierarchical gridding to increase the addressing resolution.

FIG. 3 is a functional diagram of a preferred embodiment of the invention.

FIG. 4 shows how proprietary locational names are compiled and distributed.

FIG. 5 is a diagram of a navigational system incorporating one or more aspects of the subject invention.

FIGS. 6 and 7 show the use of PLAs and ULAs in a specific geographical context.

FIGS. 8a-8b, 9, 10a-10c, 11 are examples of specific files used in one implementation of the subject invention.

FIGS. 12a-12c are examples of screen outputs used in one implementation of the subject invention.

A preferred embodiment of the present invention allows a point of interest (POI) within an arbitrary geographic area to be uniquely identified with a locational address, and the locational address to be related to other known global referencing systems. The locational address may take two forms: first, as a universal locational address (ULA); or second, as a proprietary locational address (PLA). Each of these forms is discussed below.

Every location in a geographic area will have at least one ULA. To determine the ULA of a point, a geographic area is divided into several districts. The districts may be of differing size and shape, and may contain a particular identifying feature. For example, the geographic area of the United States may be subdivided into numerous districts, which may be strategically located, sized, and named with reference to cities or other geographic or political features in order to associate the districts with such features. Advantageously, such districts are chosen relative to cities and it is therefore convenient to name each district according to the city about which the district is located. In fact, each city may have a reference point, allowing local locations to be addressed relative to the local city. Sparsely populated areas may have larger districts, and densely populated areas may have smaller districts. The districts may also be quasi-rectangular, following latitude and longitude lines. In more densely populated areas, it is possible that a particular location will be within the boundaries of two or more districts. In addition, user-defined districts, reference points, and grid sizes are possible. For example, a search and rescue operation may establish a reference point and grid size convenient for a particular search area, or a group of hikers may choose a reference point and grid size appropriate for a particular outing.

After the districts have been selected and named, a reference point is chosen for each district, and a grid system placed relative to the reference point. Advantageously, the grid system is referenced north. Referring to FIG. 1, a first district 1 and a second district 3 are defined relative to major cities 4 and 6 respectively. In this example, major city 4 in the first district 1 will be named CITYONE and the major city 6 in the second district 3 will be named CITYTWO. For convenience, the first district 1 will be named CTY1, referring to the major city within that district's borders, and the second district will be named CTY2, referring to the major city within that district's borders. Reference point 5 is selected as the reference point for CTY1, and reference point 7 is selected as the reference point for CTY2. The reference point will not necessarily be located proximate to the feature used as the name for the district. Each reference point 5 and 7 has a known address within a global referencing system such as World Geodetic Systems (WGS). Association with a global system offers at least three important functions: first, local addresses may be easily converted to global addresses and vice-versa; second, inter-district relationships are established; and third, easy integration with known navigational systems is provided. Thus, an easy to use district-level addressing system retains the advantages of a global system without attaching complexity.

As can be seen in FIG. 1, the grid system about each reference point 5 and 7 creates cells 9 in each district. Each of these cells 9 is identified with a cell code, which advantageously is a two character number. For example, a target POI location 19, which is in cell 11, can now be identified by referring to its district and cell code, e.g., CTY2-11. Of course, such a reference lacks the resolution to identify a particular feature, such as a house, but may be enough resolution to locate a lake or park. The issue of increased resolution is discussed below.

Also, it is likely that there will be an overlap area 13 that is formed at the intersection of districts. Within this overlap area 13, any POI can be identified by reference to any district within which it is located. Thus, a target location 8 in the overlap area 13 can be identified by either association with the CTY1 or CTY2 districts, or any other district within which it is located. In the preferred embodiment, a locational system can provide a locational address relative to any reference point or district by simply toggling between reference points.

As discussed above, a district name and cell code may not give sufficient resolution to locate specific locations. To increase resolution, a hierarchical grid is applied to each cell 9 of FIG. 1. For example, cell 11 is shown in FIG. 2 with a sub-grid applied, producing sub-cells 15. Each of these sub-cells can be identified with a sub-grid code. Moreover, the sub-cells can be further subdivided to increase resolution. Here, sub-cell 17 is further subdivided. As can be seen in the figure, the target location 19 is within the sub-sub cell 18. Thus, to more definitively identify the target location 19, a ULA is formed from the highest resolution sub-cell defined and each of its parent cells. The locational address is formed by appending to the district name each sub-cell code in hierarchical progression, moving from lower resolution to more resolution. In the example here, the target location 19 would have a locational address of CTY2-11-17-18. Based on the size of the district, if this does not give the necessary resolution to properly locate the target location 19, then additional levels of gridding hierarchy can be added. Although, in this example, each cell was randomly named with a unique numerical code, it should be appreciated that a consistent Cartesian coordinate system can also be used, with each cell defined by an (X, Y) coordinate pair. Those skilled in the art will recognize several other alternative ways to define a grid system.

Advantageously, a city will be named with a specific abbreviated name for purposes of navigating to and around that city. That abbreviated name may also serve as the name of the defined district located about that city. Depending on the size of the city and various geographic, political, and other features relating to the city or region, the district for that particular city will be pre-defined with a particular grid size, although the system may allow altering the grid size for particular purposes. If, in the preceding example, the defined grid size for CTY2 is approximately 30 by 30 nautical miles, identifying two hierarchial grids produces a resolution of about 500 meters, which is sufficient for locating structures in open areas or large targets such as lakes or parks. By adding a third and fourth hierarchical grid, a resolution of about 5 meters is achieved, and by adding a fifth hierarchical grid, a resolution of about 0.5 meters is achieved. By adjusting the number of grids, then, the resolution of the resulting locational address is changed to meet the requirements of the particular area or user. Advantageously, each level of the hierarchial address is separated by a decimal point. Thus an address may appear as "DISTRICT.12.34.56.78". Those skilled in the art will recognize several alternatives to this approach.

The second way a point of interest may be designated in the subject invention is with a proprietary locational address (PLA). Referring to FIG. 4, the first step in using a PLA is to identify the feature and select a name 51. A PLA is a name chosen to identify a physical structure or location. The name can be chosen by the operator of a locational service, as in the case of naming national monuments, or the name can be chosen by individual or corporate users of the locational service. Individuals may even want to identify their homes using their own names. Thus, a Ms. Mary Smith may name her house MARY.SMITH.HOUSE, for example. Thus, when Ms. Smith wants to direct someone using a locational service to her house, she identifies her location using MARY.SMITH.HOUSE, rather than a street address or other locational referencing system. A corporation, too, may desire to allow customers to locate it using a common name rather than a less personal addressing system. For example, a nationwide enterprise such as MacDonalds™ with many locations may choose a PLA that is associated with its tradename or product or otherwise allows users to easily remember and associate the establishment's PLA. Abbreviations are useful as it keeps user input to a minimum, increasing safety, reliability, and convenience. Since the nation-wide enterprise may have many locations in a single metropolitan areas, each may be identified by appending to the enterprise's PLA a unique identifier to identify specific branch offices or affiliates. Wildcard searching is also provided, allowing several locations of the known nation-wide enterprise to be found for a particular geographic area.

The capture of positional information for a certain name will now be described. Referring to FIG. 4, as indicated by identifying numeral 55, positional information could be entered manually, by, for example, inputting the ULA or coordinates of the location from a known mapping system. Alternatively, as indicated by identifying numeral 57, the positional information may be read electronically using a system such as the GPS. Referring again to FIG. 4, the name 51 and positional information 53 are associated. The district in which the location is identified is determined by comparing the positional information 53 to stored district locational information 54. Once the district is identified, the name is checked against other reserved names in the district to assure the selected name is unique. If the name is unique, it is placed in a district data file 63. As can be seen from the discussion above, uniqueness of the name need only be checked at the district level. Consequently, the same name can be present in different districts. The name must be unique at the district level as the district name usually becomes part of the PLA. For example, the nation-wide enterprise location in district CTY1 could have a full PLA of CTY1-TRADENAME. If the owner of a name desires to more widely reserve a name, each district will be checked individually.

Once a PLA is approved for an individual, corporation, or other entity, the PLA may be placed in promotional material such as advertisements, coupons, billboards, or other means of commnunication. By providing a PLA that describes a feature, a particular location may be quickly identified and readily found.

Once cleared for conflicts, the name, positional information, and any other useful information are stored in a central repository location. This storage may be sortable and selectively downloadable by users of locational systems. For example, the central repository may be accessible via the Internet. In such a case, a user 75 would make a request for information 71 concerning future travel, such as the ULAs or PLAs of specific desired waypoints of a trip. The information in the central repository 65 is selected and sorted, and the travel data 73 is received by the user, creating a travel profile. To ease the data selection process, the central repository may store preferences for the user. After receiving the travel profile, the user places the travel data 73 into a navigational unit 77, augmenting information 79 already locally present in the navigational unit 77. The user 75 may then use the travel data 73, including PLAs and ULAs, to assist in navigating.

An aspect of the subject invention is the use of ULAs and PLAs in known navigational systems. The use of a ULA by such a system with a minimum amount of information input by a user will now be disclosed. Referring to FIG. 3, district file 31 is maintained correlating district names and locational information relating to those districts. Regional information 33, that may be manually entered (as indicated by reference numeral 21) by a user, may also be maintained. This regional information 33 is used by the system to reduce the amount of information a user must enter to identify a particular location. The regional information may, for example, be a map code or distinct name identifying the general area covered by the map. Alternatively, it may be the name of a district having a pre-defined grid. After the map code or district name is inputted as regional information, the system now assumes that any future user inputs are within the geographical area defined by the regional information, thus reducing the complexity of inputting future addresses referenced on that map. Also, positional information 35 of a current location may be input manually (reference numeral 23) or electronically (reference numeral 25) for the same purpose. By knowing the present location, the system may assume that any subsequent address input by the user is within the same geographical area as the present location. Again, the purpose and effect is to reduce the complexity of inputting locational addresses.

The user may also electronically (reference numeral 29), or manually (reference numeral 27) input a specific address 37 to the system. By comparing the regional information 33 and positional information 35 of the current location with the stored district information 31, a general address can be formed. This general address will contain the district name plus any cell and sub-cell codes that are more general than the most general code in the specific address. The resolution detector 43 attempts to determine how much resolution is represented by the specific address 37 input by the user, and in conjunction with the comparison 41 function, creates a general address 45 with the correct level of resolution. Again, it is assumed that any subsequent addresses input by the user are within the same geographical area defined by this general address.

Once the resolution of the specific information 37 is determined, the specific information 37 is passed on to become a specific address 47. This specific address 47 is appended to the general address 45 formed above to form the final locational address 49. The locational address 49 is then used by the navigational system to assist in navigation. Additionally, an emergency mode may be provided in which a present location is automatically referenced to any reasonably close PLA or other known location.

A relationship with World Geodetic System 1984 (WGS-84), allowing locational addresses to be converted to other global addressing systems, is also provided. A further description of the district grid is needed to understand this relationship. Each district has a reference point, with the reference point being the approximate center of the city used in naming the district. A grid is placed in relation to the reference point such that the origin of the grid is aligned with the nearest intersection of latitude and longitude lines corresponding to the largest grid resolution in the district. Since the reference point has a known WGS-84 address, by knowing the origin offset, the district rotation, and the district scale, every ULA can be translated into a WGS-84 address, and from there into nearly all locational reference systems. Conversely, every WGS-84 address may be translated into one or more ULAs. The translation is simplified in the subject invention as the district grid system is generally aligned to the WGS-84 latitude/longitude grid.

With reference to FIG. 5, such a system comprises a GPS receiver 100, an input device 101 such as a keypad or the like, a processor 102, a storage device 103 such as RAM or ROM, and an output device 106 such as a display. The GPS receiver 100, input device 101, storage device 103, and output device 106 are all coupled to the processor 102 as shown. An application program 104 executes in the processor to perform various tasks. Optionally, a look-up-table (hereinafter "LUT") 105 is provided in the storage device 103.

The application program in a conventional navigational apparatus typically interfaces with and directs the aforementioned elements to perform the following tasks:

1. Displays the latitude and longitude (hereinafter "lat/lon") of the unit--First, the GPS receiver receives signals from the GPS satellite constellation, and calculates the location of the unit (in terms of lat/lon) using these signals. The lat/lon coordinates of the unit are then displayed on the output device 106.

2. Displays velocity and bearing--if the unit is moving, the processor determines the location of this unit at selected time intervals, and based thereon, determines velocity and bearing. Once determined, this information is displayed on the output device 106.

3. Allows for the selection of waypoints--In one approach, a user inputs waypoints through input device 101 in terms of lat/lon coordinates. In another approach, common in the aviation community, a look-up-table or the like, identified with numeral 105 in FIG. 5, is provided, correlating pre-determined waypoints with lat/lon coordinates. A capability for searching through the database and selecting particular waypoints is also provided in this approach.

4. Displays distance and bearing from selected waypoints--once the waypoints have been determined, the distance (assuming straight line) and bearing from these waypoints is determined and displayed.

Additional components of the system which are added by the subject invention include context buffer 108; front-end interface (hereinafter "FEI") 107; PLA database 110; and a database(s) 109 of grid definitions.

A critical function of the front-end-interface is to convert ULAs and PLAs into lat/lon coordinates. Consequently, a user can input waypoints in terms of ULAs or PLAs, and the FEI will convert the same to lat/lon coordinates for use by the unit in determining a directional and/or distance indicator (such as distance and bearing) from the waypoints. Additionally, positional information defined in terms of lat/lon coordinates can be displayed in terms of one or more ULAs of the subject invention. The FEI also includes various searching capabilities to allow a user to search through the PLA database 110 for particular waypoints or waypoints with particular characteristics.

The function of the context buffer 108 is to define the current district and grid in which grid addresses are assumed to be defined.

The grid definition file(s) 109 specifies all the grids which have been defined to date. For each grid, all the parameters necessary to define the gird are stored. Such information includes the lat/lon coordinates of the reference point of the grid, the dimensions of the grid, and the rotation and scaling of the grid cells. Thus, all the information needed to convert between a grid address within the grid and lat/lon coordinates is provided.

The PLA file 110 is a file which for each district correlates each PLA which is unique to and has been reserved for use in the district with its corresponding grid address.

The navigational system described above may be mounted in a vehicle or contained in a portable device, for example. Additionally, the navigational system may stand alone or may be integrated into existing devices, such as portable phones. Further, the subject invention may be incorporated into a general computational device such as a microprocessor. Since the physical manifestation of the navigational system is so flexible, there are numerous foreseeable applications.

The examples set forth below describe various details of various implementations of the system. Examples 1, 2, and 3 demonstrate specific implementations of one embodiment of the invention: Example 1 demonstrates the use of Hierarchial Identifiers for districts which are correlated with Country, State/Province, and City districts along with PLA's and a purely numeric ULA grid referencing system based upon a district grid size of approximately 185 kilometers north to south. Example 2 demonstrates the use of the Hierarchial Identifiers described in Example 1 along with an alternating alpha-numeric ULA grid referencing system. Example 3 demonstrates the use of a smaller City Grid and the resulting higher precision at various grid levels.

PAC Hierarchical Identifiers For Country, State/Province, City

The example assumes the existence of higher levels of hierarchical codes for identifying countries, states/provinces, and cities. The top level codes can be used, implied by context, or specifically ignored by the use of dots (periods) to make it clear how many codes have been omitted. A code of `US.CA.LA` might be represented as `LA`, `..LA`, or by `CA.LA`, depending on the geographic context or the need for clarity.

In all cases, upper level codes are dropped when the geographic context is clear, to prefix with dots (periods) when necessary to insure clarity, and to append lower levels to add precision.

Top level: two alpha character mnemonic (possibly based on Internet domain codes).

Examples:

United States=US

Australia=AU

Canada=CA

Second level: two character mnemonics (advantageously based on US postal codes within the US).

Examples:

California=CA

New York=NY

Third level: two or three alpha character mnemonics from city name unique within each state.

Examples:

Carbondale=CAR

Hartford=HAR

Los Angeles=LA

New York City=NYC

Fourth level; one or more alpha or numeric characters which are unique within a specific grid or map with a unique map code

Examples:

MACD, DISNEY, EXXON, etc.

An example of a use of a PLA might be US.GA.ALB.MACD to refer to a MacDonalds in Albany, Ga.; US.GA.ALB.MACD* to refer to the closest(s) one in Albany, Georgia; or MACD* to refer to the closest(s) ones in any city.

The code ..ALB.MACD* could refer to either the nearest MacDonalds in Albany Ga. or Albany N.Y. and context. .NY.ALB.MACD* would resolve the context.

This optional code is at a fourth or fifth level; identified by the first use of a pair of numeric characters in the city grid code. The city grid system requires an approximate city centroid described in a locational reference system such as geodetic latitude and longitude and the meaning of each pair of grid designators. The city grid origin is defined at the south-west coordinate system intersection value corresponding to exact values of the largest grid resolution precision that is defined in the city grid, placing the district centroid within the center grid cell of the system.

In the nominal city grid system, the grid cells are orthogonal to the defining coordinate system; however, rotations and scale parameters can be used to re-define the relationship between the city grid and the reference frame. False easting and false northing offsets (translations) are normally used to avoid negative numbering or to allow convenient ordering of alphanumeric designators.

Conversion from the defining reference frame (e.g., lat/lon) to city grid designators (i.e., ULAs) is accomplished by computing conversion constants based on the initial reference frame and the specific city grid definitions. When geographic context has already been established, grid designators are computed with respect to the currently selected district. When no district has been selected as the preferred one, the nearest district centroid is used as the basis for the grid designators. Conversion from city grid to coordinates in the defining system is accomplished by applying translation (and when applicable rotation and scale) parameters to the succession of grid designators until the precision implied by the number of grid cell designator pairs is reached.

The city grid is nominally based on a locational reference system that can be tied to other reference systems. In the nominal system, the underlying locational reference system datum is the World Geodetic System 1984 (WGS-84). Geodetic coordinates with respect to this datum can be converted to coordinates in a large number of other reference systems, allowing the city grid designators to be used with respect to other systems and other geodetic datums allowing conversion to Universal Transverse Mercator (UTM) systems, State Plane Systems, National Grid Systems, other horizontal coordinate system, or map projection.

The city grid origin is defined at the ten minute of latitude and ten minute of longitude intersection nearest the city centroid. This places the origin within five minutes of latitude and longitude of the city centroid. The radial distance of the city grid origin is then always within about 10 km of the nominal city center.

Each grid is then defined based on this origin by placing a grid centered at the origin with a false easting and northing=halfway between minimum and maximum numeric characters. Grid cells are identified by an easting cell designator paired with a northing cell designator with successive pairs of designators defining grid cells of increasing precision.

Highest level; least precision two numeric characteristics, East is always first, North is always second, minimum is always 0 and maximum is always 9.

The false easting puts the division between 4 and 5 at the grid origin north and east. Each highest level grid consists of a ten by ten region (100 grid rectangles).

Next lower level; higher precision, divides each numeric grid into a ten by ten grid (100 grid rectangles) area. East is always first, north is always second. Minimum is always 0 and maximum is always 9.

The false easting again puts the grid rectangle center at the division between 4 and 5.

Next lower levels repeat the numeric code above dividing each higher grid rectangle into a ten by ten rectangle area.

If each city grid origin is at an integer intersection of an even ten minutes of latitude and longitude, the first level numeric grid rectangles each cover an area of approximately 100 square nautical miles, or about 343 square kilometers with grid cells whose north-south extent is about 18.5 kilometers. Thus the entire set of first level grid cells covers a distance of about 185 kilometers from north to south and a shorter distance from west to east, depending on latitude.

Each second level city grid cell is 1/10th of the next higher level grid cell, or 1 minute of latitude and longitude, about 1850 meters north to south.

Each third level city grid cell is then 1/10th of the second level grid, or 6 seconds of latitude and longitude, about 185 meters north to south.

Each fourth level city grid cell is then 1/10th of the third level grid, about 18.5 meters north to south, around 340 square meters.

Since this fourth level grid corresponds to a resolution some five times more precise than un-aided GPS accuracy (with Selective Availability), a fifth level grid may not be required. Following the same 1/10th rule as the higher level grids, a fifth grid cell would measure 1.85 meters on a side, well within the accuracy of differentially-aided GPS.

Cities close to each other can each employ their own city grid even when they overlap. When questions of which city grid occur the city code (or all the higher level codes) can be attached to remove ambiguity.

An example of a use of a ULA might be US.GA.ALB.13 to refer to an area about 20 kilometers wide southwest of the center of Albany Ga. Then ..ALB.13.78 would refer to an area about 2 kilometers wide near the northeast corner of the previous example. So would .13.78 if the geographic context was established as Albany Ga.

The code .US.GA.ALB.13.78.27.14 would refer to the smallest unit of about 9 meters within an explicitly defined place. ..78.27.14 would refer to the same place in context.

In addition to the example above which demonstrates the logic and structure of the XYZ.12.34.56.78 format, this example describes the use of a grid format and ULA utilizing the XYZ.12.aa.34.aa format. The Country, State/Province, City and Proprietary Codes remain as described in the previous example, but the optional City Grid is structured differently. The grid code is still initially identified by a pair of numeric characters, and the city grid origin is defined at the ten minute of latitude and ten minute of longitude intersection nearest the city centroid as in the previous example. The definition of each grid and the false easting and northing, as well as the structure of the first grid level, is also as described in the preceding example.

The next lower level of the grid divides each numeric grid into a twenty by twenty grid (400 grid rectangles) area. East is always first, north is always second. The minimum is A from a character set consisting of ABCDEFGHJKLMNPQRSTUV, and the maximum is V. The false easting puts the grid rectangle center at the division between K and L.

The next lower level repeats the numeric code as described in the preceding example dividing each higher grid rectangle into a ten by ten rectangle area, and the next lower level repeats the alpha code described above in this example dividing each higher grid rectangle into a twenty by twenty rectangle area.

If the city grid is the same size as the preceding example, each second level city grid square (represented by the code XYZ.12.aa) is 1/20th of the first numeric grid square, 30 seconds of latitude and longitude, or about 920 meters north to south. The third level city grid square (represented by the code XYZ.12.aa.23) would result in a grid rectangle size of approximately 3 seconds of latitude and longitude, or about 92 meters north to south. The fourth level city grid square (represented by the code XYZ.12.aa.23.aa) would be 1/20th of the previous city grid square size, resulting in a grid rectangle size of approximately 0.15 seconds of latitude and longitude, or about 5 meters north to south.

It should be appreciated that it is possible to define embodiments in which these higher level portions are defined in terms of either numeric or alpha characters, or alternatively, in terms of mixed alpha and numeric characters.

This example demonstrates the different precision achievable by varying the size of the city grid of a particular district. This example uses a sample city grid designator "US.TX.AUS.45.45.77.45," with a district centroid of 30 degrees, 17 minutes north latitude and 97 degrees, 45 minutes of west longitude for an Austin, Tex., city grid district with a district designator, "US.TX.AUS." For a city grid easting and northing resolution of 1 minute of latitude and longitude for the largest resolution grid designator pair, the grid origin would be placed at 30 degrees, 17 minutes north latitude and 97 degrees, 45 minutes west longitude.

For numeric city grid designators with no rotation or scale, and with a false easting and northing of five grid cells, the designator "US.TX.AUS.45.45.77.45" would correspond to a geodetic position of 30 degrees, 15 minute, 45.0 seconds north latitude, and 97 degrees, 45 minutes, 15.0 seconds west longitude. The precision of the smallest grid cell would be one thousandth of a minute of latitude and longitude corresponding to approximately 1.6 meters of easting and 1.9 meters of northing. By reducing the number of designator pairs the precision of the implied geodetic position is also reduced. In this example, a designator of ".TX.AUS.45.45", would refer to an area one tenth of one minute of latitude by one minute of longitude in area or approximately 185 meters north to south; ".AUS.45.45.77" would refer to an area one-hundredth of one minute by one-hundredth of one minute, or approximately 18.5 meters north to south.

Set forth below are several examples of how the invention can be used. Examples 4 through 7 reflect situations in which the invention may be used and provide marked improvements in function and utility over traditional lat/lon based systems. Example 8 demonstrates certain aspects of the invention related to a particular geographic area and two maps of partially overlapping areas.

The subject invention may be used for general vehicular navigation, to drive from Los Angeles to the visitor's center at the Grand Canyon. The driver must first determine the address for the target location, and then input the address into the navigational system. There are several alternatives for locating the PLA or ULA. For example, the driver may read travel brochures that contain the ULA/PLA addresses; the driver may also review a map which contains ULA/PLA annotations; or the driver could just call the Visitor's Center and ask them for their PLA or ULA. Alternatively, the driver, using the input device, could search the PLA database to find if the Grand Canyon visitor's center has a PLA. Once the address is determined, the driver enters the PLA or ULA address into a navigational system, and the navigational system will direct the driver to the proper destination.

Second, the subject invention may be used to direct local traffic to a particular point of interest. For example, if the driver above is traveling along a highway and becomes hungry and desires to eat at a particular fast-food chain, the driver could interrogate the system data to find any nearby chain restaurants. The driver simply queries the system for occurrences of the fast-food chain's PLA, and, since the system is aware of its current location, the chain's restaurants may be listed by proximity. The driver simply selects one of the restaurants, and the navigational system directs the driver to that location. Additionally, a local restaurant may advertise a ULA or PLA for its location, so a driver, seeing a billboard or advertisement containing a ULA or PLA address, could input that address and be directed to the restaurant location. Because of the unique style of the addresses and features of the subject invention, these addresses are particularly easy to input with a minimum chance of error, decreasing the risk of accidents and increasing the likelihood of going to the desired location.

Third, the subject invention is particularly well suited for customization by individual or team users, facilitating intra-group communication and navigation. For example, if a group of hikers desires to split up and explore a particular area, they each could set their portable navigation devices to reference a custom grid with an appropriate grid size and location for the explorable area that allows sufficient resolution with a minimum number of digits or characters. Now, as the hikers communicate with each other or record interesting locational information, the data may be easily and accurately used and referenced to a meaningful location. This ability to set a user-defined reference point and grid size would also be useful for rescue teams performing search and rescue operations by allowing the search and rescue team to instantly establish a grid size and location for any search.

Fourth, the subject invention has emergency utility. For example, if a hiker above needs emergency assistance, the navigational system can provide a locational ULA that is easy to read and communicate by voice or numeric only key pad, which reduces both the ambiguity, risk and time involved in describing an emergency location. Alternatively, this ULA may be automatically communicated to emergency personnel if the navigational system integrates with a portable phone, two way pager, or other portable communication device.

An example illustrating the use of PLAs and ULAs in a specific geographical context, Yosemite National Park, will now be described. FIG. 6 illustrates a paper map with an assigned name of CA.YSB (indicated by identifying numeral 111). Within the boundaries represented on this map, the following PLAs have been reserved:

______________________________________
Description of
Corresponding
PLA Location FIG. 6 identifying numeral
______________________________________
HFDM Half Dome 115
1 Ahwahnee Hotel
112
GCRP Glacier Point 114
YSMF Lower Yosemite Fall
113
______________________________________

FIG. 7 illustrates a district with an assigned name of CA.YSM (indicated by identifying numeral 120). Within this district, the following PLAs have been reserved:

______________________________________
Description of Corresponding
PLA Location FIG. 7 identifying numeral
______________________________________
HCHY Hetch Hetchy 121
11 White Wolf 122
NENT Big Oak Flat Entrance
123
GCRP Glacier Point 126
WENT Arch Rock Entrance
124
BDGP Badger Pass 125
1 Wawona Information Center
128
SENT South Entrance 127
______________________________________

The following points should be noted from this example:

First, the name CA.YSB is for the specific map included in FIG. 6, and not for a district in which all of the area contained on the map is included. This feature allows assignment of specific PLA's for specific maps without regard to the district, thereby providing clarity in situations where the area covered by the map overlaps one or more districts.

Second, the name CA.YSM is the name of the district in which the area included in the map in FIG. 7 is located, thereby allowing areas included within this map to be referenced by either PLAs (e.g. CA.YSM.HCHY) or ULAs (e.g. CA.YSM.32.84.23.43) without the need to re-identify the name of the district or map.

Third, the areas covered by the CA.YSM district and the CA.YSB map overlap, allowing PLA references to either the YSM district or the YSB map. (Note also that the system might also define YSB as a district which could be utilized in determining ULA's with reference to the YSB district, in which case the YSB and YSM districts would also partially overlap.)

Fourth, the PLA's for particular locations may either be identical except for the district name (e.g. GCRP in FIG. 6 and GCRP in FIG. 7 refer to the same location) or identical PLA's may apply to different locations in different districts or on different maps (e.g. "1" in FIG. 6 and "1" in FIG. 7 refer to different locations on each of the respective maps). This is consistent with the principle that a PLA need only be unique within the district in which it is defined.

All of the features described in this example are designed to allow an initial manual or electronic input (either a district code, cell code, or specific map code) which allows users to use PLA's or ULA's identified on a specific map with a minimum number of keystrokes, thereby minimizing data entry, confusion, and ambiguity.

Examples 9, 10, and 11 demonstrate certain characteristics of files, pseudo-codes, and program screens of particular embodiments of the invention. (Note that the data contained in the files is provided for illustrative purposes only).

In this example, formats of specific files that are used in one implementation of the subject invention are described. Four files are described: GO2CITY2.DAT, STATES.DAT, PROPGO2.DAT, and COUNTRYS.DAT.

The GO2CITY2.DAT file, illustrated in FIGS. 8a-8b, defines the reference points for a plurality of pre-defined districts centered around specific cities. For each reference point, there is provided the name of the district, the name of the reference point, and the global coordinates of the reference point. Thus, the first entry of this file "AK, ANC, Anchorage, 149W54, 61N13," indicates that there is a district in the state of Alaska centered around Anchorage, with the reference point thereof having the following global coordinates: 149W54,61N13.

The STATES.DAT file, illustrated in FIG. 9, simply defines the mnemonics used in GO2CITY2.DAT to define states.

The PROPGO2.DAT file, illustrated in FIGS. 10a-10c, defines the proprietary names which have been reserved for each district. This file correlates each such proprietary name with the global coordinates associated with that name. Thus, the first entry of this file, "US.CA.NWB.MAC2, 117W52.360, 33N39.549" indicates that, in a district centered around Newport Beach, Calif., there is a MacDonalds having the following global lat/lon coordinates address: 117W52.360, 33N39.549.

The COUNTRYS.DAT file, illustrated in FIG. 11, simply defines the country mnemonics used in PROPGO2.DAT.

This example illustrates screen formats as displayed on an output device in an implementation of the subject invention. FIG. 12a is a screen illustrating the input of a ULA or grid address into a navigational system, with the system determining and outputting corresponding latitude and longitude coordinates. FIG. 12b illustrates the input of a PLA, with the system determining and outputting corresponding latitude and longitude coordinates. FIG. 12c illustrates the capability of the system to interpret the context, i.e. district address, of previous addresses, and to assume that the same distinct addresses applies to subsequent specific addresses until notified otherwise. In this specific example, the proprietary name MAC2 was input, with the system assuming that the district name associated with the previous example relating to MAC1, i.e., the CA.NWB. district name, applied to this example as well. Thus, in FIG. 12c, only the identifier "MAC2" need be input to the system, it being assumed that the district identifier "CA.NWB" applies to this request as well.

This document is a functional description of a computer program, Go2Grid, which embodies one or more aspects of the subject invention. The program is written in the "C++" programming language and its purpose is to demonstrate the feasibility of conversion between city grid and proprietary codes and geodetic coordinates.

Program flow is described using a series of pseudo-code statements. The functions required to perform these tasks are described. The data variable types and structures are defined. The parameters required for implementation of two possible city grid designators are defined.

Set all defined parameters to their default values

Northern latitudes are positive

Eastern longitudes are negative

The assumed geodetic datum is World Geodetic System 1984(WGS-84)

The last geodetic position is used to initialize the City Grid designator.

The user screen is initialized

Monitor keystrokes or navigation receiver input

For any City Grid designator change

Parse user input

If change in City Code

Compute city position from designator

Fill City Code

Fill Country and State Codes

If change in State Code

Fill Country and State Codes

If change in Country Code

Fill Country Code

If change in entire City Grid Designator

If a Universal Go2 Code

Fill Country, State, City and Grid Codes

If a Proprietary Go2 Code

Fill Proprietary Code

Compute geodetic coordinates for this Go2 Designator

For any change in geodetic coordinates

Parse user input

If user has requested a Universal Code

If current geographic context is changed

Get Go2 Codes from latitude and longitude

Find closest city

Set new City Grid center

Fill Country, State, City codes

Compute City Grid Codes for each level of precision

Reset User Screen display

Continue

The following functions are used by the Go2Grid sample program, an embodiment of the city grid concept:

______________________________________
getdeg( )
extracts decimal degrees from character strings
grange( )
computes geodetic range between two positions
dmsdeg( )
extracts degrees, minutes, seconds from decimal degrees
degdms( )
forms decimal degrees from degrees, minutes, seconds
getcenter( )
computes geodetic coordinates of City Grid center from
city centroid
getgrid( )
computes City Grid codes for level of precision
getkeys( )
parses user keyboard input
parsego2( )
parses Go2 City Grid designator
addlatlon( )
concatenates next level of precision onto geodetic
coordinates
getnextcity( )
finds next city in current state/province list
getprevcity( )
find previous city in current state/province list
getcost( )
fills Go2 City Grid designator with country and state/
province codes
putscreen( )
fills display with current city Grid designator and
geodetic coordinates
getnextstate( )
finds next state/province in current country list
getprevstate( )
find previous state/province in current country
______________________________________
list

The Go2Grid embodiment sample program defines the following variable structures in addition to the usual character, integer, float, and double types:

______________________________________
typedef struct ccstruct {
char city-- code[4];
char city[60];
char state-- code[3];
char state[60];
char country-- code[3];
char country[60];
char longitude[32];
char latitude[32];
double lat;
double lon;
double centerlat;
double centerion;
};
typedef struct latlonstruct {
int latdeg;
int latmin;
int latsec;
int londeg;
int lonmin;
int lonsec;
};
______________________________________

The following definitions are used within the Go2Grid sample program:

______________________________________
/* grid types */
/* a gridtype == 1 is numeric with 10 minutes, 1.0, 0.1, and 0.001 grids
*/
/* a gridtype == 2 is alphanumeric with 10, 0.5, 0.05 and 0.0025 grids
*/
#define GRIDTYPE 1
#define TITLE "Go2 and Geographic Coordinate Converter"
#define VERSION "(4/3/96)"
/* lines */
#define TITLELINE 1
#define GO2CONTEXTLINE 5
#define GEOCONTEXTLINE 10
#define HELPLINE 15
#define MESSAGELINE 18
#define COUNTRYLINE 20
#define STATELINE 21
#define CITYLINE 22
#define GO2LINE 23
#define LATLINE 24
#define LONLINE 25
#define INCOL 23
#define OUTCOL 5
#if GRID TYPE==1
/* GRID GRAIN */
#define GRIDKIND "Numeric City Grid"
#define GRIDDEF "Grid Precision: Level 1=1.0'; Level 2=1.0';
Level 3=0.1'; Level 4=0.01'"
#define GRIDCHARS "Designators Levels 1, 2, 3
and 4: [01232456789]"
#define LEVEL 1-- EGRAIN 10.0
#define LEVEL 1-- NGRAIN 10.0
#define LEVEL 1-- ECHARS "0123456789"
#define LBVEL 1-- NCHARS "0123456789"
#define LEVEL 1-- EGRIDS 10
#define LEVEL 1-- NGRIDS 10
#define LEVEL 2-- EGRAIN 1.0
#define LEVEL 2-- NGRAIN 1.0
#define LEVEL 2-- ECHARS "0123456789"
#define LEVEL 2-- NCHARS "0123456789"
#define LEVEL 2-- EGRIDS 10
#define LEVEL 2-- NGRIDS 10
#define LEVEL 3-- EGRAIN 1.0
#define LEVEL 3-- NGRAIN 0.10
#define LEVEL 3-- ECHARS "0123456789"
#define LEVEL 3-- NCHARS "0123456789"
#define LEVEL 3-- EGRIDS 10
#define LEVEL 3-- NGRIDS 10
#define LEVEL 4-- EGRAIN 0.010
#define LEVEL 4-- NGRAIN 0.010
#define LEVEL 4-- ECHARS "0123456789"
#define LEVEL 4-- NCHARS "0123456789"
#define LEVEL 4-- EGRIDS 10
#define LEVEL 4-- NGRIDS 10
#else if GRIDTYPE==2
#define GRIDKIND "Alphanumeric City Grid"
#define GRIDDEF "Grid Precision Level 1=10'; Level 2=0.5';
Level 3=0.05'; Level 4=0.0025'"
#define GRIDCHARS "Designators Levels 1&3:[01232456789];
Levels 2&4:[ABCDEFGHJKLMNPRSTUVW]"
/*GRID GRAIN*/
#define LEVEL 1-- EGRAIN 10.0
#define LEVEL 1-- NGRAIN 10.0
#define LEVEL 1-- ECHARS "0123456789"
#define LEVEL 1-- NCHARS "0123456789"
#define LEVEL 1-- EGRIDS 10
#define LEVEL 1-- NGRIDS 10
#define LEVEL 2-- EGRAIN 0.5
#define LEVEL 2-- NGRAIN 0.5
#define LEVEL 2-- ECHARS "ABCDEFGHJKLMNPRSTUVW"
#define LEVEL 2-- NCHARS "ABCDEFGHJKLMNPRSTUVW"
#define LEVEL 2-- EGRIDS 20
#define LEVEL 2-- NGRIDS 20
#define LEVEL 3-- EGRAIN 0.05
#define LEVEL 3-- NGRAIN 0.05
#define LEVEL 3-- ECHARS "0123456789"
#define LEVEL 3-- NCHARS "0123456789"
#define LEVEL 3-- EGRIDS 10
#define LEVEL 3-- NGRIDS 10
#define LEVEL 4-- EGRAIN 0.0025
#define LEVEL 4-- NGRAIN 0.0025
#define LEVEL 4-- ECHARS "ABCDEFGHJKLMNPRSTUVW"
#define LEVEL 4-- NCHARS "ABCDEFGHJKLMNPRSTUVW"
#define LEVEL 4-- EGRIDS 20
#define LEVEL 4-- NGRIDS 20
#endif
______________________________________

While embodiments and applications of this invention have been shown and described, it would be apparent to those in the field that many more modifications are possible without departing from the inventive concepts herein. The invention, therefore, is not to be restricted except in the spirit of the appended claims.

Hancock, S. Lee, Dana, Peter H.

Patent Priority Assignee Title
10021514, Feb 23 2007 Locator IP, LP Interactive advisory system for prioritizing content
10021525, Jul 24 2000 Locator IP, L.P. Interactive weather advisory system
10097955, Jun 27 2002 Intellectual Ventures II LLC System and method for providing information matching a user's stated preferences
10108969, May 03 1999 StreetSpace, Inc. Method and system for providing personalized online services and advertisement in public spaces
10148774, Dec 23 2005 PERDIEMCO LLC Method for controlling conveyance of electronically logged information originated by drivers of vehicles
10149092, Apr 04 2005 X One, Inc. Location sharing service between GPS-enabled wireless devices, with shared target location exchange
10165059, Apr 04 2005 X One, Inc. Methods, systems and apparatuses for the formation and tracking of location sharing groups
10171950, Dec 23 2005 PERDIEMCO LLC Electronic logging device (ELD)
10200811, Apr 04 2005 X One, Inc. Map presentation on cellular device showing positions of multiple other wireless device users
10244361, Sep 07 2004 Tierravision, Inc. System and method of wireless downloads of map and geographic based data to portable computing devices
10277689, Dec 23 2005 PERDIEMCO LLC Method for controlling conveyance of events by driver administrator of vehicles equipped with ELDs
10284662, Dec 23 2005 PERDIEMCO LLC Electronic logging device (ELD) for tracking driver of a vehicle in different tracking modes
10296968, Dec 07 2012 United Parcel Service of America, Inc Website augmentation including conversion of regional content
10299071, Apr 04 2005 X One, Inc. Server-implemented methods and systems for sharing location amongst web-enabled cell phones
10311504, Dec 07 2012 United Parcel Service of America, Inc Website augmentation including conversion of regional content
10313826, Apr 04 2005 X One, Inc. Location sharing and map support in connection with services request
10341808, Apr 04 2005 X One, Inc. Location sharing for commercial and proprietary content applications
10341809, Apr 04 2005 X One, Inc. Location sharing with facilitated meeting point definition
10361802, Feb 01 1999 Blanding Hovenweep, LLC; HOFFBERG FAMILY TRUST 1 Adaptive pattern recognition based control system and method
10362435, Jan 19 2006 Locator IP, L.P. Interactive advisory system
10362446, Jun 27 2002 Intellectual Ventures II LLC System and method for providing information matching a user's stated preferences
10382966, Dec 23 2005 PERDIEMCO LLC Computing device carried by a vehicle for tracking driving events in a zone using location and event log files
10397789, Dec 23 2005 PERDIEMCO LLC Method for controlling conveyance of event information about carriers of mobile devices based on location information received from location information sources used by the mobile devices
10411908, Jul 24 2000 Locator IP, L.P. Interactive advisory system
10602364, Dec 23 2005 PERDIEMCO LLC Method for conveyance of event information to individuals interested devices having phone numbers
10616708, Feb 23 2007 Locator IP, LP Interactive advisory system for prioritizing content
10719871, Dec 07 2012 United Parcel Service of America, Inc. Systems and methods of website integration
10750309, Apr 04 2005 X One, Inc. Ad hoc location sharing group establishment for wireless devices with designated meeting point
10750310, Apr 04 2005 X One, Inc. Temporary location sharing group with event based termination
10750311, Apr 04 2005 X One, Inc. Application-based tracking and mapping function in connection with vehicle-based services provision
10791414, Apr 04 2005 X One, Inc. Location sharing for commercial and proprietary content applications
10810251, Feb 10 2006 Nokia Technologies Oy Systems and methods for spatial thumbnails and companion maps for media objects
10819809, Dec 23 2005 Perdiemco, LLC Method for controlling conveyance of event notifications in sub-groups defined within groups based on multiple levels of administrative privileges
10856099, Apr 04 2005 X One, Inc. Application-based two-way tracking and mapping function with selected individuals
10896619, Aug 29 2018 FOREFLIGHT LLC Position reporting and navigation in an integrated flight application using bullseye
10959046, Jun 27 2002 Intellectual Ventures II LLC System and method for providing information matching a user's stated preferences
11064038, Dec 23 2005 PERDIEMCO LLC Method for tracking mobile objects based on event conditions met at mobile object locations
11092455, Dec 31 2004 GOOGLE LLC Transportation routing
11108582, Jul 24 2000 Locator IP, L.P. Interactive weather advisory system
11150378, Jan 14 2005 LOCATOR IP, L P Method of outputting weather/environmental information from weather/environmental sensors
11282111, Mar 30 2006 GROUPON, INC. Location based advertising systems
11290845, Jun 27 2002 Intellectual Ventures II LLC System and method for providing information matching a user's stated preferences
11316937, Dec 23 2005 Method for tracking events based on mobile device location and sensor event conditions
11356799, Apr 04 2005 X One, Inc. Fleet location sharing application in association with services provision
11367131, Dec 07 2012 United Parcel Service of America, Inc. Systems and methods of website integration
11593867, Dec 07 2012 United Parcel Service of America, Inc. Systems and methods of website integration
11645325, Feb 10 2006 Nokia Technologies Oy Systems and methods for spatial thumbnails and companion maps for media objects
11778415, Apr 04 2005 Xone, Inc. Location sharing application in association with services provision
5961569, Apr 01 1997 QUALCOMM FYX, INC System and method for identifying a geographic point within a geographic section
5988853, Oct 05 1996 Korea Telecom Method for placing names for point-features on a map based on a plane sweeping technique
6006160, Mar 11 1996 Denso Corporation System and method for designating points on a map using reduced designation information
6076039, Sep 03 1998 Garmin Corporation Navigation device and method for displaying cartographic markers
6085090, Oct 20 1997 GENERAL DYNAMICS ADVANCED INFORMATION SYSTEMS, INC; GENERAL DYNAMICS MISSION SYSTEMS, INC Autonomous interrogatable information and position device
6108650, Aug 21 1998 Zip2 Method and apparatus for an accelerated radius search
6122594, Mar 11 1996 Denson Corporation System and method for designating points on a map using reduced designation information
6202023, Aug 22 1996 WGRS LICENSING COMPANY, LLC Internet based geographic location referencing system and method
6212472, Sep 04 1997 THE BANK OF NEW YORK MELLON, AS ADMINISTRATIVE AGENT Method and apparatus for displaying current vehicle position
6295502, Aug 22 1996 WGRS LICENSING COMPANY, LLC Method of identifying geographical location using hierarchical grid address that includes a predefined alpha code
6381324, Jun 06 1996 NEUSTAR INFORMATION SERVICES, INC One number, intelligent call processing system
6381603, Feb 22 1999 KNAPP INVESTMENT COMPANY LIMITED System and method for accessing local information by using referencing position system
6385312, Feb 22 1993 NEUSTAR INFORMATION SERVICES, INC Automatic routing and information system for telephonic services
6442479, Dec 04 1998 TOMTOM GLOBAL CONTENT B V Method and apparatus for a location sensitive database
6442483, Aug 21 2001 System and method for defining and creating surrogate addresses for township and range quarter sections
6473692, Aug 22 1996 PROCEPTS, LLC System and method for locating points of interest
6487495, Jun 02 2000 HERE GLOBAL B V Navigation applications using related location-referenced keywords
6522875, Nov 17 1998 PUSH DATA LLC Geographical web browser, methods, apparatus and systems
6556919, Apr 09 1999 Toyota Jidosha Kabushiki Kaisha; Denso Corporation; Aisin AW Co., Ltd.; Fujitsu Ten Limited; Matsushita Electric Industrial Co., Ltd. Map data storage medium
6570975, Feb 22 1993 NEUSTAR INFORMATION SERVICES, INC Automated telecommunications call processing method
6600994, May 17 2001 TOMTOM NAVIGATION B V Quick selection of destinations in an automobile navigation system
6608892, Feb 22 1993 NEUSTAR INFORMATION SERVICES, INC Automatic routing and information system for telephone services
6661884, Jun 06 1996 NEUSTAR INFORMATION SERVICES, INC One number, intelligent call processing system
6748383, Oct 06 1999 Kabushiki Kaisha Toshiba Geographic information indicator, method for displaying geographic information and storage medium for storing program for executing the same
6836822, Feb 06 1998 Pioneer Electronic Corporation Apparatus for and method of retrieving information
6873850, Nov 17 1998 PUSH DATA LLC Geographical web browser, methods, apparatus and systems
6934634, Sep 22 2003 GOOGLE LLC Address geocoding
6954764, Sep 25 2000 Oracle International Corporation Region modeling of mobile services
6965868, Aug 03 1999 System and method for promoting commerce, including sales agent assisted commerce, in a networked economy
6983139, Nov 17 1998 PUSH DATA LLC Geographical web browser, methods, apparatus and systems
7058395, Nov 17 1998 PUSH DATA LLC Geographical web browser, methods, apparatus and systems
7071842, Jun 27 2002 Intellectual Ventures II LLC System and method for locating and notifying a user of a person, place or thing having attributes matching the user's stated preferences
7096233, Jan 31 2001 Fujitsu Limited Server, user terminal, information providing service system and information providing service method for providing information in conjunction with a geographical mapping application
7136474, Feb 22 1993 NEUSTAR INFORMATION SERVICES, INC Automatic routing and information system for telephonic services
7142843, Nov 17 1998 PUSH DATA LLC Geographical web browser, methods, apparatus and systems
7167553, Jun 06 1996 NEUSTAR INFORMATION SERVICES, INC One number, intelligent call processing system
7203300, Feb 22 1993 NEUSTAR INFORMATION SERVICES, INC Automatic routing and information system for telephonic services
7209946, Oct 27 2000 RPX Corporation Negotiated wireless peripheral security systems
7212811, Nov 17 1998 PUSH DATA LLC Geographical web browser, methods, apparatus and systems
7215947, Nov 17 1998 PUSH DATA LLC Geographical web browser, methods, apparatus and systems
7218246, Nov 29 2002 AISIN AW CO , LTD Map display device and program therefor
7222154, Oct 27 2000 RPX Corporation Negotiated wireless peripheral systems
7233942, Oct 10 2000 TRUELOCAL, INC Method and apparatus for providing geographically authenticated electronic documents
7246149, Oct 27 2000 RPX Corporation Negotiated wireless peripheral systems
7292844, Nov 17 1998 PUSH DATA LLC Geographical web browser, methods, apparatus and systems
7293061, Oct 27 2000 RPX Corporation Negotiated wireless peripheral security systems
7359714, Apr 05 2000 Microsoft Technology Licensing, LLC Context-aware and location-aware cellular phones and methods
7363357, Dec 22 2000 Microsoft Technology Licensing, LLC Context-aware systems and methods, location-aware systems and methods, context-aware vehicles and methods of operating the same, and location-aware vehicles and methods of operating the same
7421275, Aug 22 1996 PROCEPTS, LLC System and method for locating points of interest using a portable phone
7424511, Oct 27 2000 RPX Corporation Negotiated wireless peripheral systems
7424512, Oct 27 2000 RPX Corporation Negotiated wireless peripheral systems
7447685, Oct 10 2000 TrueLocal Inc. Method and apparatus for providing geographically authenticated electronic documents
7472202, Dec 22 2000 Microsoft Technology Licensing, LLC Context-aware systems and methods, location-aware systems and methods, context-aware vehicles and methods of operating the same, and location-aware vehicles and methods of operating the same
7479875, May 12 2006 Oracle International Corporation Method of and system for managing data in a sensor network
7483944, Apr 05 2000 Microsoft Technology Licensing, LLC Context aware computing devices and methods
7487040, Nov 14 2003 System and method for establishing a local page and grid numbering system in a geographic referencing system
7529854, Dec 22 2000 Microsoft Technology Licensing, LLC Context-aware systems and methods location-aware systems and methods context-aware vehicles and methods of operating the same and location-aware vehicles and methods of operating the same
7532979, Nov 10 2005 TOMTOM NORTH AMERICA INC Method and system for creating universal location referencing objects
7548610, Apr 14 1998 ALAVEN, INC , A FLORIDA CORP Voice-activated geographically based telephone routing system and method
7548753, Jul 06 2004 International Business Machines Corporation Application for automatic tracking of mobile devices for computer network processor systems
7581030, Oct 27 2000 RPX Corporation Federated multiprotocol communication
7596581, Feb 22 2000 Nokia Technologies Oy Relevance ranking of spatially coded documents
7606663, Feb 26 2003 TOMTOM NAVIGATION B V Navigation device and method for exchanging data between resident applications
7613687, May 30 2003 TRUELOCAL, INC Systems and methods for enhancing web-based searching
7620656, Mar 26 2001 Microsoft Technology Licensing, LLC Methods and systems for synchronizing visualizations with audio streams
7631105, Oct 27 2000 RPX Corporation Federated multiprotocol communication
7668931, Dec 22 2000 Microsoft Technology Licensing, LLC Context-aware systems and methods, location-aware systems and methods, context-aware vehicles and methods of operating the same, and location-aware vehicles and methods of operating the same
7672779, Nov 10 2005 Tele Atlas North America Inc. System and method for using universal location referencing objects to provide geographic item information
7685224, Jan 11 2001 TRUELOCAL, INC Method for providing an attribute bounded network of computers
7693615, Feb 28 2005 The Boeing Company Navigational system with a graphical scratchpad filler
7747704, Apr 05 2000 Microsoft Technology Licensing, LLC Context aware computing devices and methods
7751944, Dec 22 2000 Microsoft Technology Licensing, LLC Context-aware and location-aware systems, methods, and vehicles, and method of operating the same
7809479, Feb 28 2005 The Boeing Company Navigational system with a graphical scratchpad filler
7822865, Oct 27 2000 RPX Corporation Federated multiprotocol communication
7847684, Jun 27 2002 Intellectual Ventures II LLC System and method for locating and notifying a mobile user of people having attributes or interests matching a stated preference
7856508, Oct 27 2000 RPX Corporation Accessing vended products or services using a wireless device
7873708, Apr 28 2004 AT&T MOBILITY II LLC Systems and methods for providing mobile advertising and directory assistance services
7876214, Jun 27 2002 Intellectual Ventures II LLC System and method for providing reviews to a mobile user of restaurants having attributes matching a stated preference
7876215, Jun 27 2002 Intellectual Ventures II LLC System and method for locating and notifying a mobile user of people having attributes or interests matching a stated preference
7894986, Jun 02 2000 HERE GLOBAL B V Method and system for forming a keyword database for referencing physical locations
7908080, Dec 31 2004 GOOGLE LLC Transportation routing
7908280, Feb 22 2000 Nokia Technologies Oy Query method involving more than one corpus of documents
7911335, Jun 27 2002 Intellectual Ventures II LLC System and method for locating and notifying a mobile user of people having attributes or interests matching a stated preference
7917464, Feb 22 2000 Nokia Technologies Oy Geotext searching and displaying results
7937498, Oct 27 2000 RPX Corporation Federated multiprotocol communication
7953732, Feb 22 2000 Nokia Technologies Oy Searching by using spatial document and spatial keyword document indexes
7975229, Dec 22 2000 Microsoft Technology Licensing, LLC Context-aware systems and methods location-aware systems and methods context-aware vehicles and methods of operating the same and location-aware vehicles and methods of operating the same
8014945, Sep 07 2004 TIERRAVISION, INC System and method of wireless downloads of map and geographic based data to portable computing devices
8015183, Jun 12 2006 Nokia Technologies Oy System and methods for providing statstically interesting geographical information based on queries to a geographic search engine
8065291, Mar 03 2000 COCKATOO INTELLECTUAL PROPERTY PTY LTD On-line geographical directory
8085924, Jun 06 1996 DEUTSCHE BANK AG NEW YORK BRANCH One number, intelligent call processing system
8102253, Jun 27 2002 Intellectual Ventures II LLC System and method for notifying a user of people, places or things having attributes matching a user's stated preference
8103745, Mar 07 2007 RPX Corporation Negotiated wireless peripheral security systems
8106766, Jan 19 2007 N99 LLC Brand mapping
8112419, Jun 17 2005 WGRS LICENSING COMPANY, LLC Unified geographic database and method of creating, maintaining and using the same
8140649, Apr 28 2004 AT&T MOBILITY II LLC Systems and methods for providing mobile advertising and directory assistance services
8190170, Nov 17 1998 PUSH DATA LLC Geographical web browser, methods, apparatus and systems
8200676, Jun 28 2005 III HOLDINGS 3, LLC User interface for geographic search
8229467, Jan 19 2006 Locator IP, LP Interactive advisory system
8315905, Mar 30 2006 GROUPON, INC Location based advertising systems
8363814, Feb 22 1993 NEUSTAR INFORMATION SERVICES, INC Automatic routing and information system for telephonic services
8369263, Nov 17 1998 AIDO MOBILITY LLC Geographical web browser, methods, apparatus and systems
8369967, Feb 01 1999 Blanding Hovenweep, LLC; HOFFBERG FAMILY TRUST 1 Alarm system controller and a method for controlling an alarm system
8385964, Apr 04 2005 Xone, Inc.; XONE, INC Methods and apparatuses for geospatial-based sharing of information by multiple devices
8427303, Jun 27 2002 Intellectual Ventures II LLC System and method for providing media content having attributes matching a user's stated preference
8428875, Jan 11 2010 Mitac International Corp. GPS management system
8503794, Jul 28 2010 Microsoft Technology Licensing, LLC Data difference guided image capturing
8509497, Jul 29 2009 FUJIFILM Corporation Person recognition method and apparatus
8538458, Apr 04 2005 X One, Inc. Location sharing and tracking using mobile phones or other wireless devices
8543617, Aug 07 2003 HERE GLOBAL B V Method and system for forming a keyword database for referencing physical locations
8606514, Dec 31 2004 GOOGLE LLC Transportation routing
8611927, Jan 19 2006 Locator IP, LP Interactive advisory system
8620584, Feb 26 2003 TOMTOM NAVIGATION B V Navigation device and method for exchanging data between resident applications
8634814, Feb 23 2007 Locator IP, LP Interactive advisory system for prioritizing content
8649968, Sep 07 2004 TIERRAVISION, INC System and method of wireless downloads of map and geographic based data to portable computing devices
8680985, Jun 27 2002 Intellectual Ventures II LLC System and method for providing media content having attributes matching a user's stated preference
8699800, Jul 19 2011 GOOGLE LLC User correction of pose for street-level images
8712441, Apr 04 2005 Xone, Inc.; X ONE, INC Methods and systems for temporarily sharing position data between mobile-device users
8712838, Sep 30 1999 International Business Machines Corporation Dynamic web page construction based on determination of client device location
8750898, Apr 04 2005 X ONE, INC Methods and systems for annotating target locations
8768909, Jun 19 2008 TROPARE, INC Dynamic menus for multi-prefix interactive mobile searches using predictive text to yield targeted advertisements
8798593, Apr 04 2005 X ONE, INC Location sharing and tracking using mobile phones or other wireless devices
8798645, Apr 04 2005 X ONE, INC Methods and systems for sharing position data and tracing paths between mobile-device users
8798647, Apr 04 2005 X One, Inc. Tracking proximity of services provider to services consumer
8798917, Dec 31 2004 GOOGLE LLC Transportation routing
8831635, Apr 04 2005 X ONE, INC Methods and apparatuses for transmission of an alert to multiple devices
8832121, Feb 02 2005 ACCUWEATHER, INC Location-based data communications system and method
8892495, Feb 01 1999 Blanding Hovenweep, LLC; HOFFBERG FAMILY TRUST 1 Adaptive pattern recognition based controller apparatus and method and human-interface therefore
8909679, Jul 24 2000 Locator IP, LP Interactive advisory system
8935220, Aug 22 1996 WGRS LICENSING COMPANY, LLC Unified geographic database and method of creating, maintaining and using the same
8959084, Jul 13 2005 GOOGLE LLC Identifying locations
8965040, Jul 19 2011 GOOGLE LLC User correction of pose for street-level images
9031581, Apr 04 2005 X One, Inc. Apparatus and method for obtaining content on a cellular wireless device based on proximity to other wireless devices
9071931, Dec 23 2005 PERDIEMCO LLC Location tracking system with interfaces for setting group zones, events and alerts based on multiple levels of administrative privileges
9094798, Jan 19 2006 Locator IP, L.P. Interactive advisory system
9137633, Sep 07 2004 Tierravision, Inc. System and method of wireless downloads of map and geographic based data to portable computing devices
9167558, Apr 04 2005 X One, Inc.; X ONE, INC Methods and systems for sharing position data between subscribers involving multiple wireless providers
9183465, Jul 28 2010 Microsoft Technology Licensing, LLC Data difference guided image capturing
9185522, Apr 04 2005 X One, Inc. Apparatus and method to transmit content to a cellular wireless device based on proximity to other wireless devices
9191776, Jul 24 2000 Locator IP, LP Interactive advisory system
9197990, Jul 24 2000 Locator IP, LP Interactive advisory system
9201972, Feb 22 2000 Nokia Technologies Oy Spatial indexing of documents
9204252, Jul 24 2000 Locator IP, L.P. Interactive advisory system
9210541, Jan 19 2006 Locator IP, L.P. Interactive advisory system
9215554, Jan 19 2006 Locator IP, L.P. Interactive advisory system
9237416, Feb 23 2007 Locator IP, L.P. Interactive advisory system for prioritizing content
9253616, Apr 04 2005 X One, Inc. Apparatus and method for obtaining content on a cellular wireless device based on proximity
9286404, Dec 21 2006 Nokia Technologies Oy Methods of systems using geographic meta-metadata in information retrieval and document displays
9411896, Feb 10 2006 Nokia Technologies Oy Systems and methods for spatial thumbnails and companion maps for media objects
9467832, Apr 04 2005 X One, Inc. Methods and systems for temporarily sharing position data between mobile-device users
9535563, Feb 01 1999 Blanding Hovenweep, LLC; HOFFBERG FAMILY TRUST 1 Internet appliance system and method
9554246, Jul 24 2000 Locator IP, LP Interactive weather advisory system
9560480, Jul 24 2000 Locator IP, LP Interactive advisory system
9584960, Apr 04 2005 X One, Inc. Rendez vous management using mobile phones or other mobile devices
9602608, Jun 27 2002 Intellectual Ventures II LLC System and method for notifying a user of people, places or things having attributes matching a user's stated preference
9615204, Apr 04 2005 X One, Inc. Techniques for communication within closed groups of mobile devices
9654921, Apr 04 2005 X One, Inc. Techniques for sharing position data between first and second devices
9661457, Jul 24 2000 Locator IP, LP Interactive advisory system
9668091, Jul 24 2000 Locator IP, LP Interactive weather advisory system
9684655, Feb 10 2006 Nokia Technologies Oy Systems and methods for spatial thumbnails and companion maps for media objects
9709415, Dec 31 2004 GOOGLE LLC Transportation routing
9721157, Aug 04 2006 PIECE FUTURE PTE LTD Systems and methods for obtaining and using information from map images
9736618, Apr 04 2005 X One, Inc. Techniques for sharing relative position between mobile devices
9749790, Apr 04 2005 X One, Inc. Rendez vous management using mobile phones or other mobile devices
9778055, Dec 31 2004 GOOGLE LLC Transportation routing
9854394, Apr 04 2005 X One, Inc. Ad hoc location sharing group between first and second cellular wireless devices
9854402, Apr 04 2005 X One, Inc. Formation of wireless device location sharing group
9871874, Dec 23 2005 PERDIEMCO LLC Multi-level database management system and method for an object tracking service that protects user privacy
9883360, Apr 04 2005 X One, Inc. Rendez vous management using mobile phones or other mobile devices
9942705, Apr 04 2005 X One, Inc. Location sharing group for services provision
9945686, Dec 31 2004 GOOGLE LLC Transportation routing
9955298, Apr 04 2005 X One, Inc. Methods, systems and apparatuses for the formation and tracking of location sharing groups
9965466, Jul 16 2014 United Parcel Service of America, Inc Language content translation
9967704, Apr 04 2005 X One, Inc. Location sharing group map management
9998295, Jul 24 2000 Locator IP, L.P. Interactive advisory system
D959552, Jul 21 2021 SPEEDFIND, INC DBA SMARTPOINT Display sign
ER6913,
RE41983, Sep 22 2000 Tierravision, Inc. Method of organizing and compressing spatial data
RE44876, Sep 14 2004 Meta Platforms, Inc Proximity search methods using tiles to represent geographical zones
Patent Priority Assignee Title
4677561, Apr 28 1984 Mitsubishi Denki Kabushiki Kaisha Automotive navigation system
4974170, Jan 21 1988 Civix-DDI, LLC Electronic directory for identifying a selected group of subscribers
5289195, Jan 27 1992 Sharp Kabushiki Kaisha Positioning and displaying system
5296861, Nov 13 1992 Trimble Navigation Limited Method and apparatus for maximum likelihood estimation direct integer search in differential carrier phase attitude determination systems
5311434, Aug 05 1991 TomTom International BV Vehicle navigation system
5323322, Mar 05 1992 Trimble Navigation Limited Networked differential GPS system
5345244, Jan 12 1993 Trimble Navigation Limited Cordless SPS smart antenna device
5355140, Sep 15 1992 Nynex Corporation Emergency reporting for marine and airborne vessels
5359332, Dec 31 1992 Trimble Navigation Limited Determination of phase ambiguities in satellite ranges
5396254, Nov 08 1990 SANDEN CORPORATION A CORP OF JAPAN Position recognition system and position-coordinate converting device
5406491, Mar 26 1993 Trimble Navigation Limited Navigational system for trip routing
5418538, May 21 1993 Trimble Navigation Limited Rapid satellite signal acquisition in a satellite positioning system
5422814, Oct 25 1993 Trimble Navigation Limited Global position system receiver with map coordinate system outputs
5424951, Apr 12 1991 Pioneer Corporation On-board navigation apparatus having user registering function
5436632, Jun 02 1994 Trimble Navigation Limited Integrity monitoring of differential satellite positioning system signals
5450344, Apr 22 1994 Trimble Navigation Limited GPS receivers with data ports for the uploading and downloading of absolute position information
5452217, Jul 20 1992 AISIN AW CO , LTD Navigation system for guiding vehicle orally
5471392, Aug 17 1993 Matsushita Electric Industrial Co., Ltd. Geographic information display apparatus
5477458, Jan 03 1994 Trimble Navigation Limited Network for carrier phase differential GPS corrections
5596500, Oct 25 1993 Trimble Navigation Limited Map reading system for indicating a user's position on a published map with a global position system receiver and a database
/////////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Aug 21 1996HANCOCK, S LEEHANCOCK, S LEEASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0081730444 pdf
Aug 21 1996DANA, PETER H HANCOCK, S LEEASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0081730444 pdf
Aug 21 1996HANCOCK, S LEEGO2 SOFTWARE, INC CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE IN A DOCUMENT PREVIOUSLY RECORDED AT REEL 8173 FRAME 0444 0083020196 pdf
Aug 21 1996DANA, PETER H GO2 SOFTWARE, INC CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE IN A DOCUMENT PREVIOUSLY RECORDED AT REEL 8173 FRAME 0444 0083020196 pdf
Aug 22 1996GO2 Software, Inc.(assignment on the face of the patent)
Oct 12 1998GO2 SOFTWARE, INC GO2 SYSTEMS, INC CHANGE OF NAME SEE DOCUMENT FOR DETAILS 0102490911 pdf
Nov 25 2002GO2 SYSTEMS, INC WGRS LICENSING COMPANY, LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0144910001 pdf
Apr 04 2014WGRS LICENSING COMPANY, LLCLocation Services IP, LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0331490992 pdf
Jan 31 2018Location Services IP, LLCWGRS LICENSING COMPANY, LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0448240171 pdf
Date Maintenance Fee Events
Feb 08 2002M283: Payment of Maintenance Fee, 4th Yr, Small Entity.
May 01 2006M2552: Payment of Maintenance Fee, 8th Yr, Small Entity.
May 13 2010M2553: Payment of Maintenance Fee, 12th Yr, Small Entity.


Date Maintenance Schedule
Nov 17 20014 years fee payment window open
May 17 20026 months grace period start (w surcharge)
Nov 17 2002patent expiry (for year 4)
Nov 17 20042 years to revive unintentionally abandoned end. (for year 4)
Nov 17 20058 years fee payment window open
May 17 20066 months grace period start (w surcharge)
Nov 17 2006patent expiry (for year 8)
Nov 17 20082 years to revive unintentionally abandoned end. (for year 8)
Nov 17 200912 years fee payment window open
May 17 20106 months grace period start (w surcharge)
Nov 17 2010patent expiry (for year 12)
Nov 17 20122 years to revive unintentionally abandoned end. (for year 12)