(58)【調査した分野】(Int.Cl.,DB名)
前記付与手段は、前記予め定められた基準として、前記区画に含まれる前記境界が、前記区画に含まれる前記領域のなかで最長である前記領域に付与されている前記属性値を前記区画に付与することを特徴とする請求項2又は3記載の情報処理装置。
前記付与手段は、前記予め定められた基準として、前記区画に含まれる面積が、前記区画に含まれる前記領域のなかで最大である前記領域に付与されている前記属性値を前記区画に付与することを特徴とする請求項2又は3記載の情報処理装置。
前記付与手段は、前記予め定められた基準として、前記区画に含まれるノードの密集度が前記区画に含まれる前記領域のなかで最高である前記領域に付与されている前記属性値を前記区画に付与することを特徴とする請求項2又は3記載の情報処理装置。
併合された前記多角形の辺が前記境界に接する点を、互いに隣接する前記領域同士が前記境界で接する点と一致するようにその多角形を変形させる手段を備えたことを特徴とする請求項2から8のいずれか一項に記載の情報処理装置。
【発明を実施するための形態】
【0021】
次に、本発明を実施するための形態(「実施形態」と呼ぶ)について図に沿って例示する。なお、背景技術や課題などで既に述べた内容と共通の前提事項は適宜省略する。
【0022】
〔1.全体構成〕
図1に本実施形態の全体構成を示す。本実施形態は、本発明の情報処理装置を、配信サーバ1と生成装置2で構成し、配信サーバ1からスマートフォンなどの端末Tへ情報配信を行う場合に、測位された端末Tの位置が海上であっても、その位置に陸地で対応する地域の属性値に基く情報配信を行う例である。また、そのような情報配信を行うために用いる情報を生成装置2が生成する例を示す。
【0023】
まず、配信サーバ1及び生成装置2は、コンピュータの構成として少なくとも、CPUなどの演算制御部6と、主メモリや補助記憶装置等の記憶装置7と、通信ネットワークN(例えば、携帯電話、PHS、公衆無線LANなどの各種無線通信網、インターネットなど)との通信手段8として、例えば、移動体通信網との通信回路、無線LANアダプタなどと、を有する。
【0024】
また、端末Tは、上記のようなコンピュータの構成に加え、図示はしないが、内蔵の充電池(バッテリー)の充放電を制御する充電池制御部と、発呼や着呼のほか図示しない受話用スピーカや送話用マイクロホンなどの制御も行う通話制御部と、測位部と、を備える。
【0025】
測位部は、GPS、近くの携帯電話基地局や無線LAN親機の位置情報などで現在位置を測位するものである。また、端末Tは、図示はしないが、液晶や有機ELを用い、タッチパネル機能を備えた入出力手段である表示画面を備える。
【0026】
配信サーバ1及び生成装置2では、演算制御部6が、図示しないプログラムを実行することにより
図1に示す各手段などの要素を実現する。配信サーバ1及び生成装置2や端末Tで機能を実現するプログラムの形式に限定はないが、例えば、基本ソフトウェア、アプリケーションプログラム、各種ミドルウェア、スクリプトなどが考えられる。
【0027】
実現される要素のうち情報の記憶手段の態様は自由で、記憶装置7上のファイルなど任意のデータ形式で実現できるほか、ネットワーク・コンピューティング(クラウド)によるリモート記憶などでもよい。
【0028】
また、記憶手段は、データの格納領域だけでなく、データの入出力や管理などの機能を含んでもよい。また、本出願に示す記憶手段の単位は説明上の便宜によるもので、適宜、構成を分けたり一体化できるほか、明示する記憶手段以外にも、各手段の処理データや処理結果などを記憶する記憶手段を適宜用いるものとする。
【0029】
〔2.対応記憶手段〕
例えば、対応記憶手段15は、属性値が付与されている地域と、その地域に対応する海域と、を対応付けて記憶している手段である。本願において地域とは、海以外の部分であって、島や内水面も含む。また、属性値は、地域名であるものとする。地域名は、都道府県・市区町村・町字域といった行政区画名など公式な住所でもよいが、慣習的な地域名など任意の地域名称でもよい。
【0030】
属性値は、文字列である地域名には限られず、例えば、端末Tや配信サーバ1及び生成装置2の内部処理や通信には地域コードを用い、端末Tでの表示の際に、地域コードに予め対応付けられている文字列である地域名を用いてもよい。
【0031】
また、属性値が付与されている地域と、海域との対応付けとしては、属性値が付与されている地域に、属性値が付与されていない海域を対応付けてもよいが、地域と海域にそれぞれ同じ属性値を付与することによって対応付けてもよい。
【0032】
例えば、対応記憶手段15に記憶されている情報の一例を
図2に示す。この例では、地域コードA、B、C(実際は数字などでもよい)でそれぞれ表されるA市、B市、C市について、陸上の範囲を表す地域ポリゴンと、海上での位置判定用ポリゴン(「海上ポリゴン」と呼ぶこととする)が設定されている。この場合に、対応記憶手段15に記憶されている情報の一例を
図2に示す。
【0033】
なお、図中(例えば
図1)の矢印は、データや制御などの流れについて主要な方向を補助的に示すもので、他の流れを否定するものでも、方向の限定を意味するものでもない。例えばある方向のデータ取得の前後に、データ要求や確認応答(ACK)が逆方向に発生し得る。
【0034】
また、記憶手段以外の各手段は、以下に説明するような情報処理の機能・作用(例えば
図1)を実現・実行する処理手段であるが、これらは説明のために整理した機能単位であり、実際のハードウェア要素やソフトウェアモジュールとの一致は問わない。
【0035】
〔3.情報の配信〕
上記のように構成された本実施形態において、配信サーバ1から端末Tへ情報を送信(配信サーバ1と比べ端末Tの数が通常多いので「配信」とも呼ぶこととする)する処理手順を
図3のフローチャートに示す。すなわち、端末Tで動作するプログラムが、端末の現在位置を表す経度緯度などの位置情報を取得し、配信サーバ1へ送信する(ステップS11)。
【0036】
端末Tにおいて位置情報を取得するタイミングは、端末Tが配信サーバ1へ情報を要求するときでもよいし、定周期、一定距離移動したときなどでもよい。配信サーバ1では位置取得手段10が、上記のように送信された位置情報を受信することにより、端末Tの位置を表す位置情報を取得する(ステップS21)。
【0037】
そして、配信サーバ1の情報送信手段20は、取得された位置がどのポリゴンの表す位置の範囲に属するか判定し(ステップS22)、取得された位置情報の表す位置が海域に属するとき(ステップS23:「YES」)、対応記憶手段15においてその海域に対応する地域に付与されている属性値に対応する情報を端末Tへ送信し(ステップS24)、端末ではこの情報を受信し表示する(ステップS12)。
【0038】
例えば、本実施形態では、A市、B市、C市に対応した海域ごとに、A市、B市、C市の地域コード(A1、B2、C3)が付与された海上での位置判定用ポリゴン(「海上ポリゴン」と呼ぶこととする)が設定されている。
【0039】
このため、取得された位置情報が誤差などにより海上である位置にずれている場合でも、対応するB市の地域コードに基いて、B市内に絞り込む施設検索や、「B市」内の端末への広告配信を実現できる。配信する情報は情報記憶手段25に予め格納し検索などで取り出して用いる。
【0040】
海上ポリゴンにも地域コードが付与されている場合、海域か判定する処理(ステップS23)は不要であり、地域ポリゴンに基く地域コードと海上ポリゴンに基く地域コードは区別なく扱われる。
【0041】
〔4.海上ポリゴンの生成〕
次に、上記のように情報の配信に用いる海上ポリゴンを生成する処理手順の概要を
図4のフローチャートに示す。また、多角形を発生させる基礎となる境界を構成する点が多くても、処理精度を維持しながら処理負荷を抑制するようにした、より具体的な処理手順を
図5のフローチャートに示す。
【0042】
まず、概要としては(
図4)、生成手段30が、海岸線を構成する点に基いて多角形を生成し(ステップS1)、併合手段40は、点が属している地域に付与されている属性値が共通である多角形同士を併合して多角形とする(ステップS2)。また、整形手段50は、併合された多角形を、地域と海域とが隣接する海岸線のラインで切ることにより、海域のみの多角形にする(ステップS3)。以下、より具体的な処理手順を
図5のフローチャートに沿って説明する。
【0043】
〔4−1.生成手順の適用対象〕
なお、本実施形態で生成する海上ポリゴンは、地域と、その地域に対応する海域と、を対応付ける情報であるが、これは一例にすぎない。すなわち、その生成に用いる以下のアルゴリズムは、地域と、その地域に対応する海域との対応付けに限らず、他の場合にも適用可能なものである。
【0044】
すなわち、一般化すれば、以下のアルゴリズムは、境界の一方の側にある第1の領域(単に「領域」とも呼ぶこととする)と、境界の他方の側にある第2の領域と、の関連に基いて多角形を発生させる処理全般に適用できる。そして、本実施形態における処理は、そのなかで、第1の領域は陸地の地域であって、境界は海岸線であって、第2の領域は地域に海岸線で接する海域である例を示すものである。
【0045】
〔4−2.分割による間引きの処理〕
海岸線を構成する点に基いて多角形を生成するのに先立ち、処理負荷を軽減するため、多角形を生成する基礎とする点を間引く処理を以下のように行う。まず、
図6は、海上ポリゴンの生成の対象とする地理的範囲を示す概念図である。
【0046】
この図において、曲がりくねった実線は海岸線Kを示し、海岸線Kは、図示はしないが複数の点で定義され、ポリラインやポリゴンとして実現される。海岸線Kの左上側は陸地で、左から順にA市、B市、C市が海沿いに並び、一点鎖線は市境を示す。
【0047】
ここでは、生成装置2において、A市、B市、C市の範囲の判定と海岸線に用いる陸上ポリゴンが陸上ポリゴン記憶手段55に予め記憶されているものとする。そして、陸上ポリゴンに基き、区画等記憶手段75をワークエリアとして用いて海上ポリゴンを生成し、陸上ポリゴンと共に配信サーバ1の対応記憶手段15に記憶させるものとする。
【0048】
まず、分割手段60は、
図6に例示するように、海岸線Kを含むエリアをメッシュ状の区画M1(以下「隣接メッシュ」又は「隣接メッシュM1」とも呼ぶこととする)に分割する(ステップS31)。図において符号M1は一部の矩形について示すが、同じサイズの他の矩形も区画M1であり、後述の区画M2、M3についても同様である。
【0049】
この分割により、多角形を生成する対象とする範囲の海岸線は隣接メッシュを通ることとなる。なお、
図6以降の図は概念図であるから、図の端部付近に関する区画は省略する。
【0050】
また、再分割手段70は、分割された区画のうち、予め定められた条件(以下「分割条件」と呼ぶこととする)を満たす部分をさらに細分化した区画として分割する。具体的には、
図5の手順では、再分割手段70は、分割された区画の部分のうち未選択のものを一つずつ選択し(ステップS34)、その部分が分割条件を満足すれば(ステップS35:「YES」)、その部分を分割する(ステップS36)、という処理を、終了条件を満たすまで繰り返す(ステップS37)。
【0051】
終了条件(ステップS37)は、例えば、下位の区画に分割できる可能性がある、全ての区画の全ての部分について判断(ステップS33)が済んだこと、又は、後述の幅優先探索において総区分数が所定の上限値を超えたことなどである。なお、隣接メッシュを含め、分割された新たに区画に対しては、属性値の付与(ステップS32)と代表点の設定を行うが(ステップS33)、これらについては後述する。
【0052】
区画の細分化を進めて分割してゆく段数は、処理の対象とする範囲などに応じて設定できる。ここでは、
図7に例示するように、隣接メッシュM1をさらに細分化した区画M2(以下「細分メッシュ」又は「細分メッシュM2」とも呼ぶこととする)に分割し、細分メッシュM2の一部を、さらに細分化した区画M3(「詳細メッシュ」と呼ぶこととする)に分割するものとする。
【0053】
また、最上位の区画(上記の例では隣接メッシュM1)から最下位の区画へ処理を進める順序は、幅優先探索でも深さ優先探索でもよい。前者では、全ての隣接メッシュM1の全ての部分を判断後に、細分メッシュM2の部分を対象とするレベルの処理へ進む。後者では、一つの隣接メッシュM1の全ての部分を判断後に、その隣接メッシュM1から分割された細分メッシュM2があれば、それら細分メッシュM2の各部分を判断対象としたうえ、別の隣接メッシュM1へと戻る。
【0054】
〔4−3.分割条件〕
上位の区画(例えばM1)からある部分を下位の区画(例えばM2)として分割する分割条件は、例えば、複数の地域が海岸線Kで接する点(例えば
図7の点P、Q。「隣接点」とも呼ぶこととする)を含むことである。
【0055】
また、分割条件の他の例は、部分に含まれる点の密集度が所定以上であることである。密集度は、部分における点の数でも、点の間の隣接距離の近さや近さの平均値でもよい。また、点の密集度が所定以上かを判定する基準は、絶対的な基準でも相対的な基準でもよい。
【0056】
例えば、隣接メッシュM1を、さらに縦横に4分割する各部分を、一段小さい区画である細分メッシュM2に分割する場合、絶対的な基準であれば、隣接メッシュM1のある部分に含まれる点の数が所定の敷居値以上なら、その部分を細分メッシュM2として分割する。相対的な基準であれば、例えば、対象とする地理的範囲内に存在する全ての隣接メッシュM1の各部分毎に含まれる点の数を降順に並べ、上位所定割合の部分を分割し細分メッシュM2とする。
【0057】
〔4−4.多角形の生成〕
そして、生成手段30は、海岸線を構成する点に基いて多角形を生成する。ここで「海岸線を構成する点」とは、海岸線を表すポリゴンの頂点など海岸線上に位置する点に限らず、海岸線を含む区画の中心点など、海岸線から所定範囲内の点でもよい。
【0058】
本実施形態では、生成手段30は、分割された区画を代表する代表点(例えば中心点)に基き、代表点を内包する多角形を生成する(ステップS38)。分割された区画には、区画M1だけでなくそれをさらに再分割された区画M2やM3を含む。また、多角形としては、ボロノイ多角形を生成するものとする。
【0059】
代表点は、多角形を生成する時点で設定することもできるが、本実施形態では、生成手段30又は他の適宜な手段が、分割ごとに新たな区画に代表点を設定しておく(ステップS33)。
【0060】
図8において、各区画の中心付近の黒い矩形が代表点である。各代表点に付記したA〜Cのアルファベットは、後述する属性値で、A市からC市のいずれに対応するかを表す。これら代表点に基いて多角形を生成した状態のイメージ図を
図9に示す。図中の多くの多角形は図の範囲外に及び、図示は結果的に輪郭の一部となっている。
【0061】
〔4−5.属性値に基く多角形の併合〕
さらに、併合手段40は、点が属している地域に付与されている属性値が共通であるボロノイ多角形同士を併合して多角形とする(ステップS40。例えば
図10)。点が属している地域に付与されている属性値は、点の位置を含む地域の属性値でもよいが、本実施形態のように、点に対応する区画に対し、地域に基き所定の基準で付与されている属性値でもよい。この属性値は、区画の分割の段階で区画又は区画の代表点に予め付与しておくことができる。
【0062】
例えば、本実施形態では、多角形を生成する基の点として、分割された区画の代表点を用いるが、
図5の処理手順において、付与手段80は、分割のたびに分割された区画又は区画の代表点に対し、その区画に含まれる地域に付与されている属性値のうち所定の基準で選択(すなわち算出)される属性値を付与する(ステップS32)。
【0063】
所定の基準の一例は、区画に含まれる面積が、区画に含まれる地域のなかで最大である地域に付与されている属性値を区画又は区画の代表点に付与することである。例えば、
図8において、B市とC市の間に存在する隣接点Qとの位置の関係で、隣接点Qを含む区画の中で、区画M1とM2の属性はC(C市)となるが、区画M3の属性はB(B市)となる。
【0064】
所定の基準に関する他の例は、区画に含まれる海岸線が、区画に含まれる地域のなかで最長である地域に付与されている属性値を区画又は区画の代表点に付与することである。この基準を適用した場合でも、
図8の例では、区画M1とM2の属性はC(C市)、区画M3の属性はB(B市)となる。
【0065】
また、図示は省略するが、区画に含まれるノードの密集度が区画に含まれる地域のなかで最高である地域に付与されている属性値を、区画又は区画の代表点に付与するようにしてもよい。なお、区画に含まれる地域が一つのときは、その地域に付与されている属性値を区画又は区画の代表点に付与する。
【0066】
そして、併合手段40は、生成手段30により生成された多角形のうち、生成の基礎となった区画又は区画の代表点に付与されている属性値が共通である多角形同士を併合して多角形とする(ステップS40)。
図9に示した多角形を、多角形の基となった代表点に付与されている属性値(A、B又はC)の共通性を基に併合した多角形について、
図10にその輪郭の一部を太い実線で示す。また、この図において、併合された多角形が持っていた輪郭を細い破線で示す。
【0067】
なお、点が属している地域の属性値は、多角形を併合する時点で改めて判断し付与することもできる。この場合、併合手段40が、点が属している地域の属性値(例えば地域名)をボロノイ多角形の属性値として付与し、同じ属性値が付与されたボロノイ多角形同士を併合する。
【0068】
〔4−6.整形〕
そして、整形手段50が、併合された多角形の辺が海岸線Kに接する点を、互いに隣接する地域同士が海岸線Kで接する隣接点と一致するように多角形を変形させる(ステップS41)。例えば、
図11では、隣接点P及びQに合わせて、破線部分を輪郭R1、R2が通っていた多角形(B市に対応するもの)を実線部分を通るように変形させている。
【0069】
また、整形手段50は、併合された多角形を、地域と海域とが隣接する海岸線Kのラインで切ることにより、海域のみの多角形にする(ステップS42)。例えば、
図11に示したB市に対応する多角形を海岸線Kのラインで切った結果、
図12に示す海上ポリゴンX(横線状のハッチングで示す)を得る。
【0070】
〔5.効果〕
以上のように、本実施形態では、測位された位置情報が誤差などで海域に属するときでも(例えば
図3のステップS23:「YES」)、その海域に対応する地域に付与されている属性値を用いることにより(ステップS24)、端末への情報配信が可能となる。
【0071】
特に、本実施形態では、測位された位置が属する海域に対応する地域の地域名に基いた情報配信を行う。これにより、測位位置が誤差で海上になったり、海洋レジャーなどで実際に海上にいても、配信対象の地域名が指定されている広告の配信や、地域名に基く施設情報検索などの情報配信が可能となる。
【0072】
また、本実施形態では、海岸線を構成する点を基にボロノイ多角形を生成し(例えば
図9)、基になった点の属する地域名が共通のボロノイ多角形を併合する(例えば
図10)という簡明な処理により、海域に対応する地域の地域名を判定するための多角形すなわちポリゴンを容易に得ることができる。
【0073】
さらに、本実施形態では、母点となった点が属する地域の属性値をボロノイ多角形の属性値として付与したうえ(例えば
図10)、同じ属性値が付与されたボロノイ多角形同士を併合する(例えば
図11)。これにより、ボロノイ多角形同士の属性値の共通性を確認するたびに点が属する地域に付与されている属性値を読み出す必要がなく処理が効率化される。
【0074】
加えて、本実施形態では、併合され多角形を海岸線でカットし海域のみの多角形にする(例えば
図12)。これにより、海域の多角形が対応する地域の多角形と重複することがなくなり、位置情報から該当する地域又は海域を判断する際に優先順位の処理が不要となる。
【0075】
また、本実施形態では、境界を含むエリアを分割した区画のうち、所定条件を満たす部分をさらに細分化したうえ(例えば
図7)、各区画の代表点(例えば
図8)に基き多角形を生成する(例えば
図9)。これにより、多角形を生成する基準となる点を、境界の部分毎の特徴に応じた密度で間引きできる。このため、多角形を発生させる基礎となる境界を構成する点が多くても、処理精度を維持しながら処理負荷を抑制することができる。
【0076】
特に、本実施形態では、分割された区画のうち点の特に密集した部分をさらに細分化することで(例えば
図8)、形状が入り組んだ部分の特徴が多角形に忠実に反映できる。
【0077】
また、本実施形態では、境界の一方の側にある領域(例えば地域など第1の領域。以下同じ)の属性値のうち、情報処理の目的に適した所定の基準で選択される属性値を、分割された区画に付与し(例えば
図8)、その区画を基に生成された多角形を(例えば
図9)、生成の基礎となった区画の属性値が共通するもの同士で併合する(例えば
図10)。これにより、領域の属性値を、その領域に境界で接する第2の領域に付与することができる(例えば
図12)。
【0078】
さらに、本実施形態では、互いに隣接する領域同士が境界で接する点を含む部分をさらに細分化することで(例えば
図8)、領域同士の勢力関係を、対応する第2の領域同士に反映させる場合に、その部分で発生させる多角形が細密になる。このため、併合後の多角形について第1の領域との位置のずれが抑制できる。
【0079】
加えて、本実施形態では、分割された区画に対し、その区画に含まれる境界が、その区画に含まれる領域のなかで最長である領域の属性値を付与する(例えば
図8)。これにより、境界で領域に接する第2の領域に多角形を生成する際、区画内で接する境界が最長の領域の属性値を第2の領域に忠実に反映できる。
【0080】
とりわけ、本実施形態では、分割された区画に対し、その区画に含まれる面積が、その区画に含まれる領域のなかで最大である領域の属性値を付与する(例えば
図8)。これにより、領域に対し何らかの処理を行う場合に処理面積を拡大できる。
【0081】
ことに、本実施形態では、分割された区画に対し、その区画内で最も入り組んだ境界を持つ領域の属性値を付与する。これにより、入り組んだ境界の存在を重視した情報処理に適する。
【0082】
また、本実施形態では、陸地の地域の属性値をその地域に海岸線で接する海域に付与することにより(例えば
図12)、陸地の属性値を対応する海域に援用する情報処理が実現できる。
【0083】
さらに、本実施形態では、陸地の地域が属性値として付与されている地域名を、その地域に海岸線で接する海域に付与する(例えば
図12)。これにより、測位位置が誤差で海上になったり、海洋レジャーなどで実際に海上にいる場合でも、配信対象の地域名が指定されている広告の配信や、地域名に基く施設情報など(POI)の検索といった情報配信が可能となる。
【0084】
加えて、本実施形態では、併合された多角形の辺が境界である海岸線に接する点を、互いに隣接する領域である地域同士が海岸線で接する点と一致するように多角形を変形させる(例えば
図11)。
【0085】
これにより、点を間引きし代表点を用いたことで、隣接する地域(第1の領域)同士が海岸線(境界)で接する点と、多角形の辺が海岸線(境界)に接する点と、がずれた場合も、そのずれを解消し陸上(領域)のポリゴンと海上(第2の領域)のポリゴンの結合精度が改善する。
【0086】
〔6.他の実施形態〕
なお、上記実施形態は例示に過ぎず、本発明は、以下に例示するものやそれ以外の他の実施態様も含むものである。例えば、属性値は、地域名に限らず、経済指標その他の値でよい。
【0087】
また、本出願における構成図、データの図、フローチャートなども例示に過ぎず、各要素の有無、その配置や処理実行などの順序、具体的内容などは適宜変更可能である。例えば、配信サーバ1と生成装置2は一体に構成してもよいし、配信サーバ1のみ又は生成装置2のみを、本実施形態の情報処理装置として実現してもよい。
【0088】
また、本出願に示す各態様は、明記しない他のカテゴリ(方法、プログラム、端末を含むシステムなど)としても把握できる。方法やプログラムのカテゴリについては、装置のカテゴリで示した「手段」を、「処理」や「ステップ」のように適宜読み替えるものとする。また、処理やステップの順序は、本出願に直接明記のものに限定されず、順序を変更したり、一部の処理をまとめてもしくは随時一部分ずつ実行するなど、変更可能である。
【0089】
また、個々の手段、処理やステップを実現、実行する端末などのコンピュータは共通でもよいし、手段、処理やステップごとにもしくはタイミングごとに異なってもよい。また、上記「手段」の全部又は任意の一部を「部」(ユニット、セクション、モジュール等)と読み替えることができる。
【0090】
また、配信サーバ1及び生成装置2を構成する個々の手段を実現する態様は自由で、外部のサーバが提供している機能をAPI(アプリケーション・プログラム・インタフェース)やネットワーク・コンピューティング(いわゆるクラウドなど)で呼び出して実現するなど、本発明の構成は柔軟に変更できる。さらに、本発明に関する手段などの各要素は、コンピュータの演算制御部に限らず物理的な電子回路など他の情報処理機構で実現してもよい。