説明

関数スタイルを介する属性ベースのシンボロジー

コンピュータシステムのための方法は、データベースから1つ以上の属性の値を取り出すことと、マップシンボルと関連付けられたスタイルプロパティに対する値を決定するために、該1つ以上の属性の値に基づいて計算関数を実行することと、該スタイルプロパティに対する値を有する該マップシンボルを備えるマップの表現を出力することとを含む。前記マップの表現をユーザに表示することをさらに含み得る。上記の1つ以上の地理的位置を識別することをさらに含み、1つ以上の属性の値を取り出すことは、該1つ以上の地理的位置に応じて前記データベースから1つ以上の属性の値を取り出すことを含み得る。

【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の参照)
本願は、2006年2月17日出願の仮出願第60/774,951号の優先権を主張する。上記出願の開示は、本明細書によって、全ての目的において、その全体の内容が参考として援用される。
【0002】
(発明の背景)
本発明はマッピングに関する。より具体的には、本発明はマップ上のシンボルの指定に関する。
【背景技術】
【0003】
写真は1000ワードに値するとよく言われる。場合によっては、写真はそれ以上に値する。これは特に、地図画像すなわちマップに関して当てはまる。典型的には、マップは、道路、都市、地勢、地形等の要素間の地理的または空間的関係を表示する。さらに、マップは、単なる地理学的関係以外のデータを表すためにも生成されている。
【0004】
ある場合には、マップは、要素の重要性等、要素の非地理学的特性を表す指標を含んでもよい。例えば、地図上では、政府の中心地は星状のシンボルで表されることが多く、交通量の多い道路は太く色の付いた線で表されることが多く、病院は赤十字のアイコンで表されることが多く、また空港は飛行機のアイコン等で表される。
【0005】
他の場合において、マップは、マップの地域に関連付けられた社会的または財政的特性に依存する指標を含んでもよい。例えば、都市の人口は、地図上の都市名のフォントサイズに影響してもよく、近隣の犯罪率は、地図上の近辺の色に影響してもよく、ある地域内の住民の収入は、地図上のシンボルの表示(例えば、¢、$、$$等)に影響してもよい。
【0006】
マップを生成するために、多くの場合、データおよびマッピングシステムの2つのコンポーネントが必要である。これらのピースは、多くの場合、2つの異なるグループ/組織の産物である。例えば、データ収集エンティティは、典型的にはデータの収集および/または購入、ならびにデータベースの形態でのデータの提供を担っている。マッピングシステムの場合、マッピングエンティティは、典型的にはデータベースに格納されたデータへのアクセス、マップ内に含まれるデータおよびそれが現れる方法の指定を担っている。これらの機能は極めて異種のものであるため、完全に異なるエンティティにより実行されることが多い。これらの2つのエンティティは、ある場合には会社内の別個のグループであってもよく、ある場合には別個の会社または組織等であってもよい。例えば、データベース会社がテレビ番組の視聴者データ等をコンパイルし、これが出力マップを提供する会社に販売されてもよい。
【0007】
いくつかのマップの価値は、多くの場合、それらがどれ程の頻度で更新されるかに関連している。印刷されたマップに関しては、印刷された直後には古くなっていることが多い。例えば、ヨーロッパのマップは西ドイツと東ドイツとが統一された後には陳腐化し、天体マップは冥王星が小惑星に降格されたときには陳腐化した。これは、多くの場合、マップを生成するために使用されるデータが古くなるためである。
【0008】
印刷されたマップとは対照的に、オンラインマップ/電子マッピングシステムは、より最新となりやすいマップを生成する。これは、そのようなマッピングシステムは多くの場合、リアルタイムで、定期的に(例えば真夜中等)電子データベースからデータを取り出すことができるからである。例として、ある電子マップは、リアルタイム、またはほぼリアルタイムの交通量データ、道路閉鎖情報、気象条件等を提供することができる。
【0009】
上記のことから、マップを作成し配信するユーザが直面している限界は、データベースが提供するデータによって彼らが制限または拘束されているということであることを、本発明者らは認識した。例えば、ユーザは、データがどれ程の頻度で更新されるかに制限されている。より重要なことに、彼らは示される特定のデータに制限されている。換言すると、彼らはデータベースに提供されているデータしかマップできない。
【0010】
マップ開発者はデータベースのプロバイダよりも作成されるマップのエンドユーザである顧客に「より近い」ことがあることを、本発明者らは経験から発見した。例えば、顧客はマップ上で見たいデータの種類を特定することができる、顧客はマップの外見をマップ開発者に指定することができる、等である。単なる一例として、購入する家を評価するとき、顧客はマップ上での洪水帯データ、マップ上での地震リスクデータ、またはマップ上での地滑りデータを見ることを要求することができる。
【0011】
現在のマッピングの手法における欠点は、マップ上に所望の情報を提供するためにはまず要求された正確なデータがデータベースから利用可能でなければならないことである。データが存在しない場合、マッピングシステムのユーザは、データベースのユーザに、そのようなデータを取得するか、または既存のデータに基づく計算であってもよい属性を追加するよう認識させなければならない。重要なことに、多くの場合、データベースのユーザは、データベース内の属性の数やテーブルを拡張したがらない。これは、データベース管理者は、データベースの性能を維持するために、新たな属性の数を制限することを望むことが多いことに起因する。その結果、顧客が要求するデータについてデータベースを更新させるのは、多くの場合困難で時間を要する。
【0012】
上記に照らして、電子マッピングシステムの機能性を増加させ、上述の欠点を削減する手法が望まれている。
【発明の開示】
【0013】
(発明の簡単な概要)
本発明はマッピングに関する。より具体的には、本発明はマップ上の特徴に対する属性ベースの式に関する。様々な実施形態を使用して、属性ベースの出力、例えばシンボロジーがマップ表示上に提供される。
【0014】
本発明の様々な実施形態において、属性ベースのシンボロジーはマップのユーザディスプレイに使用される技術である。様々な実施形態を使用して、個々のマップ上の特徴(都市を表す点、道路等)は、それらのマップ上の特徴と関連付けられた属性(人口、値等)の値に従い、スタイルプロパティ(色、サイズ、シンボル名等)を用いてレンダリング(表示)される。例えば、都市は、その都市の人口(属性)に従い決定される一意のサイズを有するシンボルでレンダリングされる。より一般的には、属性はテキスト形式またはテキストとして表示されるデータの数値形式である。
【0015】
本発明の様々な実施形態において、関数スタイルの使用を介する属性ベースのシンボロジーを達成するための革新的技術が説明される。一部の実施形態で提供される関数スタイルは、柔軟なスタイル定義システムの柔軟な式評価システムとの合成である。この手法によれば、マップ上の特徴に対するレンダリング命令はスタイル定義を介して格納されることが可能である。
【0016】
様々な実施形態において、システム中には、任意の数のスタイル定義が存在し得る。つまり、例えば、点、線、エリア、テキスト、ラスタ等に対し、異なるスタイル定義が利用可能である。一部の実施形態では、スタイル定義は複数のスタイルプロパティを含み、それぞれがそのスタイル定義のグラフィック特性(色等)を表している。一部の実施形態において、属性ベースのシンボロジーを達成するために、スタイルプロパティは、そのマップ上の特徴に対する属性値に基づき、各マップ上の特徴に対し動的に計算可能な関連付けられた式を有する。従って、スタイルプロパティの値はこのように属性値の関数となる。
【0017】
様々な実施形態において、式のメカニズムは、スタイルプロパティの値を動的に計算するための極めて発達した技術である。一部の実施形態において、式は、特定の構文を満たすテキスト文字列である。一部の実施形態において、この構文は、Microsoft Excel等、従来の表計算プログラムで使用される式と類似のものであってもよい。例えば、ある関数は、引数(AVERAGE等)、演算子(「+」等)、リテラルオペランド(「5000」等)、および属性値を参照するオペランド(「人口」という名の属性等)を含む。
【0018】
様々な実施形態において、式に対する他の種類の入力として、地球空間関数/データを含めることができる。これらの関数は、多面体の重心を返す関数、線の長さを計算する関数、点の高さを設定する関数、またはマップラベルからテキストを抽出する関数等、マップ上の特徴の形状に対して作用することができる。
【0019】
以下に詳細に説明するように、スタイルプロパティ値の動的計算を可能にし、関数スタイルを介した属性ベースのシンボロジーの動的計算および表示が得られる新規な式のシステムを、様々な実施形態が教示する。
【0020】
本発明の一態様によれば、コンピュータシステムのための方法が説明される。1つの方法は、データベースから1つ以上の属性の値を取り出すステップと、マップシンボルと関連付けられたスタイルプロパティに対する値を決定するために、該1つ以上の属性の値に基づいて計算関数を実行するステップと、該スタイルプロパティに対する値を有する該マップシンボルを備えるマップの表現を出力するステップとを含む。
【0021】
本発明の他の態様によれば、コンピュータシステムが開示される。1つの装置は、各マップシンボルが複数のスタイルプロパティと関連付けられた複数のマップシンボルを格納するように構成されたメモリを含む。デバイスは、上記メモリに結合されたプロセッサであって、マップシンボルと関連付けられた1つ以上の属性の値を取り出すように構成され、マップシンボルと関連付けられたスタイルプロパティに対する値を決定するために該1つ以上の属性の値に基づいて計算関数を実行するように構成され、また該マップシンボルと関連付けられた該スタイルプロパティに対する値に応じて、該マップシンボルを備えるマップの出力表現を提供するように構成されるプロセッサを含む。
【0022】
本発明のさらに他の態様によれば、コンピュータ読み取り可能有形媒体上に存在する、プロセッサを含むコンピュータシステムのためのコンピュータプログラム製品が説明される。有形媒体は、マップシンボルと関連付けられた1つ以上の属性の値を取り出すようにプロセッサを導くコードと、該マップシンボルと関連付けられたスタイルプロパティに対する値を決定するために、該1つ以上の属性の値に基づいて計算関数を実行するようにプロセッサを導くコードと、該マップシンボルと関連付けられた該スタイルプロパティに対する値に応じて、該マップシンボルを備えるマップの表現を出力するようにプロセッサを導くコードとを含んでもよい。有形媒体には、光記憶媒体(DVD、CD−ROM、ホログラフィー等)、磁気記憶媒体(ハードディスク、ストレージエリアネットワーク等)、半導体記憶媒体(フラッシュメモリ、RAM等)を含めることができる。
【0023】
本発明をより十分に理解するために、添付の図面を参照する。これらの図面は本発明の範囲への制限と解釈されるものではないことを理解しつつ、ここで説明される実施形態および現在理解される本発明の最良の形態を、添付の図面を使用することによりさらに詳細に説明する。
【発明を実施するための最良の形態】
【0024】
(発明の詳細な説明)
(概観)
図1は、本発明の一実施形態を示す。一部の実施形態は、データベース100、マッピングシステム110、および出力マップ120を含む。様々な実施形態において、マッピングシステム110は、マッピング指定部130およびマップ生成部140を含んでもよい。他の実施形態において、マップ生成部140は、マッピング指定部130とは別個であってもよい。
【0025】
様々な実施形態において、データベース100は、典型的には、データベースグループ(管理者等)により維持されるデータを含む。データベース100は、典型的には、多数のデータベーステーブル、属性、およびテーブル中の属性間のリンクを含む。一部の実施形態では、データベースグループは、データベーステーブルに新しいデータを加える商用データベース会社であってもよい。例えば、データベース会社がテレビ番組の視聴者データ等をコンパイルし、これが第三者に販売されてもよい。一部の実施形態では、データベースグループは、既存のデータベースデータに基づくデータベース計算を行い、新たなデータベースデータを形成してもよい。例えば、マッピングユーザ要件に基づき、データベースにおいてカスタム計算を行うことができる。
【0026】
様々な実施形態において、データベース100およびマッピングシステム110は、別個のユーザ(独立した会社等)により管理されてもよく、他の実施形態では、データベース100およびマッピングシステム110は、共通のユーザ(1つの会社の異なる部門、1人のユーザまたは1つの研究グループ等)により管理されてもよい。
【0027】
様々な実施形態において、マッピングシステム110は、いかなる数の市販の地理的視覚化/マッピングパッケージシステムにより実装されてもよい。1つのそのような実施形態は、Intergraph Corporationから利用可能なGeoMedia(登録商標)地理情報システム(GIS)に実装されている。後述するように、マップ開発者は、マッピング指定部130を使用して、表示されるべきマップの要素、データベース100から取り出されるデータ、あるシンボルをマップ上でどのように表示するか等を指定する。マップ指定は、マッピングシステム110のメモリ内に格納することができる。
【0028】
本発明の一部の実施形態において、マップ生成部140は、ユーザへ表示するマップ120を生成する。一例として、マップ生成部140は、顧客からのマップ要求を受信し、マップ指定を取り出し、データベース等から適切なデータを取り出し、新しい属性に対する値を動的に計算し、計算された値に基づいてマップ120のためのシンボルの外見を決定する。様々な実施形態において、マップ120は、紙、プラスチック、布、ガラス等の媒体上に印刷され得、かつ/または、マップ120は、コンピュータデバイスのディスプレイ上に表示することもできる。より具体的には、マップ120は、アプリケーションプログラム、ウェブブラウザ、電子メッセージ等を介して、PDA、ラップトップ型コンピュータ、携帯電話等に表示することができる。
【0029】
図2は、本発明の実施形態による典型的なコンピュータシステム200のブロック図である。
【0030】
本実施形態において、コンピュータシステム200は、典型的には、(グラフィックスカード付)モニタ210、コンピュータ220、キーボード230、ユーザ入力デバイス240、コンピュータインタフェース250等を含む。
【0031】
本実施形態において、ユーザ入力デバイス240は、典型的には、コンピュータのマウス、トラックボール、トラックパッド、ジョイスティック、無線遠隔装置、描画タブレット、音声コマンドシステム、視線追跡システム等として具現化される。ユーザ入力デバイス240は、典型的には、モニタ210上に現れるオブジェクト、アイコン、テキスト等をユーザがボタンのクリック等により選択することができるようにする。
【0032】
コンピュータインタフェース250の実施形態は、典型的には、イーサネット(登録商標)カード、モデム(電話、衛星、ケーブル、ISDN)、(非同期)デジタル加入者線(DSL)ユニット、FireWireインタフェース、USBインタフェース等を含む。例えば、コンピュータインタフェース250は、コンピュータネットワーク、FireWireバス等に結合されてもよい。他の実施形態では、コンピュータインタフェース250は、コンピュータ220のマザーボード上に物理的に統合されてもよく、またソフトDSL等のソフトウェアプログラムであってもよい。
【0033】
様々な実施形態において、コンピュータ220は、典型的には、プロセッサ260、ランダムアクセスメモリ(RAM)270等のメモリ記憶デバイス、ディスクドライブ280等の通常のコンピュータコンポーネントと、これらのコンポーネントを相互接続するシステムバス290とを含む。
【0034】
RAM270およびディスクドライブ280は、デジタルソースマップデータ、マップシンボル、マップ指定プロセス、マップ生成プロセス、実行可能なコンピュータコードや人間が読み取り可能コードを含む本発明の実施形態等のデータを格納するように構成された有形媒体の例である。他の種類のコンピュータ読み取り可能有形媒体には、フロッピー(登録商標)ディスク、ネットワークハードディスク、またはリムーバブルハードディスク等の磁気記憶媒体、CD−ROMS、DVD、およびバーコード等の光記憶媒体、フラッシュメモリ、読取専用メモリ(ROM)等の半導体メモリ、バッテリーバック揮発性メモリ、ネットワーク記憶デバイス等が含まれる。
【0035】
本実施形態において、コンピュータシステム200は、HTTP、TCP/IP、RTP/RTSPプロトコル等のネットワークを介した通信を可能にするソフトウェアを含んでもよい。本発明の代替の実施形態では、IPX、UDP等、他の通信ソフトウェアおよび転送プロトコルもまた使用可能である。
【0036】
図2は、本発明の様々な態様を具現化することができる代表的なコンピュータシステムである。他の多くのハードウェアおよびソフトウェア構成が本発明における使用に適することが、当業者には容易に明らかとなるだろう。例えば、コンピュータはデスクトップ型、携帯型、ラックマウント型、またはタブレット型構成であってもよい。さらに、コンピュータは一連のネットワーク化されたコンピュータであってもよい。
【0037】
XeonTM、Pentium(登録商標)TMまたはCoreTMマイクロプロセッサ、Advanced Micro Devices,IncによるTurionTM64、OpteronTMまたはAthlonTMマイクロプロセッサ等のいかなるマイクロプロセッサの使用も包含される。さらに、Microsoft CorporationからのWindows(登録商標)Vista(登録商標)、Windows(登録商標)XP(登録商標)、Windows(登録商標)NT(登録商標)等、Sun MicrosystemsからのSolaris、LINUX、UNIX(登録商標)等、様々な種類のオペレーティングシステムが含まれる。さらに他の実施形態では、上述の技術は、チップまたは補助処理ボードへ実装することができる。
【0038】
(方法論)
図3は、本発明の様々な実施形態によるフローチャートを示す。より具体的には、図3は、マップ指定を形成するためのプロセスを示す。
【0039】
様々な実施形態において、データソース、例えばデータセットを含むデータベースが提供される(ステップ300)。データソースは、Oracle、SAP等から利用可能ないかなる商用データベースであってもよい。他の実施形態において、フラットファイル等の他のいかなるデータソースの種類でもデータソースとして使用可能である。このプロセスは、マップ開発者が新しいマッププロジェクトを作成しデータベースを指定するときは手動で行われるプロセス、または既存のマッププロジェクトが開かれデータベースへのリンクがすでに指定されているときは自動で行われるプロセスの一部であってもよい。
【0040】
まず、マップ開発者は、マップ上の1つ以上の要素または要素のクラスを選択することができる(ステップ310)。これらの要素または要素のクラスは、後述するように、マップ開発者が関数スタイルを割り当てたいと望むものである。例えば、川、山、森林等の地理的要素、道、高速道路、港等の交通要素、都市、郡、国等の社会的境界等、いかなる種類のマップ要素でも選択可能である。
【0041】
本発明の様々な実施形態において、選択されたマップ要素のそれぞれは、属性および属性値で特徴付けることができる。例えば、空港は、乗客数、ゲート数、安全上のリスク、運転設備等を指定する属性値を有してもよい。様々な実施形態において、マップ要素の選択により、マップ要素のこれらの属性のいくつかがマップ開発者に対しグラフィック表示されることになる。
【0042】
典型的には、マップ要素は、シンボル出力等の複数のスタイルのプロパティ、例えば色、シンボル、濃さ等を有する。マップ要素は、それに関連付けられたデフォルトのプロパティ値を持っていてもよい。本発明の一部の実施形態において、マップ開発者は、マップ要素のスタイルプロパティを修正する、または新たなスタイルプロパティを追加するために、マップ要素のスタイルプロパティを選択することができる(ステップ320)。
【0043】
続くステップにおいて、マップ開発者は次に、マップ要素のスタイルプロパティに対する値を決定するために、評価する式を定義する。マップ上に表示されるシンボルの外見等は、一部の実施形態においては、その式の評価に依存して変化する。
【0044】
本発明の様々な実施形態において、マップ開発者は、マップ要素の属性への参照を含むことができる式を提供する(ステップ330)。例えば、式は、他の属性を参照する1つ以上の計算を指定してもよい。様々な実施形態において、この式は、ランタイム(すなわちマップが生成されるべきとき)に動的に評価されてもよい。様々な実施形態において、後述するように、計算は数学演算、論理演算、算術関数等であってもよい。さらに、一部の実施形態において、計算は、おそらくは他の関数スタイル等の結果である定数を含んでもよい。
【0045】
様々な実施形態において、マップ開発者は、計算結果に基づきマップ要素に対し異なるシンボル出力を指定する(ステップ340)。本発明の一部の実施形態では、従来のプログラム技術を使用して、例えばIF文、ネスト化されたIF文等を使用して、異なるシンボル出力を指定することができる。他の可能な実施形態は、CASE文、DO−UNTIL文、ループ文等を使用することができる。
【0046】
様々な実施形態において、出力は視覚的指標であってもよい。視覚的指標には、テキストの単語、テキストの色、テキストのサイズ、テキストの外見、線のサイズ、線種、線の色、シンボルの選択肢、シンボルのサイズ、シンボルの色、シンボルの外見等が含まれてもよい。他の実施形態において、ユーザがディスプレイ上のマップシンボルにカーソルを「重ね合わせる」と感覚出力が提供されてもよい。ある場合には、感覚出力は聴覚的指標であってもよい。例えば、ユーザがマップシンボルにカーソルを重ね合わせたときの感覚出力には、異なる音声ファイル、異なる音量等が含まれてもよい。一部の実施形態では、感覚出力は力フィードバックであってもよい。例えば、ユーザがアイコンにカーソルを重ね合わせたときのマウスの動きは、異なる振動パターンや振動強度等を有してもよい。さらに他の実施形態では、周辺デバイスまたは補助デバイスに対し出力信号を指定することができる(例えば、コンピュータに接続されたプリンタへの出力、PDA上のプログラムの実行、SMS送信、IM送信、データログへの記録など)。上記に照らして、マップユーザ、または他のいかなる当事者に対して、マップ要素の表現の間の差を示すいかなる方法も、本発明の実施形態に含まれることが理解されるべきである。
【0047】
関数スタイルがマップ要素のシンボル表現に望ましい差を提供することを検証した後、マップ開発者は、関数スタイルの指定を含むマップの指定を保存することができる(ステップ350)。様々な実施形態において、式および関数スタイルは、マップ指定から独立して格納される。そのような実施形態では、そのような関数スタイルは他のマップ開発者と共有することができることが企図される。様々な実施形態において、関数スタイルを他のマップ開発者にEメール送信することが可能であり、関数スタイルを格納するテンプレートファイルを共有したりすることも可能である。
【0048】
図4は、本発明の様々な実施形態によるフローチャートを示す。より具体的には、図4は、マップを動的に生成または表示するプロセスを説明している。
【0049】
まず、ユーザは出力されるべきマップの一部を要求することができる(ステップ400)。様々な実施形態において、この要求は、マップ生成部140をコンピュータシステム上で直接作動しているユーザにより行われてもよく、また1つ以上のウェブサービスを介して行われたりしてもよい。例えば、ユーザは、ラップトップ型コンピュータ、PDA、携帯電話等でのウェブブラウザを介してマップの表示を要求することができる。様々な実施形態において、マップは、地理的に制限されてもよく(例えば不動産のリスト等)、またはエンドユーザにより指定されてもよい(例えばYahoo!maps、Google maps等)。
【0050】
様々な実施形態において、マップのデフォルト部は最初から指定されていてもよい。しかし、ユーザがマップ生成のための幾何学座標、視野、高度等を具体的に提供することもできる。ここで説明されるプロセスはまた、オンラインマップの場合、ユーザがマップをパン、ズーム、またはスクロールしたときに繰り返されてもよい。
【0051】
他の実施形態において、ユーザは、マップ上に表示させる要素を選択することができてもよい。より具体的には、ある例において、ユーザは、その特定の要件に依存して様々なマップ要素の表示をオンまたはオフにすることができる。例えば、ユーザは、マップ上の道路交通状況等のビューのオンとオフを切り替える。このユーザ要求の能力は、一部の実施形態においては、マップ開発者により定義および/または制限されてもよい。
【0052】
要求に応じて、マップと関連付けられたデータをマップ生成部140内で取り出すことができる(ステップ410)。様々な実施形態において、マップ生成部140は、上記ステップ350で説明された、関数スタイルの指定を含むマップの指定を取り出す。
【0053】
様々な実施形態において、マップ生成部140は、データソースからマップの指定により指定されたデータを取り出す(ステップ420)。様々な実施形態において、マップの指定はすでにデータベースからのデータのスナップショットを含んでいてもよく、したがって、まず追加のデータベースアクセスが必要とされないことが可能である。このデータと、マップの一部に基づき、マップ生成部140は、どのマップ要素がマップの視野内にあり、要求されているかを決定する(ステップ430)。
【0054】
一部の実施形態では、これらのマップ要素の識別に応じて、これらのマップ要素と関連付けられた属性が決定される(ステップ430)。関数スタイルの場合、関数スタイルの式において指定される属性が取り出され、式が評価される(ステップ440)。理解されるように、式の評価は、ランタイムで、多くの場合「生」データベースデータに動的に基づいて決定される。
【0055】
次に、式の評価に基づき、マップ要素と関連付けられた感覚出力が決定され(ステップ450)、出力される(ステップ460)。感覚出力の種類は、典型的には、「生」データに基づく式の評価に依存する。上述のように、感覚出力は視覚的なもの、すなわちマップの一部でのシンボルの異なる色、異なる形状、異なるサイズ、異なるアニメーション表示等であってもよい。アニメーション表示の例としては、経時的に色が変化する(例えば、白、青、白の順に変化し、それが繰り返される)、経時的に強度が変化する(例えば、黒と白の間で瞬く)、経時的にサイズが変化する(例えば、アイコンが小さいサイズから大きいサイズとなり、これが繰り返される)、経時的に外見が変化する(例えば、成長する、縮む)、経時的に形状が変化する(例えば、円から星に変化し、これが繰り返される)シンボルまたはアイコン等を挙げることができる。したがって、様々な実施形態において、マップ開発者は、上述のようにシンボルのアニメーションを指定することができるとともに、変化の間のタイミング、すなわちサイクル時間の量を指定することができる。
【0056】
様々な実施形態において、感覚出力は、例えばユーザがマップシンボル上にカーソルを移動させたときに異なる音が出力される等の聴覚的なものであってもよく、また、例えばユーザがマップシンボル上にカーソルを移動させたときに異なる香りが出力される等の嗅覚的なものであってもよく、また、例えばユーザがマップシンボル上にカーソルを移動させたときに異なる種類の力フィードバックが出力される等の触覚的なものであってもよく、また、例えばユーザが検討したマップシンボルのログが保持される等のユーザに見えないもの等であってもよい。
【0057】
(詳細な実施形態)
本発明の様々な実施形態において、関数スタイルの式は、表計算プログラムで使用されるもの等の従来の技術を使用して実装することができる。典型的には、それらは、関数スタイルの出力を得るために評価されるオペランド(データ値)および演算子(operator)を含む。一部の実施形態では、式は1つ以上のオペランドおよび1つ以上の演算子を含んでもよい。
【0058】
様々な実施形態において、マップのオペレータは、複数のダイアログボックスを介して式を作成および/または編集する。例えば、マップのオペレータは、値をタイプし、オペレータボタンを使用して「式」ダイアログボックス上で式ダイアログボックス内に挿入することにより、式を指定することができる。様々な実施形態において、ダイアログボックスはまた、選択された関数に対する構文ガイドとともに、構文チェックを提供してもよい。様々な実施形態において、ダイアログボックスはまた、カテゴリ、選択された関数カテゴリに属する関数、および関数に対する入力パラメータとして使用可能な属性を提供してもよい。
【0059】
様々な実施形態において、式中の値を表すために使用されるデータの種類には、Boolean値、バイトデータ、整数、長整数、通貨価値、単精度データ、倍精度データ、日付データ、テキスト、長いバイナリデータ、メモデータ、グラフィックデータ、空間データ等を含めることができる。他の実施形態では、他のデータの種類もまた企図される。
【0060】
上述のように、式は、オペランドおよび演算子の組合せとして具現化することができ、評価して結果値を得ることができる。データは、例えば、(クエリにおいて)取り出すデータの一部として、または、1組の基準を満たすデータを探す検索条件として等、いくつかの異なる場所で使用することができる。
【0061】
様々な実施形態において、式中のオペランドは、識別子(値が各データベースの記録ごとに変化する属性への参照)、定数(各記録に対し一定である固定値)、および関数(入力を受けて値を返す演算)を含むことができる。例として、式は、(price*1.5)または(price+sales_tax)等の計算であってもよい。
【0062】
様々な実施形態において、関数スタイルは、様々な関数の評価から得ることができる。例えば、関数は、単一値に対して演算して、単一値を返すスカラー関数を含んでもよい。様々な実施形態において、スカラー関数は、式が有効である限り使用することができる。例えば、スカラー関数は、点の幾何学的特徴クラスのX座標またはY座標を決定することができる。様々な実施形態において、関数は、値の集合に対して演算して単一の値、例えば要約値を返す集計関数を含んでもよい。例えば、集計関数は、多面体を定義するある点のリストを融合するCREATEPOLYGONであってもよい。様々な実施形態において、関数は、単一値(幾何学値等)に対して演算して複数値を返す展開関数を含んでもよい。展開関数の例は、線のSEGMENTS計算であってもよい。
【0063】
様々な実施形態において、関数は、日付および時刻関数、幾何学関数、論理関数、数学および三角関数、統計関数、テキスト関数、ビュー関数等のカテゴリにまとめられる。他の実施形態では、他の種類のカテゴリの追加や、他の関数の追加が企図される。
【0064】
様々な実施形態において、識別子は、属性の名前または定数を表すシンボルとして定義される。各属性の名前は、典型的には、その名前およびグループ名を使用して他から区別することができる。例えば、「IF(COUNT(Detail.Salary)<>0,SUM(Detail.Salary),Input.Salary)」では、識別子にはDetail.SalaryおよびInput.Salaryが含まれる。一部の実施形態では、これらの識別子は、データベースまたはデータストアにおける論理データ構造(例えばテーブルの属性名)を表してもよい。
【0065】
式中、演算子は1つ以上のオペランドに対し実行されるアクションを指定するシンボルである。様々な実施形態において、演算子のカテゴリには、算術演算子(例えば加算、減算、乗算、除算、剰余算等)、ビット演算子(例えばand、or、xor、nor等)、比較演算子(例えば=、>、<、<=等)、論理演算子(例えばand、between、null、in等)、文字列連結演算子、単項演算子(例えばpositive、negative等)が含まれる。他の実施形態では、他の種類の演算子の追加も企図される。
【0066】
本発明の一部の実施形態において、式は、演算子で結合された、いくつかのより小さい式から構築することができる。これらの複雑な式(「ネスト化」された式を有する)において、演算子は、演算子の優先順位に基づき評価される。擬似コードの例としては以下:
current_tax=prior_tax+purchase_value*net_inflation(purchase_year)*tax_rate
が含まれる。
【0067】
(例)
図5A〜5Dは、本発明の様々な実施形態による例を示す。より具体的には、図5A〜Dは、本発明の様々な実施形態によるグラフィカルユーザインタフェース(GUl)を示す。
【0068】
図5Aは、マップ開発者のための典型的なGUI500を示す。本実施形態では、マップ開発者は、表示するマップの一部を選択し、表示されるべきマップ要素510を指定する。本例では、マップ要素510は電信柱である。示されるように、それに対応して、シンボル520がGUI500に表示され、マップの一部における電信柱の位置を示す。本例では、マップ開発者は以下に例示されるようにシンボルのスタイルを変更することにより、電信柱のシンボル表現を変更することができる。様々な実施形態において、マップ開発者は、マップ要素510を「右クリック」してスタイルを変更することができ、または従来のいかなる方法を用いてもよい。
【0069】
図5Bは、典型的なスタイルプロパティダイアログボックス、GUI530を示す。図5Bにおいて、マップ要素の現在の出力スタイルがGUI530に示されている。この例では、マップ中心のプロパティカラム540およびデフォルト値カラム550が示されている。様々な実施形態において、プロパティカラム540は、マップシンボルのグラフィック(シンボル)プロパティを指定し、値カラム550はシンボルに対する現在値を指定する。図5Bに示される例では、行560はシンボルの出力色を指定する。この場合、(255,105,255)は、シンボルの赤、緑、青(RGB)の値を表す。
【0070】
図5Bにさらに示されるように、さらなる属性カラム565が提供されている。本例では、マップ開発者は属性カラム565をクリックして、シンボルの出力色に対するカスタム値を割り当てることができる。この例では、図5Cでもさらに見られるように、マップ要素と関連付けられた複数の「属性」を含むドロップダウンボックスが示されている。1つの属性である式の属性570は、マップ開発者が上述のように評価する式を定義できるようにする。
【0071】
図5Cは、典型的な式ダイアログボックス、GUI580を示す。図5Cにおいて、GUI580は、マップ開発者が式領域590内で式を定義するのを容易化し、またそれを可能とする。この例において、カテゴリリスト600は、マップ開発者が式に含める関数のカテゴリを指定できるようにし、また関数リスト610は、マップ開発者が式に含める特定の関数を指定できるようにする。さらに、マップシンボルと関連付けられた属性を列挙する属性リスト630が提供されている。示されるように、電信柱の場合では、属性としては、必要な取り付け器具、柱の構造、柱の識別番号、柱の取り付け日、柱のサイズ、柱の種類(金属、木、コンクリート等)を含めることができる。様々な実施形態において、データベースから各柱に対してこれらの属性が格納される(そして後に取り出される)。
【0072】
図5Cの例では、マップ開発者は、RGB値を決定するための評価される式を指定している。図5Bから分かるように、評価の結果(RGB値)を使用してGUI上の電信柱シンボルの色を決定する。図5Cにおける式は以下:
IF(Input.type_pole=“wood”,RGB(182,130,17),IF(Input.type_pole=“metal”,RGB(84,163,221),RGB(255,0,0)))
の通りである。
【0073】
この例では、式は、電信柱が木である場合(Input.type_pole=“wood”)、式の評価はRGB値(182,130,17)(色としては茶色)を返すことを意味している。さらに、電信柱が木ではなく金属である場合(Input.type_pole=“metal”)、式の評価はRGB値(84,163,221)(色としては青みがかった色)を返す。さらに、電信柱が木でも金属でもない場合、式の評価はRGB値(255,0,0)(色としては赤色)を返す。本例で示されるように、ネスト型IF文等を使用して、マップ要素に対し2つ以上の異なるシンボル出力を提供することができる。
【0074】
他の例において、取り付け器具、取り付け日等、評価関数内で他の属性が使用されてもよい。
【0075】
図5Dは、マップ開発者のための典型的なGUI630を示す。本実施形態において、マップ要素510は、図5Bおよび5Cに示される式の定義により決定される出力シンボロジーでマップの一部に表示される。示されるように、式の領域590における式に従い、ある電信柱640は「木」の柱の属性を反映した茶色、またある電信柱650は「金属」の柱を反映した青色となることができる。
【0076】
上記開示に照らして、スタイルの各プロパティは、それと関連した異なる式を有してもよいことが理解されるべきである。例えば、マップ上で都市を表現するために、その都市のサイズプロパティは、その都市の人口属性に依存する式を有してもよい。さらに、都市の色プロパティは、その都市の犯罪率に依存する式を有してもよい。さらに他の例として、都市のアニメーションプロパティは、その都市の経時的な犯罪率の変化を計算する関数スタイルに依存する式を有してもよい。その結果、人口が多く犯罪率が高い都市は、マップ上では大きな赤色の点として表示することができ、人口が多く犯罪率が低い都市は、マップ上では大きな緑色の点として表示することができる。さらに、ある都市の過去10年間にわたる犯罪率の変化が減少傾向にある場合は、大きな赤色の点はゆっくりと瞬くことができ、一方ある都市の過去10年間にわたる犯罪率の変化が増加傾向にある場合は、大きな緑色の点は急速に瞬くことができる。マップ要素と関連した複数種類スタイルプロパティのための式の修正および評価が、本発明の様々な実施形態において想定されている。
【0077】
マップ開発者/ユーザがデータベース100ではなくマッピングシステム110内で関数スタイルを指定する利点には、マップ開発者が独自の関数スタイルをすぐに定義できることが含まれる。すなわち、マップ開発者がエンドユーザからマップ要件を受け取ったときに、マップ開発者が迅速かつ容易にそのような要件を実行できる。さらに、マップ開発者は、データベース100のデータベース管理者がデータベース中でそのような関数を実行しデータベースデータを更新するのを待つ必要がない。
【0078】
様々な例において、マップ開発者が「小規模」開発者の場合、管理経費のために、データベース管理者はそのような関数を加えないと決断することもあり得る。すなわち、データベース管理者は、そのようなカスタム属性の追加がデータベースの負荷の追加よりも重要であることを信じないこともあり得る。他の例において、データソースプロバイダは必要な基本的データの一部または全てを格納するものであるため、プロバイダは要求された属性を計算する能力を有していないこと、データをすぐに生成することができるため、データソースは固定記憶も固定された属性を追加する能力も持たないこと、データは、顧客が提供データをカスタマイズすることが許容されない公共ソースまたは商用ソースを形成すること等があり得る。上記に照らして、新しい属性等はデータベースからは取り出されるのではなく、ランタイムで動的に計算されることが企図される。
【0079】
マップの指定レベルの関数スタイルを提供することにより、マップ開発者は、データベース管理者に依存することなく、カスタム基準に基づいて容易にマップ要素を区別することができる。例として、データベースは、財産の販売価格、住居の規模等を提供する郡査定官(County Assessor)事務所から提供されてもよい。しかし、マップ開発者は、1平方フィートあたりの価格に基づくマップ上の地域の色分け(査定官事務所からは提供されないデータ)に関心がある場合もある。したがって、本発明の様々な実施形態を使用して、マップ開発者は、財産の販売価格を使用した式を指定し、それぞれ住居の平方フィート面積で割り、1平方フィート当たりの価格が高い地域には赤色を、1平方フィート当たりの価格が低い地域には青色を、また1平方フィート当たりの価格が中間的である地域には黄色を指定することができる。
【0080】
例として、データベースは、入学生の数、卒業生の数、大学進学予定の高学年学生の数等を提供する高校学区により提供されるデータベースであってもよい。しかし、マップ開発者は、高校学区に基づく、および大学進学予定学生の割合に基づくマップ上の地域の濃淡の違い(高校からは提供されない)に関心がある場合もある。したがって、本発明の様々な実施形態を使用して、マップ開発者は、大学進学予定の高学年学生の数を使用した式を指定し、それぞれ入学クラスの学生の数で割り、評価された割合に基づき異なる濃淡パターンを指定することができる。例えば、50%以上の割合に対して1つのパターン、40%以上に対して別のパターン、30%以上に対してまた別のパターン等とすることができる。
【0081】
様々な実施形態において、式の評価は、属性に対する値により直接的に影響してもよい。例として、以下:
Size=(Population/Max_city_population)* Max_city_symbol_size
の擬似コードの式を用い、マップ上の都市シンボルのサイズを決定するために都市の人口属性を使用することができる。
【0082】
この例では、Populationは、典型的にはデータソースから得られる、各都市に一意の属性であり、Max_city_populationは、世界、国、対象地域等で最も人口の多い都市の人口である。このデータはデータソースから得られても、また手作業で決定される定数等であってもよい。最後に、Max_city_symbol_sizeは、マップ上の都市シンボルの望ましい最大サイズのサイズパラメータである。上記に照らして、都市の人口は事実上一意であるため、マップの2つの都市シンボルが全く同じサイズとなることはないと思われる。
【0083】
この「連続的」シンボル出力決定の上記実施形態は、シンボルの色、シンボル、シンボルのアニメーション等、シンボルのサイズ以外の側面にも適用可能である。例えば、マップ上での都市シンボルの色は国内平均住宅価格に対する都市平均住宅価格に依存する;マップ上の都市を代表する3次元バーは、ある期間にわたる都市内の就業率の増加により決定される高さを有する;マップ上の都市シンボルに対する瞬くアニメーションは都市の汚染量に依存する、などとなってもよい。上述の開示に照らして、当業者ならば、本発明の実施形態としてみなされるさらなる例を想定することができると思われる。
【0084】
本開示を読んだ後、当業者はさらなる実施形態を想定することができる。他の実施形態において、有利にも、上記で開示された発明の組合せまたは一部の組合せが可能である。容易に理解できるように、アーキテクチャおよびグラフィカルユーザインタフェースのブロック図がまとめられている。しかし、ブロックの組合せ、新たなブロックの追加、ブロックの再構成等が本発明の代替の実施形態において企図されることが理解されるべきである。
【0085】
したがって、明細書および図面は、制限的ではなく例示的なものであると解釈されるべきである。しかし、請求項に記載される本発明のより広範な精神および範囲から逸脱しない限り、様々な修正および変更を行うことができることは明らかであろう。
【図面の簡単な説明】
【0086】
【図1】図1は、本発明の一実施形態を示す。
【図2】図2は、本発明の様々な実施形態による典型的なコンピュータシステムのブロック図である。
【図3】図3は、本発明の様々な実施形態によるフローチャートを示す。
【図4】図4は、本発明の様々な実施形態によるフローチャートを示す。
【図5A】図5A〜図5Dは、本発明の様々な実施形態による例を示す。
【図5B】図5A〜図5Dは、本発明の様々な実施形態による例を示す。
【図5C】図5A〜図5Dは、本発明の様々な実施形態による例を示す。
【図5D】図5A〜図5Dは、本発明の様々な実施形態による例を示す。

【特許請求の範囲】
【請求項1】
コンピュータシステムのための方法であって、
データベースから1つ以上の属性の値を取り出すことと、
マップシンボルと関連付けられたスタイルプロパティに対する値を決定するために、該1つ以上の属性の値に基づいて計算関数を実行することと、
該マップシンボルと関連付けられた該スタイルプロパティに対する値に応じて、該マップシンボルを備えるマップの表現を出力することと
を含む、方法。
【請求項2】
前記マップの表現をユーザに表示することをさらに含む、請求項1に記載の方法。
【請求項3】
1つ以上の地理的位置を識別することをさらに含み、1つ以上の属性の値を取り出すことは、該1つ以上の地理的位置に応じて前記データベースから1つ以上の属性の値を取り出すことを含む、請求項1に記載の方法。
【請求項4】
前記マップシンボルと関連付けられた前記スタイルプロパティは、フォントサイズ、フォント、フォントの色、線の太さ、線の色、線種、アイコンサイズ、アイコンの色、アイコン、アニメーションのプロパティから成る群から選択される、請求項1に記載の方法。
【請求項5】
前記計算関数は、論理関数、数学関数、算術関数から成る群から選択される、請求項1に記載の方法。
【請求項6】
前記計算関数を実行することは、
前記1つ以上の属性の値に基づいて関数の値を決定することと、
該関数の値に応じて前記スタイルプロパティに対する値を決定することと
を含む、請求項1に記載の方法。
【請求項7】
前記データベースからの前記1つ以上の属性の更新された値を受信することと、
前記マップシンボルと関連付けられた前記スタイルプロパティに対する更新された値を決定するために、該1つ以上の属性の該更新された値に基づいて前記計算関数を実行することと、
該マップシンボルと関連付けられた該スタイルプロパティに対する該更新された値に応じて、該マップシンボルを備える前記マップの更新された表現を出力することと
を含む、請求項1に記載の方法。
【請求項8】
コンピュータシステムであって、
複数のマップシンボルを格納するように構成されたメモリであって、各マップシンボルが複数のスタイルプロパティと関連付けられている、メモリと、
該メモリに結合されたプロセッサであって、該プロセッサはマップシンボルと関連付けられた1つ以上の属性の値を取り出すように構成され、該プロセッサはマップシンボルと関連付けられたスタイルプロパティに対する値を決定するために該1つ以上の属性の値に基づいて計算関数を実行するように構成され、該プロセッサは、マップシンボルと関連付けられた該スタイルプロパティに対する値に応じて、該マップシンボルを備えるマップの出力表現を提供するように構成されている、プロセッサと
を備えている、コンピュータシステム。
【請求項9】
前記メモリは、前記1つ以上の属性を指定する前記計算関数を格納するように構成される、請求項8に記載のコンピュータシステム。
【請求項10】
前記プロセッサは、地理的位置の指示を受信するように構成され、
該プロセッサは、該地理的位置に応じて前記データベースから前記マップシンボルと関連付けられた前記1つ以上の属性の値を取り出すように構成される、請求項8に記載のコンピュータシステム。
【請求項11】
前記マップシンボルと関連付けられた前記スタイルプロパティは、フォントサイズ、フォント、フォントの色、線の太さ、線の色、線種、アイコンサイズ、アイコンの色、アイコン、アニメーションの種類から成る群から選択される、請求項8に記載のコンピュータシステム。
【請求項12】
前記計算関数は、論理関数、算術関数、数学関数から成る群から選択される、請求項8に記載のコンピュータシステム。
【請求項13】
前記プロセッサは、前記1つ以上の属性の値に対する関数に対する値を決定するように構成され、
該プロセッサは、該関数に対する値に応じて前記マップシンボルと関連付けられた前記スタイルプロパティに対する値を決定するように構成される、請求項8に記載のコンピュータシステム。
【請求項14】
前記プロセッサは、マップシンボルと関連付けられた1つ以上の属性の更新された値を取り出すように構成され、
該プロセッサは、マップシンボルと関連付けられた前記スタイルプロパティに対する更新された値を決定するために、前記1つ以上の属性の前記更新された値に基づいて前記計算関数を実行するように構成され、
該プロセッサは、該マップシンボルと関連付けられた該スタイルプロパティに対する該更新された値に応じて、該マップシンボルを備える前記マップの更新された出力表現を提供するように構成される、請求項8に記載のコンピュータシステム。
【請求項15】
コンピュータ読み取り可能有形媒体上に存在する、プロセッサを含むコンピュータシステムのためのコンピュータプログラム製品であって、
マップシンボルと関連付けられた1つ以上の属性の値を取り出すようにプロセッサに命令するコードと、
該マップシンボルと関連付けられたスタイルプロパティに対する値を決定するために、該1つ以上の属性の値に対する計算関数を実行するようにプロセッサに命令するコードと、
該マップシンボルと関連付けられた該スタイルプロパティに対する値に応じて、該マップシンボルを備えるマップの表現を出力するようにプロセッサに命令するコードと
を備える、コンピュータプログラム製品。
【請求項16】
前記マップをユーザに表示するようにプロセッサに命令するコードをさらに備える、請求項15に記載のコンピュータプログラム製品。
【請求項17】
地理的位置の識別情報を受信するようにプロセッサに命令するコードと、
該地理的位置に応じて前記マップシンボルを決定するようにプロセッサに命令するコードと
をさらに備える、請求項15に記載のコンピュータプログラム製品。
【請求項18】
前記マップシンボルの前記スタイルプロパティは、フォントサイズ、フォント、フォントの色、線の太さ、線の色、線種、アイコンサイズ、アイコンの色、アイコン、アニメーションのスタイルから成る群から選択される、請求項15に記載のコンピュータプログラム製品。
【請求項19】
前記マップシンボルと関連付けられた1つ以上の属性の更新された値を取り出すようにプロセッサに命令するコードと、
該マップシンボルと関連付けられたスタイルプロパティに対する更新された値を決定するために、該1つ以上の属性の該更新された値に基づいて計算関数を実行するようにプロセッサに命令するコードと、
該マップシンボルと関連付けられた該スタイルプロパティに対する該更新された値に応じて、該マップシンボルを備えるマップの表現を出力するようにプロセッサを導くコードと
をさらに備える、請求項15に記載のコンピュータプログラム製品。
【請求項20】
前記プロセッサは、前記1つ以上の属性の値に基づいて関数に対する値を決定するように構成され、
該プロセッサは、該値を閾値と比較するように構成され、
該プロセッサは、該値が該閾値を超える場合、前記スタイルプロパティの値に対する第1の値の使用を決定するように構成され、
該プロセッサは、該値が該閾値を超えない場合、該スタイルプロパティの値に対する第2の値の使用を決定するように構成される、請求項15に記載のコンピュータプログラム製品。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図5C】
image rotate

【図5D】
image rotate


【公表番号】特表2009−527777(P2009−527777A)
【公表日】平成21年7月30日(2009.7.30)
【国際特許分類】
【出願番号】特願2008−555461(P2008−555461)
【出願日】平成19年2月13日(2007.2.13)
【国際出願番号】PCT/US2007/062088
【国際公開番号】WO2007/098338
【国際公開日】平成19年8月30日(2007.8.30)
【出願人】(506168945)インターグラフ ソフトウェアー テクノロジーズ カンパニー (10)
【Fターム(参考)】