concaveman

2D点群の外形を凹型の輪郭で求める高速なJavaScriptアルゴリズムです。凸包では空白が広くなりすぎる場合に役立ちます。

Xで共有ライセンス: ISC

概要

concaveman は、2次元の凹包(コンケーブハル)を求める JavaScript 実装です。点の集合を渡すと、その全体的な形をなぞる多角形を返します。凸包では空白の領域まで含んでしまう場合に役立ちます。点の配列を1つの関数に渡すだけで使え、輪郭の細かさも調整できます。アルゴリズムは公開された論文に基づき、高速な最近傍探索で速度を高めています。他の言語向けに C++ 版も公開されています。

主な特長

  • [x, y] の点列から輪郭の多角形を1回の呼び出しで取得
  • concavity で細かさを調整し、Infinity なら凸包になる
  • lengthThreshold で形状を単純化
  • rbush、tinyqueue、robust-predicates を利用

こんな人・用途に

地図上などで散らばった2次元の点を密着した輪郭で囲みたい人向けです。concavity を1未満にすると奇妙な形になることがあります。

アップストリーム
mapbox/concaveman
GitHubのフォーク
Guo-astro/concaveman
アップストリームのスター数
724
カテゴリ
地図・地理空間
言語
JavaScript
ライセンス
ISC
フォーク日
2020-11-01
同期状態
同期済み最終同期 2026-09-29