Nothing Special   »   [go: up one dir, main page]

JP5054234B2 - System and method for displaying search results based on density - Google Patents

System and method for displaying search results based on density Download PDF

Info

Publication number
JP5054234B2
JP5054234B2 JP2011548213A JP2011548213A JP5054234B2 JP 5054234 B2 JP5054234 B2 JP 5054234B2 JP 2011548213 A JP2011548213 A JP 2011548213A JP 2011548213 A JP2011548213 A JP 2011548213A JP 5054234 B2 JP5054234 B2 JP 5054234B2
Authority
JP
Japan
Prior art keywords
list
map
lists
matching
area
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2011548213A
Other languages
Japanese (ja)
Other versions
JP2012515994A (en
Inventor
ゼーフェルト,ベルンハルト
プロコピウク,オクタヴィアン
カン,ニーナ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 claimed from US12/359,734 external-priority patent/US8938446B2/en
Priority claimed from US12/359,715 external-priority patent/US8037166B2/en
Application filed by Google LLC filed Critical Google LLC
Publication of JP2012515994A publication Critical patent/JP2012515994A/en
Application granted granted Critical
Publication of JP5054234B2 publication Critical patent/JP5054234B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Remote Sensing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Instructional Devices (AREA)

Description

[関連出願の相互参照]
本願は、2009年1月26日に出願された米国特許出願第12/359,715号、代理人整理番号第GOOGLE3.0−038号の優先権を主張し、該特許出願の開示内容全体を引用することにより、本明細書の一部を成すものとする。本願はまた、2009年1月26日に出願された米国特許出願第12/359,734号の優先権も主張し、該特許出願の開示内容全体を引用することにより、本明細書の一部を成すものとする。
[Cross-reference of related applications]
This application claims priority from US patent application Ser. No. 12 / 359,715 filed Jan. 26, 2009, Attorney Docket No. GOOGLE 3.0-038, the entire disclosure of which is incorporated herein by reference. Reference is made to a part of this specification. This application also claims priority of US patent application Ser. No. 12 / 359,734, filed Jan. 26, 2009, and is hereby incorporated by reference in its entirety. Shall be made.

Google Maps(maps.google.com)等のサービスは、ユーザーが、特定の地理的エリアに限定された検索を実行するのを可能にする。たとえば、ユーザーは、Google Chrome等のウェブブラウザーでニューヨーク市の市街マップ又は衛星マップを閲覧しながら、単語「pizza」を検索する場合がある。それに応じて、サーバーはユーザーのコンピューターに、名前に「pizza」を含むレストラン等の、クエリに適合するリストの位置を示すアイコンを表示させる。   Services such as Google Maps (maps.google.com) allow users to perform searches limited to a specific geographic area. For example, a user may search for the word “pizza” while browsing a New York City city map or satellite map with a web browser such as Google Chrome. In response, the server causes the user's computer to display an icon that indicates the location of the list that matches the query, such as a restaurant whose name includes “pizza”.

クエリの結果は、多大なインタラクティブ性を可能にする方法で送信することができる。たとえば、マップは、画像のタイルとして送信され、結果の記述及びそれらの位置がテキスト(JSON(Javascript Object Notation:Javascriptオブジェクト表記法)又はHTMLとしてフォーマット設定されたデータ等)として送信される。これによって、ユーザーのコンピューターがマップ上にアイコンを表示し、マップの隣りに結果のテキストリストを表示することが可能になる。クライアントコンピューターは、サーバーによって提供されるJavascriptを用いて、ユーザーが、インタラクティブなアイコンによって占有されるマップのエリアをクリックしたか否かを判断し、それに応じて、リストに関するさらに多くの情報を含むバルーンを表示する等の複数の動作を実行することができる。   Query results can be sent in a manner that allows for great interactivity. For example, a map is transmitted as tiles of an image, and a description of the results and their positions are transmitted as text (such as data formatted as JSON (Javascript Object Notation) or HTML). This allows the user's computer to display an icon on the map and display the resulting text list next to the map. The client computer uses Javascript provided by the server to determine whether the user has clicked on the area of the map occupied by the interactive icon and, accordingly, a balloon that contains more information about the list. A plurality of operations such as displaying can be performed.

Google Mapsはレイヤーも可能にする。たとえば、現在閲覧されている地理的エリアに合致する緯度/経度に関連付けられたWikipedia.orgにおけるエントリのアイコンを示すことが可能である(たとえば、http://en.wikipedia.org/wiki/Wikipedia:WikiProject_Geographical_coordinates)。エントリのアイコンは画像として送信され、該エントリに関する情報と共にマップ上にオーバーレイされる。情報はマップ上のエントリの位置を特定する情報及びエントリの識別情報と共にJSONで送信される。位置情報はユーザーのコンピューターによって、ユーザーが(アイコンをクリックするか又はアイコンの上でマウスカーソルをホバリングさせる等によって)アイコンを起動したか否かを判断するのに用いることができ、識別情報は、アイコンが起動された場合にサーバーからより多くの情報を取得するのに用いることができる。YouTubeの結果もレイヤーとして示すことができる。これらの結果はクエリに基づいてフィルタリングされるのではなく、マップによってカバーされるエリア内の全てのエントリを示す。   Google Maps also allows layers. For example, an icon for an entry in Wikipedia.org associated with a latitude / longitude matching the currently viewed geographic area can be shown (eg, http://en.wikipedia.org/wiki/Wikipedia : WikiProject_Geographical_coordinates). The entry icon is transmitted as an image and overlaid on the map with information about the entry. The information is transmitted by JSON together with information specifying the position of the entry on the map and entry identification information. The location information can be used by the user's computer to determine whether the user has activated the icon (such as by clicking on the icon or hovering the mouse cursor over the icon). It can be used to get more information from the server when the icon is activated. Youtube results can also be shown as layers. These results are not filtered based on the query, but show all entries in the area covered by the map.

Google Mapsは、ユーザーが、サーバーによって送信された、「Italian」及び「Pizza」レストラン、銀行、ガソリンスタンド等の或る特定の予め選択されたカテゴリ内に入る全てのビジネスに関連付けられたアイコンを表示することを可能とする、「名所」レイヤーも特徴とする。ユーザーは予め選択されたカテゴリ、及び予め選択されていないカスタム検索語に基づく検索から検索結果を集合的に表示することができるが、結果は別個であり、すなわち予め選択されたカテゴリのアイコンはユーザー定義語に基づいて変化せず、逆もまた同様である。たとえば、ユーザーは「pizza」の隣りのボックスをチェックし、語「vegetarian」をタイプ入力する場合があり、この場合、Google Mapsは検索結果を合成して一緒に表示するが、「pizza」に関連付けられた結果が「vegetarian」クエリに基づいて選択されるわけではなく、「vegetarian」クエリに関連付けられた結果がリストからの「pizza」の選択に基づいて選択されるわけでもない。www.tavernoxoros.gr(予め選択されたカテゴリのユーザーの選択に応じてマップ上に多くのロケーションを示す)及びwww.smalltownbrooklyn.com(マップ上に全てのビジネスを示すことを可能とすることができる)等のサイトは同様に、予め選択されたカテゴリに関連付けられた全ての結果を示すことが可能である。   Google Maps displays icons associated with all businesses sent by the server that fall within certain pre-selected categories such as “Italian” and “Pizza” restaurants, banks, gas stations, etc. It also features a “Famous Places” layer that allows you to do so. Users can display search results collectively from searches based on pre-selected categories and custom search terms that are not pre-selected, but the results are separate, ie the icons for the pre-selected categories It does not change based on the definition word, and vice versa. For example, a user may check the box next to “pizza” and type the word “vegetarian”, in which case Google Maps will synthesize the search results and display them together, but associate it with “pizza”. Neither is the selected result selected based on the “vegetarian” query, nor is the result associated with the “vegetarian” query selected based on the selection of “pizza” from the list. www.tavernoxoros.gr (shows many locations on the map depending on the user's choice of pre-selected categories) and www.smalltownbrooklyn.com (shows all businesses on the map) ) Can similarly show all results associated with a pre-selected category.

1つの態様では、クエリを受信するステップと、適合するリストを求めるステップと、複数の適合するリストを選択するステップと、マップを提供するステップとを含む方法が提供される。前記リストは、地理的ロケーションに関連付けられたオブジェクト及び該オブジェクトに関連する情報を特定するデータを含み、前記リストは、該リストの情報が前記クエリに合致し、かつ該リストの前記地理的ロケーションがマップエリアに合致するときに適合する。前記マップエリアの第2の部分に関連付けられた地理的ロケーションを有する適合するリストの数に対する、前記マップエリアの第1の部分に関連付けられた地理的ロケーションを有する適合するリストの数に基づいて複数の適合するリストが選択される。前記マップは前記適合するリストのインジケーションと共に提供される。   In one aspect, a method is provided that includes receiving a query, determining a matching list, selecting a plurality of matching lists, and providing a map. The list includes data associated with an object associated with a geographic location and information associated with the object, the list includes information in the list that matches the query, and the geographic location of the list is Fit when matching the map area. A plurality based on the number of matching lists having a geographic location associated with the first portion of the map area, relative to the number of matching lists having a geographic location associated with the second portion of the map area; A matching list of is selected. The map is provided with an indication of the matching list.

別の態様は、マップを表示するシステムを提供する。
このシステムは、
ユーザー入力デバイスと、
命令、及び異なる地理的ロケーションにおける異なるオブジェクトを表すデータを格納するメモリと、
前記命令に従って前記ユーザー入力デバイスから受信した情報を処理するように該ユーザー入力デバイスと通信するプロセッサと、
前記プロセッサと通信して該プロセッサから受信した情報を表示するディスプレイと
を備えてなる。
前記命令は、
前記ユーザー入力デバイスを介して入力されたロケーション情報に基づいてマップを読み出すことと、
前記ユーザー入力デバイスを介して入力された情報に合致するオブジェクトの識別情報を読み出すことであって、該読み出される識別情報は、前記ユーザー入力を介して入力された前記情報に合致する前記オブジェクトの全てよりも少なく、前記マップの部分内の合致するオブジェクトの密度に基づいて選択される、読み出すことと、
前記ディスプレイにおいて前記マップ上に前記識別情報を表示することと
を含む。
Another aspect provides a system for displaying a map.
This system
A user input device;
Memory for storing instructions and data representing different objects at different geographical locations;
A processor in communication with the user input device to process information received from the user input device according to the instructions;
A display that communicates with the processor and displays information received from the processor.
The instructions are
Reading a map based on location information entered via the user input device;
Reading identification information of an object that matches information input via the user input device, wherein the read identification information includes all of the objects that match the information input via the user input. Less than, selected based on the density of matching objects in the portion of the map;
Displaying the identification information on the map on the display.

さらに別の態様は、マップエリアをカバーするマップを表示する方法を提供する。 この方法は、
ネットワークの第1のノードの第1のコンピューターから該ネットワークの第2のノードの第2のコンピューターにロケーション及び単語を送信するステップであって、該単語はユーザーによって任意に選択される、送信するステップと、
マップ及びリストを表すデータを受信するステップであって、該マップはエリアをカバーする、受信するステップと、
前記データに基づいてマップ及び該マップ上のリストを表示するステップと
を含んでなる。
前記マップデータは、前記ロケーションに基づいて前記第2のコンピューターによって選択される。前記リストは、密度判断基準及び該リストが適合するか否かに基づいて前記第2のコンピューターによって選択され、ここで、(a)前記リストは、前記送信された単語のうちの1つ以上が該リストに関連付けられた情報内に存在する場合に適合し、(b)前記密度判断基準は、前記マップエリアの別の領域に対する前記マップエリアの1つの領域における適合するリストの量に依拠したものである。本発明のいくつかの態様では、単語のすべてが適合しなければならない。
Yet another aspect provides a method for displaying a map covering a map area. This method
Transmitting a location and a word from a first computer of a first node of the network to a second computer of a second node of the network, wherein the word is arbitrarily selected by a user When,
Receiving data representing a map and a list, wherein the map covers an area; and
Displaying a map and a list on the map based on the data.
The map data is selected by the second computer based on the location. The list is selected by the second computer based on density criteria and whether or not the list meets, wherein (a) the list includes one or more of the transmitted words. (B) the density criterion is based on the amount of matching list in one area of the map area relative to another area of the map area, if present in the information associated with the list It is. In some aspects of the invention, all of the words must match.

さらなる態様は、マップを表示する方法を提供する。
この方法は、
ネットワークの第1のノードの第1のコンピューターから該ネットワークの第2のノードの第2のコンピューターに、ユーザーによって任意に選択されたロケーション及び単語を送信するステップと、
エリアをカバーするマップを表す画像データを受信するステップと、
リストの第1のセットを表す画像データを受信するステップと、
リストの第2のセットを表すテキストデータを受信するステップと、
前記データに基づいて、マップ及び該マップ上のリストを表示するステップと
を含んでなる。
この方法は、前記マップデータが前記ロケーションに基づいて前記第2のコンピューターによって選択されたものであるようになっている。さらに、該方法は、前記リストデータによって表される前記リストが、密度判断基準及び該リストが適合したか否かに基づいて前記第2のコンピューターによって選択されたものであるようになっており、ここで、(a)前記リストは、該リストに関連付けられた単語と前記送信された単語との間に合致があったか否か、及び該リストに関連付けられたロケーションと前記エリアとの間に合致があったか否かに依拠して適合し、(b)前記密度判断基準は、前記エリアの別の領域に対する前記エリアの1つの領域における適合するリストの量に依拠したものである。
A further aspect provides a method for displaying a map.
This method
Transmitting a location and word arbitrarily selected by a user from a first computer of a first node of the network to a second computer of a second node of the network;
Receiving image data representing a map covering an area;
Receiving image data representing a first set of lists;
Receiving text data representing a second set of lists;
Displaying a map and a list on the map based on the data.
The method is such that the map data is selected by the second computer based on the location. Further, the method is such that the list represented by the list data is selected by the second computer based on density criteria and whether the list is met, Here, (a) the list has a match between the word associated with the list and the transmitted word, and there is a match between the location associated with the list and the area. (B) The density criterion is based on the amount of matching list in one area of the area relative to another area of the area.

さらに別の態様は、クエリを受信する手段及び適合するリストを求める手段を有するシステムに関し、ここで、リストは、地理的ロケーションに関連付けられたオブジェクトを識別するデータ及び該オブジェクトに関連する情報を含み、適合の判断は、前記リスト情報が前記クエリに合致するか否か及び前記地理的ロケーションが前記マップエリアに合致するか否かを判断することを含む。このシステムは、前記エリアの第2の部分に関連付けられた地理的ロケーションを有する適合するリストの数に対する、前記エリアの第1の部分に関連付けられた地理的ロケーションを有する適合するリストの数に基づいて複数の前記適合するリストを選択する手段をさらに備える。さらに、該システムは、前記マップエリアのマップ及び前記適合するリストのインジケーションを提供する手段であって、各該インジケーションは、その地理的ロケーションに対して前記マップに配置される、提供する手段を備える。   Yet another aspect relates to a system having a means for receiving a query and a means for determining a matching list, wherein the list includes data identifying an object associated with a geographic location and information associated with the object. The determination of matching includes determining whether the list information matches the query and whether the geographic location matches the map area. The system is based on the number of matching lists having a geographic location associated with the first part of the area, relative to the number of matching lists having a geographic location associated with the second part of the area. Means for selecting a plurality of said matching lists. Further, the system provides means for providing an indication of the map area map and the matching list, wherein each indication is located on the map relative to its geographic location. Is provided.

さらに別の態様では、マップを表示する方法が提供される。
この方法は、
ネットワークの第1のノードの第1のコンピューターから該ネットワークの第2のノードの第2のコンピューターに、ユーザーによって任意に選択されたロケーション及び単語を送信するステップと、
エリアをカバーするマップを表す画像データを受信するステップと、
リストの第1のセットを表す画像データを受信するステップと、
リストの第2のセットを表すテキストデータを受信するステップであって、該第2のセット内のリストは前記第1のセット内のリストと異なる、受信するステップと、
前記リストの第1のセット及び前記リストの第2のセットを前記マップ上に表示するステップと
を含んでなる。
マップデータは、前記ロケーションに基づいて前記第2のコンピューターによって選択され、リストの双方のセットは、前記第2のコンピューターによって、リストが適合するか否かに基づいて選択されたものである。リストは、該リストに関連付けられた単語と前記送信された単語との間に合致が存在し、かつ前記リストに関連付けられたロケーションと前記マップエリアとの間に合致が存在するときに適合していると見なされる。
In yet another aspect, a method for displaying a map is provided.
This method
Transmitting a location and word arbitrarily selected by a user from a first computer of a first node of the network to a second computer of a second node of the network;
Receiving image data representing a map covering an area;
Receiving image data representing a first set of lists;
Receiving text data representing a second set of lists, wherein the list in the second set is different from the list in the first set;
Displaying the first set of lists and the second set of lists on the map.
Map data is selected by the second computer based on the location, and both sets of lists are selected by the second computer based on whether the list matches. A list is matched when a match exists between a word associated with the list and the transmitted word, and a match exists between a location associated with the list and the map area. Is considered.

画像データの非限定的な例には、ベクトル又はビットマップ形式のデータが含まれる。テキストデータの非限定的な例には、JSON、XML、又はHTMLとしてフォーマット設定されるデータが含まれる。   Non-limiting examples of image data include vector or bitmap format data. Non-limiting examples of text data include data formatted as JSON, XML, or HTML.

別の態様は、
データ及び命令を格納するメモリと、
前記命令に従って前記データを処理するプロセッサと、
前記プロセッサと通信して該プロセッサから受信した情報を表示するディスプレイと
を有するシステムに関する。前記命令は、ネットワークを介して、エリアをカバーするマップを表す画像データ、リストの第1のセットを表す画像データ、及びリストの第2のセットを表すテキストデータを受信することを含む。命令は、データに基づいてマップ及び該マップ上のリストを表示することも含み、マップデータは前記ロケーションに基づいてサーバーによって選択されたものである。さらに、前記サーバーによってリストが適合するか否かに基づいてリストが選択され、該リストは該リストに関連付けられた単語と前記送信された単語との間に合致が存在し、かつ前記リストに関連付けられたロケーションと前記マップエリアとの間に合致が存在するときに適合する。
Another aspect is:
Memory for storing data and instructions;
A processor that processes the data in accordance with the instructions;
And a display that displays information received from the processor in communication with the processor. The instructions include receiving image data representing a map covering an area, image data representing a first set of lists, and text data representing a second set of lists over a network. The instructions also include displaying a map and a list on the map based on the data, the map data being selected by the server based on the location. In addition, a list is selected by the server based on whether the list matches, the list has a match between the word associated with the list and the transmitted word, and is associated with the list Matches when there is a match between the given location and the map area.

またさらなる態様は、マップを送信する方法に関する。この態様は、ネットワークの第1のノードの第1のコンピューターにおいて、前記ネットワークの第2のノードの第2のコンピューターから、ユーザーによって選択されたロケーション及び任意の単語を受信するステップを含む。これは、第2のコンピューターにおけるプロセッサを用いて、前記ロケーション及び前記リストのマップを表すデータを選択するステップも含む。前記リストは、該リストに関連付けられた記述が前記受信した単語と合致するか否か、及び前記リストに関連付けられたロケーションが前記受信したロケーションと合致するか否かに基づいて選択される。この方法は、前記マップデータを画像データとして送信するステップと、前記選択されたリストに基づいて画像データを生成するステップとをさらに含み、ここで各選択された画像はアイコンに関連付けられ、該アイコンの位置は他のリストに対する前記リストの前記ロケーションに合致する。この方法は、前記選択されたリストに基づいて前記画像データも送信する。   A still further aspect relates to a method for transmitting a map. This aspect includes receiving, at a first computer of a first node of the network, a location and any word selected by a user from a second computer of the second node of the network. This also includes using a processor in a second computer to select data representing the map of the location and the list. The list is selected based on whether the description associated with the list matches the received word and whether the location associated with the list matches the received location. The method further includes transmitting the map data as image data and generating image data based on the selected list, wherein each selected image is associated with an icon, the icon Matches the location of the list relative to other lists. The method also transmits the image data based on the selected list.

本システムのさらに別の態様は、
ネットワークの第1のノードの第1のコンピューターから前記ネットワークの第2のノードの第2のコンピューターに、ユーザーによって任意に選択されたロケーション及び単語を送信する手段と、
エリアをカバーするマップを表す画像データを受信する手段と、
リストの第1のセットを表す画像データを受信する手段と、
リストの第2のセットを表すテキストデータを受信する手段と、
前記マップを表示する手段であって、前記マップ上の前記リストの第1のセット及び前記リストの第2のセットは前記データに基づく、表示する手段と
を備えてなる。
このシステムは、前記マップが前記ロケーションに基づいて前記第2のコンピューターによって選択されるようになっており、前記リストデータによって表されるリストは、前記第2のコンピューターによって、該リストが適合するか否かに基づいて選択され、ここで前記リストは、該リストに関連付けられた単語と前記送信された単語との間に合致があり、かつ該リストに関連付けられたロケーションと前記マップエリアとの間に合致がある場合に適合する。
Yet another aspect of the system is:
Means for transmitting a location and word arbitrarily selected by a user from a first computer of a first node of the network to a second computer of a second node of the network;
Means for receiving image data representing a map covering the area;
Means for receiving image data representing a first set of lists;
Means for receiving text data representing a second set of lists;
Means for displaying the map, wherein the first set of lists and the second set of lists on the map comprise means for displaying based on the data.
In this system, the map is selected by the second computer based on the location, and the list represented by the list data is matched by the second computer. Selected based on whether or not the list has a match between the word associated with the list and the transmitted word, and between the location associated with the list and the map area Match if there is a match.

本システム及び本方法の一態様によるシステムのブロック図である。1 is a block diagram of a system according to an aspect of the system and method. FIG. 本システム及び本方法の一態様によるシステムの概略図である。1 is a schematic diagram of a system according to an aspect of the system and method. FIG. 本システム及び本方法の一態様による、マップエリア、マップタイル、及び領域間の関係を表す図である。FIG. 6 is a diagram representing the relationship between map areas, map tiles, and regions, according to one aspect of the system and method. 本システム及び本方法の一態様による、マップ及びリストのセットのスクリーンショットである。4 is a screen shot of a set of maps and lists according to one aspect of the system and method. 本システム及び本方法の一態様による、リストを示す前のマップ表示である。6 is a map display prior to showing a list, according to one aspect of the system and method. 全ての応答リストを示すマップ表示の例である。It is an example of the map display which shows all the response lists. 図7bに表示されるマップの一部分を示す図である。FIG. 7b shows a portion of the map displayed in FIG. 7b. 表示されたマップエリアに基づいて選択された限られた数のリスト、及びユーザーのクエリに対する該リストの関連性を示すマップ表示の例である。FIG. 6 is an example of a map display showing a limited number of lists selected based on a displayed map area and the relevance of the list to a user query. 図8bに表示されるマップの、図7aに示す部分と異なる一部分を示す図である。FIG. 8b is a diagram showing a portion of the map displayed in FIG. 8b that is different from the portion shown in FIG. 7a. 表示されたマップエリアに基づいて選択された限られた数のリスト、及び図7bと同じクエリに対する該リストの関連性を示すマップ表示の例である。8 is an example of a map display showing a limited number of lists selected based on the displayed map area and the relevance of the list to the same query as FIG. 7b. 本システム及び本方法の一態様によるフローチャートである。6 is a flowchart in accordance with an aspect of the system and method. 本システム及び本方法の一態様による、マップの領域内の応答リストの数を示す図である。FIG. 6 is a diagram illustrating the number of response lists in a region of a map according to one aspect of the system and method. 本システム及び本方法の一態様による、マップの領域内の応答リストの密度を示す図である。FIG. 4 is a diagram illustrating the density of response lists in a region of a map according to one aspect of the system and method. 本システム及び本方法の一態様による、領域内の応答リストの位置を示す図である。FIG. 6 is a diagram illustrating the location of a response list in a region according to one aspect of the system and method. 本システム及び本方法の一態様によるマップ表示である。2 is a map display according to one aspect of the system and method. 本システム及び本方法の一態様によるマップ表示である。2 is a map display according to one aspect of the system and method. 本システム及び本方法の一態様による概略図である。FIG. 3 is a schematic diagram of an aspect of the system and method. 本システム及び本方法の一態様によるリストの画像である。FIG. 6 is an image of a list according to one aspect of the system and method. FIG. 本システム及び本方法の一態様に従って表示されるマップ及びリストのセットのスクリーンショットである。4 is a screen shot of a set of maps and lists displayed in accordance with an aspect of the system and method. 本システム及び本方法の一態様によるフローチャートである。6 is a flowchart in accordance with an aspect of the system and method. 本システム及び本方法の一態様によるフローチャートである。6 is a flowchart in accordance with an aspect of the system and method. 本システム及び本方法の一態様によるフローチャートである。6 is a flowchart in accordance with an aspect of the system and method. 本システム及び本方法の一態様によるフローチャートである。6 is a flowchart in accordance with an aspect of the system and method.

1つの態様では、本システム及び本方法は、いずれのエリアに応答リストがより密に存在しているかを示すように、マップ上にユーザーのクエリの結果を表示する。クライアントコンピューターの処理の必要性を低減するために、最も高スコアのリストのうちのいくつかをインタラクティブなアイコンとしてレンダリングするようにテキストとして送信することができるのに対し、残りのリストはマップにオーバーレイすることができる画像レイヤーとして送信される。   In one aspect, the system and method display the results of the user's query on a map to indicate in which area the response list is more densely present. To reduce the need for client computer processing, some of the highest score lists can be sent as text to be rendered as interactive icons, while the rest are overlaid on the map Can be sent as an image layer.

図1及び図2に示すように、1つの態様によるシステム100は、プロセッサ210、メモリ220、及び汎用コンピューターに通常存在する他の構成要素を備えるコンピューター110を含む。   As shown in FIGS. 1 and 2, the system 100 according to one aspect includes a computer 110 that includes a processor 210, a memory 220, and other components typically present in a general purpose computer.

メモリ220は、プロセッサ210によって実行することができる命令240を含む、プロセッサ210によってアクセス可能な情報を格納する。メモリは、プロセッサによって読み出し(retrieve)、操作、又は格納することができるデータ230も含む。メモリは、ハードドライブ、メモリカード、ROM、RAM、DVD、CD−ROM、書き込み可能メモリ、及び読出し専用メモリ等、プロセッサによってアクセス可能な情報を格納することができる任意のタイプのものとすることができる。プロセッサ210は、Intel社のプロセッサ等の任意の既知のプロセッサとすることができる。代替的に、プロセッサはASIC等の専用コントローラーとすることもできる。   Memory 220 stores information accessible by processor 210, including instructions 240 that can be executed by processor 210. The memory also includes data 230 that can be retrieved, manipulated, or stored by the processor. The memory may be of any type that can store information accessible by the processor, such as a hard drive, memory card, ROM, RAM, DVD, CD-ROM, writable memory, and read-only memory. it can. The processor 210 may be any known processor, such as an Intel processor. Alternatively, the processor can be a dedicated controller such as an ASIC.

命令240は、プロセッサによって直接実行される命令(機械コード等)又は間接的に実行される命令(スクリプト等)の任意のセットとすることができる。これに関して、用語「命令」、「ステップ」、及び「プログラム」は本明細書において交換可能に用いることができる。命令は、プロセッサによる直接処理のためのオブジェクトコード形式で格納することもできるし、スクリプト又はオンデマンドで解釈実行されるか若しくは事前にコンパイルされる独立したソースコードモジュールの集合を含む任意の他のコンピューター言語で格納することもできる。命令の機能、方法、及びルーチンは以下でより詳細に説明する。   The instructions 240 may be any set of instructions (such as machine code) that are directly executed by the processor or instructions (such as a script) that are executed indirectly. In this regard, the terms “instructions”, “steps”, and “programs” can be used interchangeably herein. The instructions can be stored in object code form for direct processing by the processor, or any other including a collection of independent source code modules that are interpreted or executed on demand or pre-compiled. It can also be stored in computer language. Instruction functions, methods, and routines are described in more detail below.

データ230は命令240に従ってプロセッサ210によって読み出し(retrieve)、格納、又は変更することができる。たとえば、本システム及び本方法はいかなる特定のデータ構造によっても制限されないが、データは、コンピューターレジスタにおいて、複数の異なるフィールド及びレコード、XML文書、又はフラットファイルを有するテーブルとして関係データベース内に格納することができる。データはまた、限定ではないが、バイナリ値、ASCII、又はUnicode等の任意のコンピューター可読フォーマットでフォーマット設定することができる。さらに、データは、数字、説明文、所有権コード、ポインター、他のメモリ(他のネットワークロケーションを含む)に格納されたデータの参照子、又は関連データを計算する関数によって用いられる情報等の関連情報を特定するのに十分な任意の情報を含むことができる。   Data 230 can be retrieved, stored, or modified by processor 210 in accordance with instructions 240. For example, the system and method are not limited by any particular data structure, but the data is stored in a relational database in a computer register as a table with a plurality of different fields and records, XML documents, or flat files. Can do. The data can also be formatted in any computer readable format such as, but not limited to, binary values, ASCII, or Unicode. In addition, the data can be associated with numbers, descriptions, ownership codes, pointers, references to data stored in other memory (including other network locations), or information used by functions that calculate related data. Any information sufficient to identify the information can be included.

プロセッサ及びメモリは図1において同じブロック内に機能的に示されているが、当業者であれば、プロセッサ及びメモリが実際に複数のプロセッサ及びメモリを含むことができ、それらは同じ物理筐体内に格納することもしないこともできることが理解されよう。たとえば、命令及びデータによっては、取り外し可能なCD−ROMに格納することができるものもあれば、読出し専用コンピューターチップ内に格納することができるものもある。命令及びデータのうちのいくつか又は全てを、プロセッサから物理的に離れているが依然としてアクセス可能なロケーションに格納することができる。同様に、プロセッサは実際に、並列に動作することもしないこともできるプロセッサの集合を含むこともできる。   Although the processor and memory are functionally shown in the same block in FIG. 1, those skilled in the art can actually include a plurality of processors and memory in the same physical enclosure. It will be understood that it may or may not be stored. For example, some instructions and data can be stored on a removable CD-ROM, while others can be stored in a read-only computer chip. Some or all of the instructions and data can be stored in locations that are physically remote from the processor but still accessible. Similarly, a processor may actually include a collection of processors that may or may not operate in parallel.

1つの態様では、コンピューター110は、1つ以上のクライアントコンピューター150、170と通信するサーバーである。各クライアントコンピューターは、サーバー110と同様に、プロセッサ、メモリ、及び命令で構成することができる。各クライアントコンピューター150、170は人190及び191による使用を意図され、中央処理装置(CPU)、ディスプレイ160(たとえばプロセッサによって処理される情報を表示するモニター)、CD−ROM、ハードドライブ、ユーザー入力デバイス(たとえば、マウス、キーボード、タッチスクリーン、又はマイク)、スピーカー、モデム、及び/又はネットワークインターフェースデバイス(電話、ケーブル等)、並びにこれらの要素を互いに接続し、それらが(直接的に又は間接的に)互いに通信することを可能にするのに用いられる構成要素の全て等の、パーソナルコンピューターに通常見られる全ての内部構成要素を有するパーソナルコンピューターとすることができる。さらに、本明細書に記載されるシステム及び方法によるコンピューターは、命令を処理し、人間、及びローカルストレージ機能のないネットワークコンピューターを含む他のコンピューターに対し、それらからデータを送受信することが可能な任意のデバイスを含みうる。   In one aspect, the computer 110 is a server that communicates with one or more client computers 150, 170. Each client computer, like the server 110, can be configured with a processor, memory, and instructions. Each client computer 150, 170 is intended for use by people 190 and 191, and is a central processing unit (CPU), display 160 (eg, a monitor that displays information processed by the processor), CD-ROM, hard drive, user input device. (Eg, mouse, keyboard, touch screen, or microphone), speakers, modems, and / or network interface devices (phones, cables, etc.), and these elements are connected to each other and they are (directly or indirectly) It can be a personal computer having all the internal components normally found in a personal computer, such as all of the components used to enable communication with each other. In addition, a computer according to the systems and methods described herein is any computer that can process instructions and send and receive data to and from other computers, including humans and network computers without local storage capabilities. Devices may be included.

クライアントコンピューター150及び170はフルサイズのパーソナルコンピューターを含むことができるが、本システム及び本方法の多くの態様は、インターネット等のネットワークを介してサーバーとデータを無線で交換することが可能な移動デバイスとの接続において用いられるときに特に有利である。たとえば、クライアントコンピューター170は、Blackberry電話又はインターネット対応の携帯電話等の無線可能PDAとすることができる。それに関して、ユーザーは小さいキーボード(Blackberry電話の場合)、キーパッド(通常の携帯電話の場合)、タッチスクリーン(PDAの場合)、又はユーザー入力の任意の他の手段を用いて情報を入力することができる。   Although client computers 150 and 170 can include full-size personal computers, many aspects of the system and method are mobile devices that can exchange data wirelessly with a server over a network such as the Internet. Particularly advantageous when used in connection with. For example, the client computer 170 can be a wireless enabled PDA such as a Blackberry phone or an Internet-enabled mobile phone. In that regard, the user enters information using a small keyboard (for Blackberry phones), keypad (for regular cell phones), touch screen (for PDAs), or any other means of user input. Can do.

クライアントコンピューター150及び170は、デバイスの地理的ロケーションを求める回路等の構成要素を含むことができる。たとえば、移動デバイス170はGPS受信機155を含むことができる。さらなる例として、構成要素は、移動デバイスが携帯電話である場合は1つ以上の携帯電話塔から携帯電話のアンテナにおいて受信した信号等、移動デバイス150において受信した他の信号に基づいてデバイスの位置を求めるためのソフトウェアを含むことができる。   Client computers 150 and 170 may include components such as circuitry for determining the geographical location of the device. For example, mobile device 170 can include a GPS receiver 155. As a further example, the component may be based on other signals received at the mobile device 150, such as signals received at the mobile phone antenna from one or more mobile phone towers if the mobile device is a mobile phone. Software for asking for.

サーバー110並びにクライアントコンピューター150及び170は、直接通信、及びネットワーク295等を介した間接通信が可能である。図1及び図2にはわずかな数のコンピューターのみが示されているが、通常のシステムは多数の接続されたコンピューターを含むことができ、各異なるコンピューターがネットワーク295の異なるノードにあることを理解すべきである。ネットワーク及び介在するノードは、インターネット、ワールドワイドウェブ、イントラネット、仮想プライベートネットワーク、広域ネットワーク、局所ネットワーク、携帯電話ネットワーク、1つ以上の会社の独自開発の通信プロトコルを用いるプライベートネットワーク、イーサネット(登録商標)、WiFi、及びHTTPを含む、デバイス及び通信プロトコルの様々な組み合わせを含むことができる。そのような通信は、他のコンピューターに対し他のコンピューターからデータを送信することが可能な、モデム(たとえばダイアルアップ又はケーブル)、ネットワーク及び無線インターフェース等の任意のデバイスによって容易にすることができる。サーバー110はウェブサーバーでありうる。   The server 110 and the client computers 150 and 170 can perform direct communication and indirect communication via the network 295 or the like. Although only a few computers are shown in FIGS. 1 and 2, it is understood that a typical system can include a large number of connected computers, with each different computer being at a different node of the network 295. Should. The network and intervening nodes include the Internet, the World Wide Web, an intranet, a virtual private network, a wide area network, a local network, a mobile phone network, a private network using one or more company-developed communication protocols, Ethernet (registered trademark) Various combinations of devices and communication protocols can be included, including WiFi, WiFi, and HTTP. Such communication can be facilitated by any device, such as a modem (eg, dial-up or cable), a network, and a wireless interface that can send data to the other computer from the other computer. Server 110 may be a web server.

情報が上述したように送信又は受信されるとき、或る特定の利点が得られるが、本システム及び本方法の他の態様は、いかなる特定の情報送信方法にも限定されない。たとえば、いくつかの態様では、情報はディスク、テープ、又はCD−ROM等の媒体を介して送信することができる。他の態様では、情報は非電子フォーマットで送信することができ、システムに手作業で入力することもできる。またさらに、サーバー上で行われるものとして示される機能もあれば、クライアント上で行われるものとして示される機能もあるが、本システム及び本方法の様々な態様は、単一のプロセッサを有する単一のコンピューターによって実施することもできる。   Although certain advantages are obtained when information is transmitted or received as described above, other aspects of the system and method are not limited to any particular information transmission method. For example, in some aspects, the information can be transmitted via a medium such as a disk, tape, or CD-ROM. In other aspects, the information can be transmitted in a non-electronic format and can be manually entered into the system. Furthermore, although some functions are shown as being performed on the server and some functions are illustrated as being performed on the client, various aspects of the system and method may be implemented as a single processor having a single processor. It can also be implemented by other computers.

サーバー110のマップデータベース270はマップに関連する情報を格納するが、そのうちの少なくとも一部分をクライアントデバイスに送信することができる。たとえば、マップデータベース270はマップタイル272を格納することができ、ここで各タイルは特定の地理的エリアのマップ画像である。解像度(たとえばマップがズームインされているか又はズームアウトされているか)に依拠して、単一のタイルによって、州等の全体領域を比較的大まかにカバーすることができる。他のタイルはいくつかの通りのみを高度に詳細にカバーすることもできる。本システム及び本方法のマップ情報は、いかなる特定の形式にも限定されない。たとえば、画像はストリートマップ、衛星画像、又はこれらの組合せを含むことができ、ベクトル(特に街路マップに関して)又はビットマップ(特に衛星画像に関して)としてフォーマット設定することができる。様々なマップタイルはそれぞれ地理的ロケーションに関連付けられ、それによって、サーバー110が地理的ロケーション又は地理的ロケーションの範囲の受信に基づいて1つ以上のタイルを選択、読み出し(retrieve)、及び送信することが可能になる。   The map database 270 of the server 110 stores information related to the map, at least a portion of which can be sent to the client device. For example, the map database 270 can store map tiles 272, where each tile is a map image of a particular geographic area. Depending on the resolution (eg, whether the map is zoomed in or zoomed out), a single tile can cover the entire region, such as a state, relatively roughly. Other tiles can also cover only a few streets in high detail. The map information of the system and method is not limited to any particular format. For example, the images can include street maps, satellite images, or combinations thereof, and can be formatted as vectors (especially with respect to street maps) or bitmaps (especially with respect to satellite images). Each of the various map tiles is associated with a geographic location, whereby server 110 selects, retrieves, and transmits one or more tiles based on receipt of a geographic location or range of geographic locations. Is possible.

マップデータベース270は、ビジネス若しくは他のオブジェクトを特定するリスト情報、又は特定の地理的ロケーションに関連付けられた地理的特徴も格納することができる。たとえば、各ローカルビジネス274は、名前、カテゴリ(「ピザ、イタリアンレストラン」、又は「球場」等)、他の情報(営業時間、メニューにある食べ物等)、及びロケーションに関連付けることができる。ロケーションは、テキストベースの所在地住所(「1600 Amphitheatre Parkway, Mountain View, CA」)、又は緯度/経度位置(緯度37.423021、経度−122.083739等)等の異なる形式で表現することができる。また、ビジネスの住所について、所在地住所及び緯度/経度位置の双方を格納する等、複数の記述も同様に格納することができる。データベースは(ウェブサイト又は電話帳等から)自動的にビジネス情報を集めることによって編纂することもできるし、ユーザーがサーバー110によってサービス提供されているウェブページを介して自身でローカルビジネス記録を入力又は編集することもできる。   The map database 270 can also store list information identifying business or other objects, or geographic features associated with a particular geographic location. For example, each local business 274 can be associated with a name, category (such as “pizza, Italian restaurant”, or “stadium”), other information (such as opening hours, food on the menu), and location. The location can be expressed in different formats, such as a text-based street address (“1600 Amphitheater Parkway, Mountain View, CA”) or a latitude / longitude position (latitude 37.4303021, longitude-122.083739, etc.). In addition, for business addresses, a plurality of descriptions such as storing both address and latitude / longitude position can be stored in the same manner. The database can be compiled by automatically collecting business information (such as from a website or phone book), or a user can enter local business records themselves via a web page served by the server 110 or It can also be edited.

多くの場合に、異なるビジネス毎にマップデータベース270内に単一のリスト274が存在する。しかしながら、同じビジネスを多くの異なるリストに関連付けることができること、及び単一のリストを多くの異なるビジネスに関連付けることができることが理解されよう。   In many cases, there is a single list 274 in the map database 270 for each different business. However, it will be appreciated that the same business can be associated with many different lists and that a single list can be associated with many different businesses.

リストは、ビジネスに加えて又はビジネスの代わりに、他の地理的に配置されたオブジェクトを含むことができる。たとえば、それらは家、ランドマーク、道路、陸地、自動車の現在の位置、店に配置された商品等を特定することもできる。したがって、ビジネスリストへの言及は例示としてのみ理解され、本システム及び本方法の対象となることができるリストのタイプに対する制限としては理解されない。   The list can include other geographically arranged objects in addition to or on behalf of the business. For example, they can specify a house, landmark, road, land, current location of a car, merchandise placed in a store, and the like. Thus, references to business lists are understood as examples only and not as limitations on the types of lists that can be the subject of the present system and method.

本システム及び本方法の1つの態様において、各リストは「領域セル」と呼ばれる1つ以上の地理的領域にも配分される。たとえば、地球は様々なレベル及びサイズの個々の領域に分割されていると見なすことができる。最も高いレベルにおいて、地球は4つの領域セル、すなわち赤道より北の2つ及び下の2つに分割されていると見なすことができる。2番目に高いレベルにおいて、これらのセル(赤道の北で本初子午線の東のセル等)を別の4つのセルにさらに分割することができる。3番目に高いレベルにおいて、2番目に高いレベルのセルのそれぞれを、さらに別の4つのセルに分割することができる。これは、領域セルの所望の数のレベルが達成されるまで継続することができる(地球が始めに4つのセルに分割されることも、各レベルが4つのセルによって分割されることも必須ではない。)   In one aspect of the system and method, each list is also allocated to one or more geographic regions called “region cells”. For example, the earth can be considered divided into individual regions of various levels and sizes. At the highest level, the earth can be regarded as being divided into four regional cells, two north and two below the equator. At the second highest level, these cells (such as cells north of the equator and east of the prime meridian) can be further divided into four other cells. At the third highest level, each of the second highest level cells can be further divided into four more cells. This can continue until the desired number of levels in the area cell has been achieved (it is not necessary that the earth be initially divided into four cells or each level is divided by four cells). Absent.)

このため、地球上の任意の特定の点が、各レベルにつき1つの、多くの異なる領域セル内に含まれることになる。同様に各領域セルが地理的エリアに関連付けられる。   Thus, any particular point on the earth will be contained in many different area cells, one for each level. Similarly, each regional cell is associated with a geographic area.

マップデータベース270は、リスト274毎に、リストが存在する領域セルを格納することができる。たとえば、マンハッタンのピザ屋が多くのセルに関連付けられ、これらのセルは、(1)本初子午線の東の北半球の全てを含む大きな領域セル、及び(2)マンハッタンの近隣のみを含むはるかに小さな領域セル、の双方を含む。代替的に、リストの適用可能な領域セルは、クエリが受信された後等、必要な場合に要求に応じて確定することができる。   The map database 270 can store, for each list 274, an area cell in which the list exists. For example, a Manhattan pizzeria is associated with many cells, which are (1) a large area cell containing all of the northern hemisphere east of the prime meridian, and (2) a much smaller cell containing only the neighborhood of Manhattan. Including both area cells. Alternatively, the applicable region cells in the list can be determined on demand, if necessary, such as after a query is received.

図3は、マップエリア、領域セル、及びタイルの境界が互いに関連することができる方法を示している。ブロック310(太い実線)は表示されるマップエリアを表す。ブロック320及び321、並びに細い実線によって画定される他のボックスは、マップを示すためにクライアントコンピューターに送信され、該クライアントコンピューターによって綴じ合わせられる個々のマップタイルを表す。ボックス330及び331、並びに破線によって画定される他のボックスは、マップエリアに関連付けられた領域セルの1つのレベルを表す。マップエリア、タイル、及び領域セルのエッジは互いに完全に整列されていない場合があるが、それぞれが特定の地理的位置に関連付けられており、このため互いに対するそれらの位置が知られている。   FIG. 3 illustrates how map areas, region cells, and tile boundaries can be related to each other. Block 310 (thick solid line) represents the map area to be displayed. Blocks 320 and 321 and other boxes defined by thin solid lines represent individual map tiles sent to and bound by the client computer to show the map. Boxes 330 and 331 and other boxes defined by dashed lines represent one level of area cells associated with the map area. The edges of map areas, tiles, and area cells may not be perfectly aligned with each other, but each is associated with a particular geographic location, so their location relative to each other is known.

図18に示す動作に加えて、本システム及び本方法の多岐にわたる態様による様々な動作を次に説明する。以下の動作は後述する厳密な順序で実行される必要はないことを理解すべきである。そうではなく、様々なステップを逆の順序で又は同時に処理することができる。   In addition to the operations shown in FIG. 18, various operations in accordance with various aspects of the present system and method will now be described. It should be understood that the following operations need not be performed in the exact order described below. Rather, the various steps can be processed in reverse order or simultaneously.

図4は、ユーザーが閲覧するマップのスクリーンショットを示している。たとえば、本システム及び本方法は、マップ及び他の情報を示すウェブページを表示するGoogle Chrome等のインターネットブラウザーと関連して実施することができる。   FIG. 4 shows a screen shot of a map viewed by the user. For example, the system and method can be implemented in connection with an Internet browser such as Google Chrome that displays a web page showing maps and other information.

ユーザーは、クエリを入力することによって特定のロケーションに関連付けられたリストの検索を実行することができる、たとえば、ユーザーは、テキストボックス410に「Pizza nyc」をタイプすることによって、サーバーに1つ以上の検索語(「pizza」等)及びロケーション(「nyc」等)を提供し、ニューヨーク市内のピザに関連するビジネスを検索することができる(図4では例として架空の町「Anytown」が用いられる)。   The user can perform a search of the list associated with a particular location by entering a query, for example, the user can enter one or more of the servers by typing “Pizza nyc” in the text box 410 Search terms (such as “pizza”) and location (such as “nyc”), and search for businesses related to pizza in New York City (FIG. 4 uses the fictional town “Anytown” as an example) ).

本発明の1つの態様において、クエリはユーザーに選択された任意の単語を含む。たとえば、ユーザーを検索語又は検索タイプの予め定義されたリストに制限するのではなく、ユーザーは自身のキーボードを用いて、自身の望む任意の1つ以上の単語を一度に1文字タイプすることができる。   In one aspect of the invention, the query includes any word selected by the user. For example, rather than limiting the user to a predefined list of search terms or search types, the user may use his keyboard to type any one or more words he desires one character at a time. it can.

ユーザーは、マウス、キーボード、又は他のユーザー入力デバイスを用いることによって特定の地理的エリアを選択し、所望に応じてパン及びズームすることもできる。音声及び画像を提供すること等によって他のフォーマットでも同様にクエリを提供することができる。   The user can also select a particular geographic area by using a mouse, keyboard, or other user input device, and pan and zoom as desired. Queries can be provided in other formats as well, such as by providing audio and images.

ユーザーのクエリに応答して、サーバーはマップ440の画像のみでなく、検索結果を送信することができる。サーバー110は、応答リストをマップ上に描画して、そのマップを送信するのではなく、リストの説明及びそのロケーションをクライアント150に送信する。これによって、ユーザーコンピューターは、クリックに応答するアイコン420を描画する等、リストとのインタラクションを容易に可能にすることができようになる。ユーザーコンピューターは、マップ440に隣接した別個のロケーションにテキスト430としてリストを示すこともできる。   In response to the user's query, the server can send search results as well as images of the map 440. Rather than drawing the response list on the map and sending the map, the server 110 sends the list description and its location to the client 150. This allows the user computer to easily interact with the list, such as drawing an icon 420 that responds to the click. The user computer can also list the text 430 at a separate location adjacent to the map 440.

多数のリストが返されるとき、本システム及び本方法はそれらを全て表示することができる。しかしながら、マップ上にリストを表示するのに用いられるアイコンがあまりに広範囲に重なるため、マップが許容できないほど見えにくくなる場合がある。たとえば、図5及び図6は、「pizza nyc」の(それぞれ)検索前及び検索後について、名前に「pizza」を有しかつニューヨーク市内にある全てのリストについてアイコン520が表示される場合にニューヨーク市のマップ510がどのように見える可能性があるかを示している。   When multiple lists are returned, the system and method can display them all. However, the icons used to display the list on the map overlap so extensively that the map may become unacceptably difficult to see. For example, FIG. 5 and FIG. 6 show that icons “520” are displayed for all lists in the city with “pizza” in the name before and after (respectively) searching for “pizza nyc”. It shows how a New York City map 510 might look.

さらに、多くのクライアントコンピューターは、数百個のリストを許容可能に処理及び表示することができない。たとえば、クライアントコンピューターが、携帯電話等の比較的低電力低メモリのデバイスであり、かつリストがJSON又はXML等のテキストベースのファイルとして送信される場合において、クライアントコンピューターは、ユーザーがマップをパンする場合に、迅速にリストの全てを描画して迅速にリストを再配置するのが非常に困難な場合がある。ニューヨーク市内のピザを販売するレストランは数万店存在する場合がある。   In addition, many client computers cannot process and display hundreds of lists in an acceptable manner. For example, if the client computer is a relatively low power low memory device such as a mobile phone and the list is sent as a text-based file such as JSON or XML, the client computer will pan the map by the user. In some cases, it may be very difficult to quickly draw all of the list and quickly rearrange the list. There may be tens of thousands of restaurants selling pizza in New York City.

背景技術のセクションにおいて上述したように、クライアントコンピューターにおける視覚クラッター又は処理要件を低減するために、或る特定の数の応答リストのみを送信することができる。図7bはスコア上位25個のピザリスト(ピン710等の黒いピンで示される)が、非常に密度の高いマンハッタン730の全て及び密度がより低いブルックリン/クイーンズ740のうちのいくらかを含むマップ720に示される場合の1つの可能な結果を示している。図7aのブロック750は、ニューヨーク市の残りの部分に対するマップ720の外形を示している。密度に差異があるため、マンハッタンに示されるリスト760の数(22個のリスト)は、ブルックリン/クイーンズのリスト770の数(2個のリスト)をはるかに上回る。これによって、マンハッタンは極端にかつ密に高スコアのリストでいっぱいなのに対し、ブルックリン/クイーンズは高スコアのリストが比較的少ないという印象が伝わる。   As described above in the background section, only a certain number of response lists can be sent to reduce visual clutter or processing requirements at the client computer. FIG. 7b shows a map 720 with the top 25 pizza lists (indicated by black pins such as pin 710) containing all of the very dense Manhattan 730 and some of the less dense Brooklyn / Queens 740. One possible result is shown when shown. Block 750 of FIG. 7a shows the outline of the map 720 for the rest of New York City. Due to the difference in density, the number of lists 760 shown in Manhattan (22 lists) far exceeds the number of Brooklyn / Queens lists 770 (two lists). This conveys the impression that Manhattan is extremely and densely filled with high-score lists, while Brooklyn / Queens has relatively few high-score lists.

ニューヨーク市のビューが、図8に示すように、ブルックリン/クイーンズをはるかに多く含みかつマンハッタンをはるかに少なく含むようにパンされ、マップ820内にスコア上位25個のリストが示される場合、より多くのブルックリン/クイーンズのリストが示され、より少ないマンハッタンのリストが示されることが予期される。1つの可能な結果が図8bに示されている。しかしながら、クエリされるリストのセットが変化する(ここでマップ820ににはマンハッタンの一部のみが見られ、ブルックリン/クイーンズはより多く見られる)ので、上位スコアのリスト860は劇的に変化する場合がある。たとえば、マンハッタンのリスト860は図7bのマンハッタンのリスト760よりもはるかに密度が低く見える場合がある。さらに、マンハッタンのリスト860が依然としてブルックリン/クイーンズのリスト870よりも密度が高く見えるが、近隣間の差は図8bにおいて図7bよりはるかに際立っていない。ユーザービューマップ図8bは、リストがどれだけ近接して互いに詰まっているかに関して言えば、マンハッタンとブルックリン/クイーンズとの間の差異についてユーザービューマップ図7bとはるかに異なる印象を有する。   More when the New York City view is panned to include much more Brooklyn / Queens and much less Manhattan, as shown in FIG. 8, and the list of the top 25 scores in the map 820 is shown. It is expected that a list of Brooklyn / Queens will be shown, and a lower Manhattan list. One possible result is shown in FIG. However, the list of top scores 860 changes dramatically as the set of queried lists changes (here, only a portion of Manhattan is seen in the map 820 and more Brooklyn / Queens are seen). There is a case. For example, the Manhattan list 860 may appear much less dense than the Manhattan list 760 of FIG. Furthermore, although Manhattan's list 860 still appears denser than Brooklyn / Queens' list 870, the difference between the neighborhoods is much less pronounced in FIG. 8b than in FIG. 7b. The user view map FIG. 8b has a much different impression than the user view map FIG. 7b regarding the difference between Manhattan and Brooklyn / Queens when it comes to how close the list is to each other.

本システム及び本方法の1つの態様において、リストは、クエリに応答して、他のリストに対する該リストの地理的近接性に少なくとも部分的に基づいて選択される。たとえば、リストは、他のリストが密集した地理的エリアにある場合、表示される可能性がより高い。   In one aspect of the system and method, a list is selected in response to a query based at least in part on the geographic proximity of the list to other lists. For example, lists are more likely to be displayed when other lists are in dense geographic areas.

これに関して、本システム及び本方法は、1つのエリア(マンハッタン等)内のリスト数を表示される別の地理的エリア(ブルックリン等)と比較し、差異に基づいてリストの一部分を選択する。換言すれば、マンハッタンがブルックリンの2倍のリストを有する場合、ブルックリンの2倍のリストがマンハッタンにおいて示されることになる。   In this regard, the system and method compare the number of lists in one area (such as Manhattan) with another displayed geographic area (such as Brooklyn) and select a portion of the list based on the difference. In other words, if Manhattan has a list twice that of Brooklyn, then Brooklyn's twice list will be shown in Manhattan.

さらに、リストは、該リストがクエリとどの程度合致するかに基づいて選択することができる。たとえば、システムがマンハッタン及びブルックリングの双方を含むマップにおいて30個のリストを同時に示すとして、マンハッタンにおいてブルックリンの2倍の応答リストが存在する場合、マンハッタンの上位20個の最も適合するリストがマンハッタンにおいて表示され、ブルックリンの上位10個の最も適合するリストがブルックリンにおいて表示される。換言すれば、マップはマンハッタン及びブルックリンの双方を示しているが、上位100個のリストの全てがマンハッタンにある場合であっても、依然としてブルックリンにおいて10個の適合するものを示すことになる。同様に、マップは、上位100個のリストの全てがブルックリンにある場合であっても、依然としてマンハッタンにおいて20個の適合するものを示すことになる。   Furthermore, the list can be selected based on how well the list matches the query. For example, if the system shows 30 lists at the same time in a map that includes both Manhattan and Brookling, and if there are twice as many response lists in Brooklyn as Manhattan, the top 20 best matching lists in Manhattan are in Manhattan. Displayed and the top 10 best matching lists in Brooklyn are displayed in Brooklyn. In other words, the map shows both Manhattan and Brooklyn, but even if all of the top 100 lists are in Manhattan, it will still show 10 matches in Brooklyn. Similarly, the map will still show 20 matches in Manhattan even if all of the top 100 lists are in Brooklyn.

より多くのリストを示すことによって、リストの分布のより大きな意味を伝えるのに役立つことができる。しかしながら、図6に関連して上述したように、リストが密度に基づいて選択された場合であっても、クライアントコンピューターはマップ上に多数のリストを示すことが困難である場合がある。リストはマップに直接描画しクライアントに送信することができるが、クライアントコンピューターは、リストが図4に関連して説明したようなテキストで送信されたかのように、ユーザーに同じインタラクティブ性を提供することができない場合がある。   Showing more lists can help convey the greater meaning of the distribution of the list. However, as described above in connection with FIG. 6, even if the list is selected based on density, it may be difficult for the client computer to present a large number of lists on the map. The list can be drawn directly on the map and sent to the client, but the client computer can provide the same interactivity to the user as if the list were sent in text as described in connection with FIG. There are cases where it is not possible.

本システム及び本方法の1つの態様は、サーバーを用いてリストのうちのいくつかを画像上に位置決めし、クライアントコンピューターを用いて、様々な形式のリスト及びマップ情報を提供することによってリストのうちのいくつかを位置決めする。   One aspect of the system and method is the use of a server to locate some of the lists on an image and a client computer to provide various types of lists and map information. Position some of them.

図9に示すように、クライアントコンピューター910からのクエリに応答して、サーバー920はマップの画像930(ビットマップ又はベクトルベースのタイル)、上位リストを特定する情報のうちのいくつかを記述する情報940(テキストベースのHTML、JSON、又はXMLファイル等)、及びマップ画像930の上にオーバーレイする、クライアントコンピューター用の他のリストの画像950を送信する。クライアントコンピューター910のプロセッサは、この情報を受信及び処理して、単一画像960を作成及び表示する。   As shown in FIG. 9, in response to a query from the client computer 910, the server 920 describes information about the map image 930 (bitmap or vector-based tile), some of the information identifying the top list. 940 (such as a text-based HTML, JSON, or XML file) and other list images 950 for the client computer to overlay on map image 930 are sent. The processor of client computer 910 receives and processes this information to create and display a single image 960.

たとえば、クライアントコンピューターは、ウェブブラウザーにおいてマップ960を表示することができ、リスト情報940内に含まれる情報を用いてマップ930上のユーザーが起動可能な(user-actuable)アイコン990の位置を確定してレンダリングし、また、情報をマップの隣にテキスト991として表示する。1つの態様において、リストはユーザーの関心対象となる尤度に基づいてテキストとして送信される。   For example, the client computer can display the map 960 in the web browser, and uses the information included in the list information 940 to determine the position of the user-actuable icon 990 on the map 930. And render the information as text 991 next to the map. In one aspect, the list is sent as text based on the likelihood of interest of the user.

クライアントコンピューター910は、マップ上に他のリストの画像950もオーバーレイし、これによってユーザーが、リスト情報940内に含まれるリストを超える他のリストのインジケーション980を見ることを可能にする。リスト情報940に含まれるリストのように、これらのリストもユーザーのクエリに応答する。さらに、これらのリストは、上記で検討したように密度を反映するよう選択することができる。   The client computer 910 also overlays other list images 950 on the map, thereby allowing the user to view other list indications 980 beyond the list contained within the list information 940. Like the lists included in the list information 940, these lists also respond to user queries. In addition, these lists can be selected to reflect density as discussed above.

他のリストの画像はサーバーによってレンダリングされるので、本システム及び本方法の1つの態様では、クライアントコンピューターはオーバーレイ上のリストのロケーションを計算する必要もないし、さらには認識する必要もない。そうではなく、それらのリストは既にサーバー920によってオーバーレイ上に位置決めされているので、クライアントコンピューター910はマップ930の上に他のリストを迅速に表示することができる。さらに、マップ上に示される数百個の他のリストが存在する場合であっても、クライアントコンピューターはそれらのロケーションを受信する必要も処理する必要もないし、それらの起動を個々に表示する必要も試験する必要もない。本システム及び本方法のこの態様は、制限されたユーザー入力又は処理力を有するデバイスに関連して特に有利とすることができる。   Because other list images are rendered by the server, in one aspect of the system and method, the client computer need not calculate or even know the location of the list on the overlay. Rather, since the lists are already positioned on the overlay by the server 920, the client computer 910 can quickly display other lists on the map 930. Furthermore, even if there are hundreds of other lists shown on the map, the client computer does not need to receive or process those locations, nor does it need to display their activations individually. There is no need to test. This aspect of the system and method can be particularly advantageous in connection with devices having limited user input or processing power.

本システム及び本方法の態様は有利には、クライアントコンピューターのプロセッサに過度な負荷をかけることなく様々な特徴を同時に利用可能とする。例として、ユーザーがニューヨーク市等の高密度のエリアを閲覧しているときに「pizza」がクエリされた場合、画像オーバーレイ950は、ユーザーのクエリに応答した多くのリストが存在することをユーザーが見て取ることを可能にする。加えて、サーバーが上述した密度に基づいてオーバーレイ950内のリストを選択すると、ユーザーはどこにリストが最も集中しているかを見ることもできる。これは、ユーザーが訪ねることを望み得るエリアを求めるときに非常に価値があるものとすることができる。サーバーによって予め選択されたカテゴリ又は用語ではなく、ユーザーによって提供された任意の単語を含むクエリに少なくとも部分的に基づいてリストの双方のセットが選択される。   The aspects of the system and method advantageously allow various features to be used simultaneously without overloading the processor of the client computer. By way of example, if “pizza” is queried when the user is browsing a high density area such as New York City, the image overlay 950 indicates that there are many lists in response to the user's query. Makes it possible to see. In addition, if the server selects a list in overlay 950 based on the density described above, the user can also see where the list is most concentrated. This can be very valuable when seeking an area that a user may want to visit. Both sets of lists are selected based at least in part on a query that includes any word provided by the user rather than a category or term pre-selected by the server.

この態様は、ユーザーがリストと大きくインタラクトすることを可能にするという利点も有する。たとえば、クライアントコンピューターはリスト991に関連付けられたアイコン990をクリックすることによって該アイコンを起動することができる。アイコンを起動することによって、より多くの情報をもたらすことができる(住所及び写真のようなさらなる情報を含むバルーンを表示する等)。同様に、テキストリスト991をクリックすることによって、マップ上のリストの関連付けられたアイコン990を強調表示することができる。したがって、ユーザーの最も大きな関心対象である可能性が高いリストが高度にインタラクティブであり続ける。   This aspect also has the advantage of allowing the user to interact greatly with the list. For example, the client computer can activate the icon by clicking on the icon 990 associated with the list 991. Activating the icon can provide more information (such as displaying a balloon with additional information such as address and photo). Similarly, clicking on the text list 991 can highlight the associated icon 990 in the list on the map. Thus, the list that is likely to be the user's greatest interest remains highly interactive.

次に、ユーザーの任意のクエリ、リストの密度に基づいてリストを選択し、リストの画像オーバーレイを処理するための1つの可能なシステム及び方法を、限定ではなく例として説明する。   Next, one possible system and method for selecting a list based on the user's arbitrary query, list density, and processing the image overlay of the list will be described by way of example and not limitation.

図1及び図2に示すように、ユーザー190はクライアントコンピューター150上のウェブブラウザープログラムに、ネットワーク295を介してウェブサーバー110に接続させる。サーバー110は、Javascriptを含むウェブページをブラウザーに送信する。クライアントコンピューターのプロセッサはJavascript命令を実行する。該Javascript命令はサーバーに特定のロケーションにおける初期マップを要求することを含む。初期ロケーションは、ユーザーが閲覧した最後のロケーションを用いること、サーバーにデフォルトロケーションを選択させること、サーバーにログインするのに用いられるURLにロケーションを付加すること、及び他の多くの方法を含む任意の数の方法で特定することができる。本システム及び本方法は、ロケーションを特定するいかなる特定の方法にも限定されない。   As shown in FIGS. 1 and 2, the user 190 causes the web browser program on the client computer 150 to connect to the web server 110 via the network 295. The server 110 transmits a web page including Javascript to the browser. The processor of the client computer executes a Javascript instruction. The Javascript instruction includes requesting an initial map at a particular location from the server. The initial location can be any, including using the last location viewed by the user, causing the server to select a default location, appending the location to the URL used to log into the server, and many other methods It can be specified in a number of ways. The system and method are not limited to any particular method of identifying a location.

次に、ユーザーはウェブブラウザーにクエリを入力することができる。そのクエリはウェブサーバーに送信される。サーバー110は、クライアントコンピューター150からクエリを受信した後、クエリがロケーションに関連付けられているか否かを判断し、関連付けられている場合、そのロケーションがどこであるかを求める。たとえば、クエリが「pizza nyc」である場合、サーバーはクエリの「nyc」部分がロケーションに関連すると判断し、そのロケーションの緯度/経度位置を求めることに進むことができる。それに関して、ロケーションに関連付けられた部分は、ジオコーディングルーチンに渡すことができ、ジオコーディングルーチンは(「1600 Amphitheatre Parkway, Mountain View, CA」のような)アドレスを(緯度39.423021及び経度−122.083939のような)地理的座標に変換する。同様に、ジオコーディングルーチンは、「nyc」をニューヨーク市の中心の緯度/経度に変換することもできる。   The user can then enter a query into the web browser. The query is sent to the web server. After receiving the query from the client computer 150, the server 110 determines whether the query is associated with a location and, if so, determines where the location is. For example, if the query is “pizza nyc”, the server may determine that the “nyc” portion of the query is associated with a location and proceed to determine the latitude / longitude position of that location. In that regard, the portion associated with the location can be passed to a geocoding routine, which can provide an address (such as “1600 Amphitheater Parkway, Mountain View, CA”) with an address (latitude 39.4303021 and longitude −122). To geographic coordinates (such as .083939). Similarly, the geocoding routine can also convert “nyc” to the latitude / longitude of the New York City center.

サーバー110は、緯度/経度又は同様の位置を求めることに加えて、どれだけの地理的エリアを表示するかも求める。たとえば、特定の所在地住所の要求によって、サーバー110に、その住所を中心とするほぼ1マイル四方のエリアを含むロケーション矩形を選択させることができる。同様に、ユーザーが「nyc」等の都市のみを特定する場合、サーバーは、ニューヨーク市の全体を画するロケーション矩形を選択することができる。ロケーション矩形のサイズは、ユーザーのマップの現在のズームレベルを用いる(ユーザーが現在マップを閲覧していると仮定する)等によって他の要因によっても同様に求めることができる。   In addition to determining latitude / longitude or similar location, the server 110 also determines how many geographic areas to display. For example, a request for a specific street address may cause the server 110 to select a location rectangle that includes an area approximately one mile square centered on that address. Similarly, if the user specifies only a city such as “nyc”, the server can select a location rectangle that describes the whole of New York City. The size of the location rectangle can be determined by other factors as well, such as by using the current zoom level of the user's map (assuming the user is currently viewing the map).

クエリ内でロケーションが見つかると、サーバーはユーザーが最後に閲覧した地理的エリア内又は該地理的エリアの近くのリストを検索していると仮定することができる。この場合、サーバーはユーザーが現在閲覧している地理的エリアに相応のロケーション矩形を選択することができる。他の形状も用いることができる。たとえば、地球等の半球の表面は厳密に矩形ではなく、したがって、矩形が十分でないと考えられる場合、他の形状を選択することができる。たとえば、他の四頂点形状、多角形、及び曲線形状を同様に矩形の代わりに用いることができる。   If a location is found in the query, it can be assumed that the server is searching a list in or near the geographic area the user last viewed. In this case, the server can select a location rectangle corresponding to the geographic area the user is currently viewing. Other shapes can also be used. For example, the surface of a hemisphere, such as the Earth, is not strictly rectangular, and therefore other shapes can be selected if the rectangle is considered insufficient. For example, other four-vertex shapes, polygons, and curved shapes can be used instead of rectangles as well.

ロケーション矩形は、所望のズームレベルによって作用を受けることもできる。たとえば、ユーザーが検索を実行した時点で該ユーザーがマップを閲覧している場合、サーバーはその現在選択されているズームレベルを用いてロケーションエリアを確定することができる。   The location rectangle can also be affected by the desired zoom level. For example, if the user is browsing the map at the time the user performs a search, the server can determine the location area using its currently selected zoom level.

サーバー110のプロセッサ210は、ユーザーのクエリ(たとえば「pizza」)及びロケーション矩形(たとえば異なる緯度/経度位置に4つの角を有し、ニューヨーク市の全体又はほとんどを画する矩形)を用いてリスト294をクエリする。次に、サーバーは、ロケーション矩形内又はロケーション矩形の比較的近くにあり、かつ要求された語(たとえば「pizza」)、その変形(たとえば「pizzeria」)、高度に関連していると知られる語(たとえば「parlor」)、又は本システム及び本方法によって適合を示すと定義される方法で他の形でユーザークエリに合致する語を含む任意のリスト等の適合を探すことに進む。適合と考えられるリストは以後、特に「応答リスト」と呼ばれる場合がある。   The processor 210 of the server 110 uses the user's query (eg, “pizza”) and a location rectangle (eg, a rectangle that has four corners at different latitude / longitude locations and defines all or most of New York City). Query. Next, the server is within the location rectangle or relatively close to the location rectangle and the requested word (eg “pizza”), its variants (eg “pizzeria”), words that are known to be highly relevant. (E.g., "parlor"), or proceed to look for matches, such as any list that contains words that otherwise match the user query in a way that is defined as showing matches by the system and method. A list that is considered relevant may hereinafter be specifically referred to as a “response list”.

サーバー110は応答リストのスコアを求める。例として、スコアはリストがユーザーの関心対象である尤度に関連する値とすることができる。比較的高いスコアによって比較的高い関心の尤度を表すことができ、比較的低いスコアによって比較的低い関心の尤度を表すことができる。スコアは、任意の数の要因と、正値又は負値を様々な特性に割り当て、それらの値を合算すること等の任意の数の公式とに基づくことができる。以下ではいくつかの特性が説明されるが、以下の特性は本システム及び本方法のすべての態様において必要とされるわけではない。さらに、他の特性も同様に用いることができる。   The server 110 determines the response list score. As an example, the score can be a value related to the likelihood that the list is of interest to the user. A relatively high score can represent a relatively high likelihood of interest, and a relatively low score can represent a relatively low likelihood of interest. The score can be based on any number of factors and any number of formulas, such as assigning positive or negative values to various characteristics and summing those values. Several characteristics are described below, but the following characteristics are not required in all aspects of the system and method. Furthermore, other characteristics can be used as well.

スコアのいくつかの特性は、クエリのリストの比較に依拠することができる。たとえば、ユーザーのクエリ内の単語がリストの名前又はカテゴリ内の単語に完全に適合する場合(たとえば、ユーザーが「pizza」を検索しており、ビジネス名が「Joe's Pizza」である)、非常に高い値をスコアに付加することができる。ユーザーの語がリスト内の他の情報に部分的に適合する場合(たとえばユーザーが「pizza」を検索しており、ビジネスがそのウェブサイト上のどこかで「pizza burgers」をサービス提供していることにたまたま言及している球場である)、スコアにより低い値を付加することができる。   Some characteristics of the score can rely on comparing the list of queries. For example, if a word in a user's query exactly matches a name in a list or category (for example, the user is searching for “pizza” and the business name is “Joe's Pizza”) High values can be added to the score. The user ’s word partially matches other information in the list (for example, the user is searching for “pizza” and the business is serving “pizza burgers” somewhere on the website (It is the stadium that happens to be mentioned), and you can add a lower value to the score.

1つの態様において、スコアはユーザーが要求したロケーションに対するリストの近接性に依拠して変更することもできる。たとえば、ユーザーが所在地住所を提供し、リストの所在地が正確に適合する場合、非常に高い値をスコアに付加することができる。ユーザーが都市名を提供し、リストの住所が近隣の都市にある場合、より低い値を付加することができる。   In one aspect, the score may be changed depending on the proximity of the list to the location requested by the user. For example, a very high value can be added to the score if the user provides a street address and the list location exactly matches. If the user provides a city name and the list address is in a nearby city, a lower value can be added.

スコアは特定のクエリに関連のない情報に依拠することもできる。たとえば、リストが過去に多くの異なるユーザーによって閲覧された場合、スコアに高い値を付加することができる。リストが過去に他のユーザーに多数回示されたがめったに選択されなかった場合、より低い値をスコアに付加することができる。   The score can also be based on information not relevant to a particular query. For example, if the list has been viewed by many different users in the past, a high value can be added to the score. A lower value can be added to the score if the list has been shown many times to other users in the past and was rarely selected.

いくつかのスコアは、リストのさらなる処理が必要ないとサーバーが判定する場合があるほど低くすることができる。それに関して、或る特定のリストは、該リストがクエリに或る程度適合している場合であっても無関係とみなすことができる。   Some scores can be so low that the server may determine that no further processing of the list is required. In that regard, a particular list can be considered irrelevant even if the list fits to some degree in the query.

サーバーは、クライアントコンピューターに送信するための或る特定の数の上位スコアのリストを選択することができる。言及する目的のみで、そのようなリストを本明細書において「上位リスト」と言及することができるが、上位リストは最もスコアが高いリストであること以外に基づいて選択することもできることが理解される。   The server can select a certain number of top score lists to send to the client computer. For reference purposes only, such a list may be referred to herein as a “top list”, but it is understood that the top list can also be selected based on being the list with the highest score. The

次に、応答リストはそのスコアに基づいて解析される。たとえば、サーバーは2つのヒストグラムを作成することができる。ここで、第1のヒストグラムはユーザーのクエリ(又はリスト内のユーザーの関心を予測することを大きく示唆するとみなされるいくつかの他の判断基準)に適合する名前又はカテゴリを有するリストを格納する。第2のヒストグラムは、ユーザーのクエリに適合する、レビュー又はウェブページ等の他の要素を有するリストを含むことができる。   The response list is then analyzed based on the score. For example, the server can create two histograms. Here, the first histogram stores a list having names or categories that match the user's query (or some other criterion that is considered to greatly suggest predicting the user's interest in the list). The second histogram may include a list with other elements such as reviews or web pages that match the user's query.

そして、各ヒストグラムはスコアの昇順又は降順の範囲を含む帯に分割される。各リストは適切なヒストグラムの適切な帯内にソートされる。   Each histogram is divided into bands including ranges in ascending or descending order of scores. Each list is sorted within the appropriate band of the appropriate histogram.

サーバーは応答リストのスコアを解析して、上位リストを超えるリストが示されるべきか否かを判断することもできる。たとえば、高スコアヒストグラム内の結果がわずかであり、低スコアヒストグラム内の結果が多数である場合、サーバーは、ユーザーが残りのリストに興味を持つ可能性が低いと判定し、トリガーを「偽」に設定することができる。高スコアヒストグラム内の結果が多数である場合、又は低スコアヒストグラム内の結果がわずかであるが、高スコアヒストグラム内の結果が多数である場合、トリガーを「真」に設定することができる。   The server can also analyze the score of the response list to determine whether a list beyond the top list should be shown. For example, if there are few results in the high score histogram and many results in the low score histogram, the server determines that the user is unlikely to be interested in the rest of the list and sets the trigger to `` false '' Can be set to The trigger can be set to “true” if there are many results in the high score histogram, or if there are few results in the low score histogram but there are many results in the high score histogram.

解析結果は、処理又は評価のためにクライアントコンピューターに送信することができる。たとえば、サーバー10は上位リストを記述するHTML又はJSONファイルを作成することができる。   The analysis results can be sent to the client computer for processing or evaluation. For example, the server 10 can create an HTML or JSON file that describes the top list.

上位リストの説明はクライアントコンピューターにテキストとして送信され、クライアントコンピューターに、少なくともマップ上にリストを示すのに十分な情報を提供することができる。1つの態様では、情報はリストの名前、所在地住所、及び電話番号を含む。情報は、リストに関連付けられたマップ上のクリック可能な領域のリスト、及びそれらの領域がクリックされたときに何が起こるかに関する情報(領域に関連付けられたリストに関するさらなる情報を表示するバブルをポップアップさせるための命令等)も含むことができる。別の態様では、上位リスト情報は、クライアントコンピューターがサーバー110上のリスト又はインターネット全般に関するさらなる情報を見つけることができる場所を特定する情報を含むことができる。さらに別の態様では、この情報は、異なるファイル(たとえばリストに関する比較的少ない情報を特定する第1のJSONファイル、及び次に情報のための準備ができたことを示すクライアントコンピューターに応答した第2のJSONファイル)において別個の時点に送信することができる。   The description of the top list is sent as text to the client computer and can provide the client computer with enough information to at least show the list on the map. In one aspect, the information includes a list name, street address, and telephone number. Information pops up a bubble that displays a list of clickable areas on the map associated with the list, and what happens when those areas are clicked (more information about the list associated with the area And the like can also be included. In another aspect, the top list information may include information identifying where the client computer can find further information about the list on the server 110 or the Internet in general. In yet another aspect, this information may be received in response to a different file (eg, a first JSON file that identifies relatively little information about the list, and then a client computer indicating that it is ready for information). In a separate JSON file).

サーバー110は、ネットワーク295を介してクライアントコンピューター150に上位リストのテキストベースの情報を送信する。   The server 110 transmits the text-based information of the upper list to the client computer 150 via the network 295.

サーバー110は、ユーザーに示されるロケーションエリアに基づいてマップデータベース270からタイル272をさらに選択し送信する。サーバー110は、ズームレベルに基づいて、ロケーションエリアの緯度/経度境界に合致することを示す緯度/経度位置を有するすべてのタイルを読み出すことができる。サーバー110は、ユーザーがマップを少しパンした場合に新たなタイルが要求されることを防ぐように近隣のタイルも送信することができる。   Server 110 further selects and transmits tile 272 from map database 270 based on the location area indicated to the user. Based on the zoom level, the server 110 can retrieve all tiles having a latitude / longitude position indicating that the location area's latitude / longitude boundary is met. Server 110 can also send neighboring tiles to prevent new tiles from being requested if the user pans the map a bit.

クライアントコンピューターが、上位リストを超えるリストを示すべきであるというインジケーションを受信した場合、クライアントコンピューターはこれらのリストを表示する準備をする。たとえば、サーバー110によって送信されるがクライアントコンピュータープロセッサ150によって実行されるJavascript命令に従って、クライアントはトリガーのためにJSONファイルをパースする。   If the client computer receives an indication that it should show a list that exceeds the top list, the client computer prepares to display these lists. For example, according to a Javascript instruction sent by the server 110 but executed by the client computer processor 150, the client parses the JSON file for triggering.

トリガーが、他の結果が表示されるべきであることを示す場合、クライアントコンピューターは、マップレイヤーと、上位リストのためのアイコンを表示するのに用いられるレイヤーとの間に表示されるグラフィックレイヤーのインスタンスを生成する。クライアントコンピューターは、他の結果を表す画像の要求も作成する。   If the trigger indicates that other results should be displayed, the client computer will display a graphic layer that is displayed between the map layer and the layer used to display the icon for the top list. Create an instance. The client computer also creates a request for an image that represents another result.

クライアントコンピューターが上位リストを超える他のリストを表示することが確定されると、サーバーは、ユーザーのクエリ(「pizza」等)に応じかつ密度を反映するリストを選択する。   If the client computer is determined to display other lists beyond the top list, the server selects a list that responds to the user's query (such as “pizza”) and reflects the density.

サーバー110は、密度に比例してリストを選択するために、マップエリアの異なる地理的エリア内のリストを比較する。たとえば、サーバーは領域セルを用いてマップエリアを解析し、マップエリアを考慮して適切な領域セルのレベルを選択することができる。サーバーは、マップがズームインされたときにより小さな領域セルが用いられるように、したがってズームを変更することによって表示のために選択されるリストを変更することができるように適切な領域セルレベルを選択する根拠としてズームレベルを用いることができる。   Server 110 compares lists in different geographic areas of the map area to select the list in proportion to density. For example, the server can analyze the map area using the area cell and select an appropriate area cell level considering the map area. The server selects the appropriate region cell level so that smaller region cells are used when the map is zoomed in, and thus changing the zoom can change the list selected for display. The zoom level can be used as a basis.

最も高い密度を有する地理的エリアを用いて、該地理的エリアの全てにおいて示されることになるリストの量を求めることができる。たとえば、サーバーは、マップエリアをカバーする領域セル毎に各セル内の応答リストの数を求めることができる。図10は、9個のセルに分割されたマップ1010(破線によって表される)を示している。ここで、各セル内の数はセル内の応答リストの数を示している。たとえば、マップの北西部は32個の応答リストを含むのに対し、マップの中央は300個の応答リストを含む。   The geographic area with the highest density can be used to determine the amount of listing that will be shown in all of the geographic areas. For example, the server can determine the number of response lists in each cell for each area cell that covers the map area. FIG. 10 shows a map 1010 (represented by a dashed line) divided into nine cells. Here, the number in each cell indicates the number of response lists in the cell. For example, the northwestern part of the map contains 32 response lists, while the center of the map contains 300 response lists.

次に、最も多数のリストを有する地理的エリアが特定される。領域セルのそれぞれが比較的同じ大きさである場合、最も多数のリストを有する領域セルは密度の最も高いセルとなる。このため、図10に示すように、中央のタイル1020は、マップの別のセルよりも多くのリスト(300個)を有するので、最も高い密度を有するとして特定される。   Next, the geographic area with the largest number of lists is identified. If each of the area cells is relatively the same size, the area cell with the largest number of lists is the cell with the highest density. Thus, as shown in FIG. 10, the center tile 1020 is identified as having the highest density because it has more lists (300) than another cell in the map.

最も混雑した地理的エリアに基づいて、次にエリア毎に閾値が計算される。ここで、閾値はそのエリア内にいくつのリストが示されるかを確定するのに用いられる。たとえば、そのような閾値を計算する1つの可能な式は、
density_threshold(C)=d*(1+density(C)/max_density)
であり、ここで、
Cは特定の領域セルを指し、
density_threshold(C)はセルC内に示されることになるリストの最大数であり、
dは任意のセル内に示すことができるリストの最大数を設定するのに用いられる定数(自動的に、又は視覚実験に基づいて設定することができる)、
density(c)はセルC内に含まれるリストの数であり、
max_densityはほとんどのリストを有するセル内に含まれるリストの数である。
Based on the most crowded geographic area, a threshold is then calculated for each area. Here, the threshold is used to determine how many lists are shown in the area. For example, one possible expression for calculating such a threshold is:
density_threshold (C) = d * (1 + density (C) / max_density)
And where
C refers to a specific region cell,
density_threshold (C) is the maximum number of lists that will be shown in cell C;
d is a constant used to set the maximum number of lists that can be shown in any cell (can be set automatically or based on visual experiments);
density (c) is the number of lists contained in cell C;
max_density is the number of lists contained in a cell with most lists.

上記の式によって、高密度エリアが低密度エリアよりも高い閾値を有することになる。最大値は「d」の2倍となるので、これは最も混雑したセルであっても密度が高くなりすぎないことを保証するのに役立つ。   According to the above formula, the high density area has a higher threshold than the low density area. Since the maximum value is twice that of “d”, this helps to ensure that even the most congested cells are not too dense.

他の式を用いて密度閾値を計算することもできる。たとえば、上記の式は、
density_threshold(C)=d*(1+a*density(C)/max_density)
における「a」等、最高閾値と最低閾値との間の範囲を変更するスキュー乗算子を含むことができる。範囲を増大させることによって、特に密な領域が他のエリアに比べてさらに密に見えるようにすることもできる。
Other formulas can be used to calculate the density threshold. For example, the above equation is
density_threshold (C) = d * (1 + a * density (C) / max_density)
A skew multiplier that changes the range between the highest threshold and the lowest threshold, such as “a” in FIG. By increasing the range, it is possible to make particularly dense areas appear more dense than other areas.

地理的エリアのための密度閾値が確定されると、該閾値は地理的エリアに関連付けられたリストに適用される。   Once the density threshold for the geographic area is established, the threshold is applied to the list associated with the geographic area.

密度閾値を適用する1つの方法は、セルから、密度閾値に等しいか又は密度閾値に比例する複数のリストを選択することを含む。たとえば、2つのセルの密度閾値がそれぞれ20及び30であった場合、第1のセルからのスコアが最も高い20個のリストを表示用に選択することができ、第2のセルからのスコアが最も高い30個のリストを表示用に選択することができる。   One method of applying the density threshold includes selecting a plurality of lists from the cell that are equal to or proportional to the density threshold. For example, if the density thresholds of two cells are 20 and 30, respectively, the 20 lists with the highest score from the first cell can be selected for display, and the score from the second cell is The highest 30 lists can be selected for display.

代替的に、データベースは、スコア情報を解析し、密度を求める目的で1度クエリすることができ、次に再度、実際のリストを得るために、クエリの一部としてスコア閾値を用いてクエリすることができる。   Alternatively, the database can parse the score information and query once for the purpose of density, and then query again using the score threshold as part of the query to obtain the actual list. be able to.

それに関して、ヒストグラムはマップエリアに関連付けられた領域セル毎に作成することができる。ヒストグラムはそのセル内に含まれるリストで埋められ、ヒストグラムの各帯は異なる範囲のスコアに関連付けられる。したがって、リストの最も高い可能なスコアが10であり、最も低い可能なスコアが1であり、かつ特定のセル内にスコアA=4、B=6、C=7、D=7、E=8、F=9、G=9を有する7つのリスト「A」〜「G」は存在する場合、そのセルのヒストグラムは、各可能なスコアを表す10個の帯を有し得る。4番目の帯は各可能なスコアを表す10個の帯を有する可能性がある。4番目の帯はリストAを含み、6番目の帯はリストBを含み、7番目の帯はリストC及びDの双方を含み、残りの帯も同様に埋められる。   In that regard, a histogram can be created for each region cell associated with a map area. The histogram is filled with the list contained within the cell, and each band of the histogram is associated with a different range of scores. Thus, the highest possible score in the list is 10, the lowest possible score is 1, and scores A = 4, B = 6, C = 7, D = 7, E = 8 in a particular cell. , F = 9, G = 9, if there are seven lists “A”-“G”, the histogram of that cell may have 10 bands representing each possible score. The fourth band may have 10 bands representing each possible score. The fourth band contains list A, the sixth band contains list B, the seventh band contains both lists C and D, and the remaining bands are filled as well.

ヒストグラムが埋められた後、サーバーはヒストグラムを最高の帯から最低の帯まで反復する。この反復は帯内のセルの数の中間結果を保持し、中間結果が密度閾値を超えるまで進行を継続する。上記のセル例を用いると、density_threshold(Q)=5である場合、帯10における中間結果はゼロであり、帯9における中間結果は2であり(リストF、G)、帯8における中間結果は3であり(F,G,E)、帯7における中間結果は5である(F,G,E,C,D)ので、サーバーはスコア7のリストで停止する。   After the histogram is filled, the server repeats the histogram from the highest band to the lowest band. This iteration keeps an intermediate result for the number of cells in the band and continues to progress until the intermediate result exceeds the density threshold. Using the above cell example, if density_threshold (Q) = 5, the intermediate result in band 10 is zero, the intermediate result in band 9 is 2 (list F, G), and the intermediate result in band 8 is Since it is 3 (F, G, E) and the intermediate result in band 7 is 5 (F, G, E, C, D), the server stops at the list with score 7.

セル内のリストのスコア、及びセルの密度閾値に基づいて、スコアに基づく閾値をこのようにセルに割り当てることができる。上記の例を用いると、密度閾値が5でありスコア7以上の5つのリストが存在するので、セルQのスコア閾値は7となる。   Based on the score of the list in the cell and the density threshold of the cell, a threshold based on the score can thus be assigned to the cell. When the above example is used, the density threshold is 5 and there are five lists with a score of 7 or more, so the score threshold of cell Q is 7.

次に、スコアに基づく閾値及びセルの識別情報を用いてリストを再クエリする。たとえば、元のクエリ(ロケーションなし)を再び用いてリストを引き出すが、今回は、クエリはセル及び最小スコアの双方を特定する(たとえば、「スコア9を有しかつセルQ内にあるか、又はスコア3を有しかつセルR内にあるか、又はスコア9を有しセルS内にある「pizza」のすべてのリスト」)。これによって、マップデータベースは既に密度に関してフィルタリングされたリストの集合を返すことが可能になる。   The list is then re-queried using the score-based threshold and cell identification information. For example, the original query (without location) is used again to retrieve the list, but this time the query identifies both the cell and the minimum score (eg, “has score 9 and is in cell Q, or “All lists of“ pizza ”with score 3 and in cell R, or in cell S with score 9”). This allows the map database to return a list of lists already filtered for density.

上述したように、密度に基づいて検索結果を表示する1つのシステム及び方法は、1つのエリアにおけるリストを他のエリアにおけるリストと比較することを含む。エリアが重複しない場合、アーチファクトが現れ得る可能性がある。図11〜図13は、説明の目的で極端な例を示す。図11に示すように、外側のセルが有するリストがわずかであり密度が低い、9個のセルが存在する。内側のセルは多くのリストを有し、密度が高い。   As described above, one system and method for displaying search results based on density includes comparing a list in one area with a list in another area. If the areas do not overlap, artifacts can appear. FIGS. 11-13 show extreme examples for illustrative purposes. As shown in FIG. 11, there are nine cells with a small list and a low density of the outer cells. The inner cell has many lists and is dense.

図12は、リスト1210のような選択されたリストが境界1220等のそれらのセル境界に対してどこに現れる可能性があるかを示している。各ドットは選択されたリスト及びセル内のその位置を表している。図12は、これらのリストがマップ上に描画されたときにどのように見えるかを示している。中心セル内のリストと他のセル内のリストとの相違に起因して、図13に示すようにリストがマップ上に描画されるときに中央セルの境界の不明確な輪郭が見える場合がある(たとえばグリッドアーチファクト)。このため、ユーザーは領域の店がマップ1320の中央の正方形130内に群がっていると不適切に結論付ける場合がある。しかしながら、正方形形状は領域セルの位置に応じたものであり、マップの実際の地理的特徴又はその関連付けられたリストを表すものではない。   FIG. 12 shows where a selected list, such as list 1210, may appear relative to those cell boundaries, such as boundary 1220. Each dot represents the selected list and its position in the cell. FIG. 12 shows how these lists look when drawn on the map. Due to the difference between the list in the center cell and the list in other cells, an unclear outline of the boundary of the center cell may be seen when the list is drawn on the map as shown in FIG. (Eg grid artifacts). Thus, the user may inappropriately conclude that the area stores are clustered within the central square 130 of the map 1320. However, the square shape is a function of the location of the area cell and does not represent the actual geographical feature of the map or its associated list.

本システム及び本方法の1つの態様において、本システム及び本方法は密度を求めるのに用いられる地理的エリアに関連付けられた潜在的なアーチファクトを軽減するように表示されるリストを選択する。境界を曖昧にする1つの可能な方法は、平滑化プロセスを用いることである。リストは、他のセルに対する該リストのセルの密度にのみ基づくのではなく、他のセルに対する個々のリストの位置にも基づいて選択することができる。そのような平滑化プロセスが図13のリストに適用される場合、選択されたリストは相対的密度を示し続けるが、上述した視覚アーチファクトはあまり示さない。図14は平滑化プロセスを図13示すリストに適用した1つの可能な結果を示している。   In one aspect of the system and method, the system and method select a list that is displayed to mitigate potential artifacts associated with the geographic area used to determine the density. One possible way to obscure the boundary is to use a smoothing process. The list can be selected not only based on the density of the cells of the list relative to other cells, but also based on the position of individual lists relative to other cells. When such a smoothing process is applied to the list of FIG. 13, the selected list continues to show relative density, but does not show much of the visual artifacts described above. FIG. 14 shows one possible result of applying the smoothing process to the list shown in FIG.

平滑化を実行する1つの技法は以下の通りである。図15のリスト1510等、表示されることが検討されるリスト毎に、リストに最も近い4つのセルC0〜C3が特定される。   One technique for performing smoothing is as follows. For each list that is considered to be displayed, such as the list 1510 in FIG. 15, the four cells C0 to C3 that are closest to the list are identified.

セルのスコア閾値が確定される。(リストが欠落していることに起因して)スコア閾値がない場合、ゼロのスコア閾値が割り当てられる。   A score threshold for the cell is established. If there is no score threshold (due to missing lists), a score threshold of zero is assigned.

セルの中心も見つけられる。リスト1510がこれらの中心によって形成される矩形1520内に位置する場合、線形補間を用いてリスト位置におけるスコア値を求めることができる。たとえば、(xL,yL)がリストの座標であり、かつ(x0,y0)がC0の座標である場合、式を以下のように導出することができる。
(1−u)*x0+u*x2=xL
(1−v)*y0+v*y1=yL
inh=(1−v)*((I−u)*z0+u*z2)+v*((1−u)*z1+u*z3)
ここで、0≦u<1及び0≦v<1であり、inhはスコア閾値である。
You can also find the center of the cell. If the list 1510 is located within a rectangle 1520 formed by these centers, the score value at the list position can be determined using linear interpolation. For example, if (xL, yL) is the coordinates of the list and (x0, y0) is the coordinates of C0, the equation can be derived as follows:
(1-u) * x0 + u * x2 = xL
(1-v) * y0 + v * y1 = yL
inh = (1-v) * ((I-u) * z0 + u * z2) + v * ((1-u) * z1 + u * z3)
Here, 0 ≦ u <1 and 0 ≦ v <1, and inh is a score threshold.

第3の式はスコア閾値z0,..,z3を、それらがセルの中心に割り当てられているかのように用いる。上記の3つのパラメーター式は、4つの中心の矩形内の双曲放物面シート(サドル)を確定するはずである。   The third equation is score thresholds z0,. . , Z3 are used as if they were assigned to the center of the cell. The above three parameter equations should establish a hyperbolic paraboloid sheet (saddle) within the four central rectangles.

このプロセスがすべての適用可能なセルに拡張される場合、セルによってカバーされるエリアの任意の点におけるスコア閾値を提供する連続平面が得られる。最初の2つの式から、u及びvを取得することができる。
u=(xL−x0)/(x2−x0)
v=(yL−y0)/(yl−y0)
If this process is extended to all applicable cells, a continuous plane is obtained that provides a score threshold at any point in the area covered by the cell. From the first two equations, u and v can be obtained.
u = (xL-x0) / (x2-x0)
v = (yL-y0) / (yl-y0)

inhの値は、u及びvの値を上記の第3の式にプラグインするによって取得することができる。最終的には、リストのスコアがinhよりも低い場合、リストはフィルタリング除去される。   The value of inh can be obtained by plugging in the values of u and v into the third equation above. Eventually, if the score of the list is lower than inh, the list is filtered out.

これらの平滑化されたスコア閾値を用いて(上述したように)データベースをクエリすることができる。それに応答して、サーバーは応答リストを選択するが、今回は選択されたリストは平滑化なしのときよりも現れるセルアーチファクトが少なくなる。   These smoothed score thresholds can be used to query the database (as described above). In response, the server selects a response list, but this time the selected list has fewer cell artifacts than it appears without smoothing.

上述した技法は、線形平滑化の形式を用いてリストをフィルタリングし、セルアーチファクトを除去する。しかしながら、本システム及び本方法はいかなる特定のプロセスにも限定されない。たとえば、3次平滑化を用いることもできる。3次平滑化は、中心よりも境界においてスコア閾値をより変更する傾向があり、このため、近傍のセルの密度が比較的大きく異なる場合、より視覚的に満足のいく結果を提供する傾向にある。   The technique described above filters the list using a form of linear smoothing to remove cell artifacts. However, the system and method are not limited to any particular process. For example, cubic smoothing can be used. Cubic smoothing tends to change the score threshold more at the boundary than at the center, and therefore tends to provide a more visually pleasing result when the density of neighboring cells differs relatively greatly. .

密度等に基づいて他のリストが選択されると、サーバーはロケーションに対する他のリストの画像を作成する。たとえば、サーバーは図16に示すようなビットマップ画像1610を作成することができる。1つの態様では、画像はユーザーに表示されるマップエリアに等しくなるようにサイズ調整される。サーバーは黒いドット1620等の、マップの選択されたリストのインジケーションを描画する。   If another list is selected based on density or the like, the server creates an image of the other list for the location. For example, the server can create a bitmap image 1610 as shown in FIG. In one aspect, the image is sized to be equal to the map area displayed to the user. The server renders an indication of the selected list of maps, such as black dots 1620.

ドットの位置はリストの地理的ロケーションに対応する。このため、他のリストに対するドット1620の位置は他のリストの緯度/経度位置に対するリストの緯度/経度位置に比例する。   The dot position corresponds to the geographical location of the list. Thus, the position of the dot 1620 relative to the other list is proportional to the latitude / longitude position of the list relative to the latitude / longitude position of the other list.

画像の背景は、領域1630によって示される背景等のように透明とすることができる。たとえば、画像がPNG形式で作成された場合、他のリストのアイコン(又は他のインジケーション)によって占有されていないピクセルは透明であるとしてフラグ付けされる。   The background of the image can be transparent, such as the background indicated by region 1630. For example, if an image was created in PNG format, pixels not occupied by other list icons (or other indications) are flagged as transparent.

別の態様では、図16に示すオーバーレイ画像はユーザーに送信されたマップタイルに合致する区画に分割することができる。   In another aspect, the overlay image shown in FIG. 16 can be divided into sections that match the map tiles sent to the user.

次に、他のリストのオーバーレイ画像1610がサーバーによってクライアントコンピューターに送信される。本システム及び本方法の1つの態様において、他のリストのインジケーションがサーバーによって既に選択され描画されている場合、クライアントコンピューターのプロセッサはリスト及び該リストの位置に関して計算を一切行う必要がない。本システム及び本方法は、スコア閾値をクライアントコンピューターに送信することもできる。   Next, another list of overlay images 1610 is sent by the server to the client computer. In one aspect of the system and method, if other list indications are already selected and rendered by the server, the client computer processor does not need to perform any calculations on the list and the position of the list. The system and method can also send a score threshold to a client computer.

図17に示すように、クライアントコンピューターはマップ及び画像オーバーレイをウェブブラウザーにおいて組み立てる。オーバーレイは、他のリストのインジケーション1710がマップの上のそれぞれの位置に現れるように、マップの上部のレイヤーに描画される。オーバーレイレイヤーの背景は透明であるので、マップタイルは、領域1720内の湖等、インジケーションがないエリアを透かして見せることになる。   As shown in FIG. 17, the client computer assembles the map and image overlay in a web browser. Overlays are drawn on the top layer of the map so that other lists of indications 1710 appear at their respective positions on the map. Since the background of the overlay layer is transparent, the map tile will show through an area without indication, such as a lake in the area 1720.

クライアントコンピューターは、マップの上部のレイヤー上のアイコン1730として上位リストを描画し、他のリストを描画する。クライアントコンピューターはマップに隣接する上位リストのテキスト説明1740をさらに提供する。上述したように、上位リストのアイコン1730は、ユーザー動作に応答して動作を実行し、テキスト説明に対して実行されたユーザー動作にも応答する。   The client computer draws the upper list as the icon 1730 on the upper layer of the map and draws another list. The client computer further provides a text description 1740 of the top list adjacent to the map. As described above, the upper list icon 1730 performs an action in response to a user action and also responds to a user action performed on the text description.

それに関して、図17は、
(a)ユーザーのクエリ及び他の要因に基づいてユーザーが関心がある可能性が最も高い地理的ロケーションを有する特徴のセットを表すグラフィカルインジケーションであって、サーバーによって提供されたテキストデータをクライアントコンピューターが処理することによってアイコンが表示される、グラフィカルインジケーション、
(b)ユーザーが関心がある可能性はより低いが依然としてユーザーのクエリに合致する地理的ロケーションを有する特徴の別のセットを表すグラフィカルインジケーション、
(c)ユーザーの要求に応じて全ての特徴の相対的密度を表すように選択された他の特徴のグラフィカルインジケーション、
(d)クライアントコンピューターが他の特徴をより簡単に表示することができるようにサーバーによって画像として予めレンダリングされるグラフィカルインジケーション、
(e)特徴のうちの少なくともいくつかのテキストリスト、及び
(f)サーバーによって提供されるリストに比べて、ユーザーによって選択された任意の単語を含むクエリ、
を含む組み合わせで本システム及び本方法の多岐にわたる態様を示している。
In that regard, FIG.
(A) a graphical indication representing a set of features having a geographical location that is most likely of interest to the user based on the user's query and other factors, wherein the text data provided by the server is represented on the client computer; Graphical indication, icon is displayed by processing
(B) a graphical indication representing another set of features that are less likely to be of interest to the user but still have a geographic location that matches the user's query;
(C) graphical indications of other features selected to represent the relative density of all features as required by the user;
(D) a graphical indication that is pre-rendered as an image by the server so that the client computer can more easily display other features;
(E) a text list of at least some of the features, and (f) a query that includes any word selected by the user compared to the list provided by the server,
Various aspects of the system and method are shown in combinations including:

本システム及び本方法の1つの態様において、クライアントコンピューターは、他のリストとのインタラクションを可能にする情報も提供される。たとえば、クライアントコンピューターのユーザーがマップ上でマウスカーソルをホバリングするとき、クライアントコンピューターはマウスカーソルの下のタイルを識別し、そのタイル(又はマウスカーソルの下の4分の1タイル等の一部分)に関連付けられた他のリストに関する情報の要求を送信することができる。それに応じて、サーバーは、リスト毎に、サーバーにおける該リストの識別番号、マップ上の該リストの位置(ピクセル単位)を特定するJSON形式のデータ等、タイル内の他のリストのそれぞれに関連付けられた情報を送信することができる。ユーザーがマップをクリックする場合、クライアントコンピューターはこの情報を用いてユーザーが他のリストのうちの1つをクリックしたか否かを判断し、クリックした場合、サーバーからリストに関するさらなる情報を取得し表示する。   In one aspect of the system and method, the client computer is also provided with information that allows interaction with other lists. For example, when a user of a client computer hovers the mouse cursor on the map, the client computer identifies the tile under the mouse cursor and associates it with that tile (or a portion such as a quarter tile under the mouse cursor) Requests for information about other lists submitted can be sent. Accordingly, for each list, the server is associated with each of the other lists in the tile, such as the identification number of the list on the server, JSON-formatted data that identifies the position (in pixels) of the list on the map. Information can be sent. When the user clicks the map, the client computer uses this information to determine whether the user clicked one of the other lists, and if clicked, retrieves and displays further information about the list from the server To do.

上述したように、本システム及び本方法は、サーバー及びデータベースのいかなる特定の構成にも限定されない。そうであっても、本システム及び本方法は、別個の機能を実行するデータベース及びサーバーと関連して用いたときに特に有利である。例としてのみであるが、1つのサーバーがクエリを作成し、リストを返すことができるのに対し、別のサーバーがそのクエリを解析する。それに関して、かつ上述したように、本システム及び本方法は第2のサーバーが、自身でリストを選抜し再処理するのではなく、第1のサーバーに再クエリすることが可能になる。   As mentioned above, the system and method are not limited to any particular configuration of servers and databases. Even so, the present system and method are particularly advantageous when used in conjunction with databases and servers that perform separate functions. By way of example only, one server can create a query and return a list, while another server parses the query. In that regard, and as described above, the present system and method allows a second server to requery the first server rather than selecting and reprocessing the list on its own.

さらに、本方法は、上述したように、サーバーとクライアントコンピューターシステムとの間で分割される必要はない。本発明の1つの態様では、サーバーは他のリストの画像をマップ上に直接組み立て、他のリストのマップ及びインジケーションを単一の合成された画像として送信することができる。   Furthermore, the method need not be divided between the server and the client computer system, as described above. In one aspect of the invention, the server can assemble other lists of images directly on a map and send the other lists of maps and indications as a single composite image.

上記で説明したようなユーザーが閲覧しているマップエリア及び解析されているマップエリアは同一である必要はないことも理解されよう。たとえば、本システム及び本方法は、現在ユーザーに表示されていないタイル及び地理的エリアを解析することができる。ユーザーがマップをパンしたときに、新たなクエリのセット及び解析を実行することを回避するために、そのようなタイル及び地理的エリアをクライアントコンピューターに送信することもできる。   It will also be appreciated that the map area being viewed by the user as described above and the map area being analyzed need not be the same. For example, the system and method can analyze tiles and geographic areas that are not currently displayed to the user. Such tiles and geographic areas can also be sent to the client computer to avoid performing a new set of queries and analysis when the user pans the map.

実際に、本システム及び本方法の1つの態様は、マップをパンすることによって他のリストの密度が変化しない限り特に有利である(図7及び図8に関する上記の記述を参照されたい)。   In fact, one aspect of the present system and method is particularly advantageous as long as the density of the other lists does not change by panning the map (see the description above with respect to FIGS. 7 and 8).

上記の代替的な実施形態のほとんどは互いに矛盾するものではなく、様々な組み合わせで実施して一意の利点を達成することができる。上記で検討した特徴のこれらの変形形態及び組み合わせ、並びに他の変形形態及び組み合わせは、特許請求の範囲によって規定した本発明から逸脱することなく利用することができるので、実施形態の上述した説明は、特許請求の範囲のよって規定されるような本発明を限定するものではなく説明するものとして受け取られるべきである。   Most of the alternative embodiments described above are not inconsistent with each other and can be implemented in various combinations to achieve unique advantages. These variations and combinations of the features discussed above, as well as other variations and combinations, can be utilized without departing from the invention as defined by the claims, so the foregoing description of the embodiments is The invention as defined by the claims is to be taken as illustrative rather than limiting.

本発明は、画像マッピングシステム及び方法、並びに密度分布解析及びマッピング技法を含むがそれらに限定されない幅広い産業上の利用可能性を享受する。   The present invention enjoys a wide range of industrial applicability, including but not limited to image mapping systems and methods, and density distribution analysis and mapping techniques.

Claims (16)

格納された命令を有するメモリと該メモリに結合されたプロセッサとを備えたコンピューターシステム上で実行される、エリアをカバーするマップを提供する方法であって、
前記プロセッサが、前記命令を実行して、クエリを受信するステップであって、該クエリは検索語及び検索エリアを有する、受信するステップと、
前記プロセッサが、前記命令を実行して、適合するリストを求めるステップであって、該適合するリストは、前記検索語に対応する情報を有する、前記検索エリア内の地理的ロケーションに関連付けられたリストを含む、求めるステップと、
前記プロセッサが、前記命令を実行して、前記検索エリアを複数の領域に分割し、該領域毎に適合するリストの数を選択するステップであって、各前記領域について、前記適合するリストの前記選択された数は、該領域内の前記適合するリストの密度に比例する、分割し選択するステップと、
前記プロセッサが、前記命令を実行して、所与の領域内の前記適合するリスト毎にスコアを求めるステップと、
前記プロセッサが、前記命令を実行して、前記適合するリストに関連付けられた地理的ロケーションと、前記所与の領域内のロケーションとの間の距離に基づいて、前記所与の領域内の前記適合するリスト毎に前記スコアを平滑化するステップと、
前記プロセッサが、前記命令を実行して、前記所与の領域内の前記適合するリスト毎に前記平滑化されたスコアを用いるステップであって、前記所与の領域について前記適合するリストの数を選択する、用いるステップと、
前記プロセッサが、前記命令を実行して、前記検索エリアのマップ、及び前記検索エリア内の前記領域毎の前記選択された数の適合するリストに関する情報を提供するステップと
を含んでなる、エリアをカバーするマップを提供する方法。
A method of providing a map covering an area executed on a computer system comprising a memory having stored instructions and a processor coupled to the memory, the method comprising:
The processor executing the instructions to receive a query , the query having a search term and a search area;
The processor executing the instructions to determine a matching list , the matching list having information corresponding to the search term associated with a geographic location in the search area; The step of asking, including
The processor executing the instructions to divide the search area into a plurality of regions and select a number of lists that match for each region; Splitting and selecting, wherein the selected number is proportional to the density of the matching list in the region;
Said processor executing said instructions to determine a score for each said matching list in a given region;
The processor executes the instructions to determine the match in the given region based on a distance between a geographic location associated with the match list and a location in the given region. Smoothing the score for each list to be performed;
The processor executing the instructions to use the smoothed score for each matching list in the given region, wherein the number of matching lists for the given region is Selecting, using, and
The processor executing the instructions to provide information on the map of the search area and the selected number of matching lists for each of the areas in the search area; How to provide a map to cover.
前記リストは、該リストが前記検索語を含む情報を有するときに該検索語に対応する情報を有する、請求項1に記載の方法。  The method of claim 1, wherein the list has information corresponding to the search term when the list has information that includes the search term. 前記適合するリストは、所在地住所に関連付けられたビジネスリストを含む、請求項2に記載の方法。  The method of claim 2, wherein the matching list includes a business list associated with a street address. 前記検索エリアは、前記ユーザーに表示されるマップの座標から求められる、請求項1に記載の方法。  The method of claim 1, wherein the search area is determined from the coordinates of a map displayed to the user. 前記複数の領域は実質的に面積が等しい、請求項1に記載の方法。  The method of claim 1, wherein the plurality of regions are substantially equal in area. 前記領域毎の前記選択された数の適合するリストに関する前記情報は、該選択された数の適合するリストのうちの少なくとも1つにおける前記ロケーションを示す第2のマップを含む、請求項1に記載の方法。  The information about the selected number of matching lists for each region includes a second map indicating the location in at least one of the selected number of matching lists. the method of. 前記プロセッサが、前記命令を実行して、前記第2のマップを前記検索エリアの前記マップと合成するステップをさらに含む、請求項6に記載の方法。The method of claim 6, further comprising the processor executing the instructions to combine the second map with the map of the search area. 前記領域毎の前記選択された数の適合するリストに関する前記情報は、該選択された数の適合するリストのうちの少なくとも1つに関するテキストデータを含む、請求項1に記載の方法。  The method of claim 1, wherein the information regarding the selected number of matching lists for each region includes text data regarding at least one of the selected number of matching lists. エリアをカバーするマップを提供するシステムであって、
格納された命令を有するメモリと、
前記メモリに結合され、該メモリに格納された前記命令を実行するように構成されたプロセッサであって、それによって、
クエリを受信し、ここで、該クエリは検索語及び検索エリアを含み、
適合するリストを求め、ここで、該適合するリストは前記検索語に対応する情報を有する前記検索エリア内の地理的ロケーションに関連付けられたリストを含み、
前記検索エリアを複数の領域に分割し、該領域毎に前記リストの数を選択し、ここで、各該領域について、前記適合するリストの前記選択された数は該領域内の前記適合するリストの密度に比例しており、
所与の領域内の前記適合するリスト毎にスコアを求め、
前記適合するリストに関連付けられた前記地理的ロケーションと前記所与の領域内のロケーションとの間の距離に基づいて前記所与の領域内の前記適合するリスト毎に前記スコアを平滑化し、
前記所与の領域内の前記適合するリスト毎の前記平滑化されたスコアを用いて該所与の領域の前記適合するリストの数を選択し、
前記検索エリアのマップ及び該検索エリア内の前記領域毎の前記選択された数の適合するリストに関する情報を提供するものである、プロセッサと
を備えてなる、エリアをカバーするマップを提供するシステム。
A system that provides a map that covers an area,
A memory having stored instructions;
A processor coupled to the memory and configured to execute the instructions stored in the memory, thereby
Receiving a query, wherein the query includes a search term and a search area;
Seeking a matching list, wherein the matching list includes a list associated with a geographic location in the search area having information corresponding to the search term;
The search area is divided into a plurality of regions, and the number of lists is selected for each region, where for each region, the selected number of the matching lists is the matching list within the region. Is proportional to the density of
Find a score for each said matching list in a given region,
Smoothing the score for each matching list in the given area based on a distance between the geographic location associated with the matching list and a location in the given area;
Selecting the number of matching lists for the given region using the smoothed score for each matching list in the given region;
A system for providing an area-covering map comprising: a processor for providing information about the search area map and the selected number of matching lists for each of the areas in the search area.
前記リストは、該リストが前記検索語を含む情報を有するときに該検索語に対応する情報を有する、請求項9に記載のシステム。  The system of claim 9, wherein the list has information corresponding to the search term when the list has information that includes the search term. 前記適合するリストは、所在地住所に関連付けられたビジネスリストを含む、請求項9に記載のシステム。  The system of claim 9, wherein the matching list includes a business list associated with a street address. 前記検索エリアは、前記ユーザーに表示されるマップの座標から求められる、請求項9に記載のシステム。  The system according to claim 9, wherein the search area is obtained from coordinates of a map displayed to the user. 前記複数の領域は実質的に面積が等しい、請求項9に記載のシステム。  The system of claim 9, wherein the plurality of regions are substantially equal in area. 前記領域毎の前記選択された数の適合するリストに関する前記情報は、該選択された数の適合するリストのうちの少なくとも1つの前記ロケーションを示す第2のマップを含む、請求項9に記載のシステム。  The information about the selected number of matching lists for each region includes a second map indicating at least one of the locations of the selected number of matching lists. system. 前記プロセッサは、前記検索エリアの前記マップを用いて前記第2のマップを合成するための命令を実行するようにさらに構成される、請求項14に記載のシステム。  The system of claim 14, wherein the processor is further configured to execute instructions for synthesizing the second map using the map of the search area. 前記領域毎の前記選択された数の適合するリストの数に関する前記情報は、該選択された数の適合するリストのうちの少なくとも1つに関するテキストデータを含む、請求項9に記載のシステム。  The system of claim 9, wherein the information regarding the number of the selected number of matching lists per region includes text data regarding at least one of the selected number of matching lists.
JP2011548213A 2009-01-26 2010-01-26 System and method for displaying search results based on density Active JP5054234B2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US12/359,715 2009-01-26
US12/359,734 US8938446B2 (en) 2009-01-26 2009-01-26 System and method of transmitting search results based on arbitrary queries
US12/359,715 US8037166B2 (en) 2009-01-26 2009-01-26 System and method of displaying search results based on density
US12/359,734 2009-01-26
PCT/US2010/022079 WO2010085791A1 (en) 2009-01-26 2010-01-26 System and method of displaying search results based on density

Publications (2)

Publication Number Publication Date
JP2012515994A JP2012515994A (en) 2012-07-12
JP5054234B2 true JP5054234B2 (en) 2012-10-24

Family

ID=42356245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011548213A Active JP5054234B2 (en) 2009-01-26 2010-01-26 System and method for displaying search results based on density

Country Status (4)

Country Link
EP (1) EP2389625A1 (en)
JP (1) JP5054234B2 (en)
BR (1) BRPI1007184A2 (en)
WO (1) WO2010085791A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013080329A1 (en) 2011-11-30 2013-06-06 楽天株式会社 Information processing device, information processing method, program for information processing device, and recording medium
US9767484B2 (en) * 2012-09-11 2017-09-19 Google Inc. Defining relevant content area based on category density
KR102068788B1 (en) 2013-02-01 2020-01-22 삼성전자 주식회사 Server for offering service targetting user and service offering method thereof
JP5936571B2 (en) * 2013-03-22 2016-06-22 株式会社ゼンリンデータコム Facility search device, facility search method, and facility search program
US9241240B2 (en) * 2013-09-05 2016-01-19 Facebook, Inc Techniques for server-controlled tiling of location-based information
US9465811B2 (en) * 2014-03-20 2016-10-11 Facebook, Inc. Polygon-based indexing of places
JP6926818B2 (en) * 2017-08-23 2021-08-25 セイコーエプソン株式会社 Profile adjustment system, profile adjustment device, profile adjustment method, and profile adjustment program
JP2020113184A (en) * 2019-01-16 2020-07-27 株式会社ぐるなび Information processing system, information processing method, and information processing program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060041375A1 (en) * 2004-08-19 2006-02-23 Geographic Data Technology, Inc. Automated georeferencing of digitized map images
US20080065685A1 (en) * 2006-08-04 2008-03-13 Metacarta, Inc. Systems and methods for presenting results of geographic text searches
US20080172244A1 (en) * 2007-01-16 2008-07-17 Gb Internet Solutions, Inc. Systems And Methods For Displaying Current Prices, Including Hotel Room Rental Rates, With Markers Simultaneously On A Map
US8739123B2 (en) * 2007-05-28 2014-05-27 Google Inc. Incorporating gadget functionality on webpages

Also Published As

Publication number Publication date
EP2389625A1 (en) 2011-11-30
WO2010085791A8 (en) 2011-08-04
BRPI1007184A2 (en) 2016-10-11
JP2012515994A (en) 2012-07-12
WO2010085791A1 (en) 2010-07-29

Similar Documents

Publication Publication Date Title
US8954561B2 (en) System and method of displaying search results based on density
US8938446B2 (en) System and method of transmitting search results based on arbitrary queries
JP5054234B2 (en) System and method for displaying search results based on density
US8504945B2 (en) Method and system for associating content with map zoom function
US9449333B2 (en) Online advertising associated with electronic mapping systems
US8490025B2 (en) Displaying content associated with electronic mapping systems
JP5334911B2 (en) 3D map image generation program and 3D map image generation system
CN102224498B (en) Computer-implemented method for providing location related content to a mobile device
JP5739874B2 (en) Search system and method based on orientation
US8947421B2 (en) Method and server computer for generating map images for creating virtual spaces representing the real world
US20090003657A1 (en) System and Method for Grouping and Visualizing Data
US10018480B2 (en) Point of interest selection based on a user request
US8341156B1 (en) System and method for identifying erroneous business listings
US11709881B2 (en) Visual menu
US8346751B1 (en) Hierarchial category index navigational system
JP2017507589A (en) Method and apparatus for geofence provisioning
WO2013016172A1 (en) System and method of providing information based on street address
US20150371430A1 (en) Identifying Imagery Views Using Geolocated Text
US20150154228A1 (en) Hierarchical spatial clustering of photographs
CN112236764A (en) Outside-view position indication for digital cartography
WO2018080422A1 (en) Point of interest selection based on a user request
EP2620749B1 (en) Indexing system of spatial information for combined SOI object and content
US20150261858A1 (en) System and method of providing information based on street address
CN104866529B (en) For providing the computer implemented method of location dependent content to mobile equipment
US20090005970A1 (en) System and Method for Displaying Geographical Information

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120607

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120629

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120726

R150 Certificate of patent or registration of utility model

Ref document number: 5054234

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250