-
-
Notifications
You must be signed in to change notification settings - Fork 3
API Reference.ja
MaplatTin が公開する Tin クラスの概念と利用パターン。本ページは
リリース非依存 の解説(ADR-0012)を扱います。最新の完全な API
シグネチャ一覧はリポジトリ内 docs/api/ を
参照してください。
Tin クラスは MaplatTin のメインクラスです。ライフサイクルは3フェーズ:
-
構築 —
new Tin(options)でインスタンスを作成します。boundsまたはwhのいずれかを指定する必要があります。 -
事前計算 —
setPoints(points)(と必要に応じてsetEdges(edges))で 制御データを与えます。その後updateTin()で TIN を計算します。完了するとstrict_statusで厳密な位相が達成できたか確認できます。 -
変換 —
transform(xy, inverse)で座標を変換します。インスタンスは 再利用可能:setPoints/setWh/setEdgesを再呼出すると TIN が リセットされ、updateTin()を再度呼ぶ必要があります。
なぜ明示的な
updateTin()なのか? 三角分割を解くステップが高コスト です。設定(setPoints)と計算(updateTin)を分離することで、呼出側は 編集をバッチ化して1回の計算で済ませられます。
直列化のショートカット:
setCompiled(data)は事前直列化された TIN を 読込みupdateTin()をスキップします。Tutorials § 保存と復元 を参照してください。
コンストラクタへ渡す option オブジェクトは複数カテゴリを持ちます:
| カテゴリ | 主なキー | 用途 |
|---|---|---|
| 幾何 |
bounds, wh
|
境界多角形 OR ソース平面の幅/高さ(いずれか必須) |
| 頂点処理 | vertexMode |
"plain"(デフォルト)または "birdeye"(透視補正) |
| トポロジー | strictMode |
"strict" / "auto"(デフォルト) / "loose"
|
| Y 軸 | yaxisMode |
"follow" または "invert"(デフォルト) |
| メタデータ |
importance, priority
|
地図の重要度/優先度のヒント(MaplatCore が使用) |
option は変換挙動を制御します。制御点とエッジは構築後
setPoints/setEdgesで別途追加するため、同一Tinインスタンスを別の GCP セットで 再利用できます。
<script src="https://cdn.jsdelivr.net/npm/@maplat/tin@0.14.2/dist/maplat_tin.umd.js"></script>
<script>
const tin = new maplatTin.default({ wh: [500, 500] });
tin.setPoints([
[[100, 100], [200, 200]],
[[200, 200], [400, 400]],
[[150, 150], [320, 350]],
[[200, 100], [420, 220]],
]);
tin.updateTin();
console.log(tin.transform([160, 160], false));
</script>import Tin from '@maplat/tin';
const tin = new Tin({ wh: [500, 500] });
tin.setPoints([/* ... */]);
tin.updateTin();MaplatTin は純粋な Node.js で動作し(OpenLayers 不要)、バッチ前処理 パイプライン(例: MaplatTransform) で使用できます:
import Tin from '@maplat/tin';
import { readFileSync, writeFileSync } from 'node:fs';
const tin = new Tin({ wh: [2000, 1500] });
tin.setPoints(JSON.parse(readFileSync('gcps.json')));
tin.updateTin();
writeFileSync('compiled.json', JSON.stringify(tin.getCompiled()));完全な API シグネチャ一覧(コンストラクタオプション・メソッド・定数・
ユーティリティ関数・エラーケース)はリポジトリ内
docs/api/ に保持します。本 Wiki ページでは
シグネチャを意図的に重複保持せず、正本からの乖離を防ぎます。
参照:
-
docs/api/— API シグネチャ正本 - README §API リファレンス — 概要と導線
英語版はこちら / Read this page in English
- Home
- Concepts.ja — TIN 理論と strict/loose モード
- Tutorials.ja — 利用手順
- README — インストールとクイックスタート
- 🇬🇧 English (Home)
- 🇯🇵 日本語 (Home.ja)
English
日本語
- 📄 README / README.ja
- 📚 docs/api/ — API signatures
- 🗺️ Ecosystem Map(現在外部非公開)
- 🌐 Product site / 製品サイト
- 🏢 Nayuta, Inc. / コーポレートサイト