UNPKG

@maplat/transform

Version:

A JavaScript library that performs coordinate transformation between two plane coordinate systems using transformation definitions generated by Maplat.

48 lines (43 loc) 1.3 kB
import type { Position } from "geojson"; /** * エッジの終点を表す型 * [始点のインデックス, 終点のインデックス] */ export type Edge = [number, number]; /** * エッジセットの型 * [始点と終点の間の中間点群(地図座標系), * 始点と終点の間の中間点群(変換先座標系), * 始点と終点のインデックスペア] */ export type EdgeSet = [Position[], Position[], Edge]; /** * 古いバージョンのエッジセット型 * @deprecated 2.00703以降は EdgeSet を使用 */ export type EdgeSetLegacy = { illstNodes: Position[]; mercNodes: Position[]; startEnd: Edge; }; /** * エッジセットを正規化する * 古いバージョンのフォーマットを新しいフォーマットに変換する * * @param edges エッジセット配列 * @param version バージョン番号(オプション) * @returns 正規化されたエッジセット配列 */ function normalizeEdges( edges: EdgeSet[] | EdgeSetLegacy[], version?: number ): EdgeSet[] { if ((version && version >= 2.00703) || Array.isArray(edges[0])) return edges as EdgeSet[]; return (edges as EdgeSetLegacy[]).map(edge => [ edge.illstNodes, edge.mercNodes, edge.startEnd ]); } export { normalizeEdges };