GeoJSON簡略化
密なGeoJSONの線とポリゴンをDouglas–Peuckerとメートル単位の許容差で間引き — 見た目を変えずに80〜95%の削減も珍しくありません。
GeoJSON簡略化はブラウザー内で完結します。地理データは端末内で処理され、アップロードされることはありません。
GeoJSONビューアーを開く
GeoJSON簡略化 について
GeoJSON簡略化は、データ内のすべてのLineString・MultiLineString・Polygon・MultiPolygonにRamer–Douglas–Peuckerアルゴリズムをかけます。このアルゴリズムは、取り除くと形が許容差より大きくずれる場合にだけ頂点を残します — 許容差はここではメートルで表され、経度は緯度で正しくスケーリングされるため、オスロでもシンガポールでも同じ意味を持ちます。毎秒記録されたGPSトラックや測量精度でデジタル化された境界線は、地図の縮尺では見た目が変わらないまま、日常的に80〜95%縮みます。構造は無傷です:リングは閉じたまま、ポリゴンは4座標以上を保ち、ポイントとプロパティは手つかずで通過し、元のオブジェクトは決して変更されません。
機能
- メートル単位の許容差スライダーつきDouglas–Peucker
- 緯度スケーリング:メートルはどこでもメートル
- LineString・PolygonとそのMulti*系に対応
- FeatureCollectionとGeometryCollectionを再帰的に処理
- リングは閉じたまま、有効なポリゴン未満には潰れない
- 点数・削減率・バイトサイズを報告
GeoJSON簡略化 の使い方
- GeoJSONを貼り付けるかサンプルを読み込む
- 許容差を設定:街区レベルは5〜20 m、国の輪郭は100 m以上
- 削減の統計を確認
- 簡略化されたGeoJSONをコピー
例
入力
GPS running track, 4,812 points, 512 KB
出力
10 m tolerance → 214 points, 24 KB — 95.6% fewer points
地図上では見分けがつかず、読み込みは20倍高速です。
よくあるエラーとトラブルシューティング
- 簡略化した形が目に見えて角を切っている。 — ズームレベルに対して許容差が大きすぎます。アーティファクトが消えるまで半分にしてください — 最適点は、結果がまだ同一に見える最大の許容差です。
- 点が1つも削除されない。 — 許容差に対してデータがすでに粗い可能性があります。許容差を上げてください。またPointは決して触られません — 頂点を節約できるのは線とリングだけです。
- 隣接する2つのポリゴンの境界が正確に一致しなくなった。 — 各リングは独立に簡略化されるため、共有辺がわずかにずれることがあります。厳密なトポロジーにはトポロジー対応のパイプラインを。表示レイヤーなら隙間はサブピクセルです。
よくある質問
- Douglas–Peuckerはどの点を残すか、どう決めますか?
- 区間の両端の間に弦を引き、そこから最も遠い頂点を見つけて、距離が許容差を超える場合にだけ残します — そして両半分で再帰します。生き残るのは、あなたの縮尺で線の形を決める頂点そのものです。
- GPSトラックにはどの許容差を使うべきですか?
- 民生GPSはもともと3〜10 mさまようので、10 mの許容差は主にノイズを除去します。街区レベルの表示は約20 mまで耐え、広域表示は100 m以上を許容します。
- 簡略化でポリゴンは壊れませんか?
- ガードが古典的な失敗を防ぎます:閉点は保存され、4座標を下回りそうなリングはそのまま残されます。ただし複雑な形での過激な許容差による自己交差は残り得ます — 極端な削減は目視で確認を。
- なぜ度ではなくメートルで簡略化するのですか?
- 経度1度は緯度とともに縮みます — 赤道で111 km、北緯60度で55 km。度単位の許容差では北欧のデータが2倍強く簡略化されてしまいます。cos(緯度)でのスケーリングが物理的な意味を保ちます。
関連ツール
すべての ArrayKit ツール