(57)【要約】      （修正有）【課題】複数の異なるレイヤを重ねて表示させた場合でも表示される情報量が減少することを防ぐことができる図形表示データ生成装置、図形表示データ生成方法、及び図形表示データ生成プログラムを提供する。【解決手段】１以上の単位図形の集合として表される図形領域を１以上含むレイヤを複数重ねて表示するために、複数の前記レイヤの組み合わせとして表される図形表示データを生成するための図形表示データ生成装置であって、上の前記レイヤに含まれるいずれかの前記図形領域によって、下の前記レイヤに含まれる何れかの前記図形領域が覆われるか判定し、覆われる前記図形領域があると判定した場合、下の前記レイヤに含まれる覆われると判定された前記図形領域のみを当該レイヤから切り出すように形成される第３のレイヤを生成し、当該第３のレイヤを前記上のレイヤより上に配置する。【選択図】図１５
2015184748.tif 000002
【特許請求の範囲】
【請求項１】
１以上の単位図形の集合として表される図形領域を１以上含むレイヤを複数重ねて表示するために、複数の前記レイヤの組み合わせとして表される図形表示データを生成するための図形表示データ生成装置であって、
上の前記レイヤに含まれるいずれかの前記図形領域によって、下の前記レイヤに含まれる何れかの前記図形領域が覆われるか判定し、覆われる前記図形領域があると判定した場合、下の前記レイヤに含まれる覆われると判定された前記図形領域のみを当該レイヤから切り出すように形成される第３のレイヤを生成し、当該第３のレイヤを前記上のレイヤより上に配置する、図形表示データ生成装置。
【請求項２】
請求項１に記載の図形表示データ生成装置であって、
外部装置から座標情報データを取得し、当該座標情報データから画像データを作成して前記レイヤとして保持する、図形表示データ生成装置。
【請求項３】
請求項１に記載の図形表示データ生成装置であって、
前記下のレイヤにある前記図形領域が前記上のレイヤにある前記図形領域によって覆われるか否かは、前記下のレイヤにある前記図形領域の外周が前記上のレイヤにある前記図形領域の外周と一致するか又はその内側に位置する関係である内包関係であるか否かによって判定される、図形表示データ生成装置。
【請求項４】
請求項１に記載の図形表示データ生成装置であって、
前記第３のレイヤに切りだされた前記図形領域によって覆われる前記上のレイヤにある前記図形領域において、当該図形領域の覆われる部分を構成する各前記単位図形について、前記覆われる部分の周囲を構成する前記単位図形の属性値に基づいて、その属性値を予測し、算出する、図形表示データ生成装置。
【請求項５】
請求項４に記載の図形表示データ生成装置であって、
前記第３のレイヤに切り出された前記図形領域によって覆われる前記上のレイヤにある前記図形領域の部分を構成している前記単位図形がそれぞれ有する属性値と、前記予測算出された当該覆われる図形領域を構成する各単位図形について、予測算出された前記属性値とを比較し、対応する前記単位図形が有する各前記属性値について所定の差異があるか判定する、図形表示データ生成装置。
【請求項６】
請求項５に記載の図形表示データ生成装置であって、
前記第３のレイヤに切り出された前記図形領域によって覆われる前記上のレイヤにある前記図形領域の部分を構成している前記単位図形がそれぞれ有する属性値と、前記予測、算出された当該覆われる図形領域を構成する、対応する各単位図形について、予測、算出された前記属性値とを比較し、対応する前記単位図形が有する各前記属性値について所定の差異があると判定した場合、前記第３のレイヤに切り出された前記図形領域の外周のみからなる図形を含む第４のレイヤを生成し、当該第４のレイヤによって前記第３のレイヤを置き換える、図形表示データ生成装置。
【請求項７】
請求項４に記載の図形表示データ生成装置であって、
前記単位図形が有する属性値として、各前記単位図形が有する色データ値を用い、前記対応する単位図形について、所定値以上前記色データ値が異なる前記単位図形の数が所定数以上あるか判定し、所定数以上あると判定した場合、対応する前記単位図形が異なると判定する、図形表示データ生成装置。
【請求項８】
請求項１に記載の図形表示データ生成装置であって、
外部装置から座標情報データを取得し、当該座標情報データから画像データを作成して前記レイヤとして保持する画像データ作成部と、
前記下のレイヤにある前記図形領域が前記上のレイヤにある前記図形領域によって覆われるか否かを、前記下のレイヤにある前記図形領域の外周が前記上のレイヤにある前記図形領域の外周と一致するか又はその内側に位置する関係である内包関係であるか否かによって判定する内包関係判定部と、
前記第３のレイヤに切りだされた前記図形領域によって覆われる前記上のレイヤにある前記図形領域において、当該図形領域の覆われる部分を構成する各前記単位図形について、前記覆われる部分の周囲を構成する前記単位図形の属性値に基づいて、その属性値を予測し、算出する図形領域予測部と、
前記第３のレイヤに切り出された前記図形領域によって覆われる前記上のレイヤにある前記図形領域の部分を構成している前記単位図形がそれぞれ有する属性値と、前記予測算出された当該覆われる図形領域を構成する各単位図形について、予測算出された前記属性値とを比較し、対応する前記単位図形が有する各前記属性値について所定の差異があるか判定し、所定の差異があると判定した場合、前記第３のレイヤに切り出された前記図形領域の外周のみからなる図形を含む第４のレイヤを生成し、当該第４のレイヤによって前記第３のレイヤを置き換える図形領域比較部と、を備えている図形表示データ生成装置。
【請求項９】
請求項８に記載の図形表示データ生成装置であって、
前記単位図形が有する属性値として、各前記単位図形が有する色データ値を用い、前記対応する単位図形について、所定値以上前記色データ値が異なる前記単位図形の数が所定数以上あるか判定し、所定数以上あると判定した場合、対応する前記単位図形が異なると判定する、図形表示データ生成装置。
【請求項１０】
１以上の単位図形の集合として表される図形領域を１以上含むレイヤを複数重ねて表示するために、複数の前記レイヤの組み合わせとして表される図形表示データを生成するための図形表示データ生成方法であって、
上の前記レイヤに含まれるいずれかの前記図形領域によって、下の前記レイヤに含まれる何れかの前記図形領域が覆われるか判定し、覆われる前記図形領域があると判定した場合、下の前記レイヤに含まれる覆われると判定された前記図形領域のみを当該レイヤから切り出すように形成される第３のレイヤを生成し、当該第３のレイヤを前記上のレイヤより上に配置する、図形表示データ生成方法。
【請求項１１】
１以上の単位図形の集合として表される図形領域を１以上含むレイヤを複数重ねて表示するために、複数の前記レイヤの組み合わせとして表される図形表示データを生成するための図形表示データ生成プログラムであって、プロセッサとメモリとを有するコンピュータに、
上の前記レイヤに含まれるいずれかの前記図形領域によって、下の前記レイヤに含まれる何れかの前記図形領域が覆われるか判定し、覆われる前記図形領域があると判定した場合、下の前記レイヤに含まれる覆われると判定された前記図形領域のみを当該レイヤから切り出すように形成される第３のレイヤを生成し、当該第３のレイヤを前記上のレイヤより上に配置する処理を実行させる、図形表示データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、図形表示データ生成装置、図形表示データ生成方法、及び図形表示データ生成プログラムに関する。
【背景技術】
【０００２】
近年、ビッグデータの加工や分析等を行い、データの特徴や傾向を特定し、各種予測や予防等に役立てようとする動きが活発化してきている。ビッグデータは、企業等が企業活動を通して収集し、社内に蓄積していることもあれば、政府や地方自治体が国や市町村の運営を通して収集し、政府や地方自治体内に蓄積していることもある。
【０００３】
政府や地方自治体等の公共機関が蓄積しているデータの一部を、ネットワークを介して公開している場合があり、公開されているデータは「オープンデータ」と呼ばれる。オープンデータの二次利用により、経済活性化等の効果が期待されている。
【０００４】
オープンデータの二次利用の具体的な例として、座標情報を含むデータを利用して作成したヒートマップを地図上に表示するというものがある。ヒートマップは、ある範囲で区切られたセルの集合により形成されたポリゴンを含み、ポリゴンを構成する各セルの色や色の濃淡によってセルごとの気温の高低や犯罪発生件数の大小といった統計データを視覚的に把握することができるように構成することができる。
【０００５】
地域住民の所得と同地域で発生した犯罪件数、天気図に表現される同一地域における気温分布と気圧分布など、複数のデータに対してそれぞれのヒートマップを作成し、作成した複数のヒートマップを見比べることにより、各ヒートマップに表現されている事象間の因果関係や相関関係等を知ることができる場合がある。複数のヒートマップを同時に見比べる際は、各ヒートマップを表示画面上で横方向や縦方向に並べて配置して表示すればよい。
【０００６】
ここで、近年、スマートフォン等の携帯端末が普及してきているが、携帯端末は液晶画面等の表示部が小さく、複数のヒートマップを横方向や縦方向に並べて配置し表示することによって複数のヒートマップを同時に見比べることは難しい。
【０００７】
そこで、複数のヒートマップを重ねることにより、表示部が小さいスマートフォンなどの携帯端末であっても、複数のヒートマップを同時に見比べられることが望ましい。一つのデータからは一つのヒートマップが作成される。一つのヒートマップは一つのレイヤとして扱われる。レイヤにはセルの集合であるポリゴンが一つ、または複数表示される。
【０００８】
レイヤを重ねて表示する場合、あるレイヤは他のレイヤの上となり、また、あるレイヤは他のレイヤの下となる。この時、下のレイヤに表示されているポリゴンの上に、上のレイヤに表示されているポリゴンが位置する場合には、下のレイヤのポリゴンは上のレイヤのポリゴンに隠れ、下のレイヤのポリゴンはユーザから見えなくなり、ユーザが得られる情報量が減少してしまうという問題がある。
【０００９】
そのため、複数のレイヤを重ねて表示する場合には、それらのレイヤを重ねる順序が重要になり、ユーザが得られる情報量が減少しないように、レイヤを重ねる順序をユーザが自由に変更できることが望ましい。
【００１０】
この点では、例えば特許文献１に、レイヤの表示順序変更手段を備え、レイヤを重ねる順序をユーザが自由に変更できる構成が提案されている。これにより、上に表示したいレイヤを上に、下に表示したいレイヤを下に配置することが可能となり、下のレイヤのポリゴンが上のレイヤのポリゴンに隠れて見えなくなるのを防ぐことができ、得られる情報量が減少するのを防ぐ、という効果が期待できるとされている。
【００１１】
また、特許文献２には、階層管理テーブルと、ユーザ管理テーブルとを備え、ユーザごとのレイヤの階層順序を記憶・管理できる構成が提案されている。これにより、ユーザごとにレイヤの上下関係や、レイヤ間への他レイヤの挿入可・不可が設定可能となり、各々のユーザが所望する順序でレイヤを重ねて表示することができるという効果が期待できるとされている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平７−４４６７８号公報
【特許文献２】特開２００５−９２４７４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、上記文献に提案されている技術では、例えば、ポリゴン１Ａ及びポリゴン１Ｂを含むレイヤ１と、ポリゴン２Ａ及びポリゴン２Ｂを含むレイヤ２とがあり、レイヤ１がレイヤ２より上に配置される際には、ポリゴン２Ａがポリゴン１Ａによって隠され、レイヤ２がレイヤ１より上に配置される際には、ポリゴン１Ｂがポリゴン２Ｂによって隠される、という関係にある場合、どちらのレイヤを上にしても下のレイヤのポリゴンが一部隠れてしまい、ユーザがレイヤを重ねる順序を自由に変更できたとしても、得られる情報量が減少するのを防ぐことができず、単にレイヤを重ねる順序を変更できるだけでは不十分であるという問題があった。
【００１４】
本発明は、このような事情に鑑みてなされたものであり、複数の異なるレイヤを重ねて表示させた場合でも表示される情報量が減少することを防ぐことができる図形表示データ生成装置、図形表示データ生成方法、及び図形表示データ生成プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１５】
上記の、あるいは他の課題を解決するための本発明の一実施態様は、１以上の単位図形の集合として表される図形領域を１以上含むレイヤを複数重ねて表示するために、複数の前記レイヤの組み合わせとして表される図形表示データを生成するための図形表示データ生成装置であって、上の前記レイヤに含まれるいずれかの前記図形領域によって、下の前記レイヤに含まれる何れかの前記図形領域が覆われるか判定し、覆われる前記図形領域があると判定した場合、下の前記レイヤに含まれる覆われると判定された前記図形領域のみを当該レイヤから切り出すように形成される第３のレイヤを生成し、当該第３のレイヤを前記上のレイヤより上に配置する図形表示データ生成装置である。
【発明の効果】
【００１６】
本発明の一態様によれば、複数の異なるレイヤを重ねて表示させた場合でも表示される情報量が減少することを防ぐことができる図形表示データ生成装置、図形表示データ生成方法、及び図形表示データ生成プログラムが提供される。
【図面の簡単な説明】
【００１７】
【図１】図１は、本発明の一実施形態におけるヒートマップ作成システム1の全体構成例を示す図である。
【図２】図２は、図１におけるデータ提供ポータルサイト101のハードウェア・ソフトウェア構成例を示す図である。
【図３】図３は、図１におけるヒートマップ作成サーバ102のハードウェア・ソフトウェア構成例を示す図である。
【図４】図４は、図１におけるユーザ端末103のハードウェア・ソフトウェア構成例を示す図である。
【図５】図５は、ヒートマップ作成サーバ102のレイヤ記憶部310に記憶されるレイヤの例を示す図である。
【図６】図６は、ヒートマップ作成サーバ102の内包関係判定部306によって作成されたレイヤの例を示す図である。
【図７】図７は、ヒートマップ作成サーバ102の予測ポリゴン計算部307によって作成されたレイヤの例を示す図である。
【図８】図８は、ヒートマップ作成サーバ102の予測・実ポリゴン比較部308によって作成されたレイヤの例を示す図である。
【図９】図９は、ユーザ端末103が、ヒートマップ作成リクエストを行うためにヒートマップ作成サーバ102に送信するリクエスト情報901の内容例を示す図である。
【図１０】図１０は、ヒートマップ作成サーバ102のヒートマップ用データ記憶部309に記憶されるヒートマップ用データ情報テーブル1001の内容例を示す図である。
【図１１】図１１は、ヒートマップ作成サーバ102のレイヤ記憶部310に記憶されるレイヤ情報テーブル1101の内容例を示す図である。
【図１２】図１２は、ヒートマップ作成サーバ102のレイヤ順序記憶部311に記憶されるレイヤ順序情報テーブル1201の内容例を示す図である。
【図１３】図１３は、ヒートマップ作成サーバ102のユーザデータ記憶部313に記憶されるユーザ情報テーブル1301の内容例を示す図である。
【図１４】図１４は、ヒートマップ作成サーバ102のウェブサービス提供部303からネットワーク104を介してユーザ端末103に送信されるHTMLデータ1401の内容例を示す図である。
【図１５】図１５は、図１のヒートマップ作成システム1を利用したヒートマップ作成に関する処理の一例を示すシーケンス図である。
【図１６】図１６は、図１のヒートマップ作成システム1を利用したヒートマップ作成に関する処理を実施した際に、レイヤ情報テーブル1101、レイヤ順序テーブル1201に記憶されるデータ例を示す図である。
【図１７】図１７は、ユーザ端末103の出力部403に表示されるヒートマップの表示例を示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して、本発明の実施の形態について説明する。図１は、本発明を適用するヒートマップ作成システム1の全体構成例を示す図である。ヒートマップ作成システム1は、インターネット等の適宜の形式のネットワーク104によって互いに通信可能に接続された複数のデータ提供ポータルサイト101、ヒートマップ作成サーバ102、及び複数のユーザ端末103を備えて構成されている。
【００１９】
図２は、データ提供ポータルサイト101のハードウェア・ソフトウェア構成例を示す図である。データ提供ポータルサイト101は、様々な統計情報をヒートマップデータとして提供すべく、官公庁、自治体等の公的機関に設けられることが想定される。データ提供ポータルサイト101は、一般的なサーバコンピュータにより実現でき、例えば制御部201、ネットワークインタフェース部202、主記憶装置203、補助記憶装置208、及び入出力装置209を備え、これら各部は内部バス206等により接続されている。主記憶装置203には、提供データ記憶部204、提供データ提供部205、及び提供データ更新部206が格納されている。
【００２０】
ネットワークインタフェース部202は、後述する制御部201により転送されたデータ（IPパケット）を、ネットワーク104を介してヒートマップ作成サーバ102に送信するとともに、ネットワーク104を介してデータ提供ポータルサイト101が受信したデータを制御部201に転送する機能を有し、ネットワークカード等のハードウェアで構成される。
【００２１】
主記憶装置203はROM（Read Only Memory）、RAM（Random Access Memory）等の記憶デバイスで構成されており、制御部201によって実行されるプログラム、その使用データ等が格納される。
【００２２】
提供データ記憶部204は、データ提供ポータルサイト101が、ネットワーク104を介してヒートマップ作成サーバ102に提供する提供データを記憶する記憶部であり、主記憶装置203の記憶領域の一部が割当てられる。
【００２３】
提供データ提供部205は、ネットワーク104を介してヒートマップ作成サーバ102に、提供データ記憶部204に記憶された提供データを提供する機能を有するプログラムである。
【００２４】
提供データ更新部206は、提供データ記憶部204に記憶されている提供データを、外部からの更新データ入力等に応じて更新する機能を有するプログラムである。
【００２５】
制御部201は、CPU（Central Processing Unit）等で構成されるプロセッサであり、上記各プログラムを実行する。すなわち、制御部201は、提供データを提供データ記憶部203に記憶するとともに、後述するようなヒートマップ作成サーバ102からの処理要求に基づいて、ヒートマップ作成サーバ102に提供データを提供する。また、制御部201は、提供データ記憶部203に記憶された提供データを提供データ更新部206の機能に基づいて更新する。尚、上記各プログラムの機能は、LSI等のハードウェアにより実現してもよい。
【００２６】
補助記憶装置208は、上記各プログラムあるいは各プログラムの使用データ等をあらかじめ記憶しておくHDD（Hard Disk Drive）等の記憶デバイスであり、制御部201はこのようなプログラム等を主記憶装置203に読み出して実行する。入出力装置209は、外部とのデータ入出力を行う機能を有し、キーボード、マウス等の入力デバイス、適宜の形式の表示モニタ、プリンタ等の出力デバイスを含む。
【００２７】
図３は、ヒートマップ作成サーバ102のハードウェア・ソフトウェア構成例を示す図である。ヒートマップ作成サーバ102は、一般的なサーバコンピュータにより実現でき、制御部301、ネットワークインタフェース部302、主記憶装置303、補助記憶装置316、及び入出力装置317を備え、これら各部は内部バス318等により接続されている。主記憶装置303には、ウェブサービス提供部304、ヒートマップ用データ取得部305、ヒートマップ作成部306、内包関係判定部307、予測ポリゴン計算部308、予測・実ポリゴン比較部309、ヒートマップ用データ記憶部310、レイヤ記憶部311、レイヤ順序記憶部312、レイヤ順序更新部313、ユーザデータ記憶部314、ユーザデータ更新部315を具備する。
【００２８】
ネットワークインタフェース部302は、制御部301により転送されたデータ（IPパケット）を、ネットワーク104を介してデータ提供ポータルサイト101またはユーザ端末103に送信するとともに、ネットワーク104を介してヒートマップ作成サーバ102が受信したデータを制御部301に転送する機能を有し、ネットワークカード等のハードウェアで構成される。
【００２９】
主記憶装置303はROM（Read Only Memory）、RAM（Random Access Memory）等の記憶デバイスで構成されており、制御部301によって実行されるプログラム、その使用データ等が格納される。
【００３０】
ウェブサービス提供部304は、ネットワーク104を介してユーザ端末103に、ウェブブラウザ上で表示可能なフォーマット、例えばhtml（Hypertext Markup Language）で記述されたデータを送信し、かつ、ユーザ端末103のウェブブラウザ上での操作内容等の情報をネットワーク104を介して受信し、受信した情報を基に、ヒートマップ用データ取得部305、ヒートマップ作成部306、内包関係判定部307、予測ポリゴン計算部308、予測・実ポリゴン比較部309等での処理を実行するウェブサービス機能を有するプログラムである。
【００３１】
ヒートマップ用データ取得部305は、ウェブサービス提供部304で受信したユーザ端末103のウェブブラウザ上での操作内容等の情報を基に、ネットワーク104を介して、データ提供ポータルサイト101から提供データを取得し、取得した提供データをヒートマップ用データ記憶部310に記憶する機能を有するプログラムである。
【００３２】
ヒートマップ作成部306は、ヒートマップ用データ記憶部310に記憶されたデータを基にヒートマップを作成し、作成したヒートマップをレイヤ記憶部311に記憶し、作成したヒートマップの配置順序をレイヤ順序更新部313において変更する機能を有するプログラムである。ヒートマップは、KML(Keyhole Markup Language)等の、Google Maps(登録商標)やOpenStreetMap(登録商標)等の地図サービス上に配置可能な形式で作成することができる。
【００３３】
内包関係判定部307は、レイヤ記憶部311に記憶されているレイヤの中で、重ねる順序が決められている複数のレイヤに対し、下のレイヤのポリゴンが上のレイヤのポリゴンに内包されるかどうかを、各レイヤの各ポリゴンの位置及びサイズから判定する機能を有するプログラムである。ここで、「一のポリゴンが他のポリゴンに内包される」とは、表示図形を構成する単位図形（任意の形状の図形で、典型的には正方形）であるセルの集合として定義されるポリゴン（図形領域）について、一のポリゴンの外周が、他のポリゴンの外周と一致するか、または他のポリゴンの閉じた外周の内側に位置することを意味する。内包関係判定部307は、下のレイヤのポリゴンが上のレイヤのポリゴンに内包されると判定した場合には、内包されるポリゴンのみを表示するレイヤを新たに作成し、内包されるポリゴン以外のポリゴンのみを表示するレイヤを作成し、作成したそれぞれのレイヤをレイヤ記憶部311に記憶し、内包されるポリゴンのみを表示するレイヤが、内包する側のポリゴンを表示するレイヤよりも上に配置されるようにレイヤ順序更新部313においてレイヤの配置順序を変更し、内包されるポリゴン以外のポリゴンのみを表示するレイヤが、内包されるポリゴン及び内包されるポリゴン以外のポリゴン両方を元々表示していたレイヤの代わりに同順序にて配置されるようにレイヤ順序更新部313においてレイヤの配置順序を変更する。
【００３４】
なお、下のレイヤのポリゴンが上のレイヤのポリゴンに内包されるかどうかを、各レイヤの各ポリゴンの位置及びサイズから判定する場合には、Crossing Number AlgorithmやWinding Number Algorithm等、既知の方法を利用することが可能である。具体的には、下のレイヤの対象とするポリゴンの外周を構成する全ての座標が、上のレイヤの対象とするポリゴンの外周を構成する座標上または座標の内側に含まれる場合、下のレイヤの対象とするポリゴンは、上のレイヤの対象とするポリゴンに内包されると判定する。
【００３５】
予測ポリゴン計算部308は、レイヤ記憶部311に記憶されている内包されるポリゴンのみを表示するレイヤを、レイヤ記憶部311に記憶されている内包する側のポリゴンを表示するレイヤの上に重ねた場合に、上のポリゴンによって隠される下のポリゴンのセル部分を、その周辺の隠されていないセル部分の形状から予測し、下のポリゴンの実際のセル部分と予測したセル部分とを置換したポリゴンを表示するレイヤを作成し、作成したレイヤをレイヤ記憶部311に記憶する機能を有するプログラムである。
【００３６】
上のポリゴンによって隠される下のポリゴンのセル部分を、その周辺の隠されていないセル部分から予測する場合には、最小二乗法等、既知の方法を利用することが可能である。具体的には、上のポリゴンによって隠される下のポリゴン周辺のセルの値から、最小二乗法により、上のポリゴンによって隠される下のポリゴンのセル部分の近似値を求める。
【００３７】
予測・実ポリゴン比較部309は、レイヤ記憶部311に記憶されている内包する側のポリゴンを表示するレイヤと、レイヤ記憶部311に記憶されている予測されたセル部分を含む内包する側のポリゴンを表示するレイヤとを比較し、それぞれのレイヤが閾値以上異なると判定した場合には、レイヤ記憶部311に記憶されている内包されるポリゴンのみを表示するレイヤのポリゴンの外周のみを表示するレイヤを作成し、作成したレイヤをレイヤ記憶部311に記憶し、作成したレイヤが、内包されるポリゴンのみを表示するレイヤの代わりに同順序にて配置されるようにレイヤ順序更新部313においてレイヤの配置順序を変更する機能を有するプログラムである。
【００３８】
内包する側のポリゴンを表示するレイヤと、予測されたセル部分を含む内包する側のポリゴンを表示するレイヤとを比較する場合、予測されたセル部分を含む内包する側のポリゴンを表示するレイヤの予測されたセル部分と、位置的に同セル部分と同じ範囲にある内包する側のポリゴンを表示するレイヤのセル部分を利用する。具体的には、それぞれのレイヤの利用するセル部分を構成する各セルを対象とし、それぞれ同じ位置にある、対応する各セル同士の値を比較し、閾値a以上異なるセル同士が閾値b組以上ある場合には、予測ポリゴンと実ポリゴンとは異なるポリゴンであるとすることができる。閾値a及び閾値bは、セル部分を構成するセルの数や、各セルの色や濃淡などのスケールによって適宜変更してもよい。
【００３９】
ヒートマップ用データ記憶部310は、ヒートマップ用のデータを記録する記憶領域であり、主記憶装置303によって提供され、ヒートマップ用データ取得部305が実行する処理の結果の一部または全部を記憶する。ヒートマップ用データ記憶部310は、記憶する処理結果の大きさやフォーマット等に応じてRDB（Relational DataBase）、ファイルサーバ、KVS（Key-Value Store）等、それぞれ異なる記憶方式を備えた複数の記憶部により構成されていてもよい。
【００４０】
レイヤ記憶部311は、レイヤを記憶する記憶領域であり、主記憶装置303によって提供され、ヒートマップ作成部306が実行する処理の結果の一部または全部、内包関係判定部307が実行する処理の結果の一部または全部、予測ポリゴン計算部308が実行する処理の結果の一部または全部、予測・実ポリゴン比較部309が実行する処理の結果の一部または全部を記憶する。レイヤ記憶部311は、記憶する処理結果の大きさやフォーマット等に応じてRDB、ファイルサーバ、KVS等、それぞれ異なる記憶方式を備えた複数の記憶部により構成されていてもよい。
【００４１】
レイヤ順序記憶部312は、ヒートマップにおいてレイヤが重なる順序を記憶する記憶領域であり、主記憶装置303によって提供され、ヒートマップ作成部306が実行する処理の結果の一部または全部、内包関係判定部307が実行する処理の結果の一部または全部、予測・実ポリゴン比較部309が実行する処理の結果の一部または全部を記憶する。レイヤ順序記憶部312は、記憶する処理結果の大きさやフォーマット等に応じてRDB、ファイルサーバ、KVS等、それぞれ異なる記憶方式を備えた複数の記憶部により構成されていてもよい。
【００４２】
レイヤ順序更新部313は、レイヤ順序記憶部312に記憶されているレイヤが重なる順序の情報を、内包関係判定部307の判定結果を受けて更新する機能を有するプログラムである。
【００４３】
ユーザデータ記憶部314は、ユーザ端末103のウェブブラウザ上で操作を行うユーザのユーザ名やパスワードなどのユーザ自身に関する情報や、ユーザが行うユーザ端末103のウェブブラウザ上での操作内容等の情報を、ネットワーク104から受信し、記憶する記憶領域であり、主記憶装置303によって提供される。
【００４４】
ユーザデータ更新部315は、ユーザデータ記憶部314に記憶されているユーザ端末103のウェブブラウザ上で操作を行うユーザのユーザ名やパスワードなどのユーザ自身に関する情報や、ユーザが行うユーザ端末103のウェブブラウザ上での操作内容等の情報を、ユーザ端末103からの要求等に基づいて更新する機能を有するプログラムである。
【００４５】
制御部301は、CPU等で構成されるプロセッサであり、上記各プログラムを実行する。すなわち、制御部301はウェブサービス提供部304により、ウェブサーバとしての機能を提供する。また、制御部301はヒートマップ用データを取得して、ヒートマップを作成する。また、制御部301は異なるレイヤのポリゴン同士の内包関係の有無を判定する。また、制御部301は上のレイヤに切りだされた内包されるポリゴンによって隠される下のレイヤの内包する側のポリゴンについて予測ポリゴンを計算し、予測ポリゴンと実ポリゴンとを比較する。そして、制御部301はヒートマップ用データ取得部305が実行する処理の結果の一部または全部をヒートマップ用データ記憶部310に記憶する。また制御部301はヒートマップ作成部306が実行する処理の結果の一部または全部、内包関係判定部307が実行する処理の結果の一部または全部、予測ポリゴン計算部308が実行する処理の結果の一部または全部、及び予測・実ポリゴン比較部309が実行する処理の結果の一部または全部を、レイヤ記憶部311に記憶する。また、制御部301はヒートマップ作成部306が実行する処理の結果の一部または全部、内包関係判定部307が実行する処理の結果の一部または全部、予測・実ポリゴン比較部309が実行する処理の結果の一部または全部をレイヤ順序記憶部312に記憶する。また、制御部301はレイヤ順序記憶部312に記憶されているレイヤが重なる順序の情報を更新する。
【００４６】
さらに、制御部301はユーザ端末103のウェブブラウザ上で操作を行うユーザのユーザ名やパスワード等のユーザ自身に関する情報や、ユーザが行うユーザ端末103のウェブブラウザ上での操作内容等の情報を、ネットワーク104から受信し、ユーザデータ記憶部314に記憶する。制御部301はユーザデータ記憶部314に記憶されているユーザ端末103のウェブブラウザ上で操作を行うユーザのユーザ名やパスワードなどのユーザ自身に関する情報や、ユーザが行うユーザ端末103のウェブブラウザ上での操作内容等の情報を更新する。尚、上記各プログラムの機能は、LSI等のハードウェアにより実現してもよい。
【００４７】
補助記憶装置316は、上記各プログラムあるいは各プログラムの使用データ等をあらかじめ記憶しておくHDD等の記憶デバイスであり、制御部301はこのようなプログラム等を主記憶装置303に読み出して実行する。入出力装置317は、外部とのデータ入出力を行う機能を有し、キーボード、マウス等の入力デバイス、適宜の形式の表示モニタ、プリンタ等の出力デバイスを含む。
【００４８】
図４は、ユーザ端末103のハードウェア・ソフトウェア構成例を示す図である。ユーザ端末103は、スマートフォンやタブレット端末などのモバイル機器を含む一般的なコンピュータにより実現でき、本実施形態のヒートマップ作成システム１におけるヒートマップ作成要求入力、及び作成済みヒートマップ出力デバイスとして機能する。ユーザ端末103は、制御部401、ネットワークインタフェース部402、入力部403、及び出力部404を具備し、各部は内部バス405等により接続されている。
【００４９】
ネットワークインタフェース部402は、制御部401により転送されたデータ（IPパケット）を、ネットワーク104を介してヒートマップ作成サーバ102に送信するとともに、ネットワーク104を介してユーザ端末103が受信したデータを制御部401に転送する機能を有し、ネットワークカード等のハードウェアで構成される。
【００５０】
入力部403は、外部からの入力を制御部401に伝える機能を有し、キーボード、マウス、タッチパッド、タッチパネル等で構成される。出力部404は、制御部401からの情報を外部に出力する機能を有し、、ディスプレイやプリンタ等で構成される。
【００５１】
制御部401はCPU等で構成され、上記各プログラムを実行する。 制御部401は入力部403からの入力情報を受け付ける。制御部401は出力部404へ出力情報を送出する。尚、上記各プログラムの機能は、LSI等のハードウェアにより実現してもよい。
【００５２】
次に、本実施形態におけるヒートマップの作成処理について順次説明する。図５は、ヒートマップ作成部306によって作成されたレイヤの例を示す図である。レイヤ記憶部311には、データ提供ポータルサイト101から取得されるデータから作成されたヒートマップが、例えばレイヤ501、レイヤ502のようなレイヤとして記憶される。レイヤ501，502を所定の順序で重ねることにより最終出力としてのヒートマップが生成される。いま、レイヤ501には、ポリゴン503とポリゴン504が表示され、レイヤ502には、ポリゴン505とポリゴン506が表示されているとする。ポリゴン503、ポリゴン504、ポリゴン505、ポリゴン506は、前記のように、ある範囲で区切られた単位図形としてのセル、例えばセル507のようなセルの集合により形成されている。図５の例では、各セルは正方形として形成されている。
【００５３】
次に、各レイヤ501，502にあるポリゴン間の内包関係を考慮したレイヤ生成について説明する。図6は、内包関係判定部307によって作成されたレイヤの例を示す図である。
【００５４】
レイヤ501がレイヤ502の下に配置された場合、レイヤ501のポリゴン504とレイヤ502のポリゴン506の位置及びサイズから、内包関係判定部307は、レイヤ501のポリゴン504はレイヤ502のポリゴン506に内包されると判断する。そこで、内包関係判定部307は、レイヤ501のポリゴン504のみを表示するレイヤ602（layer_1b）を作成し、また、レイヤ501のポリゴン504以外のポリゴン503のみを表示するレイヤ601（layer_1a）を作成する。
【００５５】
一方、レイヤ502がレイヤ501の下に配置された場合、レイヤ502のポリゴン505とレイヤ501のポリゴン503の位置及びサイズから、内包関係判定部307は、レイヤ502のポリゴン505はレイヤ501のポリゴン503に内包されると判断する。そこで、内包関係判定部307は、レイヤ502のポリゴン505のみを表示するレイヤ604（Layer_2b）を作成し、また、レイヤ502のポリゴン505以外のポリゴン506のみを表示するレイヤ603（layer_2a）を作成する。
【００５６】
次に、予測ポリゴンの計算処理について説明する。図７は、予測ポリゴン計算部308によって作成されたレイヤの例を示す図である。レイヤ601がレイヤ604の下に配置された場合、レイヤ604のポリゴン504はレイヤ601のポリゴン503内の枠線701で示す枠内を隠す。そこで、予測ポリゴン計算部308は、前述したように、枠線701の枠内のセル部分を、枠線701の枠外のセル部分から予測し、レイヤ601のポリゴン503の枠線701の枠内のセル部分を予測した枠線701の枠内のセル部分によって置換したポリゴン705を表示するレイヤ703（layer_1c）を作成する。レイヤ703を図６のレイヤ601と比較すると、枠線701内については元のポリゴン503と大差ないことがわかる。
【００５７】
一方、図６で、レイヤ603がレイヤ602の下に配置された場合、レイヤ602のポリゴン504はレイヤ603のポリゴン506の枠線702の枠内を隠す。そこで、予測ポリゴン計算部308は、枠線702の枠内のセル部分を、枠線702の枠外のセル部分から予測し、レイヤ603のポリゴン506の枠線702の枠内のセル部分を、予測した枠線702の枠内のセル部分によって置換したポリゴン706を表示するレイヤ704（Layer_2c）を作成する。レイヤ704を図６のレイヤ603と比較すると、枠線702内についてポリゴン506の特徴部分を構成していたセルが予測により消失していることがわかる。
【００５８】
次に、予測ポリゴンと実ポリゴンとの比較処理について説明する。図８は、予測・実ポリゴン比較部309によって作成されたレイヤの例を示す図である。図７について説明した予測ポリゴン706に関して、レイヤ603のポリゴン506の枠線702の枠内のセル部分を構成する各セルと、レイヤ704のポリゴン706の予測ポリゴン計算部308によって予測されたセル部分を構成する各セルを対象に、それぞれ同じ位置にある各セル同士の値を比較した結果、閾値a以上異なるセル同士が閾値b組以上あったと仮定する。この場合、予測・実ポリゴン比較部309は、レイヤ603のポリゴン506とレイヤ704のポリゴン706は異なるポリゴンであると判定し、レイヤ602に表示されているポリゴン504の外周のみからなるポリゴン802を表示するレイヤ801（layer_1d）を作成する。レイヤ801をレイヤ603の上に重ねた場合、レイヤ603のポリゴン506に関する特徴的なセルがレイヤ801のポリゴン802によって隠されることはない。同時に、下のレイヤ603の上に上のレイヤ801のポリゴン802によって特徴付けられる領域が存在するという情報も失われない。
【００５９】
以上のヒートマップ作成処理を実行させるために、ユーザ端末103からヒートマップ作成サーバ102に送信される情報について説明する。図９は、ユーザ端末103が、ヒートマップ作成リクエストを行うためにヒートマップ作成サーバ102に送信するリクエスト情報901の構成例を示す図である。リクエスト情報901は、ヒートマップ用データが提供されるヒートマップ用データ提供URL902、ヒートマップの重なりの順序を指定するレイヤ配置順序903等を含んで構成され、例えば、図9のリクエスト情報901にあるようなJSON（JavaScript(登録商標) Object Notation）形式で送信される。リクエスト情報901は、ヒートマップの透過度、ヒートマップを構成するセルの大きさ等の、ヒートマップに関する各種属性情報を含んでもよい。図９に記載のリクエスト情報901によれば、ヒートマップ用データ提供URL902には、"http://www.example1.jp/data_1.csv"と"http://www.example2.jp/data_2.csv"という２つのURLが含まれており、レイヤ配置順序903によれば、"http://www.example1.jp/data_1.csv"から得られるデータをヒートマップとして作成した際のレイヤの配置順序は２、"http://www.example2.jp/data_2.csv"から得られるデータをヒートマップとして作成した際のレイヤの配置順序は１ということになる。
【００６０】
次に、ヒートマップ作成サーバ102に格納されて制御部201による各プログラム実行の際に使用されるデータ類について説明する。図１０は、ヒートマップ作成サーバ102のヒートマップ用データ記憶部310に記憶されるヒートマップ用データ情報テーブル1001の内容例を示す図である。ヒートマップ用データ情報テーブル1001には、各ヒートマップ用データを特定可能な識別子、例えばヒートマップ用データID1002と、各ヒートマップ用データの保存先を示すアドレス、例えばヒートマップ用データURI（Uniform Resource Identifier）1003を示す情報がそれぞれ対応付けて記憶される。ヒートマップ用データ情報テーブル1001に記憶される情報は、ヒートマップ用データ取得部305がリクエスト情報901のヒートマップ用データ提供URL902を基に、ネットワーク104を介してデータ提供ポータルサイト101から取得したヒートマップ用データの情報を利用して作成され、ヒートマップ作成部306がヒートマップを作成する際に利用される。図１０に記載のヒートマップ用データ情報テーブル1001によれば、ヒートマップ用データURI1003には、"./dir/data_1.csv"、"./dir/data_2.csv"という２つのデータが含まれており、それぞれ、"data_1"、"data_2"というヒートマップ用データID1002が対応付けられている。
【００６１】
図１１は、ヒートマップ作成サーバ102のレイヤ記憶部311に記憶されるレイヤ情報テーブル1101の内容例を示す図である。レイヤ情報テーブル1101には、各レイヤを特定可能な識別子、例えばレイヤID1102と、各レイヤの保存先を示すアドレス、例えばレイヤURI1103を示す情報がそれぞれ対応付けて記憶される。レイヤ情報テーブル1101に記憶される情報は、ヒートマップ作成部306が作成したヒートマップの情報、内包関係判定部307が作成したレイヤの情報、予測ポリゴン計算部308が作成したレイヤの情報、予測・実ポリゴン比較部309が作成したレイヤの情報を利用して作成され、内包関係判定部307が内包関係を判定する際、予測ポリゴン計算部308が予測ポリゴンを計算する際、予測・実ポリゴン比較部309が予測ポリゴンと実ポリゴンとを比較する際に利用される。図１１に記載のレイヤ情報テーブル1101によれば、レイヤURI1003には、"./dir/layer_1.kml"、"./dir/layer_2.kml"、"./dir/layer_1a.kml"、"./dir/layer_1b.kml"、"./dir/layer_1c.kml"、"./dir/layer_1d.kml"という６つのデータが含まれており、それぞれ、"layer_1"、"layer_2"、"layer_1a"、"layer_1b"、"layer_1c"、"layer_1d"というレイヤID1102が対応付けられている。
【００６２】
図１２は、ヒートマップ作成サーバ102のレイヤ順序記憶部312に記憶されるレイヤ順序情報テーブル1201の内容例を示す図である。レイヤ順序情報テーブル1201には、各ユーザを特定可能な識別子、例えばユーザID1202と、各レイヤを特定可能な識別子、例えばレイヤID1203、レイヤの配置順序を示す番号、例えばレイヤ順序1204を示す情報がそれぞれ対応付けて記憶される。レイヤ順序情報テーブル1201に記憶される情報は、ヒートマップ作成部306が作成したヒートマップの情報、内包関係判定部307が作成したレイヤの情報、予測ポリゴン計算部308が作成したレイヤの情報、予測・実ポリゴン比較部309が作成したレイヤの情報を利用して作成され、内包関係判定部307が内包関係を判定する際、予測ポリゴン計算部308が予測ポリゴンを計算する際、予測・実ポリゴン比較部309が予測ポリゴンと実ポリゴンとを比較する際に利用される。図１２に記載のレイヤ順序情報テーブル1201によれば、ユーザID1202が"user_1"で特定されるユーザに表示される地図には、レイヤID1203が、"layer_2"、"layer_1a"、"layer_1d"で特定されるレイヤが、レイヤ順序1204に記載の順序に従い、"layer_1d"、"layer_2"、"layer_1a"の順で配置される。
【００６３】
図１３は、ヒートマップ作成サーバ102のユーザデータ記憶部314に記憶されるユーザ情報テーブル1301の内容例を示す図である。ユーザ情報テーブル1301には、各ユーザを特定可能な識別子、例えばユーザID1302を示す情報が記憶される。ユーザID1302は、特定ユーザからのリクエスト情報901に基いて作成したヒートマップのレイヤ順序1204と対応付けてレイヤ順序情報テーブル1201に記録する等について使用することができる。なお、ユーザ情報テーブル1301には、ユーザID1302に限らず、ユーザのヒートマップ作成システム1へのログインに関する情報、例えばログインパスワードのハッシュ値、ユーザに関するその他の情報、例えば名前、住所等を、ユーザID1302と共にそれぞれ対応付けて記録してもよい。図１３に記載のユーザ情報テーブル1301によれば、ユーザID1302には、"user_1"、"user_2"、"user_3"という３つのユーザを特定する識別子が含まれている。
【００６４】
図１４は、ヒートマップ作成サーバ102のウェブサービス提供部304からネットワーク104を介してユーザ端末103に送信されるHTMLデータ1401の内容例を示す図である。HTMLデータ1401は、地図上にひとつ、または複数のヒートマップを表示するウェブページを構成するデータである。HTMLページに表示されるレイヤは、レイヤ順序情報テーブル1201とレイヤ情報テーブル1101に記憶された情報を利用して指定される。具体的には、レイヤ順序テーブル1201を対象に、HTMLデータ1401を受信するユーザを特定するユーザID1202と同じユーザID1202を持ち、かつ、レイヤ順序1204にレイヤ順序の記載がある行を抽出する。次にレイヤ情報テーブル1101のレイヤURI1103からレイヤの保存先をレイヤID1203とレイヤID1102の対応から取得する。最後に、レイヤURL1103で示されるそれぞれのレイヤの保存先をレイヤ順序1204で示されたとおりに参照するように、例えばレイヤ参照URI1402のように、記載する。図１４に記載のHTMLデータ1401によれば、レイヤ参照URI1402にて指定された３つのkmlファイルに記述されたレイヤが、上から、"./dir/layer_1d.kml"、"./dir/layer_2.kml"、"./dir/layer_1a.kml"の順に地図上に配置されることになる。
【００６５】
次に、以上説明した構成を有するヒートマップ作成システム1によるデータ処理フローについて説明する。図１５は、ヒートマップ作成システム1を利用したヒートマップ作成に関する処理フローの一例を示すシーケンス図である。図中の符号Ｓは"Step"を表す。まず、ユーザ端末103は、入力部403から入力されるログイン情報1502をヒートマップ作成サーバ102に送信することによりシステム1へのログインを実行する(S1501)。ログイン情報1502には、ユーザを特定するための識別子の他、ログインに必要な情報、例えばログインパスワード等を含んでもよい。
【００６６】
ヒートマップ作成サーバ102は、ユーザ端末103から受信したログイン情報1502を基に、ログイン処理を行う(S1503)。ログイン処理S1503では、ユーザの特定等を行い、ユーザが特定される場合には、ヒートマップを作成するためのリクエスト情報1506を作成可能な画面情報をログイン結果1504としてユーザ端末103に送信する。ユーザが特定されない場合には、再度ログインを促すような画面情報をログイン結果1504としてユーザ端末103に送信する。
【００６７】
ユーザ端末103は、リクエスト情報1506をヒートマップ作成サーバ102に送信することによりヒートマップ作成リクエストを行う(S1505)。本シーケンス図が示す一例においては、図９に記載のリクエスト情報901が送信されるとする。
【００６８】
ヒートマップ作成サーバ102のヒートマップ用データ取得部305は、受信したリクエスト情報1506(リクエスト情報901)に含まれるデータ提供URL902等を基に、データ取得クエリ1508をデータ提供ポータルサイト101に送信することにより、データ取得リクエストを実行する(S1507)。データ提供ポータルサイト101は、受信したデータ取得クエリ1508の情報を基に、提供データ1510をヒートマップ作成サーバ102に提供する(S1509)。
【００６９】
提供データ1510を取得したヒートマップ作成サーバ102は、提供データ1510をヒートマップ用データ記憶部310に記憶する。本シーケンス図が示す一例においては、図１０に記載のヒートマップ用データ情報テーブル1001が作成される。ヒートマップ作成サーバ102は、ヒートマップ用データ記憶部310に記憶された情報を基に、ヒートマップを作成する(S1511)。
【００７０】
作成されたすべてのヒートマップは、レイヤのデータとしてレイヤ記憶部311に記憶される。本シーケンス図が示す一例においては、図１６に記載のレイヤ情報テーブル1101が作成される。図１６は、ヒートマップ作成システム1を利用したヒートマップ作成に関する処理を実施した際に、レイヤ情報テーブル1101、レイヤ順序テーブル1201に記憶される内容例を示す図である。
【００７１】
次に、リクエスト情報901のレイヤ配置順序903、レイヤ情報1601のレイヤID1102等に記載の情報を利用して、レイヤ順序テーブル1201に、レイヤの配置順序1204等を記憶する。本シーケンス図が示す一例においては、図１６のレイヤ順序テーブル1602が作成される。
【００７２】
ヒートマップ作成サーバ102は、レイヤ情報記憶部311、レイヤ順序記憶部312に記憶された情報等を基に、各レイヤに表示される各ポリゴン同士の内包関係を判定する(S1512)。本シーケンス図が示す一例においては、図５に例示するように、レイヤ順序テーブル1602のレイヤID1203がlayer_1のレイヤ、つまりレイヤ501が、レイヤ順序テーブル1602のレイヤID1203がlayer_2のレイヤ、つまりレイヤ502の下に配置された際に、レイヤ501のポリゴン504がレイヤ502のポリゴン506に内包されることになる。そこで、ポリゴン504のみを表示するレイヤ602を作成し、ポリゴン504以外のポリゴンのみを表示するレイヤ601を作成し、レイヤ記憶部311に記憶し、さらに、レイヤ順序テーブル1201に、レイヤID1203等を記憶する。レイヤ601のレイヤID1203をlayer_1aとし、レイヤ602のレイヤID1203をlayer_1bとし、レイヤID1203がlayer_1bのレイヤのレイヤ順序1204をレイヤID1203がlayer_2のレイヤ順序1204よりも上にし、それに伴い、レイヤID1203がlayer_2のレイヤとレイヤID1203がlayer_1のレイヤの配置順序1204をそれぞれ下にし、さらにレイヤID1203がlayer_1のレイヤの代わりにレイヤID1203がlayer_1aのレイヤが配置されるように、レイヤID1203がlayer_1のレイヤ順序1204の情報を削除する。これにより、最終的に、図１６のレイヤ情報テーブル1603と、図１６のレイヤ順序テーブル1604が作成される。
【００７３】
次いで、ヒートマップ作成サーバ102は、レイヤ情報記憶部311、レイヤ順序記憶部312に記憶された情報等を基に、予測ポリゴンを計算する(S1513)。本シーケンス図が示す一例においては、レイヤ順序テーブル1604のレイヤID1203がlayer_2のレイヤ、つまりレイヤ603が、レイヤID1203がlayer_1bのレイヤ、つまりレイヤ602の下に配置された際に、レイヤ603のポリゴン506がレイヤ602のポリゴン504によって隠されるセル部分をその周辺の隠されていないセル部分から予測し、ポリゴン506のポリゴン504によって隠されていたセル部分を予測したセル部分によって置換したポリゴン706を表示するレイヤ704を作成し、レイヤ記憶部311に記憶する。レイヤ704のレイヤID1103をlayer_1cとする。これにより、最終的に、図１６のレイヤ情報テーブル1605が作成される。
【００７４】
ヒートマップ作成サーバ102は、レイヤ順序記憶部311に記憶された情報を基に、予測ポリゴンと実際のポリゴンとを比較する(S1514)。本シーケンス図が示す一例においては、レイヤ情報テーブル1605のレイヤID1102がlayer_2のレイヤ、つまりレイヤ603と、レイヤ情報テーブル1605のレイヤID1103がlayer_1cのレイヤ、つまりレイヤ704とを比較する。具体的には、ポリゴン504と同じ位置にあるセル部分同士の各セルの値を比較する。閾値a以上異なるセルが閾値b組以上あったと判定されたとすると、ポリゴン504の外周のみのポリゴン802を表示するレイヤ801を作成し、レイヤ記憶部311に記憶し、さらに、レイヤ順序テーブル1201に、レイヤID1203等を記憶する。レイヤ801のレイヤID1103及びレイヤID1203を共にlayer_1dとする。レイヤID1203がlayer_1dのレイヤが、レイヤID1203がlayer_1cのレイヤの代わりに配置されるように、レイヤID1203がlayer_1dのレイヤ順序1204に、レイヤID1203がlayer_1cのレイヤ順序1204を入力し、レイヤID1203がlayer_1cのレイヤ順序1204の情報を削除する。これにより、最終的に、図１１のレイヤ情報テーブル1101と図１２のレイヤ順序テーブル1201が作成される。
【００７５】
ヒートマップ作成サーバ102は、レイヤ情報記憶部311、レイヤ順序記憶部312に記憶された情報等を基に、ヒートマップ情報1516を作成し、ユーザ端末103にリクエスト情報1506に対する処理結果をを提供する(S1515)。本シーケンス図が示す一例においては、図１４に記載のHTMLデータ1401が作成される。ユーザ端末102は、ヒートマップ作成サーバ102から取得したヒートマップ情報1516を基に、出力部404にヒートマップを表示する(S1517)。本シーケンス図が示す一例においては、図１７に例示するレイヤ1701がユーザ端末103の出力部404に表示される。レイヤ1701は、レイヤ502（図５）、レイヤ601（図６）、レイヤ801（図８）により構成され、レイヤ801、レイヤ502、レイヤ601の順で上から配置される。レイヤ1701には、レイヤ502に表示されるポリゴン505とポリゴン506、レイヤ601に表示されるポリゴン503、レイヤ801に表示されるポリゴン802が表示されている。最後に、ユーザ端末103は、ログアウト情報1519をヒートマップ作成サーバ102に送信することによりログアウトを実行する(S1518)。ヒートマップ作成サーバ102は、ユーザ端末103から受信したログアウト情報1519を基に、ログアウト処理を行う(S1520)。ログアウト処理S1520では、ログアウト結果を表示する画面情報をログアウト結果1521としてユーザ端末103に送信する。
【００７６】
以上説明したように、本発明の実施形態によれば、ヒートマップ用データから作成した複数のレイヤを重ねる際、各レイヤの各ポリゴンの内包関係を判定し、上のレイヤのポリゴンに内包されていると判定されたポリゴンのみを表示するレイヤを作成し、内包しているポリゴンを表示する上のレイヤよりも上に配置することによって、本来上のレイヤのポリゴンに内包されることにより隠れて表示されることのなかった下のレイヤのポリゴンを表示することができ、単にレイヤを重ねる順序を変更するだけでは減少してしまう情報量が減少しないようにすることができる。また、上のレイヤより上に配置されることになったレイヤに表示される内包されていたポリゴンによって、元々上に配置されていたレイヤが表示する内包していたポリゴンの新たに隠れるセル部分を、新たに隠れるセル部分周辺から予測し、予測したセル部分と実際のセル部分とを比較することによって、新たに隠れるセル部分が予測可能かどうかを判断し、予測が難しくないと判断した場合には、元々上に配置されていたレイヤが表示する内包していたポリゴンの新たに隠れるセル部分が隠れていても多くの情報は失われないとして、上のレイヤより上に配置されることになったレイヤをそのまま配置し、予測が難しいと判断した場合には、元々上に配置されていたレイヤが表示する内包していたポリゴンの新たに隠れるセル部分が隠れてしまうと多くの情報が失われると判断して、上のレイヤより上に配置されることになったレイヤが表示する内包されていたポリゴンの外周のみのポリゴンを表示するレイヤを作成し、上のレイヤより上に配置されることになった内包されていたポリゴンを表示するレイヤの代わりに配置することにより、新たに隠れるはずであったセル部分を表示することができ、減少してしまう情報量がより減少しないようにすることができる、という効果を奏する。
【００７７】
以上、本発明の実施形態をオープンデータや地図を例にとり説明したが、本発明の適用先がオープンデータや地図もしくはオープンデータや地図に類するものに限定されるわけではなく、その要旨を逸脱しない範囲で種々変更可能である。また、ヒートマップ作成サーバ102の機能の全部または一部をユーザ端末103が含んでもよく、ユーザ端末103の機能の全部または一部をヒートマップ作成サーバ102に含んでもよい。
【符号の説明】
【００７８】
1…ヒートマップ作成システム、101…データ提供ポータルサイト
102…ヒートマップ作成サーバ、103…ユーザ端末、104…ネットワーク
201…制御部、202…ネットワークインタフェース部、203…提供データ記憶部
204…提供データ提供部、205…提供データ更新部、206…内部バス、301…制御部
302…ネットワークインタフェース部、303…ウェブサービス提供部
304…ヒートマップ用データ取得部、305…ヒートマップ作成部、306…内包関係判定部
307…予測ポリゴン計算部、308…予測・実ポリゴン比較部
309…ヒートマップ用データ記憶部、310…レイヤ記憶部、311…レイヤ順序記憶部
312…レイヤ順序更新部、313…ユーザデータ記憶部、314…ユーザデータ更新部
401…制御部、402…ネットワークインタフェース部、403…入力部、404…出力部
405…内部バス、501…レイヤ、502…レイヤ、503…ポリゴン、504…ポリゴン
505…ポリゴン、506…ポリゴン、601…レイヤ、602…レイヤ、603…レイヤ
604…レイヤ、701…枠、702…枠、703…レイヤ、704…レイヤ、705…ポリゴン
706…ポリゴン、801…レイヤ、802…ポリゴン、901…リクエスト情報
902…ヒートマップ用データ提供URL、903…レイヤ配置順序
1001…ヒートマップ用データ情報テーブル、1002…ヒートマップ用データID
1003…ヒートマップ用データURI、1101…レイヤ情報テーブル、1102…レイヤID
1103…レイヤURI、1201…レイヤ順序情報テーブル、1202…ユーザID
1203…レイヤID、1204…レイヤ順序1204、1301…ユーザ情報テーブル
1302…ユーザID、1401…HTMLデータ、1402…レイヤ参照URI1402
1601, 1603, 1605…レイヤ情報テーブル、1602, 1604…レイヤ順序情報テーブル
1701…レイヤ
【図１】
2015184748.tif 000003
【図２】
2015184748.tif 000004
【図３】
2015184748.tif 000005
【図４】
2015184748.tif 000006
【図８】
2015184748.tif 000007
【図９】
2015184748.tif 000008
【図１０】
2015184748.tif 000009
【図１１】
2015184748.tif 000010
【図１２】
2015184748.tif 000011
【図１３】
2015184748.tif 000012
【図１４】
2015184748.tif 000013
【図１５】
2015184748.tif 000014
【図１６】
2015184748.tif 000015
【図５】
2015184748.tif 000016
【図６】
2015184748.tif 000017
【図７】
2015184748.tif 000018
【図１７】
2015184748.tif 000019