Aspects of the invention generally relate to enhanced geocoding capabilities. In particular, various aspects of the invention include methods and systems for locating predetermined addresses on a map grid.
Geocoding refers to the process of finding the correct geographic coordinates (e.g., latitude and/or longitude coordinates) from data such as street addresses, zip codes, postal codes, etc. Over the years, various geocoding techniques involving address interpolation, the use of land parcel centroids, and the use of global positioning systems (GPS) have been developed.
However, problems remain with using these systems/methods for practical geocoding applications. For instance, a geocoding system may fail when several different addresses may be listed under similar names and/or when a given address encompasses an area beyond a threshold value.
Thus, advanced geocoding systems/techniques are needed for pinpointing the location of physical addresses close to a reference point.
In light of the foregoing background, the following presents a simplified summary of the present disclosure in order to provide a basic understanding of some aspects of the invention. This summary is not an extensive overview of the invention. It is not intended to identify key or critical elements of the invention or to delineate the scope of the invention. The following summary merely presents some concepts of the invention in a simplified form as a prelude to the more detailed description provided below.
Aspects of the disclosure address one or more of the issues mentioned above by disclosing methods, computer readable media, and apparatuses for locating physical addresses close to an entity on a single street. An enhanced geocoding module may be used to locate physical addresses close to a predetermined location.
With another aspect of the disclosure, an enhanced geocoding module may return physical addresses that are on a predetermined street, lane, road, alley, or some other thoroughfare. This feature may be implemented as a hardware module either in a mobile device and/or a fixed-location computing device. In either scenario, a user of the device may specify a location (e.g., latitude/longitude coordinates, street address, etc.) that the enhanced geocoding module may use as a base location or address in returning other addresses or locations situated on a single street and close to the base location or address. Alternatively, a location tracking system (e.g., global positioning system (GPS), etc.) embedded within the device may first determine the current location of a user and use the current location to return other addresses or locations situated on a single street and close to the current location or address.
Aspects of the disclosure may be provided in a computer-readable medium having computer-executable instructions to perform one or more of the process steps described herein.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. The Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
The present invention is illustrated by way of example and is not limited in the accompanying figures in which like reference numerals indicate similar elements and in which:
As discussed above, there are problems associated with the way addresses are currently located on a map.
I/O 109 may include a microphone, keypad, touch screen, and/or stylus through which a user of the enhanced geocoding module 101 may provide input, and may also include one or more of a speaker for providing audio output and a video display device for providing textual, audiovisual and/or graphical output. Software may be stored within memory 115 and/or storage to provide instructions to processor 103 for enabling module 101 to perform various functions. For example, memory 115 may store software used by the device 101, such as an operating system 117, application programs 119, and an associated database 121. Processor 103 and its associated components may allow the device 101 to run a series of computer-readable instructions to generate a rectangular grid for determining the physical addresses that are closest to a given location. For instance, when the geocode of a mobile device is determined, processor 103 may create a grid with the geocode of the mobile device at the center of the grid. In addition, processor 103 may create several coordinate points around the center of the grid so that a reverse geocoding server may be called to reverse the geocodes of the various coordinate points into physical addresses.
The server 101 may operate in a networked environment supporting connections to one or more remote computers, such as terminals 141 and 151. The terminals 141 and 151 may be personal computers or servers that include many or all of the elements described above relative to the computing device 101. Alternatively, terminal 141 and/or 151 may be a reverse geocoding server called by module 101 to reverse the geocode of various coordinate points on a grid into physical addresses. The network connections depicted in
Additionally, an application program 119 used by the enhanced geocoding module 101 according to an illustrative embodiment of the disclosure may include computer executable instructions for invoking functionality related to creating a rectangular grid for locating addresses on a single street.
Enhanced geocoding module 101 and/or terminals 141 or 151 may also be mobile terminals, such as smart phones, personal digital assistants (PDAs), etc. including various other components, such as a battery, speaker, and antennas (not shown).
The disclosure is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the disclosure include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, and distributed computing environments that include any of the above systems or devices, and the like.
The disclosure may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The disclosure may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked, for example, through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
Referring to
Computer network 203 may be any suitable computer network including the Internet, an intranet, a wide-area network (WAN), a local-area network (LAN), a wireless network, a digital subscriber line (DSL) network, a frame relay network, an asynchronous transfer mode (ATM) network, a virtual private network (VPN), or any combination of any of the same. Communications links 202 and 205 may be any communications links suitable for communicating between workstations 201 and server 204, such as network links, dial-up links, wireless links, hard-wired links, etc.
The disclosure that follows in the Figures may be implemented by one or more of the components in
In accordance with various aspects of the disclosure, methods, computer-readable media, and apparatuses are disclosed in which an enhanced geocoding module 204 may locate addresses located on a single street, lane, alley, gulley, road, or other thoroughfare. To accomplish this task, the geocode of the enhanced geocoding module 204 may be extracted. In some embodiments, the geocode of a predetermined point specified by a user using enhanced gecoding module 204 may be extracted. The geocode may refer to any of several geospatial attributes, including latitude, longitude, altitude, date, time, and/or internet protocol (IP) address. Then the enhanced geocoding module 204 may create a grid with a predetermined granularity around the extracted geocode. The granularity of a grid may refer to the distance between any two coordinate points of the grid. The extracted geocode of enhanced geocoding module 204 may be located at the center of the grid; then enhanced geocoding module 204 may create several coordinate points around the grid. Next, enhanced geocoding module 204 may make a batch request to a server (e.g., via an application programming interface (API) of a server such as one maintained by Google, Microsoft, etc.) to reverse the geocodes of each of the coordinate points on the grid into physical addresses.
Once a call is made to the reverse geocoding server (e.g., terminals 141/151 and/or workstations 201) to reverse the geocode of a given coordinate point, this coordinate point and its associated physical address may be saved in a memory of the enhanced geocoding module 204 to avoid having to make repeated calls to the reverse geocoding server for the same physical address.
Enhanced geocoding module 204 may then sort the physical addresses in order of how far they are from the enhanced geocoding module 204. The physical addresses that are the closest to the enhanced geocoding module 204 may then be presented to a user on a display screen of the enhanced geocoding module 204. All of the physical addresses located on a single street may be grouped and presented to a user in an order consistent with how far the physical addresses are from the user of the enhanced geocoding module 204 or consistent with how far the physical addresses are from some other user specified location. In this way, the enhanced geocoding module 204 may present physical addresses to a user via a two-tiered sorting technique-first the addresses may be sorted by street and then these same-street addresses may be sorted by distance from the enhanced geocoding module 204.
In addition, enhanced geocoding server 204 may overlay various icons related to the returned physical addresses on a map representing the addresses. These icons may be supplied to the enhanced geocoding server 204 by the reverse geocoding server, along with the physical addresses. The icons may be used to represent physical addresses (e.g., homes, business addresses, etc.) that may have a record in a database (e.g., workstation 201) maintained by an entity using the enhanced geocoding module 204.
In an alternate embodiment, enhanced geocoding module 204 may use a predetermined global positioning system (GPS) coordinate to draw a circle around the GPS coordinate and determine the radial distances of the nearest physical addresses to the GPS coordinate. Therefore, instead of drawing a grid, enhanced geocoding module 204 may use various points within the circle to make a batch request to a reverse geocoding server for physical addresses associated with one or more GPS coordinates within the circle.
One of the drawbacks of this technique is that by looking at the radial distances to a given GPS coordinate, the reverse geocoding server may return physical addresses that are not located on the same street, alley, road, gulley, and/or other thoroughfare. Thus, these addresses may not in fact be the closest physical addresses to a given location, as determined by the amount of time that it takes to walk, drive, etc. to the addresses.
As opposed to techniques involving the use of radial distances from a given GPS coordinate, the approach of using grids for finding the nearest physical address allows addresses on the same street, lane, alley, gulley, road, or other thoroughfare to be located.
The distance between grid points may be variable and may be presented in any distance units, including miles, kilometers, feet, yards, etc. For instance, the coordinate points of the grid may be close together when mapping densely populated urban areas and may be farther apart when mapping sparsely populated rural areas. In other embodiments, the distance between grid points may be an average value, regardless of the area being mapped.
The grid itself may be a rectangular grid. In some aspects, the size of the grid may be created so as to minimize the number of calls to the reverse geocoding server. For some applications, the grid may include 81 coordinate points.
The geographical area covered by the grid points may be determined by a zoom level, as set by the enhanced geocoding server 204. An appropriate zoom level may need to be chosen in order to allow the proper coordinate points to be returned by the reverse geocoding server.
The statistics in statistics section 306 may be displayed over various time periods, including a day, week, month, or pay period. Statistics in statistics section 306 may be shown for a given individual/group (e.g., a user of enhanced geocoding module 204), as well as the average value of various statistics for an entire group and the identity of the leader of each statistic. The statistics may include a given salesperson's sign-ups, close rate, attempt rate, contact rate, attempts, contacts, hours, and sign-ups per hour. The salesperson's sign-ups may relate to the number of customers that the salesperson actually convinced to signup for services/products provided by the company, the close rate may represent the number of sign-ups attributed to a given salesperson compared to the total number of potential customers visited, the attempt rate may refer to the total number of potential customers that a given salesperson visits, the contact rate may refer to the total number of potential customers that a given salesperson contacts using any communication modality (e.g., phone, mail, etc.), the attempts may refer to the total number of attempts made by a given salesperson at acquiring new customers, the contacts may refer to the total number of contacts or leads for potential customers as developed by a given salesperson, the hours may refer to the total number of hours that a given salesperson spends mining for potential customers, and the sign-ups per hour may refer to the number of sign-ups attributed to a given salesperson per hour on the job.
The display screen 300 may also display a physical addresses section 308 in which various physical addresses that are shown on the map 302 are shown, sorted by street and distance from the enhanced geocoding module 204. In displaying the physical addresses section 308, the display screen 300 may also use various color codes (e.g., red, yellow, green) to represent the status of potential customers/customers located at the physical address. In one embodiment, red may be used to designate physical addresses that house current customers of a company using enhanced geocoding module 204, yellow may be used to designate physical addresses that house former customers of the company, and green may be used to designate physical addresses that house potential customers of the company.
The process may then move to step 405 where the enhanced geocoding module 204 may determine several coordinate points of interest on the grid. These coordinate points may represent locations that are close to the present location of the module 204. The enhanced geocoding module 204 may then make a batch request to a reverse geocoding server to provide the street-level addresses of the coordinate points in step 407.
Once the request is made, the reverse geocoding server may return the physical addresses of the coordinate points in step 409. The geocodes along with the returned physical addresses may be cached in the enhanced geocoding module 204 in step 411. The process may then move to step 413 where the enhanced geocoding module 204 may sort the returned physical addresses based on the street location and based on the distance from the enhanced geocoding module 204 and/or the distance from a user-specified point (e.g., in the case where the enhanced geocoding module 204 is a fixed computing device requesting addresses around a given coordinate point).
Finally, the process may move to step 415 where the enhanced geocoding module 204 may display a map, statistical information, and street-sorted physical addresses to a user. As described earlier, the map may include icons that indicate the status of various potential groups/individuals that may or may not be customers of an entity using the enhanced geocoding module 204. The statistical information may detail various statistics on individuals/groups associated with the entity (e.g., customer sign-ups, hours logged, etc.).
Aspects of the invention have been described in terms of illustrative embodiments thereof. Numerous other embodiments, modifications and variations within the scope and spirit of the appended claims will occur to persons of ordinary skill in the art from a review of this disclosure. For example, one of ordinary skill in the art will appreciate that the steps illustrated in the illustrative figures may be performed in other than the recited order, and that one or more steps illustrated may be optional in accordance with aspects of the invention.
This application is a continuation of commonly assigned, co-pending U.S. application Ser. No. 13/083,136, and which is herein incorporated by reference in its entirety. This application is related to U.S. application Ser. No. 13/083,139, which is herein incorporated by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
5191522 | Bosco et al. | Mar 1993 | A |
6067525 | Johnson et al. | May 2000 | A |
6078893 | Ouimet et al. | Jun 2000 | A |
6157935 | Tran et al. | Dec 2000 | A |
6169955 | Fultz | Jan 2001 | B1 |
6622151 | Hamamoto et al. | Sep 2003 | B1 |
6879836 | Nakamoto et al. | Apr 2005 | B2 |
7082427 | Seibel et al. | Jul 2006 | B1 |
7120629 | Seibel et al. | Oct 2006 | B1 |
7136915 | Rieger, III | Nov 2006 | B2 |
7142205 | Chithambaram et al. | Nov 2006 | B2 |
7174301 | Florance et al. | Feb 2007 | B2 |
7340410 | Vaillancourt et al. | Mar 2008 | B1 |
7386318 | Moon et al. | Jun 2008 | B2 |
7398093 | Hull et al. | Jul 2008 | B2 |
7429969 | Chang | Sep 2008 | B2 |
7439969 | Chithambaram et al. | Oct 2008 | B2 |
7516088 | Johnson et al. | Apr 2009 | B2 |
7548915 | Ramer et al. | Jun 2009 | B2 |
7797019 | Friedmann | Sep 2010 | B2 |
7797642 | Karam et al. | Sep 2010 | B1 |
7814142 | Mamou et al. | Oct 2010 | B2 |
7823073 | Holmes et al. | Oct 2010 | B2 |
20020042819 | Reichert et al. | Apr 2002 | A1 |
20020055926 | Dan et al. | May 2002 | A1 |
20020123957 | Notarius et al. | Sep 2002 | A1 |
20020138612 | Sekizawa | Sep 2002 | A1 |
20030078788 | Sussman et al. | Apr 2003 | A1 |
20030158960 | Engberg | Aug 2003 | A1 |
20040040602 | Farrar | Mar 2004 | A1 |
20040070602 | Kobuya et al. | Apr 2004 | A1 |
20050096036 | Haberman et al. | May 2005 | A1 |
20050113115 | Haberman et al. | May 2005 | A1 |
20060022048 | Johnson | Feb 2006 | A1 |
20060277176 | Liao | Dec 2006 | A1 |
20070096945 | Rasmussen et al. | May 2007 | A1 |
20070112729 | Wiseman et al. | May 2007 | A1 |
20070192352 | Levy | Aug 2007 | A1 |
20070219938 | Boersma et al. | Sep 2007 | A1 |
20080082572 | Ballard et al. | Apr 2008 | A1 |
20080086391 | Maynard et al. | Apr 2008 | A1 |
20080086512 | Fahys | Apr 2008 | A1 |
20080140311 | Searight et al. | Jun 2008 | A1 |
20080214149 | Ramer et al. | Sep 2008 | A1 |
20080291205 | Rasmussen et al. | Nov 2008 | A1 |
20080306840 | Houlihan et al. | Dec 2008 | A1 |
20090048859 | McCarthy et al. | Feb 2009 | A1 |
20090089254 | Von Kaenel et al. | Apr 2009 | A1 |
20090132502 | Brice et al. | May 2009 | A1 |
20090181699 | Tysowski | Jul 2009 | A1 |
20090197621 | Book | Aug 2009 | A1 |
20090234745 | Ramer et al. | Sep 2009 | A1 |
20090319344 | Tepper et al. | Dec 2009 | A1 |
20100082444 | Lin et al. | Apr 2010 | A1 |
20100114941 | Von Kaenel et al. | May 2010 | A1 |
20100131196 | Searight et al. | May 2010 | A1 |
20100131584 | Johnson | May 2010 | A1 |
20100138299 | Preston et al. | Jun 2010 | A1 |
20100251128 | Cordasco | Sep 2010 | A1 |
20100317368 | Augst et al. | Dec 2010 | A1 |
Entry |
---|
Dzenana et al., Integration of Spatial Data with Business Intelligence Systems, Dec. 16-18, 2008, pp. 447-452, BH Telecom, Bosnia. |
Hosokawa et al., An Implementation Method of a Location-Based Active Map Transformation System, 2005, pp. 13-21, MDM May 2005 Ayia Napa Cyprus. |
Franti et al., Location-Based Search Engine for Multimedia Phones, magazine, 2010, pp. 558-563, 2010, IEEE, Finland. |
Kalasapur et al., Extracting Co-locator context, Mar. 27, 2009, pp. 1-7, http://dx.doi.org/10.4108/ICST. MOBIQUITOUS2009.6857, San Jose, CA. |
Brown, Intelligent Agent based Mobile Shopper, Mar. 2009, 7 pgs., 978-1-4244-3474 © 2009 IEEE, Jamaica. |
Gao et al., A Wireless-Based Virtual Salesman System, 2004, pp. 581-588, 0-7803-8145-9/04 © 2004 IEEE, San Jose, CA. |
City of Newport Beach, registration, general information, and FAQ for residents and solictors regarding “Do Not Solicit” Registry, Archive date of May 27, 2010, http://web.archive.org/web/20100527094056/http://www.newportbeachca.gov/index.aspx?page=1518. |
U.S. Office Action mailed Mar. 25, 2014, U.S. Appl. No. 13/083,139, 30 pages. |
U.S. Office Action mailed Jul. 25, 2014, U.S. Appl. No. 13/083,139, 25 pages. |
Number | Date | Country | |
---|---|---|---|
Parent | 13083136 | Apr 2011 | US |
Child | 14027498 | US |