(57)【要約】【課題】各種機能を実現するためのメニューをユーザが容易にカスタマイズすることを可能として低コスト化且つ処理の高速化を図った地理情報システム（Ｇｅｏｇｒａｐｈｉｃ　Ｉｎｆｏｒｍａｔｉｏｎ　Ｓｙｓｔｅｍ；ＧＩＳ）を実現する。【解決手段】描画処理装置は、ホストアプリケーションであるエクセルをプラットフォームとし、各種情報が所定の項目毎に同じ座標値を有するレイヤ構造として階層化されたデータについて、任意のレイヤを重畳して描画することが可能な地図描画エンジンコントロール１１をエクセルのワークシート１０上に貼り付ける。そして、描画処理装置は、ワークシート１０によって呼び出されたＶＢＡ（Ｖｉｓｕａｌ　Ｂａｓｉｃ　ｆｏｒ　Ａｐｐｌｉｃａｔｉｏｎｓ）を介して指定された描画対象としての空間データを地図描画エンジンコントロール１１によって取得し、取得した空間データをワークシート１０上に描画する。【選択図】　図３
2004126286.tif 000002
【特許請求の範囲】
【請求項１】
各種情報を描画して所定の表示手段に対して表示する描画処理装置であって、
起動画面上で所定のソフトウェア部品をオブジェクトとして貼り付け、当該ソフトウェア部品の機能を組み込み可能であるコントロールコンテナとしての第１のアプリケーションを実行する第１のアプリケーション実行手段と、
上記第１のアプリケーション上で動作するソフトウェア部品として構成され、各種情報が所定の項目毎に同じ座標値を有するレイヤ構造として階層化されたデータについて、任意のレイヤを重畳して描画することが可能な第２のアプリケーションを実行する第２のアプリケーション実行手段と、
上記第１のアプリケーションと上記第２のアプリケーションとの間に介在し、上記第１のアプリケーションとの間でメッセージの授受を行うインターフェースとして機能する第３のアプリケーションを実行する第３のアプリケーション実行手段とを備えること
を特徴とする描画処理装置。
【請求項２】
上記第１のアプリケーション実行手段は、上記第１のアプリケーションを起動した状態で上記第２のアプリケーションが起動されると、上記第２のアプリケーションをソフトウェア部品として起動画面上に貼り付けて上記表示手段に表示し、
上記第２のアプリケーション実行手段は、上記第１のアプリケーションによって呼び出された上記第３のアプリケーションを介して指定された描画対象としての各種情報を取得し、取得した各種情報を上記第１のアプリケーションの起動画面上に描画すること
を特徴とする請求項１記載の描画処理装置。
【請求項３】
上記第１のアプリケーションは、表計算ソフトウェアであり、上記第３のアプリケーションは、上記第１のアプリケーションを制御するマクロ言語であること
を特徴とする請求項１又は請求項２記載の描画処理装置。
【請求項４】
上記第２のアプリケーションは、地理情報システムにて用いられる少なくとも地図情報を含む各種情報を描画する地図描画エンジンであることを特徴とする請求項１乃至請求項３のうちいずれか１項記載の描画処理装置。
【請求項５】
各種情報を描画して所定の表示手段に対して表示する描画処理方法であって、
起動画面上で所定のソフトウェア部品をオブジェクトとして貼り付け、当該ソフトウェア部品の機能を組み込み可能であるコントロールコンテナとしての第１のアプリケーションが起動された状態で、各種情報が所定の項目毎に同じ座標値を有するレイヤ構造として階層化されたデータについて、任意のレイヤを重畳して描画することが可能な第２のアプリケーションを、上記第１のアプリケーション上で動作するソフトウェア部品として起動画面上に貼り付けて上記表示手段に表示する貼り付け工程と、
上記第１のアプリケーションと上記第２のアプリケーションとの間に介在し、上記第１のアプリケーションとの間でメッセージの授受を行うインターフェースとして機能する第３のアプリケーションを、上記第１のアプリケーションによって呼び出して実行し、上記第３のアプリケーションを介して指定された描画対象としての各種情報を上記第２のアプリケーションによって取得する情報取得工程と、
上記第２のアプリケーションによって取得した各種情報を上記第１のアプリケーションの起動画面上に描画する描画工程とを備えること
を特徴とする描画処理方法。
【請求項６】
各種情報を描画して所定の表示手段に対して表示するコンピュータ実行可能な描画処理プログラムであって、
起動画面上で所定のソフトウェア部品をオブジェクトとして貼り付け、当該ソフトウェア部品の機能を組み込み可能であるコントロールコンテナとしての第１のアプリケーションが起動された状態で、各種情報が所定の項目毎に同じ座標値を有するレイヤ構造として階層化されたデータについて、任意のレイヤを重畳して描画することが可能な第２のアプリケーションを、上記第１のアプリケーション上で動作するソフトウェア部品として起動画面上に貼り付けて上記表示手段に表示する貼り付け処理と、
上記第１のアプリケーションと上記第２のアプリケーションとの間に介在し、上記第１のアプリケーションとの間でメッセージの授受を行うインターフェースとして機能する第３のアプリケーションを、上記第１のアプリケーションによって呼び出して実行し、上記第３のアプリケーションを介して指定された描画対象としての各種情報を上記第２のアプリケーションによって取得する情報取得処理と、
上記第２のアプリケーションによって取得した各種情報を上記第１のアプリケーションの起動画面上に描画する描画処理とを備えること
を特徴とする描画処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、各種情報を描画して所定の表示手段に対して表示する描画処理装置、描画処理方法、及び描画処理プログラムに関する。
【０００２】
【従来の技術】
従来から人工衛星を利用して地上における移動体の位置を測定する全地球測位システム（Ｇｌｏｂａｌ　Ｐｏｓｉｔｉｏｎｉｎｇ　Ｓｙｓｔｅｍ；ＧＰＳ）といった位置情報を取得するためのシステムが開発されている。また、近年では、携帯電話機等の移動体通信網をはじめとする各種通信インフラストラクチャの発達にともない、位置情報を利用した各種サービスが急速に普及しつつある。
【０００３】
このような現状のもと、地図という位置情報と他の付加情報とを関連付けることによって極めて有益な情報を提供することが可能なシステムである地理情報システム（Ｇｅｏｇｒａｐｈｉｃ　Ｉｎｆｏｒｍａｔｉｏｎ　Ｓｙｓｔｅｍ；以下、ＧＩＳという。）が注目されている。
【０００４】
ＧＩＳとは、地理情報システム関係省庁連絡会議の定義によれば、「地理的位置を手がかりに、位置に関する情報を持ったデータ（空間データ）を総合的に管理・加工し、視覚的に表示し、高度な分析や迅速な判断を可能にする技術」である。このようなＧＩＳが適用される範囲は、極めて多岐にわたり、例えば、公共分野では、上下水道、ガス、電力、道路といった生活インフラストラクチャの設備や顧客を管理するシステム、固定資産を管理するシステム、防災及び／又は警察の設備を管理するシステム、都市計画を支援するシステム等が挙げられ、また、民間分野では、宅配便等の配送計画を支援するシステム、店舗状況を評価したり出店計画を支援したりするシステム、顧客を管理するシステム、商品の販売状況等を分析するエリアマーケティング用のシステム、不動産情報を検索するシステム、広告や宣伝計画の策定を支援するシステム、カーナビゲーションシステム等が挙げられる。
【０００５】
具体的には、ＧＩＳを適用した具体例としては、例えば、特許文献１乃至特許文献５等があり、様々な分野に適用することができる。
【０００６】
【特許文献１】
特開２００１−１０９８０１号公報
【特許文献２】
特開２００２−４１７１９号公報
【特許文献３】
特開２００２−６３３３６号公報
【特許文献４】
特開２００２−８１００８号公報
【特許文献５】
特開２００２−２３６７８２号公報
【０００７】
このようなＧＩＳは、近年のコンピュータ装置等の情報処理装置の普及及び高度化にともない、ディジタルデータとして作成された地図データに対して所定の属性データが付加された各種情報に基づいて構築されるのが通常である。
【０００８】
ここで、ディジタルデータとして作成される地図データは、いわゆるビットマップ形式の画像といったドット単位で値を保持するラスタ型データと、点、線、面等の図形をベクトルとして表現するベクトル型データとに大別される。このうち、ラスタ型データは、視覚的に綺麗に表示することが可能である一方、データ容量が大きくなり、処理に過大な負荷がかかることが問題とされている。一方、ベクトル型データは、ラスタ型データに比べ、データ容量が小さくて済むことから、処理の負荷も少なくて済み、体感的に処理の高速化を図ることができる。また、ベクトル型データは、例えば図１３に示すように、町名を示す情報からなる町名レイヤ、道路を示す情報からなる道路レイヤ、建物を示す情報からなる建物レイヤといった所定の項目毎にレイヤ構造として階層化し、任意のレイヤを合成することによって複数のレイヤの情報を透過的に重畳して表示することが可能であり、分析結果に応じてデータを色分けして表示することも可能である。
【０００９】
ＧＩＳは、これらの地図データと属性データとをデータベースとして保持し、これらの各種情報に基づいて、所定のエンジン（アプリケーション）によって地理情報を描画し、表示画面に表示する。
【００１０】
このように、ＧＩＳは、単なる地図ビューアとしてではなく、地図情報に対応付けられた付加的な情報を、ユーザに対して視覚的に提供することができ、各業務の効率化・迅速化・確実化を図る技術として期待されている。
【００１１】
【発明が解決しようとする課題】
ところで、上述したＧＩＳにおいては、地理情報を描画するエンジンを起動すると、地図情報を表示する画面の周囲に、例えば、表示する地図の拡大及び／又は縮小を行う機能や、所定の住所の検索を行う機能といった各種メニューを実行するための通常フレームと称されるボタンやアイコン等のグラフィカル・ユーザ・インターフェース（Ｇｒａｐｈｉｃａｌ　Ｕｓｅｒ　Ｉｎｔｅｒｆａｃｅ；ＧＵＩ）が表示される。
【００１２】
ここで、このフレームとして実装されるメニューや属性データとしての必要な情報を記憶するデータベースは、適用する各業務に応じてカスタマイズして提供されるのが実情である。すなわち、エンジンは、受注した顧客の業務内容・運用に応じてカスタマイズされたアプリケーションとして作成されるものであった。
【００１３】
したがって、ＧＩＳにおいては、受注内容に応じて個別にアプリケーションを作成する必要があることから、必然的にコストが高くなる他、場合によっては処理に時間を要するという問題があった。
【００１４】
一方、ＧＩＳは、例えばマイクロソフト（登録商標）社が提供するエクセル（Ｅｘｃｅｌ）等の表計算ソフトウェアによって実現することもできる（例えば、非特許文献１参照。）。
【００１５】
【非特許文献１】
小林岳人、”Ｅｘｃｅｌを利用した地理情報システム（ＧＩＳ）の方法”、［ｏｎｌｉｎｅ］、［平成１４年９月１１日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｈｏｍｅｐａｇｅ２．ｎｉｆｔｙ．ｃｏｍ／ｔａｋｅｔｏ−ｋｏｂａｙａｓｈｉ／ｐａｐｅｒ／ｐａｐｅｒ９８．ｈｔｍ＞
【００１６】
実際に、上述したエクセルには、画像としての地図データからなるオブジェクトをワークシート上に挿入する”データマップ”と称される機能が搭載されており、ワークシート上の各セルとオブジェクトとして挿入された地図データとを関連付けることにより、簡易的なＧＩＳを構築することができる。
【００１７】
しかしながら、このような表計算ソフトウェアにおいては、レイヤ構造として階層化されたデータをオブジェクトとして挿入することはできず、このため、本来のＧＩＳの有効な利点であるレイヤの重ね合わせによる空間的事象の分析を行うことは極めて困難であった。また、表計算ソフトウェアにおいては、上述したラスタ型データとベクトル型データとの重ね合わせができないことから、例えば、標高値に基づいて作成された鳥瞰図上に、緯度・経度値に基づいて作成された道路等の情報を重ね合わせて表示することができなかった。さらに、表計算ソフトウェアにおいては、地図情報を等高線グラフや散布図グラフといったグラフ作成機能を用いて表現することから、正確な３次元情報の表現を行うことができず、表示する地図の拡大及び／又は縮小といった動的でリアルタイム性を要する動作を行う機能を実現することはできなかった。
【００１８】
なお、これらの問題は、ＧＩＳに限ったものではなく、例えばＣＡＤ（ｃｏｍｐｕｔｅｒ−ａｉｄｅｄ　ｄｅｓｉｇｎ）等のレイヤ構造として階層化されたデータを描画するアプリケーションについても同様に生じるものである。
【００１９】
本発明は、このような実情に鑑みてなされたものであり、本来のＧＩＳの特徴をいかんなく発揮するために必要とされる各種機能を実現することができ、また、これら各種機能を実現するためのメニューをユーザが容易にカスタマイズすることを可能として低コスト化且つ処理の高速化を図ることができる描画処理装置、描画処理方法、及び描画処理プログラムを提供することを目的とする。
【００２０】
【課題を解決するための手段】
上述した目的を達成する本発明にかかる描画処理装置は、各種情報を描画して所定の表示手段に対して表示する描画処理装置であって、起動画面上で所定のソフトウェア部品をオブジェクトとして貼り付け、当該ソフトウェア部品の機能を組み込み可能であるコントロールコンテナとしての第１のアプリケーションを実行する第１のアプリケーション実行手段と、第１のアプリケーション上で動作するソフトウェア部品として構成され、各種情報が所定の項目毎に同じ座標値を有するレイヤ構造として階層化されたデータについて、任意のレイヤを重畳して描画することが可能な第２のアプリケーションを実行する第２のアプリケーション実行手段と、第１のアプリケーションと第２のアプリケーションとの間に介在し、第１のアプリケーションとの間でメッセージの授受を行うインターフェースとして機能する第３のアプリケーションを実行する第３のアプリケーション実行手段とを備えることを特徴としている。
【００２１】
また、上述した目的を達成する本発明にかかる描画処理方法は、各種情報を描画して所定の表示手段に対して表示する描画処理方法であって、起動画面上で所定のソフトウェア部品をオブジェクトとして貼り付け、当該ソフトウェア部品の機能を組み込み可能であるコントロールコンテナとしての第１のアプリケーションが起動された状態で、各種情報が所定の項目毎に同じ座標値を有するレイヤ構造として階層化されたデータについて、任意のレイヤを重畳して描画することが可能な第２のアプリケーションを、第１のアプリケーション上で動作するソフトウェア部品として起動画面上に貼り付けて表示手段に表示する貼り付け工程と、第１のアプリケーションと第２のアプリケーションとの間に介在し、第１のアプリケーションとの間でメッセージの授受を行うインターフェースとして機能する第３のアプリケーションを、第１のアプリケーションによって呼び出して実行し、第３のアプリケーションを介して指定された描画対象としての各種情報を第２のアプリケーションによって取得する情報取得工程と、第２のアプリケーションによって取得した各種情報を第１のアプリケーションの起動画面上に描画する描画工程とを備えることを特徴としている。
【００２２】
さらに、上述した本発明にかかる描画処理プログラムは、各種情報を描画して所定の表示手段に対して表示するコンピュータ実行可能な描画処理プログラムであって、起動画面上で所定のソフトウェア部品をオブジェクトとして貼り付け、当該ソフトウェア部品の機能を組み込み可能であるコントロールコンテナとしての第１のアプリケーションが起動された状態で、各種情報が所定の項目毎に同じ座標値を有するレイヤ構造として階層化されたデータについて、任意のレイヤを重畳して描画することが可能な第２のアプリケーションを、第１のアプリケーション上で動作するソフトウェア部品として起動画面上に貼り付けて表示手段に表示する貼り付け処理と、第１のアプリケーションと第２のアプリケーションとの間に介在し、第１のアプリケーションとの間でメッセージの授受を行うインターフェースとして機能する第３のアプリケーションを、第１のアプリケーションによって呼び出して実行し、第３のアプリケーションを介して指定された描画対象としての各種情報を第２のアプリケーションによって取得する情報取得処理と、第２のアプリケーションによって取得した各種情報を第１のアプリケーションの起動画面上に描画する描画処理とを備えることを特徴としている。
【００２３】
このような本発明にかかる描画処理装置、描画処理方法、及び描画処理プログラムは、それぞれ、第１のアプリケーションを起動した状態で第２のアプリケーションが起動されると、この第２のアプリケーションをソフトウェア部品として起動画面上に貼り付けて表示手段に表示し、第１のアプリケーションによって呼び出された第３のアプリケーションを介して指定された描画対象としての各種情報を第２のアプリケーションによって取得し、取得した各種情報を第１のアプリケーションの起動画面上に描画する。
【００２４】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について図面を参照しながら詳細に説明する。
【００２５】
この実施の形態は、地理情報システム（Ｇｅｏｇｒａｐｈｉｃ　Ｉｎｆｏｒｍａｔｉｏｎ　Ｓｙｓｔｅｍ；以下、ＧＩＳという。）にて用いられる少なくとも地図情報を含む各種情報が、所定の項目毎に同じ座標値を有するレイヤ構造として階層化されたデータについて、任意のレイヤを重畳して描画して所定の表示手段に対して表示する第２のアプリケーションである地図描画エンジンを実行する描画処理装置である。この描画処理装置においては、地図描画エンジンが単独のパッケージとして提供されるものではなく、起動画面上で所定のソフトウェア部品をオブジェクトとして貼り付けて当該ソフトウェア部品の機能を組み込み可能であるコントロールコンテナとしての所定の第１のアプリケーション上で動作するソフトウェア部品として構成されるものである。また、描画処理装置は、第１のアプリケーションと地図描画エンジンとの間に介在して第１のアプリケーションとの間でメッセージの授受を行うインターフェースとして機能する所定の第３のアプリケーションを実装する。
【００２６】
このような少なくとも３つのアプリケーションを実行する描画処理装置は、第１のアプリケーションを起動した状態で地図描画エンジンが起動されると、この地図描画エンジンをソフトウェア部品として起動画面上に貼り付けて表示手段に表示し、第１のアプリケーションによって呼び出された第３のアプリケーションを介して指定された描画対象としての各種情報を地図描画エンジンによって取得し、取得した各種情報を第１のアプリケーションの起動画面上に描画するものである。
【００２７】
なお、以下では、説明の便宜上、描画処理装置は、マイクロソフト（登録商標）社が提供するオペレーティング・システムであるウィンドウズ（登録商標）がインストールされた例えばパーソナルコンピュータ等の各種アプリケーションを実行することが可能な装置であるものとする。また、以下では、第１のアプリケーションとして、マイクロソフト（登録商標）社が提供する表計算ソフトウェアであるエクセル（Ｅｘｃｅｌ）を用いるとともに、第３のアプリケーションとして、このエクセルを制御するマクロ言語であるＶＢＡ（Ｖｉｓｕａｌ　Ｂａｓｉｃ　ｆｏｒ　Ａｐｐｌｉｃａｔｉｏｎｓ）を用い、第２のアプリケーションである地図描画エンジンを、エクセル上に貼り付けられて動作するＯＬＥ（Ｏｂｊｅｃｔ　Ｌｉｎｋｉｎｇ　ａｎｄ　Ｅｍｂｅｄｄｉｎｇ）オブジェクトとして作成されたコントロール、すなわち、ウィンドウズ（登録商標）にレジストされたＯＣＸとして構成されるものとする。さらに、以下では、ＯＣＸとして構成される地図描画エンジンを、地図描画エンジンコントロールと称するものとする。
【００２８】
すなわち、描画処理装置は、エクセルを起動した状態で地図描画エンジンコントロールを起動することにより、例えば図１に示すように、エクセルのワークシート上に、地図描画エンジンの起動画面を貼り付け、所定の表示画面に表示する。ここで、エクセルのワークシート上には、地図情報と、所定の機能を実現する各種メニューを実行するための通常フレームと称されるボタンやアイコン等のグラフィカル・ユーザ・インターフェース（Ｇｒａｐｈｉｃａｌ　Ｕｓｅｒ　Ｉｎｔｅｒｆａｃｅ；ＧＵＩ）とが貼り付けられて表示される。そして、描画処理装置は、地図描画エンジンコントロールと、当該地図描画エンジンコントロールが貼り付けられたエクセルのワークシートとの間にＶＢＡを介在させ、ワークシートを介したユーザの操作に応じた各種メソッドを地図描画エンジンコントロールへと通知することによって地図描画エンジンコントロールが有する各種機能を呼び出したり、地図描画エンジンコントロールからの各種イベントをワークシートへと通知することによって地図描画エンジンコントロールが取得したデータをエクセルに出力したりすることもできる。
【００２９】
このような処理を行うことにより、描画処理装置は、各種機能を実現するためのメニューをユーザが容易にカスタマイズすることを可能とし、低コスト化且つ処理の高速化を図ったＧＩＳを構築することができる。
【００３０】
さて、以下では、このような描画処理装置について具体的に説明する。
【００３１】
図２に示すように、描画処理装置１は、例えばパーソナルコンピュータ等の各種アプリケーションを実行することが可能な装置として構成される。描画処理装置１は、内蔵するハードディスクや外部の記憶装置といった所定の記憶手段に記憶された各種データベースに対して所望の情報の読み出し及び／又は書き込みを行うことが可能とされる。例えば、データベースとしては、いわゆるラスタ型データやベクトル型データとして作成された地図データを格納する地図データベース２、ユーザによって任意に登録されるものであって地図データに重畳して描画可能な点、線、面、シンボル等を格納するユーザレイヤデータベース３、例えば顧客情報や業務情報等を格納するユーザ業務データベース４、及びＣＡＤ（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ　Ｄｅｓｉｇｎ）データを格納する図示しないＣＡＤデータベース等が設けられる。また、描画処理装置１は、必要に応じて、例えば全地球測位システム（Ｇｌｏｂａｌ　Ｐｏｓｉｔｉｏｎｉｎｇ　Ｓｙｓｔｅｍ；ＧＰＳ）といった各種システムを用いて位置情報を取得することが可能とされ、衛星５や図示しない基地局等から提供される位置情報を取得するための通信手段を備えることもできる。
【００３２】
このような描画処理装置１は、例えばマウスやキーボード等の操作デバイスを用いた各種操作に応じて、上述したように、アプリケーション間で、各種メソッド及び各種イベントの授受を行うことによって動作する。
【００３３】
具体的には、描画処理装置１は、図３に示すように、ホストアプリケーションであるエクセルをプラットフォームとした基本メカニズムのもとに動作する。
【００３４】
すなわち、描画処理装置１においては、エクセルのワークシート１０上に、地図描画エンジンコントロール１１が貼り付けられるとともに、地図描画エンジンコントロール１１を操作するための各種ボタン、各種チェックボックス、各種コンボボックス等の各種コントロールオブジェクト１２が貼り付けられる。また、描画処理装置１においては、少なくとも、コントロールオブジェクト１２に対応した処理を記述したマクロ、イベントハンドラとしてのプロシージャ、及びワークシート１０に対するデータの入出力処理を行うためのマクロが、ＶＢＡ１３によって作成される。さらに、描画処理装置１においては、地図描画エンジンコントロール１１に、ＶＢＡ１３から与えられる各種メソッド及び／又は各種プロパティを入力するためのメソッド・プロパティインターフェース１１ａと、ＶＢＡ１３に対して各種イベントを出力するためのイベントインターフェース１１ｂとが設けられる。一方、描画処理装置１においては、ＶＢＡ１３に、地図描画エンジンコントロール１１に対して各種メソッドを呼び出すための呼出インターフェース１３ａと、地図描画エンジンコントロール１１から与えられるイベントを入力するためのイベントハンドラ１３ｂとが設けられる。
【００３５】
描画処理装置１においては、上述した地図データベース２、ユーザレイヤデータベース３、ユーザ業務データベース４、及びＣＡＤデータベースといった、複数レイヤの空間データを格納するデータベースから、地図描画エンジンコントロール１１によって所望の情報が読み出され、これらの空間データがワークシート１０上に描画される。
【００３６】
また、描画処理装置１においては、地図描画エンジンコントロール１１が貼り付けられた領域上でのマウス操作は、地図描画エンジンコントロール１１によって制御され、マウス操作に応じたイベントが、ワークシート１０から地図描画エンジンコントロール１１に与えられる。さらに、描画処理装置１においては、コントロールオブジェクト１２がマウスによって押下されることにより、ＶＢＡ１３によって作成された対応するマクロが呼び出されるとともに、ＶＢＡ１３によってワークシート１０から各種データが読み込まれ、これらの情報がメソッド及び／又はプロパティとして、呼出インターフェース１３ａ及びメソッド・プロパティインターフェース１１ａを介して地図描画エンジンコントロール１１に対して供給される。そして、描画処理装置１においては、地図描画エンジンコントロール１１によって例えば距離計測や面積計測等の各種処理を行って得られたデータ等が、イベントとして、イベントインターフェース１１ｂ及びイベントハンドラ１３ｂを介してＶＢＡ１３に対して供給され、このＶＢＡ１３を介して、ワークシート１０に対してデータが出力される。
【００３７】
このように、描画処理装置１は、ホストアプリケーションであるエクセルをプラットフォームとして、アプリケーション間で、各種メソッド及び各種イベントの授受を行う基本メカニズムのもとに動作する。ここで、各種メソッド及び各種イベント、並びに、各種情報を登録する際に授受される各種プロパティの具体例について説明する。
【００３８】
まず、各種メソッドについて説明する。描画処理装置１は、例えば図４に示すような内容からなる各種メソッドを用意する。なお、同図においては、メソッド名と、これらの各メソッドに対する説明とを記載している。
【００３９】
”ＭｓＯｃｘＩｎｉｔ”メソッドは、アプリケーションの起動時に、ＯＣＸとしての地図描画エンジンコントロールの初期化を行うメソッドであり、ＯＣＸとしての地図描画エンジンコントロールに必要な情報が記述された設定ファイルの格納場所を示すパス等の情報を指定することによって地図描画を可能とするものである。
【００４０】
”ＭｓＳｅｔＭｏｄｅ”メソッドは、各種動作モードを設定するメソッドであり、動作モードの通知によってマウス操作にしたがった処理を自動で行うことを可能とするものである。動作モードとしては、例えば、マウスクリック操作による地図の拡大及び／又は縮小を行う拡大及び／又は縮小モード、マウスドラッグ操作による地図のスクロールを行うドラッグモード、マウスズーム操作による地図の拡大を行うマウスズーム、動作モードを停止するためのものであって動作モード停止中における地図のマウスクリック操作に応じてマウスクリックされた当該地図上の位置情報をイベントとして発行するモード停止、マウスクリックされた地図上の位置を中心に当該地図を移動する中心表示モード、マウス操作による３６０度方向スクロールを行うスクロールモード、地図上にコンパスを表示するコンパス表示、指定された角度によって地図を回転する地図回転処理、マウス操作によって指定された複数点間の距離計測を行う距離計測モード、マウス操作によって指定された領域の面積計測を行う面積計測モード、マウス操作によって指定された２点間の方位を例えば３６０度表現で返す方位計測モード、円スケールを表示する円スケールモードといったものがある。
【００４１】
”ＭｓＧｅｔＭｏｄｅ”メソッドは、現在の動作モードを取得するメソッドであり、現在ＯＣＸに対して設定されている動作モードを取得することを可能とするものである。
【００４２】
”ＭｓＡｄｄＳｈａｐｅＶＢ”メソッドは、シンボルデータ及び線データの登録を行うメソッドであり、登録したいシンボル情報を後述する各種プロパティを用いて設定した後に呼び出されるものである。
【００４３】
”ＭｓＲｅｍｏｖｅＳｈａｐｅ”メソッドは、指定された識別子に対応するシンボルデータの削除を行うメソッドである。
【００４４】
”ＭｓＳｃｒｏｌｌＰｉｘｅｌ”メソッドは、画面座標値（ピクセル値）での地図移動を行うメソッドであり、現在表示している地図の中心位置を原点として、指定された画面座標値分だけ当該地図をスクロールするものである。すなわち、”ＭｓＳｃｒｏｌｌＰｉｘｅｌ”メソッドは、現在表示している地図に対して、上述した”ＭｓＳｅｔＭｏｄｅ”メソッドによって設定するマウス操作によるスクロールではなく、エクセルからのスクロール依頼を行う際に用いるものである。
【００４５】
”ＭｓＳｃｒｏｌｌＲｅａｌ”メソッドは、実座標値（センチメートル値）での地図移動を行うメソッドであり、現在表示している地図の中心位置を原点として、指定された実座標値分だけ当該地図をスクロールするものである。すなわち、”ＭｓＳｃｒｏｌｌＲｅａｌ”メソッドは、”ＭｓＳｃｒｏｌｌＰｉｘｅｌ”メソッドと同様に、現在表示している地図に対して、上述した”ＭｓＳｅｔＭｏｄｅ”メソッドによって設定するマウス操作によるスクロールではなく、エクセルからのスクロール依頼を行う際に用いるものである。
【００４６】
”ＭｓＺｏｏｍＩｎ”メソッドは、現在表示している地図の中心位置は変化させずに、当該地図の表示レベルを１段階下げて拡大を行うメソッドであり、上述した”ＭｓＯｃｘＩｎｉｔ”メソッドによって指定された設定ファイルに設定されているレベル単位毎に拡大処理を行うものである。
【００４７】
”ＭｓＺｏｏｍＯｕｔ”メソッドは、現在表示している地図の中心位置は変化させずに、当該地図の表示レベルを１段階上げて縮小を行うメソッドであり、上述した”ＭｓＯｃｘＩｎｉｔ”メソッドによって指定された設定ファイルに設定されているレベル単位毎に縮小処理を行うものである。
【００４８】
”ＭｓＺｏｏｍＥｘ”メソッドは、表示レベルに関係なくエクセルから引数として設定された値によって現在表示している地図の拡大及び／又は縮小を行うメソッドであり、現在表示している地図の横方向に対する長さより引数の増減値分だけ拡大及び／又は縮小を行うものである。
【００４９】
”ＭｓＲｅｑｕｅｓｔ”メソッドは、指定された任意の位置を中心に地図を表示するメソッドであり、エクセルによって任意の地点の地図をＯＣＸ上に表示したい場合に用いられるものである。”ＭｓＲｅｑｕｅｓｔ”メソッドは、例えば１／１２８秒単位で指定された緯度及び経度の地点を中心に地図を表示するとともに、レベル番号が指定されることにより、設定ファイルに設定されている縮尺にて地図を表示する。
【００５０】
”ＭｓＲｅｑｕｅｓｔＫｅｉ”メソッドは、中心表示したい位置をいわゆる平面直角座標（１９座標系）にて指定することによって指定された任意の位置を中心に地図を表示するメソッドであり、エクセルによって任意の地点の地図をＯＣＸ上に表示したい場合に用いられるものである。また、”ＭｓＲｅｑｕｅｓｔＫｅｉ”メソッドは、上述した”ＭｓＲｅｑｕｅｓｔ”メソッドと同様に、レベル番号が指定されることにより、設定ファイルに設定されている縮尺にて地図を表示する。
【００５１】
”ＭｓＳｅｔＳｉｚｅ”メソッドは、ＯＣＸのサイズを設定する際に用いられるメソッドであり、ＯＣＸの縦横の長さを、それぞれ、ピクセル単位で指定することにより、このサイズに合わせてＯＣＸを表示するものである。
【００５２】
”ＭｓＧｅｔＳｉｚｅ”メソッドは、現在のＯＣＸのサイズを取得する際に用いられるメソッドであり、現在のＯＣＸの縦横の長さを、それぞれ、ピクセル単位で引数に返すものである。
【００５３】
”ＭｓＣｈａｎｇｅＳｉｚｅ”メソッドは、ＯＣＸのサイズと表示位置とを同時に変更するメソッドであり、ピクセル単位で指定されたＯＣＸの縦横の長さと表示位置とに合わせてＯＣＸを表示するものである。
【００５４】
”ＭｓＭｏｖｅＯｃｘ”メソッドは、ＯＣＸのサイズは変化させずに表示位置のみを変更するメソッドであり、ピクセル単位で指定された座標位置にＯＣＸを移動して表示するものである。
【００５５】
”ＭｓＲｅＰａｉｎｔ”メソッドは、地図の背景の書き換えは行わずに地図を再描画するメソッドであり、例えば、１つのシンボルを登録した場合に、その登録したシンボルを画面上に反映させる際に用いられるものである。このとき、ＯＣＸは、”ＭｓＲｅＰａｉｎｔ”メソッドが依頼された後、ウィンドウズ（登録商標）におけるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ　Ｐｒｏｇｒａｍｍｉｎｇ　Ｉｎｔｅｒｆａｃｅ）の１つであるＢｉｔＢＬＴ（ＢＩＴ　ＢＬｏｃｋ　Ｔｒａｎｓｆｅｒ）を介して登録したシンボルを画面上に反映する。
【００５６】
”ＭｓＲｅＤｒａｗ”メソッドは、地図を再描画するメソッドである。”ＭｓＲｅＤｒａｗ”メソッドは、上述した”ＭｓＲｅＰａｉｎｔ”メソッドとは異なり、地図の背景を含んで再描画を行うため、例えば、既に表示しているシンボルを消去したい場合や、シンボルの合成表示を行う場合に用いられるものである。このとき、ＯＣＸは、”ＭｓＲｅＤｒａｗ”メソッドによって地図の描画を行った後、呼び出し元のアプリケーションであるエクセルに対して、シンボル等の合成情報の表示が可能になった旨を後述する”ＥｖＵｓｅｒＤｒａｗ”イベントによって通知する。そして、ＯＣＸは、エクセルが、”ＥｖＵｓｅｒＤｒａｗ”イベントを受け取った後シンボル等の表示依頼を行うことにより、地図上にシンボル等の合成を行う。
【００５７】
”ＭｓＣｒｅａｔｅＢｉｔｍａｐ”メソッドは、現在表示している地図を指定されたサイズのビットマップ形式のファイルとして出力するメソッドであり、現在表示している地図について、指定されたサイズでビットマップ形式のファイルを作成し、指定された格納場所を含むファイル名で出力するものである。なお、ビットマップ形式のファイルとして出力される部分は、画面全体ではなく、ＯＣＸに描画されている地図のみである。
【００５８】
”ＭｓＧｅｔＲｅａｌＣｅｎｔｅｒ”メソッドは、現在表示している地図の中心位置の位置情報を取得するメソッドである。”ＭｓＧｅｔＲｅａｌＣｅｎｔｅｒ”メソッドは、現在表示している地図の中心位置の緯度及び経度を、例えば１／１２８秒単位で返す。
【００５９】
”ＭｓＧｅｔＲｅａｌＳｉｚｅ”メソッドは、現在表示している地図の縦方向及び横方向の長さを取得するメソッドである。”ＭｓＧｅｔＲｅａｌＳｉｚｅ”メソッドは、現在表示している地図の縦方向及び横方向の長さを、例えばセンチメートル単位で返す。
【００６０】
”ＭｓＧｅｔＲｅａｌＲｅｃｔ”メソッドは、現在表示している地図のＲＥＣＴ情報、すなわち、左上経度、左上緯度、右下経度、右下緯度を取得するメソッドである。”ＭｓＧｅｔＲｅａｌＲｅｃｔ”メソッドは、現在表示している地図の左上経度、左上緯度、右下経度、右下緯度を、それぞれ、例えば１／１２８秒単位で返す。
【００６１】
”ＭｓＧｅｔＬｅｖｅｌ”メソッドは、現在表示している地図の表示レベルを取得するメソッドであり、現在表示している地図に対するレベル番号を戻り値として返すものである。
【００６２】
”ＭｓＳｅｔＣｕｒｓｏｒ”メソッドは、ＯＣＸのウィンドウ上をポインティングするマウスカーソルを変更するメソッドである。”ＭｓＳｅｔＣｕｒｓｏｒ”メソッドは、任意に指定されたカーソル番号に対応するマウスカーソルをロードし、マウスカーソルの形状を変更する。
【００６３】
”ＭｓＳｅｔＣｕｒｓｏｒＦｉｌｅ”メソッドは、上述した”ＭｓＳｅｔＣｕｒｓｏｒ”メソッドと同様に、ＯＣＸのウィンドウ上をポインティングするマウスカーソルを変更するメソッドであるが、”ＭｓＳｅｔＣｕｒｓｏｒ”メソッドとは異なり、任意のフォルダに作成したマウスカーソルのファイル名をフルパスで指定することによって当該マウスカーソルをロードし、マウスカーソルの形状を変更するものである。
【００６４】
”ＭｓＩｎｐｕｔＬｏｃａｌ”メソッドは、図形登録モードに移行して登録結果をローカルフォルダに保存するメソッドである。なお、本処理にて作成されたローカルファイルは、ＯＣＸ側で管理するファイルである。
【００６５】
”ＭｓＳｅｔＳｅａｒｃｈ”メソッドは、画面内に表示しているユーザレイヤをターゲットとして、指定された内容にて該当する情報を検索するメソッドである。この”ＭｓＳｅｔＳｅａｒｃｈ”メソッドによる検索結果は、後述する”ＥｖＳｅａｒｃｈＯｂｊｅｃｔ”イベントによって通知される。
【００６６】
”ＭｓＤｅｌＯｂｊｅｃｔ”メソッドは、フレームからの表示依頼によってＯＣＸでメモリ展開している図形情報をメモリ上から削除するメソッドである。なお、この”ＭｓＤｅｌＯｂｊｅｃｔ”メソッドを呼び出した場合であっても、図形情報は、メモリ上から削除されるのみであり、実際に管理されているファイルやデータベースから削除されることはない。
【００６７】
”ＭｓＳｈｏｗＯｂｊｅｃｔ”メソッドは、指定された識別子に対応する図形情報の表示及び／又は非表示を行うメソッドである。なお、この”ＭｓＳｈｏｗＯｂｊｅｃｔ”メソッドによる表示及び／又は非表示の対象は、フレーム側からの依頼によってＯＣＸでメモリ展開している図形情報である。
【００６８】
”ＭｓＥｄｉｔＬｏｃａｌ”メソッドは、図形編集モードに移行して編集結果をローカルフォルダに保存するメソッドである。なお、本処理にて作成されたローカルファイルは、ＯＣＸ側で管理するファイルである。
【００６９】
”ＭｓＳｃａｌｅＷｉｎｄｏｗ”メソッドは、地図上にメジャーのようなサイズ変更が可能なスケールバーを表示するメソッドである。
【００７０】
”ＭｓＬａｙｅｒＤｌｇ”メソッドは、レイヤの表示及び／又は非表示を行うレイヤ設定ダイアログを表示するメソッドであり、任意のレイヤの表示及び／又は非表示を可能とするものである。
【００７１】
”ＭｓＣｏｌｏｒＤｌｇ”メソッドは、レイヤの色設定を行うカラー設定ダイアログを表示するメソッドであり、例えば２５６色のパレットから任意のレイヤのカラー設定及び文字のフォントサイズ設定を可能とするものである。
【００７２】
つぎに、各種イベントについて説明する。描画処理装置１は、例えば図５に示すような内容からなる各種イベントを用意する。なお、同図においては、イベント名と、これらの各イベントに対する説明とを記載している。
【００７３】
”ＥｖＬＢｕｔｔｏｎＵｐ”イベントは、ＯＣＸ上でのマウス左ボタンアップに対するイベントを取得する際に用いられ、ＯＣＸ上にてマウス左ボタンアップされたときの座標情報を返すイベントである。”ＥｖＬＢｕｔｔｏｎＵｐ”イベントは、マウス左ボタンアップされた位置に対するＯＣＸ内の縦方向及び横方向のピクセル座標ＸＹと、マウス左ボタンアップされた位置に対する例えば１／１２８秒単位の緯度及び経度とを返す。
【００７４】
”ＥｖＬＢｕｔｔｏｎＤｏｗｎ”イベントは、ＯＣＸ上でのマウス左ボタンダウンに対するイベントを取得する際に用いられ、ＯＣＸ上にてマウス左ボタンダウンされたときの座標情報を返すイベントである。”ＥｖＬＢｕｔｔｏｎＤｏｗｎ”イベントは、マウス左ボタンダウンされた位置に対するＯＣＸ内の縦方向及び横方向のピクセル座標ＸＹと、マウス左ボタンダウンされた位置に対する例えば１／１２８秒単位の緯度及び経度とを返す。
【００７５】
”ＥｖＲＢｕｔｔｏｎＵｐ”イベントは、ＯＣＸ上でのマウス右ボタンアップに対するイベントを取得する際に用いられ、ＯＣＸ上にてマウス右ボタンアップされたときの座標情報を返すイベントである。”ＥｖＲＢｕｔｔｏｎＵｐ”イベントは、マウス右ボタンアップされた位置に対するＯＣＸ内の縦方向及び横方向のピクセル座標ＸＹと、マウス右ボタンアップされた位置に対する例えば１／１２８秒単位の緯度及び経度とを返す。
【００７６】
”ＥｖＲＢｕｔｔｏｎＤｏｗｎ”イベントは、ＯＣＸ上でのマウス右ボタンダウンに対するイベントを取得する際に用いられ、ＯＣＸ上にてマウス右ボタンダウンされたときの座標情報を返すイベントである。”ＥｖＲＢｕｔｔｏｎＤｏｗｎ”イベントは、マウス右ボタンダウンされた位置に対するＯＣＸ内の縦方向及び横方向のピクセル座標ＸＹと、マウス右ボタンダウンされた位置に対する例えば１／１２８秒単位の緯度及び経度とを返す。
【００７７】
”ＥｖＬＢｕｔｔｏｎＤｂｌＣｌｋ”イベントは、ＯＣＸ上でのマウス左ダブルクリックに対するイベントを取得する際に用いられ、ＯＣＸ上にてマウス左ダブルクリックされたときの座標情報を返すイベントである。”ＥｖＬＢｕｔｔｏｎＤｂｌＣｌｋ”イベントは、マウス左ダブルクリックされた位置に対するＯＣＸ内の縦方向及び横方向のピクセル座標ＸＹと、マウス左ダブルクリックされた位置に対する例えば１／１２８秒単位の緯度及び経度とを返す。
【００７８】
”ＥｖＭｏｕｓｅＭｏｖｅ”イベントは、ＯＣＸ上でのマウス移動に対するイベントを取得する際に用いられ、ＯＣＸ上にてマウス移動されたときの座標情報を返すイベントである。”ＥｖＭｏｕｓｅＭｏｖｅ”イベントは、マウス移動された位置に対するＯＣＸ内の縦方向及び横方向のピクセル座標ＸＹと、マウス移動された位置に対する例えば１／１２８秒単位の緯度及び経度とを返す。
【００７９】
”ＥｖＮｅｗＬｅｖｅｌ”イベントは、アプリケーション側に表示レベルが変化した旨を通知するイベントである。具体的には、”ＥｖＮｅｗＬｅｖｅｌ”イベントは、上述した”ＭｓＺｏｏｍＩｎ”メソッド、”ＭｓＺｏｏｍＯｕｔ”メソッド、”ＭｓＲｅｑｕｅｓｔ”メソッド、又は”ＭｓＲｅｑｕｅｓｔＫｅｉ”メソッド等により、現在表示している地図の表示レベルが変化した場合に発行される。”ＥｖＮｅｗＬｅｖｅｌ”イベントは、新たに設定されたレベル番号と、新たに表示しているＯＣＸの縦横の長さ（例えばセンチメートル単位）とを返す。
【００８０】
”ＥｖＵｓｅｒＤｒａｗ”イベントは、上述した”ＭｓＲｅＤｒａｗ”メソッドが呼び出された後、ＯＣＸ側で地図描画が完了した旨を通知するとともに、そのときに表示しようとしている地図の座標情報を返すイベントである。”ＥｖＵｓｅｒＤｒａｗ”イベントは、現在表示しようとしている地図の中心経度、中心緯度、左上経度、左上緯度、右下経度、右下緯度を、それぞれ、例えば１／１２８秒単位で返す。アプリケーション側では、この”ＥｖＵｓｅｒＤｒａｗ”イベントを取得すると、シンボル等の重ね合わせ情報の表示依頼を行うことが可能となるとともに、表示している範囲を示す情報を返すことから、描画に必要な情報か否かの判断を行うことが可能となる。
【００８１】
”ＥｖＭｅａｓｕｒｅ”イベントは、地図描画エンジンコントロールが標準実装している機能である距離計測、面積計測、及び方位に関する結果を取得する際に用いられるイベントである。”ＥｖＭｅａｓｕｒｅ”イベントは、距離計測の場合には、２点以上のポイントを指定された際に、点間を結ぶ距離を例えばセンチメートル単位で返す。また、”ＥｖＭｅａｓｕｒｅ”イベントは、面積計測の場合には、面積計測の終了を意味するマウス右クリックのタイミングで指定された点に囲まれた面積を返す。さらに、”ＥｖＭｅａｓｕｒｅ”イベントは、方位の場合には、指定された２点間の示す角度を例えば３６０度表現で返す。
【００８２】
”ＥｖＮｅｗＭｏｄｅ”イベントは、動作モードが変更された場合に、動作モードが変更した旨を通知するイベントである。
【００８３】
”ＥｖＳｔａｔｉｎｇ”イベントは、ＯＣＸに対してメソッド等による依頼を行うことが可能となった旨を通知するイベントである。すなわち、アプリケーション側では、この”ＥｖＳｔａｔｉｎｇ”イベントを受け取った後に、各種メソッドを呼び出すことが可能となる。描画処理装置１においては、アプリケーション側がこの”ＥｖＳｔａｔｉｎｇ”イベントを受け取った後に、上述した”ＭｓＯｃｘＩｎｉｔ”メソッドを用いてＯＣＸの初期化が行われる。
【００８４】
”ＥｖＮｅｗ３ＤＬｅｖｅｌ”イベントは、標高データ等の３次元表示を行っている際に角度又は高さに対して変化があった場合に通知されるイベントである。”ＥｖＮｅｗ３ＤＬｅｖｅｌ”イベントは、角度を例えば３６０度表現で返すとともに、高さを例えばセンチメートル単位で返す。
【００８５】
”ＥｖＮｅｗＳｉｚｅ”イベントは、ＯＣＸのサイズが変更された旨を通知するイベントであり、ＯＣＸのサイズが変化したタイミングで変化後のＯＣＸの縦横の長さを例えばピクセル単位で通知するものである。
【００８６】
”ＥｖＳｅａｒｃｈＯｂｊｅｃｔ”イベントは、上述した”ＭｓＳｅｔＳｅａｒｃｈ”メソッドによって検索モードにされた後、地図上の指定されたポイントに基づいて検索条件に該当する検索結果を返すイベントである。具体的には、”ＥｖＳｅａｒｃｈＯｂｊｅｃｔ”イベントは、検索結果のオブジェクトと、検索結果として該当するオブジェクトの識別子とを返す。また、”ＥｖＳｅａｒｃｈＯｂｊｅｃｔ”イベントは、指定された検索点の縦方向及び横方向のピクセル座標ＸＹと、指定された検索点の例えば１／１２８秒単位の緯度及び経度とを返す。
【００８７】
つぎに、各種プロパティについて説明する。描画処理装置１は、例えば図６に示すような内容からなる各種プロパティを用意する。なお、同図においては、プロパティ名と、これらの各プロパティに対する説明とを記載している。
【００８８】
”ＡｕｔｏＤｒａｗ”プロパティは、シンボル登録等によって即時描画を行う際に用いられるプロパティである。”ＩｎｉｔＦｌｇ”プロパティは、ＯＣＸが初期化されているか否かを判定するフラグである。
【００８９】
”Ｓｈａｐｅ．Ｌａｂｅｌ．ＩｃｏｎＮｏ”プロパティは、シンボル情報登録時に用いられるプロパティであり、アイコン番号を指定するものである。”Ｓｈａｐｅ．Ｌａｂｅｌ．Ｓｌｏｐｅ”プロパティは、シンボル情報登録時に用いられるプロパティであり、回転角度を指定するものである。
【００９０】
”Ｓｈａｐｅ．Ｌａｂｅｌ．ｘ”プロパティは、シンボル情報登録時に用いられるプロパティであり、シンボルの横方向の座標Ｘを指定するものである。”Ｓｈａｐｅ．Ｌａｂｅｌ．ｙ”プロパティは、シンボル情報登録時に用いられるプロパティであり、シンボルの縦方向の座標Ｙを指定するものである。
【００９１】
”Ｓｈａｐｅ．Ｌａｂｅｌ．ＳｙｍＳｉｚｅ”プロパティは、シンボル情報登録時に用いられるプロパティであり、アイコンのサイズを指定するものである。”Ｓｈａｐｅ．Ｌａｂｅｌ．ＴｅｘｔＳｉｚｅ”プロパティは、シンボル情報登録時に用いられるプロパティであり、文字のサイズを指定するものである。
【００９２】
”Ｓｈａｐｅ．Ｌａｂｅｌ．ＴｅｘｔＰｏｓ”プロパティは、シンボル情報登録時に用いられるプロパティであり、文字の表示位置を指定するものである。”Ｓｈａｐｅ．Ｌａｂｅｌ．ＴｅｘｔＣｏｌｏｒ”プロパティは、シンボル情報登録時に用いられるプロパティであり、文字の色を指定するものである。
【００９３】
”Ｓｈａｐｅ．Ｌａｂｅｌ．ＬａｂｅｌＦｌｇ”プロパティは、シンボル情報登録時に用いられるプロパティであり、ラベルを表示するか否かを示すフラグである。”Ｓｈａｐｅ．Ｌａｂｅｌ．ＬａｂｅｌＣｏｌｏｒ”プロパティは、シンボル情報登録時に用いられるプロパティであり、ラベルの背景色を指定するものである。
【００９４】
”Ｓｈａｐｅ．Ｌａｂｅｌ．ＦｒａｍｅＣｏｌｏｒ”プロパティは、シンボル情報登録時に用いられるプロパティであり、ラベルの淵の色を指定するものである。”Ｓｈａｐｅ．Ｌａｂｅｌ．Ｔｅｘｔ”プロパティは、シンボル情報登録時に用いられるプロパティであり、ラベルの文字列を指定するものである。
【００９５】
”Ｓｈａｐｅ．Ｌｉｎｅ．Ｃｏｌｏｒ”プロパティは、線情報登録時に用いられるプロパティであり、色番号を指定するものである。”Ｓｈａｐｅ．Ｌｉｎｅ．Ｓｉｚｅ”プロパティは、線情報登録時に用いられるプロパティであり、線のサイズを指定するものである。
【００９６】
”Ｓｈａｐｅ．Ｌｉｎｅ．Ｔｙｐｅ”プロパティは、線情報登録時に用いられるプロパティであり、線の種類を指定するものである。”Ｓｈａｐｅ．Ｌｉｎｅ．Ｃｏｕｎｔ”プロパティは、線情報登録時に用いられるプロパティであり、線の座標数を指定するものである。”Ｓｈａｐｅ．Ｌｉｎｅ．ＰｏｉｎｔＣｌｅａｒ”プロパティは、線情報登録時に用いられるプロパティであり、線情報登録時に一旦座標情報をクリアするものである。
【００９７】
”Ｓｈａｐｅ．Ｃｒｏｓｓ．Ｔａｇｅｔ．ｘ”プロパティは、十字線表示時に用いられるプロパティであり、十字中心の緯度を指定するものである。”Ｓｈａｐｅ．Ｃｒｏｓｓ．Ｔａｇｅｔ．ｙ”プロパティは、十字線表示時に用いられるプロパティであり、十字中心の経度を指定するものである。
【００９８】
”Ｓｈａｐｅ．Ｃｒｏｓｓ．Ｔａｇｅｔ．ＣｏｌｏｒＮｏ”プロパティは、十字線表示時に用いられるプロパティであり、十字線の色を指定するものである。”Ｓｈａｐｅ．Ｃｒｏｓｓ．Ｔａｇｅｔ．Ｓｉｚｅ”プロパティは、十字線表示時に用いられるプロパティであり、十字線のサイズを指定するものである。”Ｓｈａｐｅ．Ｃｒｏｓｓ．Ｔａｇｅｔ．Ｔｙｐｅ”プロパティは、十字線表示時に用いられるプロパティであり、十字線の種類を指定するものである。
【００９９】
描画処理装置１は、このような各種メソッド、各種イベント、各種プロパティを用意することにより、本来のＧＩＳの特徴をいかんなく発揮するために必要とされる各種機能を実現することができる。
【０１００】
さて、このような描画処理装置１の処理について具体的に説明するために、地図描画エンジンコントロールの初期化処理、距離計測を行う際のイベント処理、並びに、地図の拡大及び／又は縮小処理を例に挙げて説明する。
【０１０１】
まず、地図描画エンジンコントロールの初期化処理について説明する。
【０１０２】
描画処理装置１は、図７に示すような一連の工程を経ることにより、ＯＣＸとしての地図描画エンジンコントロールの初期化処理を行う。
【０１０３】
まず、描画処理装置１においては、同図に示すように、ステップＳ１において、オペレータ（ユーザ）がエクセルを起動した状態でマウスを用いてアドインコマンドバーを押下することにより、地図描画エンジンコントロールと、この地図描画エンジンコントロールを操作するためのＶＢＡによるマクロ処理を実行するための各種コントロールオブジェクトとが自動生成され、ワークシート上に貼り付けられる。
【０１０４】
続いて、描画処理装置１においては、ステップＳ２において、オペレータがキーボードを用いて、設定ファイルを格納する設定フォルダのパスをワークシート上の所定のセルに入力する。
【０１０５】
続いて、描画処理装置１においては、ステップＳ３において、オペレータがマウスを用いて、初期化処理を開始するための所定のコントロールオブジェクトを押下する。これにより、描画処理装置１においては、ＯＣＸとしての地図描画エンジンコントロールの初期化処理が開始される。
【０１０６】
すなわち、描画処理装置１においては、ステップＳ４において、ワークシートによって初期化用のマクロを呼び出す。これに応じて、描画処理装置１においては、ステップＳ５において、ＶＢＡによってマクロ処理を実行することにより、上述した”ＭｓＯｃｘＩｎｉｔ”メソッドを発行し、この”ＭｓＯｃｘＩｎｉｔ”メソッドを地図描画エンジンコントロールに供給し、地図描画エンジンコントロールの初期化を行う。
【０１０７】
なお、ステップＳ５におけるＶＢＡのロジックは、図８に示すように記述される。ここで、同図中５行目には、設定フォルダのパスを取得する旨の命令が記述されているが、”Ｃ３”は、ステップＳ２にて入力されたセル番号を示している。また、同図中６行目には、地図描画エンジンコントロールの初期化を行うための”ＭｓＯｃｘＩｎｉｔ”メソッドを呼び出す旨の命令が記述されている。さらに、同図中８行目には、初期モードを設定するための命令が記述されているとともに、同図中９行目には、初期スケールを設定するための命令が記述されている。
【０１０８】
そして、描画処理装置１においては、図７中ステップＳ６において、地図描画エンジンコントロールによってデータベースから所定の空間データを取得し、ステップＳ７において、取得した空間データをワークシート上に描画し、一連の初期化処理を終了する。
【０１０９】
描画処理装置１は、ホストアプリケーションであるエクセルをプラットフォームとして、ワークシート、ＶＢＡ、及び地図描画エンジンコントロールの間でこのような一連の工程を経ることにより、ＯＣＸとしての地図描画エンジンコントロールの初期化処理を行うことができる。
【０１１０】
つぎに、距離計測を行う際のイベント処理について説明する。
【０１１１】
描画処理装置１は、図９に示すような一連の工程を経ることにより、距離計測を行う。なお、ここでは、地図描画エンジンコントロールがエクセルのワークシート上貼り付けられ、地図描画エンジンコントロールの初期化処理が終了しているものとして説明を行う。
【０１１２】
まず、描画処理装置１においては、同図に示すように、ステップＳ１１において、オペレータ（ユーザ）がマウスを用いて、距離計測を行うための所定のコントロールオブジェクトを押下する。これにより、描画処理装置１においては、距離計測処理が開始される。
【０１１３】
すなわち、描画処理装置１においては、ステップＳ１２において、ワークシートによって距離計測用のマクロを呼び出す。これに応じて、描画処理装置１においては、ステップＳ１３において、ＶＢＡによってマクロ処理を実行することにより、距離計測モードを示す”ＬＩＮＥ＿ＭＥＡＳＵＲＥ”を引数とする上述した”ＭｓＳｅｔＭｏｄｅ”メソッドを発行し、この”ＭｓＳｅｔＭｏｄｅ”メソッドを地図描画エンジンコントロールに供給し、地図描画エンジンコントロールの動作モードを距離計測モードに設定する。
【０１１４】
なお、ステップＳ１３におけるＶＢＡのロジックは、図１０（Ａ）に示すように記述される。ここで、同図中２行目には、地図描画エンジンコントロールの動作モードを距離計測モードに設定するための”ＭｓＳｅｔＭｏｄｅ”メソッドを呼び出す旨の命令が記述されている。
【０１１５】
続いて、描画処理装置１においては、図９中ステップＳ１４において、距離計測を行う２点間のうち開始位置を設定するために、オペレータがマウスを用いて、地図上における所望の位置をクリックする。このクリックされた旨を示すマウスイベントは、地図描画エンジンコントロールに供給される。これに応じて、描画処理装置１においては、ステップＳ１５において、地図描画エンジンコントロールにより、クリックされた位置を距離計測開始点として地図上に描画する。
【０１１６】
また、描画処理装置１においては、ステップＳ１６において、距離計測を行う２点間のうち終了位置を設定するために、オペレータがマウスを用いて、地図上における所望の位置をクリックする。このクリックされた旨を示すマウスイベントは、地図描画エンジンコントロールに供給される。これに応じて、描画処理装置１においては、ステップＳ１７において、地図描画エンジンコントロールにより、クリックされた位置を距離計測終了点として地図上に描画する。
【０１１７】
続いて、描画処理装置１においては、ステップＳ１８において、地図描画エンジンコントロールによって距離計測処理を行い、ステップＳ１９において、求めた計測結果をワークシートに出力するために、地図描画エンジンコントロールによって計測結果を通知するためのイベントハンドラを呼び出す。
【０１１８】
なお、ステップＳ１９におけるＶＢＡのロジックは、図１０（Ｂ）に示すように記述される。ここで、同図中２行目乃至４行目には、計測結果を表示する旨の命令が記述されているが、”Ｃ３１”，”Ｃ３２”，”Ｃ３３”は、それぞれ、計測結果を出力するワークシート上のセル番号を示している。
【０１１９】
そして、描画処理装置１においては、図９中ステップＳ２０において、ＶＢＡイベントプロシージャによって地図描画エンジンコントロールから計測結果を受け取ると、計測結果を示すデータをワークシート上の所定のセルに出力して反映させ、一連の距離計測処理を終了する。
【０１２０】
描画処理装置１は、ホストアプリケーションであるエクセルをプラットフォームとして、ワークシート、ＶＢＡ、及び地図描画エンジンコントロールの間でこのような一連の工程を経ることにより、地図上の任意の複数点間の距離計測を行うことができる。
【０１２１】
最後に、地図の拡大及び／又は縮小処理について説明する。
【０１２２】
描画処理装置１は、図１１に示すような一連の工程を経ることにより、地図の拡大及び／又は縮小処理を行う。なお、ここでも、地図描画エンジンコントロールがエクセルのワークシート上貼り付けられ、地図描画エンジンコントロールの初期化処理が終了しているものとして説明を行う。
【０１２３】
まず、描画処理装置１においては、同図に示すように、ステップＳ２１において、オペレータ（ユーザ）がマウスを用いて、地図の拡大及び／又は縮小を行うための所定のコントロールオブジェクトを押下する。これにより、描画処理装置１においては、地図の拡大及び／又は縮小処理が開始される。
【０１２４】
すなわち、描画処理装置１においては、ステップＳ２２において、ワークシートによって拡大及び／又は縮小用のマクロを呼び出す。これに応じて、描画処理装置１においては、ステップＳ２３において、ＶＢＡによってマクロ処理を実行することにより、上述した”ＭｓＺｏｏｍＩｎ”メソッド又は”ＭｓＺｏｏｍＯｕｔ”メソッドを発行し、これらの”ＭｓＺｏｏｍＩｎ”メソッド又は”ＭｓＺｏｏｍＯｕｔ”メソッドを地図描画エンジンコントロールに供給する。
【０１２５】
なお、ステップＳ２３におけるＶＢＡのロジックは、図１２に示すように記述される。ここで、同図中２行目乃至６行目には、拡大を行うためのコントロールオブジェクトが押下された場合には、”ＭｓＺｏｏｍＩｎ”メソッドを呼び出して拡大処理を行う一方で、縮小を行うためのコントロールオブジェクトが押下された場合には、”ＭｓＺｏｏｍＯｕｔ”メソッドを呼び出して縮小処理を行う旨の命令が記述されている。
【０１２６】
そして、描画処理装置１においては、図１１中ステップＳ２４において、地図描画エンジンコントロールによってデータベースから所定の空間データを取得し、ステップＳ２５において、取得した空間データをワークシート上に描画し、一連の初期化処理を終了する。
【０１２７】
描画処理装置１は、ホストアプリケーションであるエクセルをプラットフォームとして、ワークシート、ＶＢＡ、及び地図描画エンジンコントロールの間でこのような一連の工程を経ることにより、地図の拡大及び／又は縮小処理を行うことができる。
【０１２８】
以上説明したように、本発明の実施の形態として示す描画処理装置１は、ホストアプリケーションであるエクセルをプラットフォームとして、エクセルのワークシートに地図描画エンジンコントロールをＯＣＸとして貼り付けるとともに、ワークシートと地図描画エンジンコントロールとの間にＶＢＡを介在させ、ワークシートによって呼び出されたＶＢＡを介して指定された描画対象としての空間データを地図描画エンジンコントロールによって取得し、取得した空間データをワークシート上に描画する。これにより、描画処理装置１は、ＶＢＡを介して各種機能を実現するための制御を行うことが可能となることから、各種機能を実現するためのメニューをユーザが容易にカスタマイズすることが可能となり、各業務内容に応じたアプリケーションを作成する必要がないことから、設計者及びユーザの負担軽減を図り、低コスト化を図ることができる。また、描画処理装置１は、ＶＢＡを介した制御を行うことにより、処理の高速化を図ることができ、例えば地図のスクロール動作等を体感的に違和感なく行うことができる。このように、描画処理装置１は、本来のＧＩＳの特徴をいかんなく発揮するために必要とされる各種機能を容易に実現するＧＩＳを構築することができる。
【０１２９】
なお、描画処理装置１は、インターネット等を介していわゆるＡｃｔｉｖｅＸコントロールとしての所定の地図描画エンジンコントロールをダウンロードし、ブラウザ上で地図描画エンジンコントロールを実行するシステムであるいわゆるウェブＧＩＳとは全く異なる概念のもとに構成されるものである。
【０１３０】
すなわち、ウェブＧＩＳにおいては、ブラウザ上でＡｃｔｉｖｅＸコントロールとしての地図描画エンジンコントロールを動作させるために、所定のアプリケーションを地図描画エンジンコントロールに合わせて作成する必要があり、このアプリケーションは、ユーザが任意に変更操作することは不可能に構成される。これに対して、描画処理装置１においては、ウェブＧＩＳにおけるアプリケーションに対応するものとしてＶＢＡを用いていることから、例えばエクセルのワークシート上のデータ等に応じてユーザが任意且つ動的に変更操作することができる。したがって、描画処理装置１は、例えば地図やコントロールオブジェクト等をマウスを用いてドラッグするといった動作を行うこともでき、ウェブＧＩＳと比較して、遥かに柔軟且つ容易なカスタマイズを実現することができ、利便に優れたものである。
【０１３１】
なお、本発明は、上述した実施の形態に限定されるものではない。例えば、上述した実施の形態では、第１のアプリケーションとしてエクセルを用いるものとして説明したが、本発明は、エクセル以外の任意の表計算ソフトウェアであってもよいことは勿論である。また、本発明においては、第１のアプリケーションとしては表計算ソフトウェアでなくてもよく、例えば、ワード等のワードプロセッシングソフトウェアやパワーポイント（登録商標）等のプレゼンテーションソフトウェアといったように、ＯＣＸを貼り付けられるコントロールコンテナとしてのアプリケーションであれば、いかなるものであっても適用することができる。
【０１３２】
また、上述した実施の形態では、第２のアプリケーションとして地図描画エンジンを用いるものとして説明したが、本発明は、例えばＣＡＤソフトウェア等であってもよく、各種情報が所定の項目毎に同じ座標値を有するレイヤ構造として階層化されたデータについて、任意のレイヤを重畳して描画することが可能なアプリケーションであれば、いかなるものであっても適用することができる。
【０１３３】
さらに、上述した実施の形態では、第３のアプリケーションとしてＶＢＡを用いるものとして説明したが、本発明は、例えばいわゆるＣＯＭ（Ｃｏｍｐｏｎｅｎｔ　Ｏｂｊｅｃｔ　Ｍｏｄｅｌ）やＯＣＸ等であってもよい。
【０１３４】
このように、本発明は、その趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【０１３５】
【発明の効果】
以上詳細に説明したように、本発明にかかる描画処理装置、描画処理方法、及び描画処理プログラムは、それぞれ、第１のアプリケーションを起動した状態で第２のアプリケーションが起動されると、この第２のアプリケーションをソフトウェア部品として起動画面上に貼り付けて表示手段に表示し、第１のアプリケーションによって呼び出された第３のアプリケーションを介して指定された描画対象としての各種情報を第２のアプリケーションによって取得し、取得した各種情報を第１のアプリケーションの起動画面上に描画することにより、本来のＧＩＳの特徴をいかんなく発揮するために必要とされる各種機能を実現することができ、また、これら各種機能を実現するためのメニューをユーザが容易にカスタマイズすることを可能として低コスト化且つ処理の高速化を図ることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態として示す描画処理装置の表示内容を説明する図である。
【図２】同描画処理装置の構成を説明する図である。
【図３】同描画処理装置における基本メカニズムを説明する図である。
【図４】各種メソッドを説明する図である。
【図５】各種イベントを説明する図である。
【図６】各種プロパティを説明する図である。
【図７】同描画処理装置において地図描画エンジンコントロールの初期化処理を行う際の一連の工程を説明するフローチャートである。
【図８】図７に示す処理におけるＶＢＡのロジックを説明する図であり、”ＭｓＯｃｘＩｎｉｔ”メソッドを発行するためのＶＢＡのロジックについて説明する図である。
【図９】同描画処理装置において距離計測を行う際の一連の工程を説明するフローチャートである。
【図１０】図９に示す処理におけるＶＢＡのロジックを説明する図であり、（Ａ）は、”ＭｓＳｅｔＭｏｄｅ”メソッドを発行するためのＶＢＡのロジックについて説明し、（Ｂ）は、計測結果を通知するためのイベントハンドラを呼び出すためのＶＢＡのロジックについて説明する図である。
【図１１】同描画処理装置において地図の拡大及び／又は縮小処理を行う際の一連の工程を説明するフローチャートである。
【図１２】図１１に示す処理におけるＶＢＡのロジックを説明する図であり、”ＭｓＺｏｏｍＩｎ”メソッド又は”ＭｓＺｏｏｍＯｕｔ”メソッドを発行するためのＶＢＡのロジックについて説明する図である。
【図１３】レイヤ構造について説明する図である。
【符号の説明】
１　描画処理装置、　２　地図データベース、　３　ユーザレイヤデータベース、　４　ユーザ業務データベース、　５　衛星、　１０　ワークシート、　１１　地図描画エンジンコントロール、　１１ａ　メソッド・プロパティインターフェース、　１１ｂ　イベントインターフェース、　１２　コントロールオブジェクト、　１３　ＶＢＡ、　１３ａ　呼出インターフェース、　１３ｂ　イベントハンドラ１３ｂ
【図１】
2004126286.tif 000003
【図２】
2004126286.tif 000004
【図３】
2004126286.tif 000005
【図４】
2004126286.tif 000006
【図５】
2004126286.tif 000007
【図６】
2004126286.tif 000008
【図７】
2004126286.tif 000009
【図８】
2004126286.tif 000010
【図９】
2004126286.tif 000011
【図１０】
2004126286.tif 000012
【図１１】
2004126286.tif 000013
【図１２】
2004126286.tif 000014
【図１３】
2004126286.tif 000015