ターゲット投影図法を選択する
地図は常に、特定の投影図法内で表現されます。異なるソースからのデータを同じマネージャー内にマージする場合は、ターゲット地図での各位置がソースの投影図法におけるそれぞれの位置を正確に反映するように、再投影する必要があります。また、スケール、コンパス、座標ビューアーなどの、Rogue Wave® Views Maps グラフィカル・ユーザー・インターフェース (GUI) コンポーネントをアプリケーションに含める場合は、それらのコンポーネントで参照投影図法を正しく操作できる必要があります。地図作成用に設計された Rogue Wave Views コンポーネントは、GUI パッケージに含まれます。
投影図法を
IlvManager に関連付ける場合は、
IlvMapInfo クラスを使用します。このクラスは、
IlvProjection および
IlvMapAdapter を保持し、投影図法の定義とともに地理座標とマネージャー座標のマッピングを定義します。
次のサンプルでは、メルカトル図法をマネージャーに関連付けます。
IlvMercatorProjection* proj = new IlvMercatorProjection(); IlvMapInfo* mapInfo = new IlvMapInfo(proj, 0, IlvFalse); mapInfo->attach(_manager); |
マネージャーを (IlvManager::save メソッドの呼び出しによって) .ilv ファイルに保存すると、地図情報が自動的に保存されます。.ilv ファイルから地図を読み込む場合は、地図の作成に使われた投影図法の種類を知るためにマネージャーに含まれる投影図法が検索できます。例:
IlvManager* manager = new IlvManager(display); manager->read(fileName); IlvMapInfo* mapInfo = IlvMapInfo::Get(manager); if(!mapInfo) { IlvPrint("No IlvMapInfo was saved in this file"); } else { const IlvProjection* projection = mapInfo->getProjection(); if(!projection) IlvPrint("No projection was saved in this file"); else IlvPrint("The %s projection was saved in this file", projection->getClassInfo()->getProjectionName()); } |
パッケージ
projection では、すべて
IlvProjection ベース・クラスから継承する多くの定義済み投影図法が提供されます。これらの投影図法は、
地図投影図法で説明されています。また、
非地理参照ファイルをロードする も参照してください。
Version 6.0
Copyright © 2015, Rogue Wave Software, Inc. All Rights Reserved.