WO2019177785A1 - System for location naming service - Google Patents

System for location naming service Download PDF

Info

Publication number
WO2019177785A1
WO2019177785A1 PCT/US2019/020190 US2019020190W WO2019177785A1 WO 2019177785 A1 WO2019177785 A1 WO 2019177785A1 US 2019020190 W US2019020190 W US 2019020190W WO 2019177785 A1 WO2019177785 A1 WO 2019177785A1
Authority
WO
WIPO (PCT)
Prior art keywords
location
locator
code
associated
data
Prior art date
Application number
PCT/US2019/020190
Other languages
French (fr)
Inventor
James O'FLAHERTY Jr.
Wayne M. GEAREY
Dennis J. CAGAN
Original Assignee
Precisionn Location Intelligence, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US201862643436P priority Critical
Priority to US62/643,436 priority
Application filed by Precisionn Location Intelligence, Inc. filed Critical Precisionn Location Intelligence, Inc.
Publication of WO2019177785A1 publication Critical patent/WO2019177785A1/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in preceding groups G01C1/00-G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in preceding groups G01C1/00-G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in preceding groups G01C1/00-G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • G01C21/32Structuring or formatting of map data
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services

Abstract

A location naming service system is configured to receive location information and a corresponding label, determine a locator code corresponding to the location information, and associate the locator code with the label. The locator code is generated by applying a code generating function to one or more location indicators, such as geohash codes, associated with the location information. The label may be utilized with third-party systems to provide location information associated with the user.

Description

SYSTEM FOR LOCATION NAMING SERVICE

CROSS-REFERENCE TO RELATED APPLICATION(S)

[0001] This application claims priority to U.S. Provisional Application No. 62/643,436 filed on March 15, 2018 and entitled“System for Location Naming

Service,” the entirety of which is incorporated herein by reference.

BACKGROUND

[0002] It has become increasingly common for individuals to rely on location information in daily activities. Today, the conventional address system is utilized for everything from parcel deliveries to navigation. However, the house number, street name, jurisdiction name, zip code format that is common in the United States address system often lends much room to human error. For example, the United States address system often includes incorrect or outdated information. In addition, large buildings (e.g. buildings occupying multiple city blocks, avenues, etc.) may have multiple addresses associated with one building, or properties may have been converted into multiple units housed in one building, making it difficult to specify an exact location for a delivery or navigation destination. In such instances, it may fall on a human reviewer to validate and/or correct address information, which is not only costly and time consuming, but may lead to inconsistencies and errors.

BRIEF DESCRIPTION OF THE DRAWINGS

[0003] The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical components or features.

[0004] FIG. 1 illustrates an example system for a location naming service according to some implementations.

[0005] FIGs. 2A and 2B illustrate examples of location data received by the location naming service of FIG. 1 according to some implementations.

[0006] FIG. 3 illustrates another example system for a location naming service according to some implementations.

[0007] FIG. 4 illustrates an example architecture of one or more servers associated with a location naming service system according to some implementations.

[0008] FIG. 5 illustrates example components of one or more user devices hosting a client side application associated with the location naming system according to some implementations.

[0009] FIG. 6 is an example flow diagram showing an illustrative process for generating a locator code according to some implementations.

[0010] FIG. 7 is an example flow diagram showing an illustrative process for determining location information associated with a locator code according to some implementations.

[0011] FIG. 8 is another example flow diagram showing an illustrative process for determining location information associated with a locator code according to some implementations.

DETAILED DESCRIPTION

[0012] This disclosure includes techniques and implementations associated with a system for a location naming service to associate and process location data (such as a geohash) with a customized phrase to improve the accuracy and efficiency of services that utilize address locations such as parcel deliveries, navigation services, etc. For example, a user may choose a customized phrase to associate with location data (such as an address, latitude/longitude coordinate, geohash, geohash phrase, etc.) and the location naming service may provide the location data in response to a third-party request with regards to the customized phrase. In some cases, the location data or the data returned to the third-party may be a generated locator code associated with the location data, such as a hashed value, the physical location associated with the location data, etc. In this way, whenever the user inputs the chosen customized phrase through a third-party service, a computer system is then able to quickly access the location naming service to locate the generated locator code (and thereby the exact location indicated by the address), and accurately perform operations associated with the address without additional verification and/or correction.

[0013] In some examples, the locator code (e.g., location data, hash code, etc.), may include multiple portions, where each portion is associated with a characteristic of the location. For example, the location may be an address associated with a building, a street and/or avenue intersection, and a subunit (e.g. unit, suite, etc. within the building). In this example, the locator code may include three portions that represent each aspect of the address location. In some cases, each portion may comprise a machine-readable code, such as a hashed value. For example, the first portion of the locator code, representing the building location, may be generated by applying a hash function or code generator program to an address, a latitude/longitude, or a global satellite position data. In some examples, each portion of the locator code may further be associated with a geohash or a geohash phrase corresponding to the location characteristic. [0014] For example, if a user entered an address such as 1234 Cherry Lane, Apt. 567, Austin, Texas 78738, the location naming service may locate one or more unique identifiers, such as geohashes or generated hashes, associated with the address to generate the one or more portions of the locator code. For example, the locator code may include a first hash code portion generated for the geohash associated with the location of the building located at 1234 Cherry Lane, Austin, Texas 78738, represented by a unique identifier, such as a generated hash or geohash“SCNP1J0PGLCU.” Further, the locator code may include a second hash code portion generated for the geohash associated with the street location, such as the street intersection, of the building and/or Apt. 567 is located at (e.g. the intersection of Cherry Lane and another cross-street), represented by a generated hash or“[UR7]” Lastly, the locator code may include a third hash code portion generated for a geohash associated with the local unit, such as the location of the subunit Apt. 567, represented by a generated hash or geohash “XA396ALXLU.”

[0015] In this example, the resulting locator code generated for 1234 Cherry Lane,

Austin, Texas 78738 may be represented by“ SCNP 1 J 0PGLCU[UR7] . XA396 ALXLU” and may be stored in a database of the location naming service along with the address location entered by the user. Once the locator code is generated, the user-provided customized label, or one generated for the user, may be associated with the locator code. For example, if the address location is a home address, the user may wish to associate the label“SmithHome” with the locator code. In this way, the user will not have to memorize the locator code and may simply select a plain language label, such as their email address or a username, for entry when interacting with third-party sites, as will be discussed in more detail below. [0016] In addition, in some examples, the locator code may be further associated with a system-assigned locator phrase, or geohash phrase. For example, the locator phrase may include words from a user’s native language (e.g., English words for English speakers, Spanish words for Spanish speakers, etc.). In some cases, the phrase words assigned to the locator phrase regions may be selected for improved searching or user interaction with computing systems. For example, the locator phrase may be selected from a pool consisting of nouns, verbs, and adjectives within the selected language. In this manner, the system may allow individuals to memorize the assigned phrase associated with the locator code (and associated address location), in lieu of the locator code, and allow the phrase to be entered as a user input into a computing system when interacting with third-party services.

[0017] In some examples, the user may associate more than one location with the customized label (either chosen or generated). For example, the user may wish to associate a home location, work location, secondary home, etc. with the customized label. By associating more than one location with the customized label, this will allow the user flexibility in selecting a location for deliveries, navigation services, and so on. For example, if the user is often traveling between homes, the user may wish to select an order for a product, but may not know where at which home they will be when the product ships. In this way, the user may place the order for the product and input the customized label associated with multiple addresses so there is no delay in placing the order. Then, after the order has been placed and the product is ready to ship, the user or the location naming service may select the delivery location. For example, if the shipping is delayed or the user has an unexpected trip, the user may login to the location naming service and change the delivery location at a time after placing the order. In another example, the user may get a notification from the third-party service or the location naming service that will allow the user to select the desired delivery location from amongst those locations associated with the customized label. In some cases, the location naming service may be configured to select the delivery location based on information known about the user at the time a delivery request is received from the third-party system.

[0018] In further examples, the user may further associate a global positioning system (GPS) of a desired device with the customized label. For example, if the user is highly mobile, the user may wish to associate a GPS of a smart device (e.g., smart phone, laptop, tablet, etc.) with the customized label, along with one or more locations. As described above, this will enable a user to initiate a service through a third-party site that requires address information using only the customized label. When the service is ready to be fulfilled, the location naming service may ping the GPS to determine the location of the device, and thus the user, and fulfill the service. For instance, the GPS may indicate that the user is in their home city and the location naming service may then select the user’s previously provided home address as the delivery location. In another instance, the GPS data may indicate that the user is at their vacation home. In this instance, the location naming service may return the previously provided location of the user’s vacation home. In one specific instance, the location naming service may determine the user is at a remote location, such as a previously provided campsite that the user frequents. In this specific instance, the system may return the GPS location associated with the campsite as the delivery location. Thus, in some instance, the location naming service may allow for the delivery of packages even when the user is at a location lacking a physical street address.

[0019] FIG. 1 illustrates an example system for a location naming service 100 according to some implementations. In the current example, the location naming service system 100 may include a remote or cloud based system 102 operating as a cloud-based service 104 for one or more applications operating on local devices 106(1)-(K) proximate to a user l08(l)-(L). In the illustrated example, the cloud-based location naming service 104 may operate on one or more cloud-based resources 110. The cloud- based resources 110 may include one or more communication interfaces 112 in communication with the local devices 106 via one or more networks 114 (such as the Internet).

[0020] The cloud-based resources 110 hosting the cloud-based location naming service 104 may also include one or more processors 116 as well as computer-readable storage media 118. Several modules, such as instruction(s), data stores, and so forth may be stored within the computer-readable storage media 118 and configured to execute on the processors 116. For example, location characteristic determining instruction(s) 120, locator code generation instruction(s) 122, locator phrase association instruction(s) 124, and location determining instruction(s) 126 may be stored within the computer-readable storage media 1118. In some implementations, the computer- readable media 118 may store data, such as location data 128 (e.g., latitude/longitude, size, landmass, population density, GPS coordinates, and/or other data associated with each region and/or a geohash code), geohash data 130 (e.g., hash codes or tags assigned to regions and/or location characteristics), and locator code data 132, as well as other data.

[0021] The location characteristic determining instruction(s) 120 may be configured to receive position data 134 from one or more of the local user devices 106(1)-(K). The position data 134 may include information and/or data usable to determine a desired position relative to the Earth. For example, position data 134 may include coordinates, data collected from sensors such as inertial measurement units (IMU), GPS units, accelerometers, gyroscopes, magnetometers, etc., among other machine collected location/position data.

[0022] The location characteristic determining instruction(s) 120 may also be configured to receive location data 140 from one or more of the local user devices 106(1)-(K). The location data 140 may also include information or data usable to determine a desired position relative to the Earth. For example, location data 140 may include coordinates, regions, or locations selected by the user 108 via a user interface map displayed on the device 106, names of locations (e.g., landmarks, cities, countries, etc.) entered by the user 108, among other data representative of a location. In some cases, the location data 140 may be representative of a current location of the user 108, while in other cases, the location data 140 may be representative of a desired location (e.g., a location for a service, such as a package delivery, navigation location, etc.). In some examples, the location data 140 may be received via a user interface of the one or more of the local user devices 106(1)-(K). For example, the user interface may include a text entry field and/or a generated map that allows a user to input the location data 140. The location data 140 may include any data representative of a location such as a home address, office address, etc.

[0023] Once the position data 134 and/or location data 140 is received, the location characteristic determining instruction(s) 120 may cause the cloud-based location naming system to determine one or more location characteristics associated with the position data 134 and/or location data 140. For example, if the location data 140 includes a user input indicating a home address, the location determining instruction(s) 120 may analyze the location data 140 to determine a building location, a street location, and/or a subunit associated with the location data 140. As an example, if the location data 140 included user input specifying an address“1234 Cherry Lane, Apt. 567, Austin, Texas 78738,” the location determining instruction(s) may analyze the address and determine a building location (e.g. 1234), a street location (e.g., Cherry Lane), and/or a subunit location (e.g., Apt. 567. In some examples, the location characteristic determining instruction(s) 120 may be configured to access the location characteristic data 128 and the one or more location characteristics may be determined via a stored mapping or table between the position data 134 and/or the location data 140 and the location characteristic data 128.

[0024] In some embodiments, once the one or more location characteristics are determined, the location characteristic determining instruction(s) 120 may cause the cloud-based location naming system to determine one or more geohash codes (or other location information, such as latitude/longitude coordinates, geohashes, geohash phrases, plus code(s) (of Open Location Code(s)), pbKey™, Google® Place IDs, etc.) associated with the one or more location characteristics. For example, one or more geohash codes may be determined for each of the determined building location, street location, and/or subunit location. In some cases, the location characteristic determining instruction(s) 120 may be configured to access third party data stores and systems (not shown) in order to determine the location characteristics and/or corresponding geohash codes. In other examples, the location characteristic determining instruction(s) 120 may be configured to access the geohash data 130 and the one or more geohash codes may be determined via a stored mapping or table between the one or more location characteristics and the geohash data 130.

[0025] In some examples, the one or more geohash codes determined by the location characteristic determining instruction(s) 120 may be utilized by the locator code generation instruction(s) 122 to translate the one or more geohash codes into a locator code 142. For example, the locator code generation instruction(s) 122, may be configured to apply a hash function, code generator program, or other tool to each determined geohash code associated with the one or more location characteristics (and thus the position data 134 and/or location data 140) to generate a machine-readable set of characters. The resulting locator code 142, may include one or more code portions. Each code portion may represent, or be associated with, a geohash code or phrase corresponding to a location characteristic of the position data 134 and/or location data 140.

[0026] In some embodiments, the locator phrase association instruction(s) 124 may be configured to receive locator label data 144 from one or more of the local user devices 106(1)-(K) and associate the locator label data 144 with the locator code 142. The locator label data 144 may include a user selected label to associate with the position data 134 and/or location data 140. For example, if the location data 140 includes the user’s home address, the user may also provide desired locator label data (e.g. a phrase such as“Home. address,” a personal email address, etc.) that the user wishes to associate with“1234 Cherry Lane, Apt. 567, Austin, Texas 78738.” In some examples, the user may wish to associate more than one location of the location data 140 with the locator label data 144. For instance, the user may wish to associate a home address, a work address, a vacation home, and so on. In other embodiments, if the locator label data 144 is not provided, the locator phrase association instruction(s) 124 may generate a locator label to associate with the locator code 142. The determined locator code(s) 142 may then be stored in the locator code data 132 for later access in determining locations associated with the locator code(s) 142 received by the cloud- based location naming service system 104.

[0027] In other examples, the locator phrase association instruction(s) 124 may translate the locator code 142 associated with the position data 134 and/or location data 140 into a geohash phrase, which may be returned to the device 106. For example, one the locator code 142 is determined, the locator phrase association instruction(s) 124 may determine the geohash phrase via a stored mapping or table between the geohash phrase and the location characteristic data 128, the geohash data 130, and/or the locator code data 132. In other examples, the locator phrase association instruction(s) 124 may determine the geohash for the position data 134 and/or location data 140 and then convert the geohash into the geohash phrase 136.

[0028] FIGs. 2A and 2B illustrate examples of location data received by the location naming service of FIG. 1 according to some implementations. Referring to FIG. 2 A, an example of location data 200 is illustrated. The location data 200 may include location information provided by a user of the location naming service system 100 (e.g., location data 140).

[0029] In some examples, the location data 200 may include location information received via a user interface of an application hosted on a client device. For example, the user interface may include a text entry field and/or a generated map that allows a user to input the location data 200. The location data 200 may include any data representative of a location such as a home address, office address, etc. In this example, the location data 200 is representative of a subunit 202 within a building 204.

[0030] In some embodiments, the building 202 may be a large building that spans multiple street intersections. In the depicted example, the building 202 spans four urban avenues, namely“Avenue A,”“Avenue B,”“Avenue C,” and“Avenue D” A user utilizing a conventional address or navigational system (e.g., current online mapping programs, United States Postal Service, UPS, etc.) may encounter difficulties specifying the exact location of the subunit 202, the nearest entrance, etc. [0031] For example, the building 204 may have four entrances located at each avenue intersection/corner of the building. In some examples, a large building such as building 204 may not have the ability to traverse the entire building from each entrance or may be too large to walk if the wrong entrance is selected as the entry point. For example, if a user wishes to arrive at, and access, subunit 202, located near an entrance at the corner of Avenue B and Avenue D, the user may have no means to specify that information to a navigational system. Additionally, if the user enters the building 204 at the wrong entrance, the user may not be able to access subunit 202 from every entrance. This may lead to confusion, additional time consumption, or even the inability to deliver a package or access a particular unit of similar buildings. In some embodiments, by providing the location data 200 to the location naming service system (e.g., the cloud-based location naming service system 104), the user may avoid such hindrances.

[0032] For example, the user of the cloud-based location naming service system 104, when entering the location data 200, may be able to specify an exact location of the subunit 202. For instance, the user may be able to input text data or pinpoint an exact location on a generated map interface. As described with reference to FIG. 1, the location characteristic determining instruction(s) 120 of the cloud-based location naming service system 104 may then analyze the location data 200 to determine one or more location characteristics associated with the location data 200 and corresponding to one or more geohashes.

[0033] For instance, in this example, the location data 200 associated with the subunit 202 of the building 204 may include one or more location characteristics corresponding to the region of the building 204 location, the avenue intersection nearest the subunit 202 (e.g., the intersection of Avenue B and Avenue D) and/or the street number associated with the address of the subunit, and the unit number associated with the subunit (e.g., Suite 402). In this example, the location characteristic determining instruction(s) 120 would then utilize the one or more location characteristics to determine associated location information, such as a geohash corresponding to each location characteristic. As described above, the cloud-based location naming service system 104 may then generate a locator code 142 for each of the locations and associate the locator code 142 with user-specified locator label data 144. In this way, the user may simply input the locator label data 144 (e.g., a phrase such as“office address”) when interacting with third-party systems. The third-party system may then communicate with the cloud-based location naming service system 104 to determine the exact location (e.g., the locator code, geohash codes, and/or corresponding location characteristics) associated with the locator label data 144 to ensure accuracy of the location information being utilized.

[0034] Referring now to FIG. 2B, another example of location data 206 is illustrated. The location data 206 may include location information provided by a user of the location naming service system 100 (e.g. location data 140). In this example, the location data 206 is representative of a subunit 208 within a duplex 210.

[0035] In some embodiments, the duplex 210 may include two distinct units, namely subunit“#l” (subunit 208) and subunit“#2.” In some instances, a duplex 210, or other type of building with multiple subunits, may be associated with only one postal address code. For example, the duplex 210 may have been subdivided after the property was already assigned a postal address. In these cases, it may be difficult, or impossible, to specify which subunit is desired to a third-party system.

[0036] In some examples, the user of the cloud-based location naming service system 104, when entering the location data 206, may be able to specify an exact location of the subunit 209. For instance, the user may be able to input text data or pinpoint an exact location on a generated map interface. As described with reference to FIG. 1, the location characteristic determining instruction(s) 120 of the cloud-based location naming service system 104 may then analyze the location data 206 to determine one or more location characteristics associated with the location data 206 and corresponding to one or more geohashes.

[0037] For instance, in this example, the location data 206 associated with the subunit 208 of the duplex 210 may include one or more location characteristics corresponding to the region of the duplex 210 location, the street number associated with the address of the duplex 210, and the unit number (e.g.“#l”) associated with the subunit 208. In this example, the location characteristic determining instruction(s) 120 would then utilize the one or more location characteristics to determine associated location information, such as a geohash corresponding to each location characteristic. As described above, the cloud-based location naming service system 104 may then generate a locator code 142 for each of the geohashes and associate the locator code 142 with user-specified locator label data 144. In this way, the user may simply input the locator label data 144 (e.g. a phrase such as“duplex. address”) when interacting with third-party systems. The third-party system may then communicate with the cloud- based location naming service system 104 to determine the exact location (e.g., the locator code, geohash codes, and/or corresponding location characteristics) associated with the locator label data 144 to ensure accuracy of the location information being utilized.

[0038] FIG. 3 illustrates another example system for a location naming service according to some implementations. In this example, a user 302 interacts with a third- party service 304 in communication with an example of a location naming service system 306. The location naming service system 306 may include one or more communication interfaces 308, one or more processors 310, and one or more computer- readable storage media 312. Several modules, such as instruction(s), data stores, and so forth may be stored within the computer-readable storage media 312 and configured to execute on the processors 310. For example, locator code determining instruction(s) 314, geohash determining instruction(s) 316, and location determining instruction(s) 318 may be stored within the computer-readable storage media 312. In some implementations, the computer-readable media 312 may store data, such as location characteristic data 320 (e.g., latitude/longitude, size, landmass, population density, GPS coordinates, and/or other data associated with each region and/or a geohash code), geohash data 322 (e.g., hash codes or tags assigned to regions and/or location characteristics), and locator code data 324, as well as other data.

[0039] In some examples, the user may input locator label data 326 associated with a location via an interface of a user device 328. The locator label data 326 may have been provided to the location naming service system 306 along with location data. As described in FIG. 1, the location naming service system 306 may generate a locator code associated with the location data and associate that locator code with the locator label data 326. In this example, the locator label data 326 is then transmitted over the network 330 to the third-party site 304 the user is interacting with. The third-party site 304, in turn, transmits the locator label data 326 to the location naming service system 306 via network 332.

[0040] In some examples, the locator code determining instruction(s) 314 may be configured to receive the locator label data 326. The locator code determining instruction(s) 314 may be configured to analyze the locator label data 326 to determine the locator code associated with the locator label data 326. For example, the locator code determining instruction(s) 314 may be configured to access the locator code data 324 including a plurality of locator codes and their associated locator labels. In some examples, the locator code may be determined via a stored mapping or table between the locator code and the locator label data 326 stored in the locator code data 324. In addition, the locator code determining instruction(s) 314 may be configured to determine one or more code portions associated with the locator code. For example, the locator code may include one or more code portions representing a hashed value, geohash, or geohash phrase.

[0041] In some embodiments, the geohash determining instruction(s) 316 may be configured to analyze the one or more code portions and determine one or more geohash codes associated. For example, as described herein, the one or more code portions of the locator code may represent one or more geohash codes, associated with the location data 308, that have been hashed by the location naming service system 306. In some examples, the geohash determining instruction(s) 316 may be configured to access the geohash data 322 and the one or more geohash codes may be determined via a stored mapping or table between the locator code and the one or more geohash codes stored in the geohash data.

[0042] In additional embodiments, the location determining instruction(s) 318 may be configured to analyze the one or more geohash codes, geohash phrase, etc. to determine one or more associated location characteristics and determine the location data 308 for transmission to the third-party site 304 along with, or in place of, the locator code. For example, the location determining instruction(s) may be configured to access the location characteristics data 320 and the one or more location characteristics may be determined via a mapping or table between the one or more geohash codes and the one or more location characteristics. For example, the one or more location characteristics may include a building location, a street location, and a subunit corresponding to one or more geohash codes. In some examples, an association may have been made between the one or more location characteristics and the one or more geohash codes and may be used to determine the location data 308 associated with the received locator label data 326.

[0043] In some examples, once the location data 308 is determined, it is transmitted to the third-party system 304 (such as retailer) via the communication interface(s) 308 and over the network 332 along with, or in place of, the locator code. The third-party system 304 may utilize the location data 308 to fulfill a service, route a navigation element, etc. to the desired location. For example, the user 302 may provide the locator label data 326 (such as“SmithHome”) to the third-party system 304 in lieu of a physical address. Once the location data 308 is determined, it may be returned to the third-party system 304 along with the locator code, and thus the exact, desired location is provided. By utilizing the locator label data 326, and associated locator code, both the user 302 and the third-party system 304 may avoid errors associated with postal addresses, subdivided buildings (e.g. building 310 of FIG. 2B), buildings spanning multiple street addresses (e.g. building 204 of FIG. 2A), human error, and time expended to verify and/or correct such errors. In this way, an exact location (associated with the locator code), or the location data 308, may be provided directly to the third-party system 304 for use.

[0044] FIG. 4 illustrates an example architecture of one or more servers associated with a location naming service system according to some implementations. The servers, which host the location naming service system 402 collectively comprise processing resources, as represented by processors 404, and computer-readable storage media 408. The computer-readable storage media 408 may include volatile and nonvolatile memory, removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instruction(s), data structures, program modules, or other data. Such memory includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, RAID storage systems, or any other medium which can be used to store the desired information and which can be accessed by a computing device.

[0045] The servers may also include one or more communication interfaces 406, which may support both wired and wireless connection to various networks, such as cellular networks, radio (e.g., radio-frequency identification (RFID)), WiFi networks, short-range or near-field networks (e.g., Bluetooth®), infrared signals, local area networks, wide area networks, the Internet, and so forth. For example, the communication interfaces 46 may allow the location naming service system 402 to receive transaction data, user communications, and/or offer data from user devices and third party systems. In some cases, a co-located management system may act as a proxy or additional tier for a cloud-based management system.

[0046] Several modules such as instruction(s), data stores, and so forth may be stored within the computer-readable storage media 408 and configured to execute on the processors 404. For example, a location characteristic determining instruction(s) 410, a locator code generation instruction(s) 412, a locator phrase association instruction(s) 414, a locator code determining instruction(s) 416, a geohash determining instruction(s) 418, a location determining instruction(s) 418, and a location returning instruction(s) 420. In some implementations, the computer-readable media 408 may store data, such as location characteristic data 422 (e.g., latitude/longitude, size, landmass, population density, GPS coordinates, and/or other data associated with each region and/or geohash), geohash data 424 (e.g., hash codes or tags assigned to regions and/or location characteristics), and locator code data 426, as well as other data.

[0047] The location characteristic determining instruction(s) 410 may be configured to receive location data from one or more devices, such as a user device. The location data may user input data, input via a user interface, usable to determine a desired location or position relative to the Earth. For example, location data may include an address, coordinates, regions, or locations selected by the user via a user interface map displayed on the device and/or names of locations (e.g., buildings, landmarks, cities, countries, etc.) entered by the user via a text input, among other data representative of a location. In some cases, the location data may be representative of a current location or of a desired location (e.g., a location for a service, such as a package delivery, navigation location, etc.).

[0048] Once the location data is received, the location characteristic determining instruction(s) 120 may cause the cloud-based location naming system 420 to determine one or more location characteristics associated with the location data. For example, if the location data includes a user input indicating a work address, the location determining instruction(s) may analyze the location data to determine an office building location, a street location, and/or a subunit associated with the location data. As an example, if the location data included user input specifying an address“1234 Cherry Lane, Apt. 567, Austin, Texas 78738,” the location determining instruction(s) may analyze the address and determine a building location (e.g. 1234), a street location (e.g. Cherry Lane), and/or a subunit location (e.g. Apt. 567. In some examples, the location characteristic determining instruction(s) 410 may be configured to access the location characteristic data 422 and the one or more location characteristics may be determined via a stored mapping or table between the location data and the location characteristic data 422.

[0049] In some embodiments, once the one or more location characteristics are determined, the location characteristic determining instruction(s) 410 may also cause the cloud-based location naming system 402 to determine one or more location indicators, such as geohash codes, longitude/latitude coordinates, etc. associated with the one or more location characteristics. For example, one or more geohash codes may be determined for each of the determined building location, street location, and/or subunit location. In some cases, the location characteristic determining instruction(s) 410 may be configured to access third party data stores and systems (not shown) in order to determine the location characteristics and/or corresponding geohash codes. In other examples, the location characteristic determining instruction(s) 410 may be configured to access the geohash data 424 and the one or more geohash codes may be determined via a stored mapping or table between the one or more location characteristics and the geohash data 424.

[0050] In some examples, the locator code generation instruction(s) 412 are configured to translate the location indicators, such as the one or more geohash codes, into a locator code. For example, the locator code generation instruction(s) 412, may be configured to apply a hash function, or other code generator program, to each determined geohash code associated with the one or more location characteristics (and thus the location data 140) to generate a machine-readable set of characters. The resulting locator code may include one or more code portions representing each geohash code corresponding to a location characteristic of the location data.

[0051] In some embodiments, the locator phrase association instruction(s) 414 may be configured to receive locator label data from the user device(s) and associate the locator label data with the locator code. The locator label data may include a user designated label to associate with the location data 140. In some examples, the user may wish to associate more than one location of the location data 140 with the locator label data. For instance, the user may wish to associate a second address such as an additional home address, a work address, a vacation home, and so on. The determined locator code(s) may then be stored in the locator code data 426 for later access in determining locations associated with the locator code(s) received by the cloud-based location naming service system 402.

[0052] In some examples, the locator code determining instruction(s) 416 may be configured to receive the locator label data from a user and/or third-party site. The locator code determining instruction(s) 416 may be configured to analyze the locator label data to determine the locator code associated with the locator label data. For example, the locator code determining instruction(s) 416 may be configured to access the locator code data 416 and the locator code may be determined via a stored mapping or table between the locator code and the locator label data stored in the locator code data 426. In addition, the locator code determining instruction(s) 416 may be configured to determine one or more code portions associated with the locator code. For example, the locator code may include one or more code portions representing a hashed code corresponding to geohash codes.

[0053] In some embodiments, the location determining instruction(s) 418 may be configured to analyze the one or more code portions and determine the associated one or more location indicators, such as one or more geohash codes, latitude/longitude coordinate, etc. For example, as described herein, the one or more code portions of the locator code may represent one or more geohash codes, associated with the location data 308, that have been hashed by the location naming service system 402. In some examples, the location determining instruction(s) 418 may be configured to access the geohash data 424 and the one or more geohash codes may be determined via a stored mapping or table between the locator code and the one or more geohash codes stored in the geohash data.

[0054] In additional embodiments, the location determining instruction(s) 418 may further be configured to analyze the one or more location indicators, such as the one or more geohash codes, to determine one or more location characteristics associated with the geohash codes and determine the location data for transmission to the user and/third- party site. For example, the location determining instruction(s) may be configured to access the location characteristics data 422 and the one or more location characteristics may be determined via a mapping or table between the one or more geohash codes and the one or more location characteristics. For example, the one or more location characteristics may include a building location, a street location, and a subunit corresponding to one or more geohash codes. In some examples, an association may have been made between the one or more location characteristics and the one or more geohash codes and may be used to determine the location data 308 associated with the received locator label data.

[0055] In some examples, once the location data is determined, the location returning instruction(s) 420 may be configured to transmit the location data, along with the locator code, to the third-party site via the communication interface(s) 406. The third-party site may utilize the location data and/or locator code to fulfill a service, route a navigation element, etc. to the desired location.

[0056] While the examples above are described with respect to a single location, one or more locations may be utilized. For example, in some instances, as described above, the user may wish to associate more than one location data with the locator label data. In such examples, more than one locator code may be associated with the locator label data. As a result, the location determining instruction(s) 418 may determine one or more location data for transmission to the user and/or third party-site. For example, the user may wish to associate more than one location so that, when the location is ready to be utilized, the user may choose which location data to use. For example, if the user is highly mobile, the user may wish to place an order, schedule a service, etc. but may not be in a position to specify a location for fulfilment. In this way, the user may initiate the service and, when the service is ready for fulfilment, the user may input their locator label data, receive the one or more associated location data, and choose which location to utilize.

[0057] FIG. 5 illustrates example components of one or more user devices hosting a client side application associated with the location naming system according to some implementations. FIG. 5 illustrates example components of one or more user devices 500 hosting a client side application, or location naming service application 512, associated with a location naming service system according to some implementations. The device 500 may host or implement the location naming service application 512 that allows the user to interact with the location naming service system described in various embodiments herein. The device 500 may include one or more processors 502, and computer-readable storage media 504 as well as communication interface(s) 506, sensor(s) 508, and input/output interface(s) 510.

[0058] The communication interfaces 506 may support both wired and wireless connection to various networks, such as cellular networks, radio (e.g., radio-frequency identification (RFID)), WiFi networks, short-range or near-field networks (e.g., Bluetooth®), infrared signals, local area networks, wide area networks, the Internet, and so forth. For example, the communication interfaces 506 may allow the device 500 to send and receive data associated with location data, locator label data, etc.

[0059] The sensors 508 may be used to monitor position and movement of the user device 500. For example, the sensors may include motion sensors (e.g., gyroscopes and accelerometers) and/or position sensors (e.g., Global Position System (GPS) or other satellite receivers based location tracking systems). In some case, the sensors 508 may include systems for tracking movement based on wireless signals, such as the nearest cellular tower or currently connected tower.

[0060] The input/output interfaces 510 may include one or more output components, such as a display or touch screen, and one or more input components, such as keyboards, keypads, joysticks, a mouse, a touch screen, touch pad, drawing pad, or control buttons. In some implementations, the output components and input components are combined in a single interface to provide a touch-sensitive display, or touch screen display. For instance, in the illustrated example, the input/output interfaces 510 include one or more displays for presenting information, such as electronic content items, to a user, one or more input sensors for accepting input resulting from contact and/or application of incident force, such as a user finger or stylus pressing upon one of the sensors.

[0061] The computer-readable storage media 504 may include volatile and nonvolatile memory, removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instruction(s), data structures, program modules, or other data. Such memory includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, RAID storage systems, or any other medium which can be used to store the desired information and which can be accessed by a computing device.

[0062] Several modules such as instruction, data stores, and so forth may be stored within the computer-readable storage media 504 and configured to execute on the processors 502. For example, the computer-readable media 504 may store the location naming service application 512 that includes geohash determining instruction(s) 514, locator code generation instruction(s) 516, locator phrase association instruction(s) 518, and location selection instruction(s) 520. In some cases, location naming service application 512 may also store local location characteristic data 522, geohash data 524, and/or locator code data 526.

[0063] In some examples, the location characteristic determining instruction(s) 514 may be configured to receive user input data including location data via a user interface, such as input/output interface(s) 510. For example, the user interface may include an interactive map with one or more selectable elements and/or a text entry element. The user interface may allow a user to input location data may include an address, coordinates, regions, or locations. The input may include a selection of the one or more elements by the user via the user interface map designating one or more locations. The user input data may further include text input including names of locations (e.g., buildings, landmarks, cities, countries, etc.) entered by the user via a text input. The user input may further include any data representative of a location.

[0064] Once the location data is received, the location characteristic determining instruction(s) 514 may cause the location naming service application 512 to determine one or more location characteristics associated with the location data. For example, if the location data includes a user input indicating a home address, the location determining instruction(s) may analyze the location data to determine a residential building location, a street location, and/or a subunit associated with the location data. In some examples, the location characteristic determining instruction(s) 514 may be configured to access the location characteristic data 522 and the one or more location characteristics may be determined via a stored mapping or table between the location data and the location characteristic data 522.

[0065] In some embodiments, once the one or more location characteristics are determined, the location characteristic determining instruction(s) 514 may also cause the location naming service application 512 to determine one or more location indicators, such as geohash codes (or other location information such as latitude/longitude coordinates, geohashes, geohash phrases, plus code(s) (of Open Location Code(s)), pbKey™, Google® Place IDs, etc.) associated with the one or more location characteristics. For example, one or more geohash codes may be determined for each of the determined building location, street location, and/or subunit location. In some cases, the location characteristic determining instruction(s) 514 may be configured to access third party data stores and systems (not shown) in order to determine the location characteristics and/or corresponding geohash codes. In other examples, the location characteristic determining instruction(s) 514 may be configured to access the geohash data 524 and the one or more geohash codes may be determined via a stored mapping or table between the one or more location characteristics and the geohash data 524.

[0066] In some examples, the locator code generation instruction(s) 516 are configured to translate the one or more geohash codes into a locator code. For example, the locator code generation instruction(s) 516, may be configured to apply a hash function to each determined geohash code associated with the one or more location characteristics (and thus the location data) to generate a machine-readable set of characters. The resulting locator code may include one or more code portions representing each geohash code corresponding to a location characteristic of the location data.

[0067] In some embodiments, the locator phrase association instruction(s) 518 may be configured to receive locator label data via the user interface (e.g. input/output interface(s) 510) and associate the locator label data with the locator code. The locator label data may include a user designated label including one or more text characters. In some examples, the user may wish to associate more than one location of the location data with the locator label data. For instance, the user may wish to associate a second address such as an additional home address, a work address, a vacation home, and so on. The determined locator code(s) may then be stored in the locator code data 526 for later access in determining locations associated with the locator code(s).

[0068] In further embodiments, the location selection instruction(s) 520 may be configured to select a locator code, associated with location data, from among the one or more location data inputs provided by the user, to return to an additional user or a system. For example, as described above, the user may indicate more than one location to associate with the locator label. In such examples, the location selection instruction(s) 520 may be configured to select a locator code based on one more or configuration settings and/or to provide a user interface, via the input/output interface(s) 510 to allow the user to select from among the one or more locator codes (and associated locations).

[0069] For example, the user may place an order for a product through the third- party system and input the customized locator label. When the product is ready to ship, the user or the location selection instruction(s) 520 may be configured to select a delivery location. For example, if the shipping is delayed or the user has an unexpected trip, the user may login to the location naming service application 512 and change the delivery location at a time after placing the order. In this example, the location selection instruction(s) 520 may be configured to transmit, via the communication interface(s) 506, the updated delivery information (e.g., the location information and/or locator code associated with the selected delivery location) to the third-party system.

[0070] In another example, when the product is ready for shipment, or at the request of the additional user, the location selection instruction(s) 520 may be configured to transmit a notification to the user, via the input/output interface(s) 510, to allow the user to select the desired delivery location from amongst the location data associated with the locator label. In still further examples, the user may associate a GPS sensor, from the sensor(s) 508, with the locator label, and the location selection instruction(s) 520 may be configured to select the location data based on GPS information known about the user at the time a delivery request is received from the third-party system. For example, when the service is ready to be fulfilled (e.g., the package is ready for delivery), the location naming service may ping the GPS to determine the location of the device, and thus the user, to fulfill the service and provide this information to the third-party system.

[0071] FIG. 6 is an example flow diagram showing an illustrative process for generating a locator code according to some implementations. As described above, a user may provide location data (or a plurality of location data) to a location naming service system, along with a locator label, and a locator code may be generated corresponding to the location data. As a result, the user may utilize the locator label when interacting with third-party services requiring location information.

[0072] At 602, the system may receive user input data including location information and a locator label. For example, the user input data may include text characters and/or a user selection indicating one or more locations. The user input data may further include a locator label, including one or more text characters, that the user wishes to associate with the one or more locations.

[0073] At 604, the system may analyze the location information to determine one or more location characteristics. For example, the system may analyze the location information to determine one or more location characteristics including a building location, a street number, a subunit, etc. The one or more location characteristics may be determined by accessing a third-party database, parsing the text of the input data, and/or analyzing the user selection(s).

[0074] At 606, the system may generate a locator code associated with the location characteristics. For example, the system may determine one or more geohash codes associated with the one or more location characteristics. For instance, the system may access a geohash database that maps the one or more location characteristics to one or more geohash codes. Each of the one or more location characteristics may be associated with an individual geohash code. For example, there may be a geohash code determined for each of the building location, the street number, and the subunit associated with the location data. In other examples, the system may determine latitude/longitude coordinates, or other location information, associated with the location characteristics. Then, the system may apply a hash function, or other code generating function/program, to the one or more geohash codes, latitude/longitude coordinates, location information, etc. to generate a locator code. For example, the system may apply a hash function to each of the one or more geohash codes and compile each hash function into the locator code. Thus, in some examples, the locator code may include multiple code portions corresponding to each geohash that has been hash. [0075] At 608, the system may associate the locator code with at least one of the locator label or a geohash phrase. For example, the system may associate the generated locator code with the user-designed locator label. In addition to, or alternatively, the system may generate a geohash phrase to associated with the locator code.

[0076] FIG. 7 is an example flow diagram showing an illustrative process for determining location information associated with a locator code according to some implementations. For example, as described above, the location naming service system may receive a locator label and may utilize the locator label to determine one or more locations associated with the locator label.

[0077] At 702, a user may enter a locator label while interacting with a third-party system. For example, the user may enter the locator label in lieu of a physical address, or other location information, while placing an order, initiating navigation, etc.

[0078] At 704, the system may receive a locator label. For example, the third-party system may receive the locator label data from a device associated with a user. For instance, the user may provide the locator label through a user interface associated with the location naming service system application, a web application associated with the third-party system, etc.

[0079] At 706, the third-party system may provide the locator label and/or user identification data to the location naming service system. For example, the third-party system may transmit, via one or more communication interfaces, the locator label provided by the user and/or user identification data to the location naming service system. In some examples, the user identification may include profile information, user preferences, configuration settings, a current location, etc. For example, the user identification data may include user preferences indicating a location the user often selects for deliveries. [0080] At 708, the location naming services system receives the locator label and/or user identification data. For example, the location naming services system may receive the locator label and/or user identification data via one or more communication interfaces.

[0081] At 710, the location naming service system may identify a locator code associated with the locator label including one or more code portions. For example, the system may access data mapping the locator label data and/or user identification data with one or more locator codes. In some examples, the system may determine that the locator code includes one or more distinct code portions.

[0082] At 712, the location naming service system may analyze the locator code to determine a location associated with the locator label. For example, the system may analyze each code portion of the one or more code portions to determine one or more location identifiers, such as geohash codes, latitude/longitude coordinates, etc. associated with the locator code. For example, the system may access data that maps the one or more code portions to one or more geohash codes. For example, the one or more code portions may correspond to one or more geohash codes that have been hashed. An association between the one or more code portions and the geohash code may be stored in the data and accessed by the system to determine the geohash code(s). Next, in some examples, the system may identify a location based at least in part on the one or more location identifiers. For example, the system may utilize the one or more geohash codes to identify one or more corresponding location characteristics. The one or more location characteristics may be utilized to identify the one or more locations corresponding to the locator code. For example, the system may access data including a mapping or table associating the determined geohash code(s) and the one or more location characteristics. In addition, if more than one location is determined, the location naming service system may present the user with the one or more determined locations and may allow the user to input a selection to indicate a desired location of the determined locations.

[0083] At 714, the location naming service system may return the determined location and/or locator code to the third-party system. For example, the system may transmit/retum the location to the third-party system via one or more communication interfaces and the third-party system may utilize the location to fulfill a service, schedule a delivery, initiating navigation to the location, etc.

[0084] At 716, the third-party system may receive the location and/or locator code. For example, the third-party system may receive, via one or more communication interfaces, the location and/or locator code.

[0085] FIG. 8 is another example flow diagram showing an illustrative process for determining location information associated with a locator code according to some implementations. For example, as described above, the location naming service system may receive a locator label and may utilize the locator label to determine one or more locations associated with the locator label.

[0086] At 802, the third-party system may receive a locator label. For example, a user may enter the locator label in lieu of a physical address, or other location information, while placing interacting with the third-party system, delivery system, or location naming service system.

[0087] At 804, the third-party system may provide the locator label and/or user identification data to the location naming service system. For example, the third-party system may transmit, via one or more communication interfaces, the locator label provided by the user and/or user identification data to the location naming service system. In some examples, the user identification may include profile information, user preferences, configuration settings, a current location, etc.

[0088] At 806, the location naming service system receives the locator label and/or user identification data. For example, the location naming services system may receive the locator label and/or user identification data via one or more communication interfaces.

[0089] At 808, the location naming service system may identify a locator code associated with the locator label. For example, the system may access data mapping the locator label data and/or user identification data with one or more locator codes. In some examples, the system may determine that the locator code includes one or more distinct code portions.

[0090] At 810, the location naming service system may analyze the locator code to determine a location associated with the locator label. For example, the location naming service system may analyze each code portion of the one or more code portions to determine one or more location identifiers, such as geohash codes, latitude/longitude coordinates, etc. associated with the locator code. For example, the location naming service system may access data that maps the one or more code portions to one or more geohash codes. For example, the one or more code portions may correspond to one or more geohash codes that have been hashed. An association between the one or more code portions and the geohash code may be stored in the data and accessed by the location naming service system to determine the geohash code(s). Then, in some examples, the location naming service system may identify a location based at least in part on the one or more location identifiers. For example, the location naming service system may utilize the one or more geohash codes to identify one or more corresponding location characteristics. The one or more location characteristics may be utilized to identify the one or more locations corresponding to the locator code. For example, the location naming service system may access data including a mapping or table associating the determined geohash code(s) and the one or more location characteristics. In addition, if more than one location is determined, the location naming service system may present the user with the one or more determined locations and may allow the user to input a selection to indicate a desired location of the determined locations.

[0091] At 812, the location naming service system may return the determined location and/or locator code to a delivery/navigation system. For example, the location naming service system may transmit/return the location to a delivery system or navigation system associated with the third-party system. The delivery or navigation system may utilize the location to fulfill a service, schedule a delivery, initiating navigation to the location, etc.

[0092] At 814, the delivery/navigation system may receive the location and/or locator code. For example, the delivery/navigation system may receive, via one or more communication interfaces, the location and/or locator code.

[0093] Although the subject matter has been described in language specific to structural features, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features described. Rather, the specific features are disclosed as illustrative forms of implementing the claims.

Claims

CLAIMS WHAT IS CLAIMED IS :
1. A system comprising:
one or more communication interfaces;
one or more processors;
non-transitory computer-readable media storing computer-executable instruction(s), which when executed by the one or more processors cause the one or more processors to:
present a user interface configured to receive user input data;
receiver the user input data, the user input data including location information and a locator label;
analyze the location information to determine one or more location characteristics;
generate a locator code associated with the one or more location characteristics; and
associate the locator code with the locator label.
2. The system of claim 1, wherein generating the locator code associated with the one or more location characteristics comprises:
determine one or more location indicators corresponding to the one or more location characteristics; and
apply a hash function to the one or more location indicators to generate the locator code.
3. The system of claim 1, wherein the locator code includes one or more code portions, the one or more code portions associated with the one or more location characteristics.
4. The system of claim 1, wherein the non-transitory computer-readable media stores additional computer-executable instruction(s), which when executed by the one or more processors cause the one or more processors to:
receive the locator label via the communication interface;
identify the locator code associated with the locator label, the locator code including one or more code portions;
analyze each code portion of the one or more code portions to determine a location associated with the locator code; and
cause the communication interface to send the location associated with the location to a device.
5. The system of claim 4, wherein analyzing each code portion of the one more code portions to determine a location associated with the locator code comprises: analyze each code portion of the one or more code portions to determine the one or more geohash codes associated with the locator code, the one or more geohash codes corresponding to the one or more location characteristics; and
identify a location based at least in part on the one or more geohash codes.
6. A method comprising:
receiving user input data, the user input data including location information and a locator label; analyzing the location information to determine one or more location characteristics;
generating a locator code associated with the one or more location characteristics; and
associating the locator code with at least one of the locator label or a geohash phrase.
7. The method of claim 6, wherein generating the locator code associated with the one or more location characteristics comprises:
determining one or more location indicators associated with the one or more location characteristics; and
at least one of applying a code generating function to the one or more location indicators to generate the locator code or accessing a third-party database to locate the locator code.
8. The method of claim 7, wherein the one or more location indicators include at least one of one or more geohash codes or one or more latitude/longitude coordinates.
9. The method of claim 7, wherein the one or more location indicators include one or more geohash codes, and wherein applying the code generating function to the one or more location indicators to generate the locator code comprises:
applying a hash function to each geohash code of the one or more geohash codes to generate one or more code portions; and
compiling the one or more code portions to generate the locator code.
10. The method of claim 6, wherein the geohash phrase includes one or more phrase words, and wherein each phrase word of the one or more phrase words includes at least one of a noun, a verb, an adverb, or an adjective of a selected dictionary.
11. The method of claim 10, wherein each region of a globe has an associated geohash phrase, and wherein each associated geohash phrase differs from all other associated geohash phrases.
12. The method of claim 6, wherein the user input data is received via a user interface, the user interface including at least one of a text entry field or an interactive map.
13. A method comprising:
receiving a locator label, the locator label including at least one text character; identifying a locator code associated with the locator label, the locator code including one or more code portions;
analyzing each code portion of the one or more code portions to determine one or more location indicators associated with the locator code;
identifying a location based at least in part on the one or more location indicators;
transmitting the location to a device.
14. The method of claim 13, wherein the one or more location indicators include one or more geohash codes corresponding to one or more location characteristics associated with the locator code.
15. The method of claim 14, wherein the one or more location characteristics include a building location and at least one of a street location or a subunit location.
PCT/US2019/020190 2018-03-15 2019-03-01 System for location naming service WO2019177785A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US201862643436P true 2018-03-15 2018-03-15
US62/643,436 2018-03-15

Publications (1)

Publication Number Publication Date
WO2019177785A1 true WO2019177785A1 (en) 2019-09-19

Family

ID=65763884

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2019/020190 WO2019177785A1 (en) 2018-03-15 2019-03-01 System for location naming service

Country Status (1)

Country Link
WO (1) WO2019177785A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1160694A2 (en) * 2000-06-02 2001-12-05 Navigation Technologies Corporation Method and system for forming a keyword database for referencing physical locations
US20040139049A1 (en) * 1996-08-22 2004-07-15 Wgrs Licensing Company, Llc Unified geographic database and method of creating, maintaining and using the same
EP2261605A2 (en) * 2000-02-16 2010-12-15 TeleNav, Inc. Method and system for labelling a user's present location in a navigation system
US20160283515A1 (en) * 2015-03-26 2016-09-29 International Business Machines Corporation Enhanced conversion between geohash codes and corresponding longitude/latitude coordinates

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040139049A1 (en) * 1996-08-22 2004-07-15 Wgrs Licensing Company, Llc Unified geographic database and method of creating, maintaining and using the same
EP2261605A2 (en) * 2000-02-16 2010-12-15 TeleNav, Inc. Method and system for labelling a user's present location in a navigation system
EP1160694A2 (en) * 2000-06-02 2001-12-05 Navigation Technologies Corporation Method and system for forming a keyword database for referencing physical locations
US20160283515A1 (en) * 2015-03-26 2016-09-29 International Business Machines Corporation Enhanced conversion between geohash codes and corresponding longitude/latitude coordinates

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None

Similar Documents

Publication Publication Date Title
Baus et al. A resource-adaptive mobile navigation system
Davies et al. Using and determining location in a context-sensitive tour guide
JP5486680B2 (en) Portal service based on dialogue with points of interest detected via directional device information
KR101429298B1 (en) Location-based caching for mobile devices
US9294873B1 (en) Enhanced guidance for electronic devices using objects within in a particular area
US8396888B2 (en) Location-based searching using a search area that corresponds to a geographical location of a computing device
US9904709B2 (en) Integration of location logs, GPS signals, and spatial resources for identifying user activities, goals, and context
EP2817659B1 (en) System and method for mapping an indoor environment
EP2455713B1 (en) Building directory aided navigation
US9754317B2 (en) System and method for providing information based on geographic position
US20040225436A1 (en) Map information processing device, its system, its method, its program, recording medium storing the program, position information display device, its method, its program and recording medium storing the program
US20130212176A1 (en) User presence detection and event discovery
US7167795B2 (en) Device, system, method and program for navigation and recording medium storing the program
US20030033176A1 (en) Geographic location multiple listing service identifier and method of assigning and using the same
JP2014194780A (en) Refined location estimates and reverse geocoding based on user profile
US20050090974A1 (en) Traffic condition notifying device, system thereof, method thereof, program thereof and recording medium storing the program
US9472159B2 (en) Method and apparatus for annotating point of interest information
US20110010650A1 (en) Systems and methods for decluttering electronic map displays
US20110137561A1 (en) Method and apparatus for measuring geographic coordinates of a point of interest in an image
JP5162505B2 (en) Environment interactive context-oriented device and method
TWI521185B (en) To a method for location of a landmark, systems, and computer-readable storage medium
US10168155B2 (en) Presenting information for a current location or time
US9885582B2 (en) Systems and methods for generating electronic map displays with points-of-interest information based on reference locations
US9746342B2 (en) Systems and methods for generating electronic map displays with points-of-interest based on density thresholds
WO2004070676A1 (en) Acquiring, managing, distributing, and presenting contextual data relating to a known position for location-based services to and between users

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19710952

Country of ref document: EP

Kind code of ref document: A1