OnlineMapMaker logo

ポリゴン差分ツール — 1つのポリゴンからもう1つを消去

地図上に2つのポリゴンを描くか、GeoJSONファイルまたはzip形式のShapefileをアップロードし、一方のポリゴンからもう一方を差し引いて、残った部分だけを取り出します。結果の色を選んでGeoJSONファイルとして保存できます — 追加のプログラムは不要で、ブラウザ内で素早く処理されます。 全画面で開く ↗

Rate this tool:
広告
広告
Loading map…
GISプロジェクトでお困りですか?サービスを見る

ポリゴン差分とは何か、なぜ必要なのか

ポリゴン差分は、消去(erase)や空間的な差し引き(spatial subtract)とも呼ばれ、重なり合う2つの図形から、2つ目の図形に覆われていない1つ目の図形の部分だけを取り出す処理です。これはGIS作業でよくある作業のひとつです。たとえば、土地区画から保護区域を取り除いたり、プロジェクト用地から建築禁止の緩衝地帯を除いたり、ある配送エリアのうち別の店舗がまだカバーしていない部分を見つけたりする場合に使われます。

よくある質問

ファイルが拒否されるのはなぜですか。
これは、ファイルにPolygonやMultiPolygonの図形がまったく含まれていない場合に起こります。たとえば、点だけ、または線だけのファイルなどです。元のファイルに、点や線だけでなく、閉じたエリアの図形が本当に含まれているか確認してください。
「ポリゴン差分」とは、簡単に言うとどういう意味ですか。
1つの図形から、2つ目の図形に覆われている部分を切り取ることを意味します。残った部分 — 2つ目の図形が触れていない、1つ目の図形の部分 — が新しい結果になります。
自分が作った結果に対して、もう一度ツールを実行できますか。
はい。差分の結果も、他のポリゴンレイヤーと同じものです。そのため、次の実行のために「Input Layer」または「Erase Layer」として再び選ぶことができます。これにより、複数の切り抜きを次々とつなげて行うことができます。
GISにおける「difference」と「erase」の違いは何ですか。
これらは同じ処理を2つの一般的な名前で呼んだものです。ArcGISのようなデスクトップGISソフトではよく「Erase」と呼ばれ、Turf.jsやPostGISのような空間ライブラリでは「Difference」と呼ばれます。このツールはどちらの言葉で検索しても見つけやすいように、両方の言葉を使っています。
点や線を入力として使えますか。
いいえ。このツールはPolygonとMultiPolygonの図形にのみ対応しています。切り取ることができる内側の面積を持つのは、閉じた図形だけだからです。ファイルにポリゴンと一緒に点や線が混ざっている場合、それらの余分な図形は除外され、除外された数についてのメッセージが表示されます。
「Input Layer」や「Erase Layer」に複数のポリゴンを含めることはできますか。
はい。「Input Layer」に複数のポリゴンフィーチャーがある場合、ツールはそれぞれについて個別に差分を計算し、「Erase Layer」内のすべてのポリゴンと照合したうえで、空でない結果をすべて1つの出力レイヤーにまとめます。
zip形式のShapefileの中には何が必要ですか。
1つの.zipファイルの中に、少なくともShapefileの.shp、.dbf、.shxの各パートが含まれている必要があります。zipの中に複数のレイヤーが含まれている場合、それぞれがツール内で個別のレイヤーとして読み込まれます。
レイヤーを作成した後で、その色を変更できますか。
はい。レイヤー一覧の各行には、それぞれ専用のカラーボックスがあります。クリックして新しい色を選ぶと、変更はすぐに地図上に反映され、他のレイヤーには影響しません。
「Erase Layer」が「Input Layer」を完全に覆っている場合はどうなりますか。
その場合、残るものは何もなく、ツールは図形が1つもない新しいレイヤーを作成する代わりに、結果が空であることを知らせます。
地図データはサーバーに送信されますか。
いいえ。描画、ファイルの読み込み、差分の計算はすべて、Turf.jsライブラリを使ってお使いのブラウザ内で行われます。サーバーに送信されたり保存されたりすることはないため、非公開または機密性の高い位置情報データにも安心して使用できます。

実際の活用例

📐
土地区画と地役権
土地測量士や権原保険会社は、土地区画全体から公共設備の地役権や通行帯を差し引くことで、所有者に残る実際の建築可能エリアを確認します。
🌿
環境・保全計画
保全団体は、計画中のプロジェクト用地から保護対象の湿地や保護区の境界を差し引き、用地のうちどの部分がまだ建設可能かを計画担当者に正確に示します。
📡
通信カバレッジ分析
ネットワークエンジニアは、新しい基地局のカバーエリアから近隣の基地局のカバー範囲を消去し、新しい基地局が実際に追加する重複のないエリアを確認します。
🏙️
都市計画とゾーニング
都市計画担当者は、地区のポリゴンから公園、浸水区域、保護対象の史跡エリアを取り除き、その地区のうちどれだけが新規開発に実際に利用できるかを調べます。
🚚
小売・配送エリア計画
小売チェーンは、隣接する店舗の配送エリアから一方の店舗の配送エリアを消去し、両店舗間で重複のない専用のサービスエリアを定義します。
🚜
農地管理
精密農業チームは、農地の境界から冠水した箇所、岩の多い一角、進入路を差し引き、種まきや収量計画のための実際の作付け可能面積を算出します。

レイヤーの色と結果のスタイル

地図上でレイヤーを見分けやすくする、2つの色設定があります。

  • レイヤーの色: 各ポリゴンレイヤーは、追加したときにそれぞれ独自の色が割り当てられます。この色はレイヤーの行からいつでも変更できます。
  • Result Color: 「Run Difference」をクリックする前に、新しい差分レイヤーの色を設定します。後から違う色にしたい場合は、レイヤーの行からいつでも変更できます。

新しい差分レイヤーは、元のレイヤーよりも太い輪郭と濃い塗りつぶしで描かれるため、結果が地図上で常にはっきりと目立ちます。

ポリゴンを追加する2つの方法

作業したいポリゴンは、次のいずれかの方法で追加できます。同じセッション内で両方を組み合わせて使うこともできます。

  • 地図上に描画する: 「Draw Polygon」をクリックし、地図をクリックして各頂点を追加します。ダブルクリック、Enterキー、または「Finish」ボタンで図形を完成させます。差分で削り取る対象ができるように、重なり合うポリゴンを少なくとも2つ描いてください。
  • ファイルをアップロードする: 「Upload」をクリックするか、GeoJSON/.jsonファイル、またはzip形式のShapefile(.shp、.dbf、.shxを含む.zip)を地図上にドラッグしてください。ファイルごとに個別のレイヤーになります。

用意できるファイルがない場合は、「Sample Polygons」をクリックすると、重なり合うテスト用の図形が2つすぐに追加されます。ポリゴンレイヤーが2つ以上そろったら、一方を「Input Layer」、もう一方を「Erase Layer」として選び、結果の色を選んでから「Run Difference」をクリックしてください。

レイヤーの操作

作成した各ポリゴンレイヤーと各差分レイヤーは、レイヤー一覧にそれぞれ1行ずつ表示されます。その行から、レイヤーの表示/非表示の切り替え、色の変更、そのレイヤーへのズーム、GeoJSONとしての保存、削除ができます。これらの操作は、他のどのレイヤーにも影響しません。差分の結果は、次の実行のために「Input Layer」または「Erase Layer」として再び選ぶこともできるため、複数の切り抜きを連続して行うことができます。

広告
広告

差分はどのように計算されるか

「Input Layer」(残したい図形)と「Erase Layer」(差し引きたい図形)という2つのレイヤーを選びます。ツールは「Input Layer」内のすべてのポリゴンを調べ、「Erase Layer」の内側に入っている部分を切り取ります。残った部分が新しいレイヤーになるので、元の2つのレイヤーはそのまま残り、また使うことができます。

使えるのはポリゴンだけ

このツールが受け付けるのは、閉じた図形であるPolygonとMultiPolygonだけです。点や線には内側の面積がないため、差分を計算することができません。ファイルにポリゴン以外の図形が混ざっている場合、ツールはポリゴンだけを使用し、使用しなかった図形の数を知らせます。

手順

1
ステップ 1
ツールを開く
地図は、まだレイヤーがない状態で世界全体の表示から始まります。上部のツールバーには、Draw Polygon、Upload、Sample Polygonsとベースマップの切り替えがあります。サイドバーには、差分ツール、レイヤー一覧、エクスポートボタンがあります。
2
ステップ 2
最初のポリゴンを追加する
「Draw Polygon」をクリックして地図上で各頂点をクリックするか、GeoJSONファイルまたはzip形式のShapefileをアップロードします。これが「Input Layer」— 残したいエリア — になります。
3
ステップ 3
2つ目の、重なり合うポリゴンを追加する
最初の図形と重なる2つ目の図形を描くかアップロードします。これが「Erase Layer」— 切り取りたいエリア — になります。または「Sample Polygons」をクリックすると、あらかじめ用意された重なり合う2つの図形が追加されます。
4
ステップ 4
「Input Layer」を選ぶ
サイドバーの「Input Layer」リストを開き、残したいエリアを持つレイヤーを選びます。
5
ステップ 5
「Erase Layer」を選ぶ
「Erase Layer」リストを開き、「Input Layer」から差し引きたいレイヤーを選びます。
6
ステップ 6
結果の色を選ぶ
「Result Color」の横にあるカラーボックスをクリックし、新しい差分レイヤーの色を選びます。
7
ステップ 7
「Run Difference」をクリックする
ツールは「Input Layer」から「Erase Layer」を切り取り、残ったエリアだけを持つ新しいレイヤーを追加します。地図は新しい図形に合わせてズームします。
8
ステップ 8
レイヤーを確認・管理する
レイヤー一覧では、任意のレイヤーの表示/非表示切り替え、色の変更、ズーム、削除ができます。差分レイヤーは元のポリゴンレイヤーとは異なる印が付けられるため、どちらがどちらかが常にわかります。
9
ステップ 9
結果を保存する
レイヤー行のダウンロードアイコンをクリックすると、そのレイヤーだけを保存できます。「Download All Layers」をクリックすると、入力図形、消去図形、結果を含むすべてのレイヤーを1つのGeoJSONファイルとして保存できます。
広告
広告

動画で見る — 1分でわかるポリゴン差分ツール

読むより見るほうが早いという方のために、短い動画を用意しました。2つのポリゴンを追加し、一方をもう一方から切り取って差分を求める方法まで、一通りの流れを紹介しています。

差分結果の保存

作業内容を保存する2つの方法が、サイドバーに常に用意されています。

  • 1つのレイヤーを保存: 任意のレイヤー行の横にあるダウンロードアイコンをクリックすると、そのレイヤーだけをGeoJSONファイルとして保存できます。
  • Download All Layers: 地図上のすべてのレイヤー — 入力レイヤー、消去レイヤー、差分結果 — をまとめて1つのGeoJSONファイルに保存し、各フィーチャーにはレイヤー名が記録されます。

GeoJSONはLeaflet、Mapbox GL JS、QGIS、ArcGISで問題なく開くことができ、GitHub上ではライブマップとしても表示されます。

広告
広告

その他のおすすめツール

地図タイル © OpenStreetMap の貢献者、Protomapsで描画(ホスティング:KONAKTIVE)、予備としてCARTO。 衛星画像:Esri。 ジオメトリの計算:Turf.js。 シェープファイルの読み込み:shpjs。 地図の描画:Leaflet。 計算はすべてブラウザーの中で行われ、入力した内容がサーバーに保存されることはありません。

Muhammad Gulraiz Khan、GIS専門家、KONAKTIVEおよびOnlineMapMaker.comの創業者

著者について

Muhammad Gulraiz Khan

GIS専門家・コンサルタント、KONAKTIVE創業者

Muhammad Gulraiz Khanは、エネルギー分野向けに地理空間ソリューションを提供してきた10年以上のプロフェッショナル経験を持つGIS専門家です。世界銀行、国際金融公社(IFC)、USAIDのプロジェクトにも携わってきました。彼はプロフェッショナル品質の地図作成ツールを誰もが無料で利用できるようにするため、OnlineMapMaker.comを立ち上げました。

広告
広告