These and other features of this invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings in which:
Referring now to drawings,
Geographic data visualization system 18 includes: a mapping system 20 for displaying a map having a plurality of selectable geographic regions; a demographic system 22 for generating and displaying a set of demographic statistics (derived from a database of demographic data 28) for a selected geographic region; a matching system 24 for identifying and displaying a set of statistically similar regions to the selected region; and an adjusting system 26 that allows the user to adjust one or more of the displayed demographic statistics.
In addition to displaying a map, mapping system 20 may include: a selection system 30 for allowing a user to select a geographic region; and a highlight system 32 that automatically highlights both the selected geographic region and a set of similar geographic regions. Any methodology may be employed by selection system 30 for allowing a selection, e.g., the user could enter data, such as zip code, into a dialog window, the user could “click” on one of the statistically similar regions displayed by the matching system 24, the user could “click” directly on selectable region on the map, etc. Moreover, any methodology may be used to highlight regions on the map. For instance, the highlighted regions may be highlighted with a shape and/or color/filler. To distinguish between the selected geographic regions and the set of similar geographic regions, different shapes, colors, or filler could be used to distinguish among them. In an illustrative embodiment described below, ovals are used and the size of the oval is dependent upon how demographically “close” the region is to the selected geographic region.
As noted, demographic system 24 displays demographic statistics for a selected region. Any number or type of demographic statistics can be shown. Typical demographic statistics for a geographic region might include income statistics, population make-up, housing information, scholastic data, tax information, etc. In one illustrative embodiment, the demographic statistics are rendered as a set of interactive histogram displays 34, an example of which is shown in
Referring back again to
Adjusting system 26 allows the user to manually change one or more of the displayed demographic statistic target values, which will in turn cause the matching system 24 to recalculate the set of similar geographic regions. This feature thus allows the user to perform searches such as “find regions like Boston, but with lower rents,” or “find regions like zip code 12345, but with lower housing costs and higher wages,” etc.
In one illustrative embodiment this is accomplished using the interactive histogram displays 34 provided by demographic system 22. For instance, as described above,
Referring now to
Demographic statistics 56 for zip code 94305 is shown as a set of interactive histogram displays 34, each having a slidable indicator set to a target value for the selected zip code. For example, the demographic “Median gross rent” includes a histogram 58, and a slidable indicator 59, which in this example shows that rents in zip code 94305 are very high relative to the rest of the zip codes shown on map 44.
The set of similar zip codes 54, which are calculated by matching system 24 (
From interface 42, the user can perform any number of interactions to view, search, and analyze demographic data 28. For instance, the user could simply select an entirely new zip code, e.g., by clicking on one of the dots on map 44, selecting one of the similar zip codes shown in list 54, or entering a new zip code via a dialog (not shown). Any time a new zip code is selected: (1) the selected zip code is displayed at the top of the list 54; (2) a new set of similar zip codes are calculated by matching system 24 and displayed below the selected zip code 52; (3) the relevant demographic data for the selected zip code 52 are displayed as demographic statistics 56; (4) the selected zip code 52 is highlighted on the map 44; and (5) the new set of similar zip codes are also highlighted on the map 44.
Alternatively, the user could manually adjust one or more of the slidable indicators associated with the interactive histogram displays 34. When the user performs such an action, a new set of zip codes that most closely match the target values set by the user is recalculated, with the closest being placed at the top of the list 54, and the rest being placed in descending order of closeness in the list 54. Thus for example, the user may be interested in finding zip codes similar to 94305, but with a lower median gross rent. To locate such zip codes, the user would select 94305 (as shown) and then simply move the slidable indicator 59 for the median gross rent demographic to the left. Matching system 24 would calculate a new set of the zip codes that most closely match 94305, but with a lower median gross rent. The newly calculated zip codes would then replace the current data displayed in the list 54 and on the map 44. Accordingly, by adjusting one or more of the slidable indicators, the user is able to scan the database of demographic data 28 to find zip codes that most closely match the target values set by the user. This thus allows the user to quickly and efficiently identify geographic regions that have similar demographics, without constructing time consuming explicit queries.
In general, computer system 10 shown in
I/O 14 may comprise any system for exchanging information to/from an external resource. External devices/resources may comprise any known type of external device, including a monitor/display, speakers, storage, another computer system, a hand-held device, keyboard, mouse, voice recognition system, speech output system, printer, facsimile, pager, etc. Bus 17 provides a communication link between each of the components in the computer system 10 and likewise may comprise any known type of transmission link, including electrical, optical, wireless, etc. Although not shown, additional components, such as cache memory, communication systems, system software, etc., may be incorporated into computer system 10.
Access to computer system 10 may be provided over a network such as the Internet, a local area network (LAN), a wide area network (WAN), a virtual private network (VPN), etc. Communication could occur via a direct hardwired connection (e.g., serial port), or via an addressable connection that may utilize any combination of wireline and/or wireless transmission methods. Moreover, conventional network connectivity, such as Token Ring, Ethernet, WiFi or other conventional communications standards could be used. Still yet, connectivity could be provided by conventional TCP/IP sockets-based protocol. In this instance, an Internet service provider could be used to establish interconnectivity. Further, as indicated above, communication could occur in a client-server or server-server environment.
It should be appreciated that the teachings of the present invention could be offered as a business method on a subscription or fee basis. For example, a computer system 10 comprising a geographic data visualization system 18 could be created, maintained and/or deployed by a service provider that offers the functions described herein for customers. That is, a service provider could offer to provide an interface 42 to allow users to analyze demographic data by geographic region as described above.
It is understood that the systems, functions, mechanisms, methods, engines and modules described herein can be implemented in hardware, software, or a combination of hardware and software. They may be implemented by any type of computer system or other apparatus adapted for carrying out the methods described herein. A typical combination of hardware and software could be a general-purpose computer system with a computer program that, when loaded and executed, controls the computer system such that it carries out the methods described herein. Alternatively, a specific use computer, containing specialized hardware for carrying out one or more of the functional tasks of the invention could be utilized. In a further embodiment, part or all of the invention could be implemented in a distributed manner, e.g., over a network such as the Internet.
The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods and functions described herein, and which—when loaded in a computer system—is able to carry out these methods and functions. Terms such as computer program, software program, program, program product, software, etc., in the present context mean any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: (a) conversion to another language, code or notation; and/or (b) reproduction in a different material form.
The foregoing description of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible. Such modifications and variations that may be apparent to a person skilled in the art are intended to be included within the scope of this invention as defined by the accompanying claims.