Abstract:
A method and system for taking data in any format, either in a database such as Oracle, SQL, or another common database, and dynamically combining it with geographic information, i.e., a map or aerial or satellite photograph or other image, allows the user to display that data on a map, to analyze that data geographically or spatially or merely to provide information from certain locations. The result can be presented to the user as a single image that can, if desired, be interactive, allowing the user to access additional information not displayed or not capable of displaying on the map.

Description:
BACKGROUND OF THE INVENTION  
       [0001]    This application claims benefit of provisional application Serial No. 60/229,754 filed Sep. 5, 2000. 
     
    
     
         [0002]    The present invention relates generally to an integration system for combining location relevant data and maps or geographic images. More specifically, the invention concerns the combining data with maps via any wired or wireless network and communicating that combined information via any wired or wireless network.  
           [0003]    The prior art utilized geographic maps and location relevant data and combined them in a proprietary format. This proprietary format made it difficult for data of other formats (e.g., relational database format) to be graphically displayed and managed based on location in real time or even close to real time. In order to facilitate efficient browsing of data against a geographic backdrop, it is necessary to release the data from a proprietary data-map combination format and be able to take data, in any form, from any database regardless of that database&#39;s physical location or data type, and combine it with a graphical map when it is needed.  
         SUMMARY OF THE INVENTION  
         [0004]    The present invention provides a method and system for taking data in any format, either in a database such as Oracle, SQL, or another common database, and dynamically combining it with geographic information, be it in the form of a map or an aerial or satellite photograph or other image, to allow the client to display that data on a map, to analyze that data geographically or spatially or merely to provide the client information from certain locations. The result can be presented to the user as a single image that can, if desired, be interactive, allowing the user to access additional information not displayed or not capable of displaying on the map.  
           [0005]    All embodiments have the benefit of flexibility, speed, and efficiency over the prior art. The release of data from the prior art&#39;s proprietary format allows flexibility and speed over the prior art because it permits the parallel processing of data from each concerned database.  
           [0006]    One embodiment of the invention includes a central controller, a user database and a map server all stored on local servers, or machines that are located proximal to each other on the same LAN. The user database may contain the locations of all of a client&#39;s switching centers around the country for the direction of traffic across a network, or the locations of distribution warehouses or any other data that concern the geographical placement of a client&#39;s business elements. The user may also have maps showing the location of each node or each warehouse across the country. This embodiment takes information from the user database and places it on top of the user&#39;s maps, if any, or with map data already stored in the system of the invention. The user data and the maps are combined in this layered fashion. The result is then presented either as a single image with icons representing each node, or business element, or as icon layers sitting on top of the map layer without making them into a single image. Either case is referred to as a combined image, and the image looks the same to the user in either event. The combination of textual data with the map information allows the user to better analyze any number of variables such as traffic flow patterns, density of equipment in any given area, distances between significant nodes, most efficient versus least efficient routes, descriptions of facilities at various locations, etc. Additionally, each icon can be a hyperlink that when activated will show the user any or all of the information on that node or warehouse stored in the client&#39;s database.  
           [0007]    In another embodiment of the system and method, communications between the elements of the system and method can be done across a wired or wireless network of any size including the Internet. An example of this distributed embodiment could use the central controller and four nodes from which to collect the data: a business information database, an advertising database, a geocoding engine, and a map server, all located on servers separated by physical distance but connected by wired network, such as the Internet, or wireless networks. A business information database is a database with records on businesses which can include business name, address, telephone number, product information, a designation of a pre-categorized business type, product pictures and any other conceivable data that can be gathered about a business.  
           [0008]    An advertising database contains advertising information which can be textual and graphical elements stored and organized by associating each business with a unique I.D. This I.D. is matched to advertising elements in the advertising database.  
           [0009]    A geocoding engine simply takes commonly formatted addresses and converts them into geographic X and Y coordinates.  
           [0010]    A map server is more than just a database of street names. A map server contains special software for creating a graphical map based on geographic X and Y coordinates and other related information. The map server can create maps of variable sizes dependent on the radius distance within which a map should be built. This embodiment serves users who are searching for either the location of a specific business or a business of a particular type and the location thereof. A user who wishes to locate a business can access the central controller via a web server, which can be on the same machine as the Central Controller or can be on an independent server, and a browser on their local PC. The user will then be prompted to enter a conditional location request (CLR) containing the address, and/or business name, and/or type of business, and/or distance that the user wants to locate a business within from a user-selected central point. At least one of the above variables must be entered. Because a CLR may have one or more of these options, a CLR can be broken down into more specific requests. These more specific requests are what are actually sent to the individual databases. Upon receiving a CLR, the Central Controller breaks it into more specific CLRs each containing a more specific request within the user&#39;s original CLR. These more specific CLRs are then sent to the three previously mentioned databases.  
           [0011]    The fourth node, the geocoding engine mentioned above, does not contain any data that a user would search for. Any address entered by a user in his CLR, including an address to use as the central point from which the radius of the search will be determined, will be passed to the geocoding engine which will assign numeric geographic X and Y coordinate values to the entered address. Therefore, following a user&#39;s request in this embodiment, the request goes from the user&#39;s PC to the web server. The request then proceeds to the central controller of the system of the invention where any address information is sent to the geocoding engine. The geocoding engine returns back to the Data Interpretation and Integration Server (DIIS) X and Y coordinate values that are equivalent to the entered address. The rest of the CLR is sent to the DIIS.  
           [0012]    The DIIS is within the central controller and is what actually generates the multiple threads that are fed simultaneously via networks to the three databases. The DIIS next sends the following to the all three databases simultaneously: the X and Y coordinate values received by the geocoding engine, the business name (if provided), the business type (if entered by the user), and the search radius (either entered by the user or the system default of one-half mile). Each database receives all of these elements and is able to process, independently of each other database, its own response. This is the nature of the parallel processing advantage allowed by this invention.  
           [0013]    Continuing to trace the logical path of CLR, the business information database is first considered. This database contains the names of businesses, the type of business, each business&#39; unique ID, the addresses of each business, and X and Y coordinate values that match each address of each business. These are not the only values held here, but simply are provided for this example. The database will then attempt to match the data sent by the DIIS with any fields it may hold. For instance, if a user entered a business name, then that name will be searched for and returned if found. If a user entered an address, that address will be searched for. If no address was entered and no business name was entered then all fields with matching business types will be returned and limited by the search radius from the center point. If this radius is one-half mile then all matching business types within one-half mile of the center point will be returned. Any returned data will be layered on top of the map that will be returned by the map server.  
           [0014]    Looking next to the advertising database, this database contains advertising information associated with the businesses in the business information database. Not all business necessarily is included. A similar process to the one above follows this database&#39;s receipt of its threaded request. The request sent to this database is exactly the same as the one sent to the business information database and the same matching attempts are made. If any hits are made then the appropriate data is sent back to the central controller and layered on top of the map returned by the map server.  
           [0015]    Finally, the threaded request is also received by the map server at the same time as the other servers. The software in the map server will take the X and Y coordinates provided by the geocoding engine and match those coordinates to generate a map. The size of the map will be determined by the radius distance. Though the map server receives the same query as the other two servers, the only data that this server is concerned with are the X and Y coordinates of the entered address, if any, and the radius distance.  
           [0016]    In another embodiment, a map server stores geographic information such as road maps and city street maps of the Untied States and other information such as parks, hospitals, schools, lakes, railroads, ferry terminals, etc., and corresponding X and Y coordinates for each address. Such a map server could be an off-the-shelf product such as Environmental Systems Research Institute RouteMap IMS, or licensed from other map companies such as MapQuest.com, Inc., MapBlast.com, Inc., or Vicinity, Inc.  
           [0017]    The DIIS will receive the responses from each of the above mentioned nodes and layer the returned business information, the advertising information on top of the map image to create a second image that might include all of the above mentioned elements. As mentioned above it is helpful to visualize this process by looking at the completed image from the side, with the map image being the bottom layer and any other data being placed on levels rising from this bottom layer. This result can be presented to users as a multiple image arranged in layers, or as a single image. The single image will also be a standard image format. It is possible here, before the final image is delivered to the user, for software to compile the business map as well as all the data associated with either that map location, that business, or both to create a truly information rich, yet truly geo-targeted business information page.  
           [0018]    In another embodiment of the system and method, the central controller and a database are stored on the same computer or on two local computers on the same local area network. They communicate with a remotely located map server over a wired or wireless network of any size. This embodiment benefits the user who does not want to share a database(s) with a map server provider.  
           [0019]    In another embodiment of the system and method, the central controller and a MAP database are stored on the same computer or on two local computers on the same local area network. They communicate with remotely located databases over wired or wireless networks of any size. This embodiment benefits the user who installs the central controller and map server on a mobile computing device such as a laptop.  
           [0020]    In another embodiment of the system and method, the central controller is a single serving computer or an array of computers. It communicates with databases remotely located over any wired network including the Internet. Users, however, can communicate with the central controller over a wireless network via any wireless device such as a WAP enabled cellular phone or PDA with a wireless modem. The central controller receives the request via the wireless network, collects the data and map, if any, from the remote databases, and returns a result to the user via the wireless network.  
           [0021]    It is a principal goal of this invention to provide a robust system that uses graphics to present information over wired or wireless electronic communications systems, with the information combined and presented essentially in real time. The system also facilitates more efficient business decision-making where such decisions necessarily rely on location based information. Further, the invention provides a truly geo-targeted advertising system that can help businesses increase their revenue stream. Because the I.D. of each business can be associated with an unlimited number of records in any number of databases, businesses can use this tool to identify their allies versus their largest competitors in any given geographic area.  
       
    
    
     DESCRIPTION OF THE DRAWINGS  
       [0022]    [0022]FIG. 1 illustrates in a system diagram a first embodiment of the present invention.  
         [0023]    [0023]FIG. 2 is a block diagram showing one embodiment of the central controller of the system.  
         [0024]    [0024]FIG. 3 is a block diagram showing one embodiment of a map engine.  
         [0025]    [0025]FIG. 4 is a block diagram showing one embodiment of a business database.  
         [0026]    [0026]FIG. 5 is a block diagram showing one embodiment of an advertisement database.  
         [0027]    [0027]FIG. 6 schematically illustrates in one form how a conditional business location request is generated.  
         [0028]    [0028]FIG. 7 illustrates how multiple threads are generated to distribute a user request among the map engine, the business database and the advertisement database.  
         [0029]    [0029]FIG. 8 illustrates a process of base map extraction.  
         [0030]    [0030]FIG. 9 illustrates a business database.  
         [0031]    [0031]FIG. 10 illustrates a advertisement database.  
         [0032]    [0032]FIG. 11 illustrates an integration process for a map image and business icons.  
         [0033]    [0033]FIGS. 12A and 12B illustrate an example of an online embodiment of business icons being overlaid on a local map, specifically, Japanese restaurants within Jack London Square, Oakland, Calif.  
         [0034]    [0034]FIG. 13 shows an example of an online embodiment involving business advertisement banners combined with a business map, specifically advertisements of apparel stores in downtown San Francisco, Calif.  
         [0035]    [0035]FIG. 14 illustrates the distributed nature of the system where the databases to be queried are not proximal to the Central controller. 
     
    
     DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0036]    In one preferred embodiment, the present invention in general includes a user interface, a central controller (CC), a map engine and one or more databases containing location-relevant data that may be combined with a map from the map engine. This embodiment of the invention stores and manages location-relevant data based on their locations and can manage this information using multiple independent databases for fast retrievals. The results of user requests for database data will be displayed using graphic representations on maps. The resulting information-rich map integrating all possible information is generated dynamically and interactively in real time. Thus, a user is able to use his preference of geography to selectively locate data on features and interact with them, all on a map using graphic elements rather than textual menus. In addition to ease of use, a user will get more information by interacting with icons and other hyperlinked elements on a map of this design.  
         [0037]    One specific embodiment is useful for consumers seeking to identify and locate certain types of business in a geographical area, optionally with advertising information.  
         [0038]    The system architecture of this embodiment of the system is illustrated with reference to FIGS. 1 through 5. As shown in FIG. 1, the apparatus of the present invention comprises a user interface  100 , a central controller (CC)  200 , a map engine (ME)  300 , a business database (BDB)  400 , and an advertisement database (ADB)  500 . CC  200  is connected to ME  300 , BDB  400  and ADB  500  via the Internet, or an intranet, LAN or WAN  550 ; CC  200  is connected to the user interface  100  via an Internet (or intranet, LAN or wireless) connection  575 . These connections may also exist over a cellular, microwave, or satellite network  575 . As previously mentioned, however, it is also possible for the ME, BDB and ADB to exist on the same server.  
         [0039]    In a modified embodiment, the present invention includes a user interface  100  and a central controller (CC)  200 . The central controller communicates with users through user interface  100 . Upon receiving user&#39;s request, the controller  200  interprets the request and divides it into multiple sub-requests, which will then be sent to, via wired or wireless network, data provider(s) and map provider(s) separately but simultaneously. The data and map providers may be at separate sites. Upon receiving responses from data provider(s) and map provider(s), the central controller combines data and map before sending the result back to user.  
         [0040]    As shown in FIG. 2, the central controller  200  includes central processor (CPU)  205 , RAM  215 , ROM  220 , a clock  235 , an operating system  225 , a DIIS  260 , a geocoding engine  270  and a data storage device  250  of some kind.  
         [0041]    A conventional personal computer or workstation with sufficient memory and processing capability may be used as a central controller  200 . In one embodiment this personal computer also includes a web server  210 , both receiving and transmitting CLRs  110  generated by users.  
         [0042]    Referring again to FIG. 2, the data storage device  250  may be a hard disk (magnetic or optical), as well as a CD-ROM or flash memory. The data storage device contains databases used in the processing of transactions and web page constructions in the present invention, including a user database  252 , a business icon database  254 , a banner database  256 , a business templates database  258 , and web link database  259 .  
         [0043]    The user database  252  maintains log-in data on users with fields such as name, address, phone number, ID number, electronic mail address, past system usage etc. This information is obtained when the user first registers with the system, or immediately prior to posting his first CLR  110 . This collection of data is optional.  
         [0044]    The business icon database  254  contains graphic icons that are associated with each business type. For example, a fast food restaurant can be represented by an icon of a hamburger while a Chinese restaurant is represented by a pair of chop sticks over a bowl of noodles. The icons are linked to businesses via their unique IDs. In addition to assigning generic icons representative only of the type of business (restaurant vs. bookstore vs. grocery market), the trademarked icon of any business may be associated with it as well.  
         [0045]    The advertisement banner database  256  contains graphic banners that are also associated with their corresponding businesses via unique IDs.  
         [0046]    The business templates database  258  stores simple and pre-constructed web pages that are designed to help small business develop an online presence if they do not already have one. If a business does have a web page already, then instead of a user being taken to the business template web page, he will be taken to that business&#39;s pre-existing web page. These links are associated with the same unique ID as that business&#39;s advertisements and banners. In a similar embodiment, it is also possible to have a database that is dedicated to nothing but management of links on web pages as at  259 .  
         [0047]    The DIIS  260  contains programs that first send the address to the geocoding engine  270 , which returns as X,Y part of geographic coordinates of that address. These programs then distribute more specific requests to the map engine, the business database, and the advertisement database. The DIIS is also responsible for combining the map and business information to yield the final result.  
         [0048]    In another preferred embodiment, the user interface may be configured as a voice mail interface, electronic mail service, wireless phone entry site, or any other service capable of interacting with a user in a basic query-response environment.  
         [0049]    While the above embodiment describes a bundle of computers acting as a central controller  200 , a map engine  300 , a business database  400  and an advertising database  500 , those skilled in the art will realize that this bundle of computers can be scaled to incorporate a distributed architecture, wherein each processor and/or database is housed in separate units or locations. Those skilled in the art will realize that they can also use a different combination of the central controller and databases, for example, to form different configurations to meet different specific purposes. Those skilled in the art will appreciate that an almost unlimited number of bundles and combinations may be supported. This arrangement yields the possibility of a more dynamic and flexible system, extremely scalable, and less prone to catastrophic hardware failures that would affect the entire system, if integrated.  
         [0050]    [0050]FIGS. 3, 4, and  5  describe the map engine  300 , business database  400 , and advertisement database  500 , respectively. In an exemplary embodiment they are all conventional servers with storage devices, sufficient memory, a CPU, and a network connection. These devices interface with central controller  200 .  
         [0051]    Referring now to FIG. 3, the map engine  300 , a computer with sufficient storage space and memory and a CPU, contains a map database, in this case a street map database  320  and a geographic elements database  330 . Each of these could be commercially available products, such as Environmental Systems Research Institute&#39;s RouteMap Internet Map Server. They could also be the digital construction of a user&#39;s previously existing map engines, such as paper maps, that have been scanned into a computer with latitude and longitudinal values subsequently assigned. The map engine can also be a commercial Internet map engine, such as MapQuest.Com. Inc.&#39;s MapQuest product.  
         [0052]    Referring to FIG. 4, the business database  400 , a computer with sufficient storage space and memory and a CPU, contains a business information database  430 . Similar to the above mentioned elements in FIG. 3, all of these elements could be commercially available products. In one exemplary embodiment, the business information could be commercially available data from InfoUSA Inc., which contains basic information on about 14 million businesses of the United States and can be managed in Oracle or MS SQL Server. The current invention pre-geocodes the business information database  430  using the geocoding engine  270  so that the database contains geographic coordinates for each business. Such a spatial business database enables business locating and searching with an accuracy to “air distance” or radius distance from a point. The database also contains unique IDs that are used to link businesses to their corresponding graphic icons.  
         [0053]    [0053]FIG. 5 illustrates components of the advertisement database. It contains an advertisement database  520 . Advertisement records contain geographic coordinates of each business&#39;s corresponding business location. Such a spatial advertisement database enables geo-targeted advertising. Each advertisement record also contains a unique ID which is used to link it to a graphic symbol, such as a banner or dynamic GIF animation, etc., stored in the advertisement database.  
         [0054]    Online Embodiment  
         [0055]    In an online embodiment of the present invention, as seen in FIG. 1, communication between users and the system takes place via a wired or wireless network, with the central controller  200  acting as a server. The user sends a conditional locating request (CLR)  110  to the central controller  200 . The CLR  100  is transmitted to the DIIS  260  (FIG. 2), which in turn interprets and distributes it to the map engine  300 , business database  400 , and advertisement database  500 .  
         [0056]    [0056]FIG. 6 describes the process by which the user can formulate a CLR. At step  600 , the user connects to the central controller  200  via a wired or wireless network, which can be the Internet. It should be noted that the user might be an individual, an application program interface (API), a link from corporation web site, a partner&#39;s web site, a government web site, or any other entity, real or virtual. In one embodiment, the central controller  200  has a page on the World Wide Web, allowing the user to provide information through the interface of a conventional web browser. At step  610 , the user specifies the address around which he wants to locate a business. In one embodiment, the address is a street address (street number, city, and state), or a city, or just a zip code. There are several ways to specify what kind of business to locate. As shown in boxes  622  through  628 , the user might specify a business by its type, such as an Italian restaurant or Chinese restaurant. The user can type in a specific business name as in box  624 , or a phone number as in box  626 . The user can also choose a business type from a list of popular categories in box  628 . In addition, user can simply input a product name for which a local business carrying the product is sought. For example, a user can choose the product dialog box  628  and type in “watch battery.” A search distance can be specified in box  630 . In one embodiment, the default search distance is set to 0.5 miles. User has a choice of either accepting this default distance or specifies his own search distance. In one embodiment, a distance of miles could be used. A complete origin address, business type or product (or other specification as above), and search distance form the conditional locating request of CLR  110 .  
         [0057]    For example, a tourist in San Francisco might want to find a place for lunch in the financial district. He can use his web enabled cellular phone to enter the street address where he is located. He enters 300 Market Street, San Francisco, Calif. He then specifies an Italian restaurant. He accepts the default search distance of 0.5 miles. Once the above elements have been developed, the user transmits them to the central controller  200 . The user does this by clicking on a “send” button seen on his cellular phone screen.  
         [0058]    Instead of a cellular phone, users may also transmit the CLR  110  via the Internet or voice mail. With voice mail, the user calls central controller  200  and leaves his CLR  110  in audio form. The CLR  110  may be transcribed into digital text via an optional element in the central controller  200  (not herein described).  
         [0059]    Referring now to FIG. 7, the CLR  110  is received and is checked to see if sufficient information is available. At step  700 , the central controller  200  extracts an origin address, a business type, and a search distance from the CLR  110 . At step  705 , the DIIS sends the address to geocoding engine  270 , which converts the address to X,Y geographic coordinates and send them back to the DIIS. At step  710 , the DIIS generates three messages: X,Y coordinates and distance (XYD)  802 , X,Y coordinates, distance, and business type (XYDB) 804 , and X,Y coordinates and business type, and search distance (XYDB) ( 806 ). At step  802 , the data interpretation and integration server submits the XYD to the map engine  300 . At step  804 , it submits the XYDB to the business database  400 . And at step  806 , it submits the XYDB to the advertisement database  500 . Steps  802  to  806  occur substantially simultaneously.  
         [0060]    [0060]FIG. 8 illustrates an embodiment in which the XYD is transmitted to the map engine and a local map is extracted. At step  810 , X,Y coordinates and distance information (XYD) are transmitted to the map engine  300 . At step  820 , the map engine uses these coordinates as the map center to extract a local a map containing streets, parks, waters, lakes, hospitals, and other geographic elements. The extracted map covers a rectangular area with at least two of its edges tangent with the circle of specified distance that is the search distance either specified by the user, or the default distance of 0.5 mile. The result is a map image that could be stored in commonly used format like JPEG, GIF, PNG, etc.  
         [0061]    [0061]FIGS. 9 and 10 illustrate the process by which businesses and advertisements are located. The mechanisms and processes are similar between business query and advertisement query with only the search distance being different. At steps  910  and  1010 , the X,Y coordinates, business type, and search distance are extracted and transmitted to databases. The distance is longer for the advertisement search than the business search so that more businesses get a chance to be exposed to potential customers. The length of the extra distance for the advertisement search is determined automatically and in one embodiment is set to 0.5 mile beyond the user&#39;s query, or e.g., two times the query radius. At steps  935  and  1035 , business and advertisement data are selected, using SQL, based on the center point and search distance. The result of selected businesses is a list of business IDs that is sent to DIIS.  
         [0062]    Referring now to FIG. 11, the data interpretation and integration server (DIIS)  260  overlays business icons on top of the map image to generate a combined image of businesses on a local map. In step  1110 , the DIIS  260  receives a map image from step  820  and passes on the business IDs from step  935  to the business icon database  254 . Particular business icons are then linked to those business IDs based on pre-defined matching roles, in step  1120 . The business icons are then overlaid with the map image in step  1135  to generate a map of a street (with other geographic elements) and businesses. Such a map can be a commonly used image format that can be included in a web page if desired. For example, FIGS. 12A and 12B illustrate an online embodiment of such a business map using web pages. In this example, a Japanese restaurant is represented by an icon of a sushi image.  
         [0063]    Advertisements found near an address can be used to compile web pages, display the data on WAP capable phones, or speak the results via telephones. In one embodiment, business banners are transmitted to users via the Internet. FIG. 13 illustrates an online embodiment in which advertisement banners of apparel stores in a selected area of San Francisco, Calif.  
         [0064]    [0064]FIG. 14 is a block diagram showing the basic operation of the integration system. In this diagram the central controller is connected to three different databases (A, B, and C) which can be in different locations, even different parts of the country or world. This block diagram is useful for explaining the parallel nature of the processing allowed by this innovation.  
         [0065]    When a query is made by a user  500 , via the Internet or any other wired or wireless network, as indicated by the line  501  to the central controller  502 , the central controller responds by sending inquiries to each of the databases A, B, and C, substantially simultaneously via multiple threads. As noted above, these databases might be a map or satellite image database, a database with information on businesses, and a database with advertising which can selectively be applicable to the various businesses or geographic locations using unique IDs. The central controller sends out three inquiries, in this example, and the various databases respond by matching any data fields to the inquiry to provide the matching data and sending that data back to the central controller substantially in real time. Because each database is separate and distinct from every other database, and because the request is sent via multiple threads, each database is free to process its respective inquiry and return a result as soon as one is found. Therefore, there is no delay imposed on each database by the searching of another which is necessarily the result when multiple databases process in serial, rather than in parallel as herein described. Each one of these answered queries (if an answer can be found) from the various databases may be in a different format such as Oracle, SQL, or the format used by MapQuest to store geographic information.  
         [0066]    Instead of converting the individually-formatted answers from each database to a proprietary format as in the prior art, the central controller  502  of the invention is able to understand the various incoming formats and interpret the data in accordance with those formats as necessary in transferring the data accurately onto a map or photogeographic image. The term “map” as used herein is intended to include photogeographic images or geographic images other than those conventionally considered maps.  
         [0067]    Regardless of the number or type of databases that are queried by the central controller, the applet will combine all given answers in multiple layers. The map geographic information is always level one. Any other information derived from a user&#39;s query is placed on top of the map. The presented image is viewed by the user as if from above so all incorporated information appears as a unified image.  
         [0068]    The above described preferred embodiments are intended to illustrate the principles of the invention, but not to limit its scope. Other embodiments and variations to this preferred embodiment will be apparent to those skilled in the art and may be made without departing from the spirit and scope of the invention as defined in the following claims.