-
Notifications
You must be signed in to change notification settings - Fork 0
Concepts.ja
MaplatTransform の背景と理論: コンパイル済みフォーマット・strict / loose モード・ トポロジー維持・座標系・処理1〜4 の概念。
Transform.setCompiled() が受け付けるコンパイル済み変換定義には2つのモダンバージョンが
あります:
- V2 — マップのバウンディングボックスから算出した固定4点の境界頂点を使用。 シンプルで、多くの長方形地図で十分な精度を出します。
- V3 — N個(4以上)の境界頂点を使用し、特にマップ端付近の変換精度を向上。
setCompiled() はどちらのフォーマットかを自動判別します。V3 のコンパイル済みデータは
バージョン3以降の @maplat/tin で生成されます。
V2 以前の地図との後方互換性のため、レガシーコンパイル済みフォーマットも受け付けます。
生成された TIN が両方向でトポロジーを維持する場合、MaplatTransform は双方向全単射
(一対一かつ上への写像)の変換を保証します。現在の状態は Transform の静的定数および
strict_status プロパティで参照できます。
| 状態 | strict_status |
挙動 |
|---|---|---|
| トポロジー維持 | STATUS_STRICT |
双方向全単射を保証 |
| トポロジー崩壊・厳密モード | STATUS_ERROR |
順方向変換のみ。transform(..., true) は例外をスロー |
| トポロジー崩壊・緩いモード | STATUS_LOOSE |
双方向変換は可能だが、全単射は保証されない |
Transform.MODE_STRICT・Transform.MODE_AUTO・Transform.MODE_LOOSE は、TIN が
トポロジーを維持できない場合にどのモードを採用するかを制御します。
これが、Maplat エコシステムが元の地図画像を歪めずに正確な地図と重ね合わせるための
理論的保証の核です。
変換は非線形かつ同相(トポロジーを保存)です。ソース空間で近い2点はターゲット空間でも 近い点へ写り、写像は両方向で連続です。これにより、元の地図を視覚的に歪めることなく、 リアルタイムの重ね合わせや GPS 連動が可能になります。
トポロジーを維持する TIN は任意の対応点から常に構築できるとは限りません。構築できない 場合は Strict / Loose モード で説明する挙動にフォールバックします。
MaplatTransform は Transform.VERTEX_*・Transform.YAXIS_* 静的定数を通じて
複数のソース座標系を扱います:
-
VERTEX_PLAIN— 標準直交平面座標系 -
VERTEX_BIRDEYE— 鳥瞰図のような遠近歪みを持つ座標系 -
YAXIS_FOLLOW— Y軸方向をそのまま維持 -
YAXIS_INVERT— Y軸方向を反転(画面ピクセル空間など)
MapTransform を通じて利用する場合、すべての出力は EPSG:3857(Web Mercator)になります。
MaplatTransform は座標操作を4つの「処理」に整理しています:
| 処理 | クラス | 目的 |
|---|---|---|
| 処理1 | Transform |
基本座標変換(ピクセルXY <-> ターゲットXY) |
| 処理2 | MapTransform |
サブマップ選択 + 重なり合うTIN間の座標変換 |
| 処理3 | MapTransform |
ビューポート変換(ピクセルビューポート <-> EPSG:3857 5点) |
| 処理4 | MapTransform |
共通の EPSG:3857 空間を中継した地図間ビューポート同期 |
処理2〜4 は処理1 の上に構築されます。具体的なコードパターンは Tutorials、
ライフサイクル概念は API-Reference を参照してください。
API シグネチャ一覧はリポジトリ内の docs/api/ にあります。
英語版はこちら / Read this page in English
- Home.ja
- Tutorials.ja — 具体的な利用パターン(処理2〜4)
- API-Reference.ja — ライフサイクル概念と利用パターン
- Transform Internals — 実行時ノート
- README
- 🇬🇧 English (Home)
- 🇯🇵 日本語 (Home.ja)
English
日本語
- 📄 README / README.ja
- 🗺️ Ecosystem Map(現在外部非公開)
- 🌐 Product site / 製品サイト
- 🏢 Nayuta, Inc. / コーポレートサイト