Skip to content

API Reference.ja

Kohei Otsuka edited this page Jul 24, 2026 · 1 revision

API リファレンス(日本語)

MaplatTin が公開する Tin クラスの概念と利用パターン。本ページは リリース非依存 の解説(ADR-0012)を扱います。最新の完全な API シグネチャ一覧はリポジトリ内 docs/api/ を 参照してください。

目次


Tin ライフサイクル

Tin クラスは MaplatTin のメインクラスです。ライフサイクルは3フェーズ:

  1. 構築new Tin(options) でインスタンスを作成します。bounds または wh のいずれかを指定する必要があります。
  2. 事前計算setPoints(points)(と必要に応じて setEdges(edges))で 制御データを与えます。その後 updateTin() で TIN を計算します。完了すると strict_status で厳密な位相が達成できたか確認できます。
  3. 変換transform(xy, inverse) で座標を変換します。インスタンスは 再利用可能: setPoints / setWh / setEdges を再呼出すると TIN が リセットされ、updateTin() を再度呼ぶ必要があります。

なぜ明示的な updateTin() なのか? 三角分割を解くステップが高コスト です。設定(setPoints)と計算(updateTin)を分離することで、呼出側は 編集をバッチ化して1回の計算で済ませられます。

直列化のショートカット: setCompiled(data) は事前直列化された TIN を 読込み updateTin() をスキップします。Tutorials § 保存と復元 を参照してください。

Option のカテゴリ

コンストラクタへ渡す option オブジェクトは複数カテゴリを持ちます:

カテゴリ 主なキー 用途
幾何 bounds, wh 境界多角形 OR ソース平面の幅/高さ(いずれか必須)
頂点処理 vertexMode "plain"(デフォルト)または "birdeye"(透視補正)
トポロジー strictMode "strict" / "auto"(デフォルト) / "loose"
Y 軸 yaxisMode "follow" または "invert"(デフォルト)
メタデータ importance, priority 地図の重要度/優先度のヒント(MaplatCore が使用)

option は変換挙動を制御します。制御点とエッジは構築後 setPoints / setEdges で別途追加するため、同一 Tin インスタンスを別の GCP セットで 再利用できます。

利用パターン

パターン1: CDN 最小利用

<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>

パターン2: npm ESM import

import Tin from '@maplat/tin';

const tin = new Tin({ wh: [500, 500] });
tin.setPoints([/* ... */]);
tin.updateTin();

パターン3: Node.js オフライン前処理

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 シグネチャ参照

完全な API シグネチャ一覧(コンストラクタオプション・メソッド・定数・ ユーティリティ関数・エラーケース)はリポジトリ内 docs/api/ に保持します。本 Wiki ページでは シグネチャを意図的に重複保持せず、正本からの乖離を防ぎます。

参照:


英語版はこちら / Read this page in English

関連項目

MaplatTin

Language / 言語

Pages / ページ

English

日本語

External / 外部

Clone this wiki locally