以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、地図表現データとユーザとを対応づけており、地図表現データと共に他のユーザの位置を、ユーザに配信する情報処理装置を有する情報システムについて説明する。
また、本実施の形態において、地図表現データには予め決められた条件を満たすユーザの位置を特定できる位置特定情報が対応付いている場合について説明する。なお、予め決められた条件を満たす位置特定情報は、例えば、予め決められた条件を満たす状態の端末装置の位置特定情報である。また、予め決められた条件を満たす位置特定情報は、例えば、登録者の端末装置の位置特定情報等である。
また、本実施の形態において、位置特定情報を用いて、領域を特定する領域特定情報が対応付いている地図表現データを検索する情報システムについて説明する。
さらに、本実施の形態において、検索して取得した複数の地図表現データをソートして出力する情報システム等について説明する。
図1は、本実施の形態における情報システムAの概念図である。情報システムAは、情報処理装置1、および1または2以上の端末装置2を備える。情報処理装置1は、いわゆるサーバ装置であり、例えば、クラウドサーバ、ASPサーバ等、その種類は問わない。端末装置2は、ユーザが使用する端末であり、いわゆるスマートフォン、タブレット端末、ノートパソコン、PC等、その種類は問わない。
図2は、本実施の形態における情報システムAのブロック図である。
情報システムAを構成する情報処理装置1は、格納部11、受信部12、処理部13、および送信部14を備える。
格納部11は、地図表現データ格納部111、ユーザ情報格納部112、および位置特定情報格納部113を備える。
受信部12は、ユーザ位置情報受信部121、および要求指示受信部122を備える。
処理部13は、データ取得部131、ソート部132、スコア取得部133、および第二データ取得部134を備える。
端末装置2は、端末格納部21、端末受付部22、端末処理部23、端末送信部24、端末受信部25、および端末出力部26を備える。
情報処理装置1を構成する格納部11には、各種の情報が格納される。各種の情報とは、例えば、後述する地図表現データ、後述するユーザ情報、後述する位置特定情報、地名情報と位置情報との対の情報である。なお、地名情報とは、地名を示す情報であり、例えば、地名、地点名、名勝の名前、駅名、ランドスケープの名前、都道府県名、市町村名、観光スポットの名前等である。位置情報は、位置を示す情報であり、通常、(緯度、経度)であるが、位置を示す情報であれば何でも良い。
また、各種の情報とは、例えば、後述するスコアを算出するための演算式、スコアを取得するための表であるスコア表である。演算式は、例えば、地図表現データの1以上の属性値をパラメータとする式であり、その具体例は後述する。スコア表は、地図表現データの1以上の各属性値または属性値の組み合わせと対に、スコアまたはスコアの元になる元データを格納している表である。
また、各種の情報とは、例えば、地名位置対応表である。地名位置対応表は、地名情報と位置情報との対応を示す表である。
地図表現データ格納部111には、2以上の地図表現データが格納される。地図表現データは、地図を表現したデータである。地図表現データは、表現する地理的な領域が限られている情報である。地図表現データは、地図表現データを識別する地図識別子と対応付いていることは好適である。地図識別子は、例えば、ID、地図表現データを有するファイル名、地図表現データの名称等である。地図表現データは、例えば、古地図、イラストマップ、略地図、手書き地図等であるが、その種類は問わない。地図表現データは、通常、画像データであるが、ベクトルデータ等でも良く、データ構造は問わない。地図表現データは、1または2以上の属性値に対応付けられている。1以上の属性値は、地図表現データの属性値である。属性値は、地図表現データの性質や特徴などを示す情報である。地図表現データに対応付けられている1以上の属性値は、領域特定情報を含む。領域特定情報は、地図表現データが表す領域を特定する情報である。領域は、通常、矩形であるが、三角形、八角形、円形等の、矩形以外の形状も良い。地図表現データが表す領域は、地図表現データが表現している領域と言っても良い。領域特定情報は、例えば、(緯度,経度)の集合である。また、領域特定情報は、例えば、基準点からの相対的な座標を示す情報の集合である。ただし、領域特定情報のデータ構造は問わず、領域を特定する情報であれば良い。
地図表現データに対応付けられている1以上の属性値は、例えば、静的な属性値である静的属性値である。また、地図表現データに対応付けられている1以上の属性値は、例えば、動的に変化する動的属性値である。1以上の属性値は、1以上の静的属性値と1以上の動的属性値を含んでも良い。静的属性値は、例えば、地図表現データの地図としての縮尺率(適宜、単に「縮尺率」という)、地図表現データが示す領域の地図上での実施の面積(適宜、単に「面積」という)、地図の内容を示す内容情報である。内容情報は、地図表現データの完成度、地図表現データのテーマ、地図表現データに対応するメタデータ、キーワード等である。メタデータ、キーワードは、例えば、地図表現データの種類、地図表現データの領域に存在するランドスケープ名、地名等である。地図表現データの種類は、例えば、テーマパークの地図であることを示す「テーマパーク」、観光用の地図であることを示す「観光地図」、特定の領域(例えば、学校など)の地図であることを示す情報等である。また、1以上の静的属性値は、例えば、位置特定情報が示す位置を明示することを示すフラグ、または位置特定情報が示す位置を明示できないことを示すフラグ等でも良い。動的属性値は、例えば、位置特定情報が示す位置と地図表現データを代表する地点との距離、地図表現データに対するユーザのアクションに関するユーザアクション情報である。
なお、地図表現データを代表する地点とは、例えば、地図表現データの重心点、地図表現データの端のいずれかの点、地図表現データの領域の境界を構成するいずれかの点である。
地図表現データは、ファイルに含まれることは好適である。ただし、地図表現データは、データベース内のデータでも良く、そのデータフォーマット、管理方法は問わない。地図表現データがファイルに含まれる場合、当該ファイルに2以上の地図表現データが含まれていても良い。また、一の地図表現データが2以上のファイルにより実現されても良い。つまり、一つの地図表現データが2以上のファイルに分割されていても良い。
ユーザアクション情報は、通常、履歴情報、現在情報のうち、1種類以上の情報を含む。履歴情報とは、過去から現在までのユーザの地図表現データに対する操作に基づく情報である。現在情報は、現在のユーザの地図表現データに対する操作に基づく情報である。履歴情報は、例えば、ユーザにより過去にダウンロードされた回数、ダウンロードしたユーザの1以上のユーザ識別子、月間ビュー数、平均アクセス時間、星の数、ランク等のユーザの評価値の平均、地図表現データへのユーザのコメント数(感想の数)である。ただし、履歴情報は、例えば、ユーザからの指示(例えば、ダウンロードの指示、端末装置2で未表示とする指示)、受信されたコメント、受信された評価値等でも良い。
現在情報は、例えば、端末装置2で、現在、出力されている地図表現データを識別する地図識別子、現在、出力されている地図表現データの出力時間(閲覧時間と言っても良い。)である。現在情報は、例えば、現在、閲覧中の1以上のユーザのユーザ識別子である。
ユーザ情報格納部112は、1または2以上のユーザ情報が格納される。ユーザ情報は、ユーザに関する情報である。ユーザ情報は、通常、ユーザを識別するユーザ識別子を有する。ユーザ情報は、例えば、ユーザ識別子と履歴情報とを有する。履歴情報は、ユーザの地図表現データに対する操作の履歴に関する情報である。履歴情報は、例えば、閲覧したまたはダウンロードした地図表現データを識別する地図識別子、地図表現データを閲覧した時間等である。また、ユーザ情報は、現在情報を有しても良い。ここでの現在情報は、例えば、現在、閲覧している地図表現データの地図識別子である。ユーザ情報は、例えば、当該ユーザの位置を特定する位置特定情報を送信しても良いか否かを示すフラグを有しても良い。なお、ユーザ識別子は、端末装置2を識別する端末識別子でも良い。ユーザ識別子は、例えば、ID、メールアドレス、電話番号、MACアドレス等である。
位置特定情報格納部113には、2以上の各地図表現データに対応付けて、1以上の位置特定情報が格納される。
位置特定情報とは、位置を特定する情報である。位置特定情報は、ユーザの位置を特定する情報と考えても良いし、端末装置2の位置を特定する情報と考えても良い。位置特定情報は、例えば、端末装置2が存在する現在位置を示す現在位置情報(例えば、(緯度,経度)の情報)である。
なお、位置特定情報は、ユーザが着目していると考えられる領域や地域の位置を特定する情報等でも良い。かかる場合、位置特定情報は、端末装置2で出力されている地図表現データまたは地図に対応する位置情報、または端末装置2で受け付けられた地名情報により特定される位置情報、端末装置2で出力されている地図表現データまたは地図、または端末装置2で受け付けられた地名情報である。また、端末装置2で出力されている地図表現データまたは地図に対応する位置情報は、端末装置2で出力されている地図表現データまたは地図の中心点の位置を示す情報、または端末装置2で出力されている地図表現データまたは地図の境界線上の任意の一点の位置を示す情報等である。
位置特定情報格納部113には、2以上の各地図表現データに対応付けて、予め決められた条件を満たす1以上のユーザの位置特定情報が格納されることは好適である。
ここで、予め決められた条件を満たす位置特定情報は、例えば、対応付けられている地図表現データに対応する端末装置2の位置を示す位置特定情報である。また、地図表現データに対応する端末装置2とは、例えば、当該地図表現データに対して予め決められた条件を満たす状態である端末装置2である。また、予め決められた条件を満たす状態である端末装置2とは、例えば、当該地図表現データを出力中の端末装置2、当該地図表現データをダウンロード済みの端末装置2、当該地図表現データを格納している端末装置2(通常、地図表現データをダウンロードし、削除していない端末装置2)、当該地図表現データに対して、予め決められた操作が行われた(例えば、お気に入りに入れられた等)端末装置2である。
また、地図表現データに対応する端末装置2とは、例えば、当該地図表現データに対して登録しているユーザの端末装置2である。
受信部12は、端末装置2から各種の情報や指示等を受信する。各種の情報や指示等とは、例えば、後述する要求指示、後述するユーザ位置情報、位置特定情報等である。
ユーザ位置情報受信部121は、位置特定情報とユーザ識別子との有するユーザ位置情報を受信する。
要求指示受信部122は、要求指示を端末装置2から受信する。要求指示とは、地図表現データの送信の指示である。要求指示は、地図表現データを特定する特定情報を含む。なお、特定情報は、例えば、地図識別子、位置特定情報、ユーザ識別子などである。特定情報が地図識別子の場合、例えば、当該地図識別子で識別される地図表現データが選択されても良いし、当該地図識別子で識別される地図表現データと予め決められた条件(例えば、後述するキャッシュ条件)を満たす地図表現データが選択されても良い。また、特定情報が位置特定情報の場合、当該位置特定情報により特定される位置に対応する地図表現データが選択される。特定情報がユーザ識別子の場合、当該ユーザ識別子と対になる地図表現データが選択される。
処理部13は、各種の処理を行う。各種の処理とは、例えば、データ取得部131、ソート部132、スコア取得部133、第二データ取得部134が行う処理である。
処理部13は、データ取得部131が取得した地図ユーザ情報から、当該地図ユーザ情報が有する位置特定情報が示す位置を、当該地図ユーザ情報が有する地図表現データ上に明示した位置付加地図表現データを構成する。なお、位置付加地図表現データを構成する処理は公知技術である。つまり、処理部13は、例えば、地図表現データに対応する領域特定情報により特定される領域内の、位置特定情報が示す位置の相対座標(X,Y)を取得する。そして、処理部13は、例えば、地図表現データの中の相対座標(X,Y)が示す箇所に、位置特定情報に対応する図柄(例えば、星印、黒丸など)を配置する。なお、位置特定情報が2以上存在する場合、2以上の図柄が地図表現データの上に配置される。
処理部13は、例えば、受信されたユーザ位置情報が有する位置特定情報を、当該ユーザ位置情報が有するユーザ識別子に対応付けて、格納部11に蓄積する。かかることにより、ユーザまたは端末装置2の現在位置を特定する位置特定情報が、ユーザ識別子に対応付けて蓄積される。
処理部13は、例えば、受信されたユーザ登録情報から登録すべきユーザ情報を構成し、ユーザ情報格納部112に蓄積する。処理部13は、例えば、ユーザ登録情報が受信された場合、ユニークなユーザ識別子を生成し、当該ユーザ識別子とユーザ登録情報が有する情報(例えば、氏名、年齢、性別、1以上の地図識別子等)とから、ユーザ情報を構成し、ユーザ情報格納部112に蓄積する。かかる処理は、ユーザ登録処理である。
データ取得部131は、要求指示が有する特定情報により特定される地図表現データと、当該地図表現データに対応付いている1以上の位置特定情報とを有する地図ユーザ情報を取得する。つまり、データ取得部131は、受信された要求指示が有する特定情報により特定される1以上の地図表現データを地図表現データ格納部111から取得する。また、データ取得部131は、取得した1以上の各地図表現データに対応付いている1以上の位置特定情報を位置特定情報格納部113から取得する。そして、データ取得部131は、地図表現データと当該地図表現データに対応付いている1以上の位置特定情報とを有する1以上の地図ユーザ情報を構成する。
ここで、データ取得部131は、1以上の位置特定情報を取得する場合に、予め決められた条件を満たす1以上の位置特定情報のみを取得しても良い。予め決められた条件を満たす1以上の位置特定情報とは、例えば、ユーザの位置を特定する位置特定情報を送信しても良いことを示すフラグと対になるユーザ識別子に対応する位置特定情報である。予め決められた条件を満たす1以上の位置特定情報とは、例えば、ユーザの位置を特定する位置特定情報を送信してはいけないことを示すフラグと対にならないユーザ識別子に対応する位置特定情報である。予め決められた条件を満たす1以上の位置特定情報とは、例えば、地図表現データに対して予め決められた条件を満たす状態である端末装置2の位置を特定する位置特定情報であることである。なお、予め決められた条件を満たす状態とは、例えば、当該地図表現データを出力中であること、当該地図表現データをダウンロードしたこと等である。
データ取得部131は、予め決められた条件を満たす場合は地図表現データと1以上の位置特定情報とを有する地図ユーザ情報を取得し、予め決められた条件を満たさない場合は1以上の位置特定情報を有さない地図表現データを取得しても良い。なお、予め決められた条件は、例えば、地図表現データ格納部111の地図表現データに対して、位置特定情報が示す位置を明示するフラグが対応付いていることである。また、予め決められた条件は、例えば、地図表現データ格納部111の地図表現データに対応付く1以上の属性値が、予め決められた条件を満たすことである。1以上の属性値が予め決められた条件を満たすこととは、例えば、地図表現データの種類が特定の種類であること(例えば、「テーマパーク」)、または特定の種類ではないこと、領域特定情報が示す領域の広さが閾値以下または閾値より小さいこと、縮尺率が閾値以上または閾値より大きいこと等である。
以下、要求指示が有する特定情報が地図識別子の場合、位置特定情報の場合、ユーザ識別子の場合の各場合について、データ取得部131の処理を説明する。
(1)特定情報が地図識別子の場合
データ取得部131は、要求指示が有する特定情報から地図識別子を取得する。そして、データ取得部131は、当該地図識別子により識別される地図表現データを地図表現データ格納部111から取得する。なお、ここで、データ取得部131は、地図識別子により識別される地図表現データの1以上の属性値を取得し、当該1以上の属性値と予め決められた関係を有する1以上の属性値と対になる1以上の地図表現データを地図表現データ格納部111から取得しても良い。予め決められた関係とは、一致、または閾値以上の類似度を有する等である。1以上の属性値の集合間の類似度の取得は、例えば、1以上の属性値から構成されるベクトルの類似度の取得であり、公知技術である。また、予め決められた関係とは、例えば、地図識別子により識別される地図表現データに対応する領域特定情報が示す領域と同じ領域の領域特定情報と対になる地図表現データ、または地図識別子により識別される地図表現データに対応する領域特定情報が示す領域との重なりが閾値以上または閾値より大きい領域の領域特定情報と対になる地図表現データ等である。
また、データ取得部131は、取得した1以上の各地図表現データに対応付いている1以上の位置特定情報を位置特定情報格納部113から取得する。なお、ここで、データ取得部131は、地図表現データに対応付いている1以上の位置特定情報のうち、予め決められた条件を満たす位置特定情報のみを取得しても良い。なお、予め決められた条件の例は上述した。
そして、データ取得部131は、取得した地図表現データと取得した1以上の位置特定情報とを有する1以上の地図ユーザ情報を構成する。
(2)特定情報が位置特定情報の場合
データ取得部131は、要求指示が有する位置特定情報で特定される位置に対応する領域特定情報に対応付けられている1または2以上の地図表現データを地図表現データ格納部111から取得する。位置特定情報で特定される位置に対応する領域特定情報とは、例えば、位置特定情報で特定される位置が含まれる領域を示す領域特定情報、位置特定情報で特定される位置と予め決められた条件を満たすほど近い位置が含まれる領域を示す領域特定情報等である。なお、かかる場合、例えば、地図表現データに対応付けられている1以上の属性値は、領域特定情報を含む。
地図表現データがファイルに含まれている場合、データ取得部131は、位置特定情報で特定される位置に対応する領域特定情報に対応付けられている地図表現データを含む1以上のファイルを地図表現データ格納部111から取得する。なお、地図表現データがファイルに含まれることは、地図表現データがファイルであることでも良い。地図表現データがファイルであることは、例えば、ファイルが地図表現データの画像ファイルであることである。
また、データ取得部131は、取得した1以上の各地図表現データに対応付いている1以上の位置特定情報を位置特定情報格納部113から取得する。なお、ここで、データ取得部131は、地図表現データに対応付いている1以上の位置特定情報のうち、予め決められた条件を満たす位置特定情報のみを取得しても良い。なお、予め決められた条件の例は上述した。
そして、データ取得部131は、地図表現データと取得した1以上の位置特定情報とを有する1以上の地図ユーザ情報を構成する。
(3)特定情報がユーザ識別子の場合
データ取得部131は、要求指示が有するユーザ識別子と対になる地図識別子をユーザ情報格納部112から取得する。そして、データ取得部131は、当該地図識別子に対応付いている1以上の位置特定情報を位置特定情報格納部113から取得する。なお、ここで、データ取得部131は、地図表現データに対応付いている1以上の位置特定情報のうち、予め決められた条件を満たす位置特定情報のみを取得しても良い。なお、予め決められた条件の例は上述した。
そして、データ取得部131は、地図表現データと取得した1以上の位置特定情報とを有する1以上の地図ユーザ情報を構成する。なお、ユーザ識別子と対になる地図識別子は、例えば、当該ユーザが購入した地図表現データの地図識別子、当該ユーザがダウンロードした地図表現データの地図識別子、当該ユーザが閲覧中の地図表現データの地図識別子等である。
ソート部132は、データ取得部131が取得した地図表現データが2以上存在する場合、当該2以上の各地図表現データに対応付けられた1以上の属性値を用いて、2以上の地図表現データをソートする。つまり、ソート部132は、データ取得部131が取得した地図表現データが2以上存在する場合、当該2以上の各地図表現データに対応付けられている1以上の属性値を地図表現データ格納部111から取得し、当該1以上の属性値を用いて、2以上の地図表現データをソートする。
ソート部132は、例えば、各地図表現データに対応付けられている1以上の属性値から取得されたスコアをキーとして2以上の地図表現データをソートする。なお、スコアの取得は、後述するスコア取得部133が行う。また、ここでのソートは、通常、スコアの降順でのソートである。ソート部132は、通常、スコアが高いほど、前に(先に)出力されるように地図表現データをソートする。 また、ソートするとは、端末装置2で順に出力されるようにする処理であれば何でも良く、例えば、2以上の地図表現データの並び替えても良いし、2以上の各地図表現データに対応付けて、順位を示す順位情報を地図表現データに付加しても良い。
なお、地図表現データのソートとは、地図ユーザ情報のソート、または位置付加地図表現データのソートと同意義である。
スコア取得部133は、データ取得部131が取得した地図表現データが2以上存在する場合、2以上の各地図表現データに対して、各地図表現データに対応付けられた1または2以上の属性値を用いて、スコアを取得する。スコアを取得するアルゴリズムは種々あり得る。地図表現データのスコアは、地図ユーザ情報のスコア、または位置付加地図表現データのスコアと同意義である、と考えても良い。
スコア取得部133は、各地図表現データに対応付けられた1以上の属性値のみを用いて各地図表現データのスコアを取得しても良い。また、スコア取得部133は、各地図表現データに対応付けられた1以上の属性値と、ユーザ情報とを用いて各地図表現データのスコアを取得しても良い。
スコア取得部133は、例えば、位置特定情報が示す位置と地図表現データを代表する地点との距離(以下、適宜、単に「距離」という)、縮尺率、面積、完成度、メタデータ、DL回数、月間ビュー数、平均アクセス時間、評価値のうちの1または2以上の属性値を用いて、地図表現データのスコアを取得する。ここで、縮尺率とは、地図表現データの縮尺率である。面積とは、地図表現データが表現する領域の実際の面積である。完成度とは、地図表現データの完成の度合いを示す情報であり、人が入力した情報である。メタデータとは、地図表現データに付与される情報である。DL回数は、今までに1以上の端末装置2にダウンロードされ、1以上の端末装置2に表示された総回数である。なお、DL回数は、今まで1以上の端末装置2にダウンロードされた総回数でも良い。月間ビュー数は、その月または前月に、1以上の端末装置2に表示された総回数である。平均アクセス時間は、端末装置2で表示されている時間の平均値である。評価値は、ユーザの評価値の平均値である。
スコア取得部133は、例えば、距離が小さいほどスコアが大きくなるようにスコアを算出する。スコア取得部133は、例えば、縮尺率が小さいほどスコアが大きくなるようにスコアを算出する。スコア取得部133は、例えば、面積が小さいほどスコアが大きくなるようにスコアを算出する。スコア取得部133は、例えば、完成度が高い(完成度の値が大きい)ほどスコアが大きくなるようにスコアを算出する。スコア取得部133は、例えば、DL回数が多いほどスコアが大きくなるようにスコアを算出する。スコア取得部133は、例えば、月間ビュー数が多いほどスコアが大きくなるようにスコアを算出する。スコア取得部133は、例えば、平均アクセス時間が長いほどスコアが大きくなるようにスコアを算出する。スコア取得部133は、例えば、評価値が大きいほどスコアが大きくなるようにスコアを算出する。
スコア取得部133は、例えば、1または2以上の属性値が決まれたスコアが決まるスコア表を参照し、取得された1または2以上の属性値を用いて、スコア表からスコアを取得しても良い。
スコア取得部133は、例えば、地図ユーザ情報が有する位置特定情報の数、または位置付加地図表現データに対応する位置特定情報の数、または地図ユーザ情報が有する地図表現データの上に表現される他のユーザまたは他の端末装置2の位置の数を用いて、スコアを取得しても良い。かかる場合、スコア取得部133は、上記の位置特定情報の数、または位置の数が多いほど、高いスコアとなるように、地図ユーザ情報または位置付加地図表現データのスコアを取得することは好適である。
第二データ取得部134は、受信部12が位置特定情報を受信した後、予め決められた条件(以下、適宜、「キャッシュ条件」という。)を満たす1以上の地図表現データを取得する。第二データ取得部134は、端末装置2で、地図表現データの表示を高速化するためのキャッシュ用の地図表現データを取得する。つまり、第二データ取得部134は、端末装置2のユーザが次に要求する可能性が高いと推定される(予め決められた条件を満たす)地図表現データを取得することは好適である。
第二データ取得部134は、例えば、送信部14が端末装置2に送信した地図表現データ(現在、閲覧中の地図表現データ)の1以上の属性値を取得し、当該1以上の属性値と予め決められた関係を有する属性値に対応する1以上の地図表現データを取得する。なお、予め決められた関係を有する属性値とは、例えば、現在、閲覧中の地図表現データの1以上の属性値と一致する1以上の属性値である。また、予め決められた関係を有する属性値とは、例えば、現在、閲覧中の地図表現データの1以上の属性値と、予め決められた条件を満たすほど近似する1以上の属性値である。なお、予め決められた関係を有することは、キャッシュ条件の一例である。
第二データ取得部134は、例えば、受信部12が受信したユーザ識別子と対になる履歴情報を用いて、1以上の地図表現データを取得する。第二データ取得部134は、例えば、履歴情報が有する1以上の地図識別子と対になる1以上の属性値を取得し、取得した属性値から、キャッシュ条件を満たす属性値を取得し(ユーザが好む属性値を取得し)、当該属性値と対になる1以上の地図表現データを取得する。
第二データ取得部134は、例えば、送信部14が端末装置2に送信した地図表現データ(現在、閲覧中の地図表現データ)の1以上の属性値、および受信部12が受信したユーザ識別子と対になる履歴情報を用いて、1以上の地図表現データを取得する。
第二データ取得部134は、例えば、スコア取得部133が取得したスコアが、予め決められた条件を満たすほど大きいスコアの1以上の地図表現データを取得する。なお、かかる場合、スコア取得部133は、送信部14が端末装置2に送信した地図表現データ(現在、閲覧中の地図表現データ)の1以上の属性値、受信部12が受信したユーザ識別子と対になる履歴情報のうちの1種類以上の属性値を使用して、地図表現データのスコアを取得する。
第二データ取得部134が一の端末装置2でキャッシュさせる地図表現データを取得するタイミングは問わない。第二データ取得部134は、例えば、一の端末装置2に地図表現データが送信された場合に、当該一の端末装置2にキャッシュさせる地図表現データを取得する処理を開始しても良い。また、第二データ取得部134は、例えば、一の端末装置2に地図表現データが送信されたた後、予め決められた時間が経過した場合に、当該一の端末装置2にキャッシュさせる地図表現データを取得する処理を開始しても良い。
送信部14は、データ取得部131が取得した1以上の地図ユーザ情報、または1以上の各地図ユーザ情報が有する位置特定情報が示す位置を地図表現データ上に明示した1以上の位置付加地図表現データを、端末装置2に送信する。なお、送信部14が位置付加地図表現データを端末装置2に送信する場合、処理部13は、データ取得部131が取得した地図ユーザ情報から、当該地図ユーザ情報が有する位置特定情報が示す位置を、当該地図ユーザ情報が有する地図表現データ上に明示した位置付加地図表現データを構成する。
送信部14は、データ取得部131が取得した1以上の地図表現データを端末装置2に送信しても良い。
送信部14が一の地図表現データ等を送信する場合に、当該一の地図表現データ等が2以上のファイルでも良い。また、送信部14は、一の地図表現データ等を構成する複数のファイル(当該地図表現データの一部分のファイル)を1つにまとめた圧縮ファイルとして端末装置2に送信しても良いし、非同期通信により、1つのIDに紐づけられた複数の各ファイルが異なるタイミングで送信されても良い。なお、一の地図表現データ等の一部分のファイルをタイル画像ファイルと言っても良い。また、一の地図表現データ等を構成する複数のファイルをデータセットと言っても良い。なお、一の地図表現データ等とは、例えば、一の地図表現データ、一の地図ユーザ情報、または一の位置付加地図表現データである。
送信部14は、例えば、ソート部132がソートした2以上の地図表現データを端末装置2に送信する。送信部14は、例えば、ソート部132がソートした2以上の地図ユーザ情報、または位置付加地図表現データを端末装置2に送信する。
送信部14は、例えば、第二データ取得部134が取得した1以上の地図表現データ等の一部または全部を端末装置2に送信する。地図表現データ等の一部とは、地図表現データを分割したうちの一部の領域の地図表現データ等である。一部の領域の地図表現データ等を、部分地図表現データ等と言っても良い。地図表現データ等とは、例えば、地図表現データ、地図ユーザ情報、または位置付加地図表現データである。
送信部14は、例えば、データ取得部131が取得した1以上のファイルを端末装置2に送信する。なお、かかる場合、ファイルは、例えば、1または2以上の地図表現データを含む。また、ファイルは、例えば、1または2以上の地図ユーザ情報、1または2以上の位置付加地図表現データを含む。
送信部14は、例えば、予め決められた条件を満たす場合のみ、地図表現データと1以上の位置特定情報とを有する地図ユーザ情報、または位置付加地図表現データを、端末装置2に送信する。ここで、予め決められた条件は、例えば、地図表現データ格納部111の地図表現データに対して、位置特定情報が示す位置を明示するフラグが対応付いていること、または地図表現データ格納部111の地図表現データに対応付く1以上の属性値が、予め決められた条件を満たすこと等である。なお、予め決められた条件の例については、上述した。
端末装置2を構成する端末格納部21には、各種の情報が格納される。各種の情報とは、例えば、ユーザ識別子、出力されている地図表現データ等の地図識別子、キャッシュされている地図表現データの全部または一部分である。各種の情報とは、例えば、地名位置対応表である。
端末受付部22は、各種の指示や情報を受け付ける。各種の指示や情報とは、例えば、特定情報を有する要求指示、各種の操作である。要求指示は、地図識別子を有していても良いし、地図識別子を有さなくても良い。
ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
各種の指示や情報の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。端末受付部22は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
端末処理部23は、各種の処理を行う。各種の処理とは、例えば、受信された地図ユーザ情報から位置付加地図表現データを構成する処理である。端末処理部23は、例えば、受信された地図ユーザ情報が有する位置特定情報が示す位置を地図ユーザ情報が有する地図表現データ上に明示した位置付加地図表現データを構成する。なお、端末処理部23は、地図ユーザ情報が有する1以上の位置特定情報のうち、予め決められた条件を満たす位置特定情報のみを用いて、位置付加地図表現データを構成しても良い。
また、各種の処理とは、例えば、端末受付部22が受け付けた要求指示から送信する要求指示に構成する処理である。端末受付部22が要求指示を受け付けた場合、端末処理部23は、例えば、当該要求指示が地図識別子を有さない場合、現在位置を示す位置情報を取得し、ユーザ識別子を端末格納部21から取得し、当該位置情報を有する位置特定情報と当該ユーザ識別子とを有する要求指示を構成する。また、端末受付部22が要求指示を受け付けた場合であり、当該要求指示が地図識別子を有さず、かつ地図または地図表現データが端末装置2で表示されている場合、例えば、端末処理部23は、表示されている地図の領域を代表する地点の位置情報または表示されている地図表現データの領域を代表する地点の位置情報を取得し、ユーザ識別子を端末格納部21から取得し、当該位置情報を有する位置特定情報と当該ユーザ識別子とを有する要求指示を構成する。また、端末受付部22が要求指示を受け付けた場合であり、当該要求指示が地図識別子を有さず、かつ地図または地図表現データが端末装置2で表示されている場合、例えば、端末処理部23は、表示されている地図または表示されている地図表現データを取得し、ユーザ識別子を端末格納部21から取得し、当該地図または地図表現データと当該ユーザ識別子とを有する要求指示を構成する。また、端末受付部22が要求指示を受け付けた場合であり、当該要求指示が地点情報を有する場合、例えば、端末処理部23は、ユーザ識別子を端末格納部21から取得し、地点情報を有する位置特定情報と当該ユーザ識別子とを有する要求指示を構成する。また、端末受付部22が要求指示を受け付けた場合であり、当該要求指示が地点情報を有する場合、例えば、端末処理部23は、ユーザ識別子を端末格納部21から取得し、地点情報に対応する位置情報を端末格納部21の地名位置対応表から取得し、当該位置情報を有する位置特定情報と当該ユーザ識別子とを有する要求指示を構成する。
各種の処理とは、例えば、受け付けられた地名情報と対になる位置情報を、端末格納部21の地名位置対応表から取得する処理である。
各種の処理とは、例えば、キャッシュ用に受信された地図表現データの全部または一部分を図示しないバッファに一時蓄積する処理である。
端末送信部24は、各種の指示や情報を情報処理装置1に送信する。端末送信部24は、端末処理部23が構成した情報を情報処理装置1に送信する。端末送信部24は、例えば要求指示を情報処理装置1に送信する。
端末受信部25は、各種の情報を情報処理装置1から受信する。各種の情報とは、例えば、地図表現データ、地図ユーザ情報、位置付加地図表現データである。また、各種の情報とは、キャッシュされる地図表現データ等の全部または一部分である。
端末受信部25は、例えば、要求指示の送信に応じて、情報処理装置1から1または2以上の地図ユーザ情報を受信する。端末受信部25は、例えば、要求指示の送信に応じて、情報処理装置1から1または2以上の位置付加地図表現データ、または1または2以上の地図表現データを受信する。
端末出力部26は、各種の情報を出力する。各種の情報とは、端末受付部22が受け付けた情報、端末受信部25が受信した地図表現データ等である。各種の情報とは、例えば、位置付加地図表現データである。なお、端末出力部26は、位置付加地図表現データが有する1以上の位置特定情報のうち、予め決められた条件を満たす位置特定情報のみが明示されている位置付加地図表現データを出力しても良い。
ここで、出力とは、通常、ディスプレイへの表示である。ただし、出力とは、通プロジェクターを用いた投影、プリンタでの印字、外部の装置(通常、表示装置)への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念であると考えても良い。
格納部11、地図表現データ格納部111、ユーザ情報格納部112、位置特定情報格納部113、および端末格納部21は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
受信部12、ユーザ位置情報受信部121、要求指示受信部122、および端末受信部25は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
処理部13、データ取得部131、ソート部132、スコア取得部133、第二データ取得部134、および端末処理部23は、通常、MPUやメモリ等から実現され得る。処理部13等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
送信部14、および端末送信部24は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
端末出力部26は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。端末出力部26は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、情報システムAの動作について説明する。まず、情報処理装置1の動作について、図3から図8のフローチャートを用いて説明する。
(ステップS301)受信部12は、端末装置2から要求指示を受信したか否かを判断する。要求指示を受信した場合はステップS302に行き、要求指示を受信しなかった場合はステップS306に行く。
(ステップS302)データ取得部131は、ステップS301で受信された要求指示に対応する1以上の地図表現データを取得する。かかる地図表現データ取得処理について、図5のフローチャートを用いて説明する。
(ステップS303)データ取得部131は、ステップS302で取得した地図表現データを用いて、1以上の地図ユーザ情報を取得する。かかる地図ユーザ情報取得処理について、図8のフローチャートを用いて説明する。
(ステップS304)送信部14は、ステップS303で取得された1以上の地図ユーザ情報、またはステップS303で取得された1以上の各地図ユーザ情報が有する位置特定情報が示す位置を地図表現データ上に明示した1以上の位置付加地図表現データを、要求指示を送信してきた端末装置2に送信する。
(ステップS305)処理部13は、ステップS304における地図ユーザ情報等の送信に応じて、要求指示を送信してきた端末装置2に対応するユーザ識別子と対になる状態情報を変更する。ステップS301に戻る。かかる状態情報は、送信した地図ユーザ情報または位置付加地図表現データに対応する地図表現データを出力している状態とすること、または送信した地図ユーザ情報または位置付加地図表現データに対応する地図表現データが蓄積されたという状態にすること等である。なお、状態情報は、ユーザ識別子と対になる属性値の一例である。状態情報は、例えば、履歴情報、現在情報である。
(ステップS306)ユーザ位置情報受信部121は、位置特定情報とユーザ識別子との有するユーザ位置情報を受信したか否かを判断する。ユーザ位置情報を受信した場合はステップS307に行き、ユーザ位置情報を受信しなかった場合はステップS308に行く。
(ステップS307)処理部13は、ステップS306で受信されたユーザ位置情報が有する位置特定情報を、当該ユーザ位置情報が有するユーザ識別子に対応付けて、格納部11に蓄積する。ステップS301に戻る。なお、蓄積された位置特定情報は、通常、ユーザ識別子を介して、1以上の地図表現データに対応付く。
(ステップS308)受信部12は、ユーザ登録情報を受信したか否かを判断する。ユーザ登録情報を受信した場合はステップS309に行き、ユーザ登録情報を受信しなかった場合はステップS311に行く。
(ステップS309)処理部13は、ステップS308で受信されたユーザ登録情報から登録すべきユーザ情報を取得する。
(ステップS310)処理部13は、ステップS309で取得されたユーザ情報から登録するユーザ情報を構成し、ユーザ情報格納部112に蓄積する。ステップS301に戻る。
(ステップS311)第二データ取得部134は、一の端末装置2でキャッシュさせる地図表現データを送信するか否かを判断する。キャッシュさせる地図表現データを送信すると判断した場合はステップS312に行き、キャッシュさせる地図表現データを送信しないと判断した場合はステップS322に行く。なお、キャッシュさせる地図表現データを送信すると判断する場合は、例えば、一の端末装置2に地図表現データを送信した場合、一の端末装置2に地図表現データを送信した後、予め決められた時間が経過した場合である。
(ステップS312)第二データ取得部134は、キャッシュする地図表現データを送信する対象の端末装置2のユーザ識別子と対になる履歴情報をユーザ情報格納部112から取得する。
(ステップS313)第二データ取得部134は、カウンタjに1を代入する。
(ステップS314)第二データ取得部134は、j番目の地図表現データが地図表現データ格納部111に存在するか否かを判断する。j番目の地図表現データが存在する場合はステップS315に行き、j番目の地図表現データが存在しない場合はステップS319に行く。
(ステップS315)第二データ取得部134は、j番目の地図表現データと対になる1以上の属性値を地図表現データ格納部111から取得する。
(ステップS316)第二データ取得部134は、ステップS315で取得された1以上の属性値、またはステップS312で取得された履歴情報、またはステップS315で取得された1以上の属性値とステップS312で取得された履歴情報が、キャッシュ条件に合致するか否かを判断する。キャッシュ条件に合致する場合はステップS317に行き、キャッシュ条件に合致しない場合はステップS318に行く。なお、第二データ取得部134は、キャッシュ条件に合致するか否かを判断する場合に、現在情報を用いても良い。
(ステップS317)第二データ取得部134は、j番目の地図表現データを識別する地図識別子を図示しないバッファに一時蓄積する。なお、ここで、スコア取得部133は、j番目の地図表現データに対して、上述したスコアを算出し、スコアと対に地図識別子を図示しないバッファに一時蓄積しても良い。また、ここで、バッファに一時蓄積される地図識別子は、通常、キャッシュされる地図表現データの候補の地図表現データの識別子である。また、スコア取得部133のスコアの算出方法の例については、上述した。
(ステップS318)第二データ取得部134は、カウンタjを1、インクリメントする。ステップS314に戻る。
(ステップS319)第二データ取得部134は、図示しないバッファに蓄積されている地図識別子で識別される地図表現データから、端末装置2でキャッシュする地図表現データを決定する。なお、第二データ取得部134は、図示しないバッファに蓄積されている地図識別子で識別されるすべての地図表現データを、キャッシュする地図表現データとして決定しても良い。また、第二データ取得部134は、図示しないバッファに蓄積されている地図識別子で識別されている地図表現データから、ランダムに一つの地図識別子を選択し、当該一つの地図識別子で識別されるすべての地図表現データを、キャッシュする地図表現データとして決定しても良い。また、図示しないバッファに蓄積されているスコアが上位N(Nは1以上の自然数)の地図表現データを、キャッシュする地図表現データとして決定しても良い。また、図示しないバッファに蓄積されているスコアが閾値以上または閾値より大きい地図表現データを、キャッシュする地図表現データとして決定しても良い。なお、地図表現データを決定することは、例えば、地図識別子を取得することでも良いし、地図表現データにフラグを付与すること等でも良い。
(ステップS320)第二データ取得部134は、ステップS319で決定した1以上の地図表現データを地図表現データ格納部111から取得する。なお、ここで、第二データ取得部134は、取得した地図表現データに対応付いている1以上の位置特定情報を位置特定情報格納部113から取得し、当該地図表現データと当該1以上の位置特定情報とを用いて地図ユーザ情報または位置付加地図表現データを構成しても良い。
(ステップS321)送信部14は、ステップS320で取得した1以上の地図表現データの全部、またはステップS320で取得した1以上の各地図表現データの一部分を、キャッシュさせると判断した一の端末装置2に送信する。ステップS301に戻る。なお、ここで、キャッシュさせるデータは、地図表現データではなく、地図ユーザ情報または位置付加地図表現データまたはいずれかの一部でも良い。
(ステップS322)受信部12は、端末装置2から、その他の操作情報等を受信したか否かを判断する。操作情報等を受信した場合はステップS323に行き、操作情報等を受信しない場合はステップS301に戻る。なお、操作情報等とは、例えば、操作情報とユーザ識別子である。
(ステップS323)処理部13は、ステップS322受信された操作情報等を、ユーザ情報格納部112に蓄積する。ステップS301に戻る。なお、ここで、処理部13は、受信された操作情報等に応じた処理を行っても良い。
なお、図3、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS302地図表現データ取得処理について、図5のフローチャートを用いて説明する。
(ステップS501)データ取得部131は、受信された要求指示が有する特定情報を取得する。
(ステップS502)データ取得部131は、ステップS501で取得した特定情報が位置特定情報であるか否かを判断する。位置特定情報である場合はステップS503に行き、位置特定情報でない場合はステップS513に行く。
(ステップS503)データ取得部131は、ステップS501で取得された位置特定情報を用いて、位置情報を取得する。なお、位置情報取得処理について、図6のフローチャートを用いて説明する。
(ステップS504)データ取得部131は、カウンタiに1を代入する。
(ステップS505)データ取得部131は、地図表現データ格納部111にi番目の地図表現データが存在するか否かを判断する。i番目の地図表現データが存在すればステップS506に行き、i番目の地図表現データが存在しなければステップS510に行く。
(ステップS506)データ取得部131は、i番目の地図表現データと対になる領域特定情報を地図表現データ格納部111から取得する。
(ステップS507)データ取得部131は、ステップS503で取得した位置情報が、ステップS506で取得した領域特定情報に対応するか否かを判断する。対応する場合はステップS508に行き、対応しない場合はステップS509に行く。なお、位置情報が領域特定情報に対応するとは、例えば、位置情報により特定される地点が、領域特定情報が示す領域に含まれること、または位置情報により特定される地点が、領域特定情報が示す領域と予め決められた条件を満たすほど近いこと等である。なお、ステップS503で取得した位置情報は、後述する変数に格納されている位置情報である。
(ステップS508)データ取得部131は、i番目の地図表現データを識別する地図識別子を地図表現データ格納部111から取得し、図示しないバッファに一時蓄積する。
(ステップS509)データ取得部131は、カウンタiを1、インクリメントする。ステップS505に戻る。
(ステップS510)ソート部132は、図示しないバッファに2以上の地図識別子が存在するか否かを判断する。2以上の地図識別子が存在する場合はステップS511に行き、2以上の地図識別子が存在しない場合はステップS512に行く。
(ステップS511)ソート部132は、図示しないバッファに存在する2以上の地図識別子で識別される2以上の地図表現データをソートする。上位処理にリターンする。ソート処理について、図7のフローチャートを用いて説明する。
(ステップS512)処理部13は、図示しないバッファに存在する地図識別子を取得し、当該地図識別子で識別される地図表現データを地図表現データ格納部111から取得する。上位処理にリターンする。
(ステップS513)データ取得部131は、ステップS501で取得した特定情報が地図識別子であるか否かを判断する。地図識別子である場合はステップS514に行き、地図識別子でない場合はステップS515に行く。
(ステップS514)データ取得部131は、例えば、ステップS501で取得した地図識別子により識別される地図表現データを地図表現データ格納部111から取得する。なお、データ取得部131は、例えば、ステップS501で取得した地図識別子により識別される地図表現データと予め決められた関係を有する地図表現データを地図表現データ格納部111から取得しても良い。なお、予め決められた関係とは、例えば、1以上の属性値が同一または類似することである。1以上の属性値が同一または類似することは、例えば、2つの領域特定情報が示す領域に閾値以上または閾値より大きい重なりがあること、2つの領域特定情報が示す領域が一致すること等である。
(ステップS515)データ取得部131は、ステップS501で取得した特定情報がユーザ識別子であるか否かを判断する。ユーザ識別子である場合はステップS516に行き、ユーザ識別子でない場合は上位処理にリターンする。
(ステップS516)データ取得部131は、ステップS501で取得したユーザ識別子と対になる1以上の地図表現データを地図表現データ格納部111から取得する。上位処理にリターンする。
次に、ステップS503の位置情報取得処理について、図6のフローチャートを用いて説明する。
(ステップS601)データ取得部131は、取得された特定情報が位置情報そのものであるか否かを判断する。位置情報そのものである場合はステップS602に行き、位置情報そのものでない場合はステップS603に行く。
(ステップS602)データ取得部131は、位置特定情報を、位置情報が格納される変数に代入する。上位処理にリターンする。
(ステップS603)データ取得部131は、取得された位置特定情報が地名情報であるか否かを判断する。地名情報である場合はステップS604に行き、地名情報でない場合はステップS606に行く。
(ステップS604)データ取得部131は、取得された地名情報に対応する位置情報を格納部11から取得する。
(ステップS605)データ取得部131は、取得された位置情報を、位置情報が格納される変数に代入する。上位処理にリターンする。
(ステップS606)データ取得部131は、取得された位置特定情報が領域を示す領域特定情報を有する、または取得された位置特定情報(例えば、地図表現データまたは地図または地図識別子)に対応する領域特定情報が地図表現データ格納部111に格納されているか否かを判断する。領域特定情報を有する等の場合はステップS607に行き、その他の場合は上位処理にリターンする。
(ステップS607)データ取得部131は、取得された位置特定情報が有する領域特定情報が示す領域を代表する位置を示す位置情報を取得する、または取得された位置特定情報に対応する領域特定情報が示す領域を代表する位置を示す位置情報を取得する。なお、領域を代表する位置を示す位置情報は、例えば、領域の重心点の位置を示す位置情報である。
(ステップS608)データ取得部131は、ステップS607で取得された位置情報を、位置情報が格納される変数に代入する。上位処理にリターンする。
次に、ステップS511のソート処理について、図7のフローチャートを用いて説明する。
(ステップS701)スコア取得部133は、要求指示を送信してきた端末装置2のユーザのユーザ識別子と対になる履歴情報をユーザ情報格納部112から取得する。
(ステップS702)スコア取得部133は、カウンタkに1を代入する。
(ステップS703)スコア取得部133は、図示しないバッファに、k番目の地図識別子が存在するか否かを判断する。k番目の地図識別子が存在する場合はステップS704に行き、k番目の地図識別子が存在しない場合はステップS708に行く。なお、k番目の地図識別子が存在することは、k番目の地図表現データが存在することである。
(ステップS704)スコア取得部133は、k番目の地図表現データと対になる1以上の属性値を地図表現データ格納部111から取得する。なお、属性値の中に、位置付加地図表現データの中に含まれる位置特定情報が示す位置の数が存在していても良い。
(ステップS705)スコア取得部133は、ステップS704で取得した1以上の属性値、または/およびステップS701で取得した履歴情報を用いて、k番目の地図表現データに対するスコアを算出する。
(ステップS706)スコア取得部133は、k番目の地図識別子に対応付けて、ステップS705で算出したスコアを、図示しないバッファに蓄積する。
(ステップS707)スコア取得部133は、カウンタkを1、インクリメントする。ステップS703に戻る。
(ステップS708)ソート部132は、図示しないバッファの中のスコアをキーとして、降順で、地図識別子をソートする。そして、ソート部132は、ソートした順に、地図識別子で識別される地図表現データを地図表現データ格納部111から取得する。上位処理にリターンする。
次に、ステップS303の地図ユーザ情報取得処理について、図8のフローチャートを用いて説明する。
(ステップS801)データ取得部131は、カウンタiに1を代入する。
(ステップS802)データ取得部131は、取得された地図表現データの中に、i番目の地図表現データが存在するか否かを判断する。存在する場合はステップS803に行き、存在しない場合は上位処理にリターンする。
(ステップS803)データ取得部131は、i番目の地図表現データと対になる1以上の位置特定情報を位置特定情報格納部113から取得する。なお、データ取得部131は、i番目の地図表現データと対になる1以上の位置特定情報のうち、予め決められた条件を満たす位置特定情報のみを取得しても良い。
(ステップS804)データ取得部131は、i番目の地図表現データと、ステップS803で取得した1以上の位置特定情報とを用いて、地図ユーザ情報を構成する。なお、ここで、地図ユーザ情報に代えて、位置付加地図表現データを構成しても良い。
(ステップS805)データ取得部131は、カウンタiを1、インクリメントする。ステップS802に戻る。
次に、端末装置2の動作について、図9のフローチャートを用いて説明する。
(ステップS901)端末受付部22は、要求指示を受け付けたか否かを判断する。要求指示を受け付けた場合はステップS902に行き、要求指示を受け付けない場合はステップS908に行く。
(ステップS902)端末処理部23は、ステップS901で受け付けた要求指示に対応する地図表現データまたは位置付加地図表現データが、図示しないバッファにキャッシュされているか否かを判断する。キャッシュされている場合はステップS907に行き、キャッシュされていない場合はステップS903に行く。
(ステップS903)端末処理部23は、ステップS901で受け付けた要求指示に対応する特定情報を取得する。ここで、端末処理部23は、例えば、ユーザ識別子を端末格納部21から取得し、特定情報と当該ユーザ識別子とを有する要求指示を構成する。
(ステップS904)端末送信部24は、ステップS903で構成された要求指示を情報処理装置1に送信する。
(ステップS905)端末受信部25は、1または2以上の地図ユーザ情報を情報処理装置1から受信したか否かを判断する。受信した場合はステップS906に行き、受信しない場合はステップS905に戻る。なお、端末受信部25は、1または2以上の地図ユーザ情報ではなく、1または2以上の地図表現データを情報処理装置1から受信しても良い。また、端末受信部25は、1または2以上の地図ユーザ情報、および1または2以上の地図表現データを情報処理装置1から受信しても良い。
(ステップS906)端末処理部23は、ステップS905で受信された1以上の各地図ユーザ情報から、位置付加地図表現データを構成し、図示しないバッファに蓄積する。なお、ステップS905で地図表現データのみを受信した場合、本ステップの処理は行われない。
(ステップS907)端末出力部26は、バッファ内の1以上の位置付加地図表現データを出力する。ステップS901に戻る。なお、ここで、出力される候補の位置付加地図表現データが複数存在する場合、当該複数の位置付加地図表現データを出力しても良いし、ソートされている中の先頭の位置付加地図表現データのみを出力しても良い。また、端末出力部26は、地図表現データのみを出力しても良い。また、端末出力部26は、位置付加地図表現データと地図表現データとを出力しても良い。
(ステップS908)端末受付部22は、ユーザから操作を受け付けたか否かを判断する。操作を受け付けた場合はステップS909に行き、操作を受け付けない場合はステップS912に行く。
(ステップS909)端末処理部23は、ステップS908で受け付けた操作に応じた処理を行う。
(ステップS910)端末処理部23は、ステップS908で受け付けた操作に対応する操作情報を取得し、情報処理装置1に送信する情報を構成する。なお、情報処理装置1に送信する情報は、通常、操作情報とユーザ識別子とを含み、操作情報等と言う。また、操作情報は、操作のプリミティブな情報(例えば、押下されたボタンのID、入力された情報など)でも良いし、1以上の操作の集合から取得される情報(例えば、閲覧された地図表現データの地図識別子、地図表現データを閲覧中であること、地図表現データの閲覧時間など)でも良い。
(ステップS911)端末送信部24は、ステップS910で構成された操作情報等を情報処理装置1に送信する。ステップS901に戻る。
(ステップS912)端末受信部25は、キャッシュ用の地図表現データ等の全部または一部分を受信したか否かを判断する。受信した場合はステップS913に行き、受信しない場合はステップS914に行く。なお、地図表現データ等とは、ここでは、地図表現データ、または地図ユーザ情報、または位置付加地図表現データである。
(ステップS913)端末処理部23は、ステップS912で受信されたキャッシュ用の地図表現データ等の全部または一部分を、図示しないバッファに蓄積する。ステップS901に戻る。
(ステップS914)端末処理部23は、現在の位置を示す位置情報を取得する。
(ステップS915)端末処理部23は、ステップS914で取得した位置情報とユーザ識別子とを有するユーザ位置情報を構成する。
(ステップS916)端末送信部24は、ステップS915で構成されたユーザ位置情報を情報処理装置1に送信する。ステップS901に戻る。
なお、図9のフローチャートにおいて、ユーザ位置情報を情報処理装置1に送信するタイミングや条件は問わない。例えば、端末装置2において、位置付加地図表現データまたは地図表現データを出力している間のみ、端末送信部24は、ユーザ位置情報を情報処理装置1に送信しても良い。このようにすれば、位置付加地図表現データまたは地図表現データを閲覧中のユーザの位置のみが、他の端末装置2で出力される。
また、図9のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報システムAの具体的な動作について説明する。情報システムAの概念図は図1である。
今、地図表現データ格納部111には、図10に示す地図表現データ管理表が格納されている、とする。地図表現データ管理表は、「ID」「静的属性値」「動的属性値」「地図表現データ」「フラグ」を有するレコードを1以上管理している。
「ID」は地図識別子である。「静的属性値」は地図表現データの静的属性値であり、ここでは、領域特定情報、地図表現データの縮尺率、地図表現データの面積、地図表現データの完成度、メタデータを有する。領域特定情報は、(緯度,経度)の集合であり、「ID=M01,M02」の地図表現データの形状は矩形なので、矩形の左上の地点と右下の地点の(緯度,経度)の情報を有する。また、「ID=M03」の地図表現データの頂点が8つ存在するので、領域特定情報は、8つの(緯度,経度)の情報を有する。メタデータは、ここでは、地図表現データの種類である。また、「静的属性値」は、例えば、情報処理装置1を運用する企業により、入力された情報である。
「動的属性値」は地図表現データの動的属性値であり、ここでは、ユーザアクション情報である。ユーザアクション情報は、ここでは、「DL回数」「月間ビュー数」「平均アクセス時間」「評価値」を有する。「DL回数」は、今までに1以上の端末装置2にダウンロードされ、1以上の端末装置2に表示された総回数である。なお、「DL回数」は、今まで1以上の端末装置2にダウンロードされた総回数でも良い。「月間ビュー数」は、その月または前月に、1以上の端末装置2に表示された総回数である。「平均アクセス時間」は、端末装置2で表示されている時間の平均値である。「評価値」は、ユーザの評価値の平均値である。
「動的属性値」は、端末装置2から受信された操作情報を用いて、情報処理装置1の処理部13が取得した情報である。つまり、情報処理装置1の受信部12は、例えば、端末装置2で地図表現データが表示された場合に、表示された地図表現データの地図識別子を受信する。そして、処理部13は、当該地図識別子と対になる「DL回数」と「月間ビュー数」とを1、インクリメントする。なお、表示された地図表現データの地図識別子を受信した後、処理部13は、図示しない時計を用いて、表示時間の計測を開始する。
「フラグ」は、位置特定情報が示す位置を明示するか否かを示すフラグである。「フラグ=0」の地図表現データには、位置特定情報が示す位置(ユーザの位置)は明示されない。また、「フラグ=1」の地図表現データには、位置特定情報が示す位置(ユーザの位置)は明示され得る。
なお、「フラグ」は、管理者等により入力された値でも良いし、自動的に取得された値でも良い。処理部13は、例えば、1以上の静的属性値が予め決められた条件を満たす地図表現データに対してフラグ「1」を付し、予め決められた条件を満たさない地図表現データに対してフラグ「0」を付しても良い。なお、予め決められた条件は、例えば、面積、縮尺率、メタデータ(種類)のうち、いずれか1以上を用いた条件でも良い。予め決められた条件は、例えば、「縮尺率>=1/8000 & 面積<=10000」である。また、予め決められた条件は、例えば、「メタデータ=古地図」である。
また、情報処理装置1の受信部12は、端末装置2で地図表現データが未表示となった場合に、未表示となった旨の情報または地図識別子を受信する。そして、処理部13は、端末装置2で地図表現データが表示されていた時間(表示時間の計測の開始からの時間)を取得する。そして、処理部13は、かかる時間を用いて「平均アクセス時間」を変更する。
また、情報処理装置1の受信部12は、端末装置2から地図識別子と評価値とを受信する。そして、処理部13は、当該地図識別子と対になる評価値の平均値を変更する。なお、処理部13は、動的属性値を用いて、評価値を算出しても良い。例えば、処理部13は、「DL回数」「月間ビュー数」「平均アクセス時間」のいずれか1以上の値が大きいほど、高い評価となる評価値を算出する。
「地図表現データ」は、ここでは画像データである。「地図表現データ」は、画像ファイルでも良いことは言うまでもない。
また、格納部11は、地図表現データのスコアを決定するための情報を格納している。かかる情報は、ここでは演算式である、とする。演算式は、位置特定情報が示す位置と地図表現データを代表する地点との距離(単に「距離」と言っても良い)、縮尺率、面積、完成度、メタデータ、DL回数、月間ビュー数、平均アクセス時間、評価値を用いた式である。演算式は、距離が小さいほどスコアが大きくなる式であり、縮尺率が小さいほどスコアが大きくなる式であり、面積が小さいほどスコアが大きくなる式であり、完成度が高い(完成度の値が大きい)ほどスコアが大きくなる式であり、DL回数が多いほどスコアが大きくなる式であり、月間ビュー数が多いほどスコアが大きくなる式であり、平均アクセス時間が長いほどスコアが大きくなる式であり、評価値が大きいほどスコアが大きくなる式である。また、格納部11は、メタデータに対応するスコアの元情報を保持している、とする。スコアの元情報とは、例えば、「イラストマップ=2,古地図=3,略地図=1」等である。また、地図表現データのスコアを決定するための情報は、表でも良い。表とは、距離、縮尺率、面積、完成度、メタデータ、DL回数、月間ビュー数、平均アクセス時間、評価値が決まれば、スコアが決まる表である。なお、地図表現データのスコアを決定するための情報は、距離、縮尺率、面積、完成度、メタデータ、DL回数、月間ビュー数、平均アクセス時間、評価値のうちの1または2以上の情報を用いて、スコアを決定する情報でも良い。
また、ユーザ情報格納部112には、図11に示すユーザ情報管理表が格納されている。ユーザ情報管理表は、1以上のユーザ情報を管理する表である。なお、ユーザ情報は、ここでは、例えば、登録されたユーザの情報である。ユーザ情報は、「ユーザ識別子」「ユーザ属性」「履歴情報」「現在情報」「ユーザフラグ」を有する。「ユーザ属性」は、ユーザの属性値であり、ここでは「年齢」「性別」である。「履歴情報」は、ユーザが閲覧した地図表現データの履歴に関する情報であり、ここでは「閲覧日」「閲覧地図識別子」「閲覧時間」を有する。「閲覧地図識別子」は、閲覧した地図表現データの地図識別子である。「現在情報」は、ユーザが現在、閲覧している地図表現データに関する情報である。「現在情報」は、ここでは「閲覧中地図識別子」「閲覧時間」「ユーザ位置情報」を有する。「閲覧中地図識別子」は、閲覧中の地図表現データの地図識別子である。「ユーザ位置情報」は、最新の端末装置2の位置を示す情報である。「ユーザフラグ」は、ユーザの位置特定情報を他の端末装置2に送信しても良いか否かを示すフラグである。「ユーザフラグ=1」は、位置特定情報を他の端末装置2に送信しても良いことを示し、「ユーザフラグ=0」は、位置特定情報を他の端末装置2に送信しないことを示す。
また、格納部11は、図12に示す地名位置対応表を有する。地名位置対応表は、地名情報と位置情報との対応を示す表である。
かかる状況において、以下の4つの具体例を説明する。具体例1は、特定情報が、ユーザの現在位置を示す位置情報である場合に、1以上の位置付加地図表現データが端末装置2で表示される場合である。また、具体例1において、地図表現データに付加される位置情報は、現在、当該地図表現データを閲覧中のユーザの位置を示す位置情報である。さらに、具体例1では、位置付加地図表現データは、端末装置2で構成する場合である。
具体例2は、特定情報が、地名情報である場合に、1以上の位置付加地図表現データが端末装置2で表示される場合である。また、具体例2において、地図表現データに付加される位置情報は、履歴情報に基づいた位置情報である。さらに具体的には、地図表現データに付加される位置情報は、当該地図表現データを過去に閲覧したことがあるユーザの位置情報である。さらに、具体例2では、位置付加地図表現データは、情報処理装置1で構成する場合である。
具体例3は、位置付加地図表現データを表示している場合に、ユーザが、次に表示する位置付加地図表現データの要求指示を入力した場合である。また、具体例3において、地図表現データに付加される位置情報は、現在、当該地図表現データを閲覧中のユーザの位置を示す位置情報である。さらに、具体例3では、位置付加地図表現データは、情報処理装置1で構成する場合である。
具体例4は、キャッシュ用の位置付加地図表現データが端末装置2にダウンロードされる場合である。
(具体例1)
今、ユーザの端末装置2には、図13に示す「古地図等提供サービス」のアプリの画面が表示されている。とする。
そして、ユーザは、地名情報は入力せずに、図13の地図要求ボタン1301を押下した、とする。すると、端末受付部22は、要求指示を受け付ける。次に、端末処理部23は、受け付けた要求指示には地名情報は含まれないので、現在位置を示す現在位置情報(xc,yc)を取得した、とする。そして、端末処理部23は、端末格納部21からユーザ識別子「U02」を読み出す。次に、端末処理部23は、現在位置情報(xc,yc)、ユーザ識別子「U02」を有する要求指示を構成する。次に、端末送信部24は、当該要求指示を情報処理装置1に送信する。
次に、情報処理装置1の受信部12は、現在位置情報(xc,yc)、ユーザ識別子「U02」を有する要求指示を端末装置2から受信する。
次に、データ取得部131は、受信された要求指示から、位置情報(xc,yc)を取得する。そして、データ取得部131は、位置情報(xc,yc)を領域に含む地図表現データを図10の地図表現データ管理表から検索する。つまり、データ取得部131は、地図表現データ管理表の各レコードの領域特定情報で特定される領域内に、位置情報(xc,yc)が含まれるか否か、レコードごとに検査する。そして、データ取得部131は、「ID=M02,M03」のレコードの領域特定情報で特定される領域内に、位置情報(xc,yc)が含まれる、と判断した、とする。そして、データ取得部131は、「M02,M03」を、図示しないバッファに一時蓄積する。
次に、スコア取得部133は、ユーザ識別子「U02」と対になる履歴情報を図11のユーザ情報管理表から取得する。また、スコア取得部133は、M02,M03の各地図表現データの静的属性値、および動的属性値を取得する。そして、スコア取得部133は、取得したユーザの履歴情報、各地図表現データの静的属性値、および動的属性値を用いて、上述した演算式により、M02,M03の各地図表現データのスコアを算出する。ここで、スコア取得部133は、M02のスコア「87」、M03のスコア「48」を得た、とする。次に、スコア取得部133は、地図識別子に対応付けて、スコアを、図示しないバッファに蓄積する。つまり、図示しないバッファには、「(M02,87)、(M03,48)」が蓄積された、とする。
次に、ソート部132は、図示しないバッファの中のスコアをキーとして、降順で、地図識別子をソートし、(M02,M03)を得る。
次に、ソート部132は、(M02,M03)の順に、地図表現データを地図表現データ管理表から取得する。
次に、データ取得部131は、取得された地図表現データの地図識別子「M02」と対になるフラグ「1」を取得する。そして、データ取得部131は、地図識別子「M02」の地図表現データに、位置特定情報が示す位置を明示しても良いと判断する。同様に、データ取得部131は、地図識別子「M03」の地図表現データに、位置特定情報が示す位置を明示しても良いと判断する。
次に、データ取得部131は、取得された2つの各地図表現データと対になる1以上の位置特定情報を、例えば、以下のように取得する。なお、ここでは、データ取得部131は、地図表現データを現在閲覧中のユーザの位置情報を取得する、とする。
つまり、データ取得部131は、M02の地図表現データに対して、図11のユーザ情報管理表の「閲覧中地図識別子」が「M02」のユーザ識別子「U01,U07」を取得した、とする。そして、データ取得部131は、ユーザ識別子「U01」および「U07」と対になるユーザフラグが「1」であることを取得し、両ユーザとも位置を明示しても良い、と判断する。
そして、データ取得部131は、ユーザ識別子「U01」と対になるユーザ位置情報(x01,y01)、ユーザ識別子「U07」と対になるユーザ位置情報(x07,y07)を、図11のユーザ情報管理表から取得する。そして、M02の地図表現データと、ユーザ位置情報(x01,y01)、(x07,y07)とを有する地図ユーザ情報を構成する。なお、ここで、地図ユーザ情報は、地図表現データの領域特定情報を有する。
次に、データ取得部131はM03の地図表現データに対して、図11のユーザ情報管理表の「閲覧中地図識別子」が「M02」のユーザ識別子「U05,U09」を取得した、とする。次に、データ取得部131は、ユーザ識別子「U05」および「U09」と対になるユーザフラグが「1」であることを取得し、両ユーザとも位置を明示しても良い、と判断する。
そして、データ取得部131は、ユーザ識別子「U05」と対になるユーザ位置情報(x05y05)、ユーザ識別子「U09」と対になるユーザ位置情報(x09,y09)を、図11のユーザ情報管理表から取得する。そして、M03の地図表現データと、ユーザ位置情報(x05y05)、(x09,y09)とを有する地図ユーザ情報を構成する。
次に、送信部14は、2つ以上の地図ユーザ情報を、「U02」の端末装置2に送信する。そして、処理部13は、地図ユーザ情報の送信に応じて、要求指示を送信してきた端末装置2に対応するユーザ識別子「U02」対になる状態情報を、「M02」「M03」はダウンロード済みである、として変更する。
次に、「U02」の端末装置2の端末受信部25は、2つの地図ユーザ情報を情報処理装置1から受信する。次に、端末処理部23は、受信された2つの地図ユーザ情報を、(M02,M03)の順に、図示しないバッファに蓄積する。次に、端末処理部23は、バッファ内の1番目の「M02」の地図ユーザ情報のユーザ位置情報(x01,y01)、(x07,y07)が示す位置を、M02の地図表現データ上に特定し、当該位置に予め決まられた図柄(例えば、星印)を付加し、位置付加地図表現データを構成する。次に、端末出力部26は、かかる位置付加地図表現データを表示する。かかる表示例は、図14である。図14の1401、1402は、各々(x01,y01)、(x07,y07)に対応する地図表現データ上の位置であり、他のユーザが居る位置である。図14の1403、1404は、位置付加地図表現データをスクロールするためのスクロールバーである。また、1405は、次の位置付加地図表現データを表示するボタンである。なお、1406は、地図表現データの表示を終了するための「停止」ボタンである。1407は、現在位置(xc,yc)を示すマーク(ここでは、黒丸)である。なお、端末処理部23は、地図表現データの中の現在位置(xc,yc)の座標値を、当該地図表現データの領域特定情報と現在位置(xc,yc)とを用いて算出する。そして、端末出力部26は、その座標値の箇所にマークを表示する。
ここで、ユーザは、1405を押下すれば、表示される地図表現データが、M03の地図表現データに切り替わり、図15の表示になる。図15において、1501、1502は、各々(x05,y05)、(x09,y09)に対応する地図表現データ上の位置であり、他のユーザ「U05」「U09」が居る位置である。なお、1405の押下が検知された後、端末装置2の端末処理部23は、バッファ内の1番目の「M03」の地図ユーザ情報のユーザ位置情報(x05,y05)、(x09,y09)が示す位置を、M03の地図表現データ上に特定し、当該位置に予め決まられた図柄(例えば、星印)を付加し、位置付加地図表現データを構成する、とする。また、1503は、「M02」の地図表現データを表示するための戻るボタンである。1504は、現在位置(xc,yc)を示すマークである。
なお、本具体例において、端末出力部26は、受信された(M02,M03)の2つの地図表現データに対応する2つの位置付加地図表現データを、一の画面上に表示しても良い。そして、端末受付部22は、ユーザによる位置付加地図表現データの選択を受け付け、端末出力部26は、選択された位置付加地図表現データを表示しても良い。
(具体例2)
今、ユーザ識別子「U01」で識別されるユーザの端末装置2には、図13に示す「古地図等提供サービス」のアプリの画面が表示されている。とする。
そして、ユーザは、地名情報「A地点」を入力し(図16の1601参照)、図16の地図要求ボタン1602を押下した、とする。すると、端末受付部22は、地図表現データの要求指示を受け付ける。次に、受け付けた要求指示には地名情報は含まれるので、端末処理部23は、位置特定情報「A地点」を取得する。そして、端末処理部23は、端末格納部21からユーザ識別子「U01」を読み出す。次に、端末処理部23は、位置特定情報「A地点」、ユーザ識別子「U01」を有する要求指示を構成する。次に、端末送信部24は、当該要求指示を情報処理装置1に送信する。
次に、情報処理装置1の受信部12は、位置特定情報「A地点」、ユーザ識別子「U01」を有する要求指示を端末装置2から受信する。
次に、データ取得部131は、受信された位置特定情報「A地点」と対になる位置情報(xa,ya)を取得する。そして、データ取得部131は、位置情報(xa,ya)を領域に含む地図表現データを図10の地図表現データ管理表から検索する。そして、データ取得部131は、「ID=M02,M03」のレコードの領域特定情報で特定される領域内に、位置情報(xa,ya)が含まれる、と判断した、とする。そして、データ取得部131は、「M02,M03」を、図示しないバッファに一時蓄積する。
次に、スコア取得部133は、ユーザ識別子「U01」と対になる履歴情報を図11のユーザ情報管理表から取得する。また、スコア取得部133は、M02,M03の各地図表現データの静的属性値、および動的属性値を取得する。そして、スコア取得部133は、取得したユーザの履歴情報、各地図表現データの静的属性値、および動的属性値を用いて、上述した演算式により、M02,M03の各地図表現データのスコアを算出する。ここで、スコア取得部133は、M02のスコア「87」、M03のスコア「48」を得た、とする。次に、スコア取得部133は、地図識別子に対応付けて、スコアを、図示しないバッファに蓄積する。つまり、図示しないバッファには、「(M02,87)、(M03,48)」が蓄積された、とする。
次に、ソート部132は、図示しないバッファの中のスコアをキーとして、降順で、地図識別子をソートし、(M02,M03)を得る。
次に、ソート部132は、(M02,M03)のうち、1番目の「M02」の地図表現データのみを地図表現データ管理表から取得する。
次に、データ取得部131は、取得された地図表現データの地図識別子「M02」と対になるフラグ「1」を取得する。そして、データ取得部131は、地図識別子「M02」の地図表現データに、位置特定情報が示す位置を明示しても良いと判断する。同様に、データ取得部131は、地図識別子「M03」の地図表現データに、位置特定情報が示す位置を明示しても良いと判断する。
次に、データ取得部131は、地図識別子「M02」を履歴情報に含むユーザ識別子「U03」「U06」を、図11のユーザ情報管理表から取得した、とする。そして、データ取得部131は、ユーザ識別子「U03」と対になるユーザフラグが「1」であることを取得し、ユーザ「U03」はその位置を明示しても良い、と判断する。また、データ取得部131は、ユーザ識別子「U06」と対になるユーザフラグが「1」であることを取得し、ユーザ「U06」はその位置を明示しても良い、と判断する。
そして、データ取得部131は、ユーザ識別子「U03」と対になるユーザ位置情報(x03,y03)、ユーザ識別子「U06」と対になるユーザ位置情報(x06,y06)を、図11のユーザ情報管理表から取得する。そして、データ取得部131は、M02の地図表現データの領域特定情報(x21,y21)(x22,y22)を図10の表から取得する。そして、データ取得部131は、当該領域特定情報が示す領域内における各ユーザ位置情報(x03,y03)、(x06,y06)が示す相対位置(X03,Y03)、(X06,Y06)を取得する。そして、データ取得部131は、かかる相対位置(X03,Y03)、(X06,Y06)が示す座標の点の位置に、予め決められた図柄(ここでは、星印)を付加し、M02の地図表現データを含む位置付加地図表現データを構成する。なお、位置付加地図表現データは、領域特定情報を含む、とする。
次に、送信部14は、M02の地図表現データを含む位置付加地図表現データを「U01」の端末装置2に送信する。そして、処理部13は、当該地図ユーザ情報の送信に応じて、要求指示を送信してきた端末装置2に対応するユーザ識別子「U01」対になる状態情報を、「M02」はダウンロード済みである、として変更する。
次に、端末装置2の端末受信部25は、M02の地図表現データを含む位置付加地図表現データを情報処理装置1から受信する。また、端末処理部23は、ユーザが入力した地点「A地点」の位置を示す位置情報(xa,ya)に対応する座標値を取得する。そして、端末処理部23は、当該座標値に対応する位置にマーク(ここでは、黒の四角)、および文字列「A地点」を、受信された位置付加地図表現データに付加する。また、端末処理部23は、現在位置情報(x01,y01)を取得し、地図表現データの中の現在位置(x01,y01)の座標値を算出する。そして、端末処理部23は、当該位置付加地図表現データに、現在位置(x01,y01)を示す印(ここれは、黒丸)を付加する。次に、端末出力部26は、以上の印が付加された位置付加地図表現データを出力する。かかる出力例は、図17である。図17の1701、1702は、他のユーザの位置を示す。1703は、A地点の位置を示す。1704は、現在位置を示す。1705は、次の位置付加地図表現データを表示するためのボタンである。
また、端末装置2の端末処理部23は、位置付加地図表現データを表示した旨の操作情報等(ユーザ識別子「U01」を含む)を構成し、端末送信部24は、かかる操作情報等を情報処理装置1に送信する。
次に、情報処理装置1の受信部12は、端末装置2から操作情報等を受信する。そして、処理部13は、受信された操作情報をユーザ識別子「U01」に対応付けて、ユーザ情報管理表に蓄積する。かかる情報により、ユーザ識別子「U01」に対応付けて、閲覧中地図識別子が「M02」となり、閲覧時間が更新されていく。
(具体例3)
図17において、「M02」の地図表現データが表示されている状況において、ユーザは次ボタン1503を押下した、とする。かかる次ボタン1705は、表示されている位置付加地図表現データを用いて、地図表現データ等を検索するためのボタンである。
すると、端末受付部22は、要求指示を受け付ける。次に、端末処理部23は、受け付けた要求指示に対応する位置特定情報(ここでは、表示されている地図表現データの地図識別子「M02」)を取得する。なお、端末処理部23は、表示されている地図表現データの地図識別子「M02」と、表示されている地図の特定の座標値(例えば、表示中の地図の真ん中の座標値)とを取得しても良い。そして、端末処理部23は、ユーザ識別子「U01」を端末格納部21から取得し、特定情報「M02」と当該ユーザ識別子「U01」とを有する要求指示を構成する。次に、端末送信部24は、特定情報を含む要求指示を情報処理装置1に送信する。
次に、情報処理装置1の受信部12は、特定情報「M02」と当該ユーザ識別子「U01」とを有する要求指示を受信する。
次に、データ取得部131は、受信された特定情報「M02」を用いて、位置情報(xM02,yM02)を取得する。なお、位置情報(xM02,yM02)は、地図表現データ「M02」の代表位置(例えば、真ん中の位置)を示す情報であり、図示していないが、地図表現データ管理表に格納されている、とする。
次に、データ取得部131は、位置情報(xM02,yM02)を領域に含む地図表現データであり、「M02」を除く地図表現データを図10の地図表現データ管理表から検索する。つまり、データ取得部131は、地図表現データ管理表の各レコードの領域特定情報で特定される領域内に、位置情報(xM02,yM02)が含まれるか否か、「M02」を除くレコードごとに検査する。そして、データ取得部131は、「ID=M03」「ID=M11」のレコードの領域特定情報で特定される領域内に、位置情報(xM02,yM02)が含まれる、と判断した、とする。そして、データ取得部131は、「M03」と対になる地図表現データを地図表現データ管理表から取得する。
次に、データ取得部131は、取得された地図表現データの地図識別子「M03」と対になるフラグ「1」を取得する。そして、データ取得部131は、地図識別子「M03」の地図表現データに、位置特定情報が示す位置を明示しても良いと判断する。
また、ータ取得部131は、取得された地図表現データの地図識別子「M11」と対になるフラグ「0」を取得する。そして、データ取得部131は、地図識別子「M11」の地図表現データに、位置特定情報が示す位置を明示しないと判断する。
また、データ取得部131は、「M03」を現在、閲覧中のユーザのユーザ識別子「U08」「U23」を取得した、とする。そして、データ取得部131は、ユーザ識別子「U08」と対になるユーザフラグが「1」であることを取得し、当該ユーザの位置を明示しても良い、と判断する。また、データ取得部131は、ユーザ識別子「U23」と対になるユーザフラグが「0」であることを取得し、当該ユーザの位置を明示しない、と判断する。
次に、データ取得部131は、ユーザ識別子「U08」と対になるユーザ位置情報(x08,y08)を、図11のユーザ情報管理表から取得する。そして、データ取得部131は、M03の地図表現データの領域特定情報を図10の表から取得する。そして、データ取得部131は、当該領域特定情報が示す領域内における各ユーザ位置情報(x08,y08)が示す相対位置(X08,Y08)を取得する。そして、データ取得部131は、かかる相対位置(X08,Y08)が示す座標の点の位置に、予め決められた図柄(ここでは、星印)を付加し、M03の地図表現データを含む位置付加地図表現データを構成する。
次に、送信部14は、M03の地図表現データを含む位置付加地図表現データを「U01」の端末装置2に送信する。そして、処理部13は、当該地図ユーザ情報の送信に応じて、要求指示を送信してきた端末装置2に対応するユーザ識別子「U01」対になる状態情報を、「M03」はダウンロード済みである、として変更する。
なお、送信部14は、M11の地図表現データをも端末装置2に送信しても良い。
次に、端末装置2の端末受信部25は、M03の地図表現データを含む位置付加地図表現データを情報処理装置1から受信する。次に、端末出力部26は、当該位置付加地図表現データを表示する。
また、端末装置2の端末処理部23は、「M03」の位置付加地図表現データを表示した旨の操作情報等(ユーザ識別子「U01」を含む)を構成し、端末送信部24は、かかる操作情報等を情報処理装置1に送信する。
なお、端末装置2がM11の地図表現データをも端末装置2から受信した場合、当該地図表現データをも表示しても良い。
そして、情報処理装置1の受信部12は、端末装置2から操作情報等を受信する。そして、処理部13は、受信された操作情報をユーザ識別子「U01」に対応付けて、ユーザ情報格納部112に蓄積する。
(具体例4)
次に、ユーザ「U01」が「M03」の位置付加地図表現データを端末装置2に表示させている状態が1分以上となり、次の地図表現データ等の要求の可能性がある、と情報処理装置1が判断した、とする。つまり、同一の地図表現データの表示が閾値(ここでは、1分)以上の時間となり、第二データ取得部134は、一の端末装置2でキャッシュさせる地図表現データを送信する、と判断する。
次に、第二データ取得部134は、キャッシュする地図表現データを送信する対象の端末装置2のユーザ識別子「U01」と対になる履歴情報をユーザ情報管理表から取得する。
また、第二データ取得部134は、ユーザ識別子「U01」と対になる現在情報(閲覧中地図識別子「M03」,閲覧時間「1分02秒」)を取得した、とする。
次に、第二データ取得部134は、履歴情報のうち、過去に閲覧した「M09」「M01」「M29」と現在情報うちの閲覧中地図識別子「M03」とを用いて、ユーザが好む地図表現データの種類「古地図」を取得する。そして、第二データ取得部134は、閲覧中地図識別子「M03」を代表する地点の位置情報(xM03,yM03)を取得する。そして、第二データ取得部134は、位置情報(xM03,yM03)を領域に含み、メタデータ「古地図」と対になる1以上の地図表現データを、地図表現データ管理表から検索する。
次に、スコア取得部133は、検索した1以上の各地図表現データに対して、上述したアルゴリズムにより、スコアを算出する。
次に、第二データ取得部134は、予め決められた条件を満たすほどスコアが高い1以上の地図表現データを取得する。予め決められた条件を満たすほどスコアが高いことは、例えば、スコアが上位N(Nは1以上の自然数)であること、またはスコアが閾値以上または閾値より大きいことである。
また、データ取得部131は、上述したアルゴリズムにより、取得された1以上の各地図表現データに対応するユーザ位置情報を取得する。そして、データ取得部131は、1以上の地図ユーザ情報または1以上の位置付加地図表現データを構成する。
次に、送信部14は、構成された1以上の地図ユーザ情報または1以上の位置付加地図表現データまたはそれらの一部を、ユーザ識別子「U01」の端末装置2に送信する。
次に、端末装置2の端末受信部25は、キャッシュ用の地図ユーザ情報等の全部または一部分を受信する。次に、端末処理部23は、受信されたキャッシュ用の地図ユーザ情報等の全部または一部分を、図示しないバッファに蓄積する。なお、地図ユーザ情報等とは、地図ユーザ情報または位置付加地図表現データである。
そして、端末出力部26は、ユーザにレコメンドする次の地図表現データ等が存在することを示す表示を行う。かかる表示例は、図18である。つまり、地図表現データ等がキャッシュされたことにより、端末装置2の表示が図18のようになった。そして、図18の1801は、ユーザにレコメンドする次の地図表現データ等が存在することを示す。そして、ユーザが1802の次ボタンを押下すれば、例えば、キャッシュされている(バッファに格納されている)位置付加地図表現データが端末装置2に表示される、またはキャッシュされている地図ユーザ情報から構成される位置付加地図表現データが端末装置2に表示される。
以上、本実施の形態によれば、地図表現データの上に、他のユーザの位置を明示できる。なお、ユーザの位置の明示とは、通常、地図表現データの上に、ユーザの位置を示す図柄を配置することである。なお、図柄は、例えば、図、マーク、文字等、またはこれらの組み合わせであり、ユーザの位置が示せれば何でも良い。
また、本実施の形態によれば、地図表現データの上に、予め決められた条件を満たす他のユーザの位置を明示できる。
また、本実施の形態によれば、予め決められた条件を満たす地図表現データのみに対して、ユーザの位置を明示できる。
また、本実施の形態によれば、地図表現データに対応する端末装置の位置を明示した位置付加地図表現データを出力できる。
また、本実施の形態によれば、適切な地図表現データをユーザに容易に提供できる。
また、本実施の形態によれば、適切な地図表現データを適切な順序でユーザに容易に提示できる。
さらに、本実施の形態によれば、適切な地図表現データをストレスなくユーザに容易に提供できる。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、例えば、表現している領域を特定する領域特定情報を含む1以上の属性値に対応付けられたデータであり、地図を表現した2以上の地図表現データが格納される地図表現データ格納部と、前記2以上の各地図表現データに対応付けて、1以上の各ユーザの位置を特定する位置特定情報が格納される位置特定情報格納部とを具備する記録媒体にアクセス可能なコンピュータを、地図表現データの送信の指示であり、地図表現データを特定する特定情報を含む要求指示を端末装置から受信する要求指示受信部と、前記要求指示が有する特定情報により特定される地図表現データと、当該地図表現データに対応付いている1以上の位置特定情報とを有する地図ユーザ情報を取得するデータ取得部と、前記データ取得部が取得した地図ユーザ情報、または当該地図ユーザ情報が有する位置特定情報が示す位置を前記地図表現データ上に明示した位置付加地図表現データを、前記端末装置に送信する送信部として機能させるためのプログラムである。
また、図19は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の情報処理装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図19は、このコンピュータシステム300の概観図であり、図20は、システム300のブロック図である。
図19において、コンピュータシステム300は、CD-ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図20において、コンピュータ301は、CD-ROMドライブ3012に加えて、MPU3013と、CD-ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の情報処理装置1等の機能を実行させるプログラムは、CD-ROM3101に記憶されて、CD-ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD-ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の情報処理装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。つまり、情報処理装置1は、スタンドアロンで動作しても良い。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。