コンテンツへスキップ
ブログに戻る
AI Segmentation
QGIS
チュートリアル

QGIS道路抽出:6つの方法と注意点

同じ郊外の通りを空中から見た3パネル:衛星画像のみ、中央に描かれたOpenStreetMapの中心線、縁石から縁石まで面で塗った舗装面。

で道路を抽出するには、QuickOSMをインストールし、Vector > QuickOSM > QuickOSMを開き、キーhighwayをキャンバス範囲で検索すると、数秒でネットワークがラインとして取得できます。OpenStreetMapが薄い地域では、他に5つの方法で道路を地図化できます:公開済みの国家データセット、手動デジタイズ、GRASSによる細線化、教師あり分類、セグメンテーションモデルです。

  • 最速で無料: QuickOSM、すでに誰かがその地域をマッピング済みなら。
  • 今日使える全国カバレッジ: 公開データセットのダウンロード、やはり無料。
  • 地図より新しい画像がある場合: セグメンテーションモデル、無料枠から。
  • マスクやスキャンからラインを得る: GRASSのr.thin、次にr.to.vect

最初に一つ選ぶことがあり、それが使える手法を決めます。道路を抽出するのではありません。centreline(中央を通る1本の線で、車線数や制限速度を持つ)とsurface(縁石から縁石までの舗装面)のどちらかを選ぶのです。ルーティングには線が必要です。排水や舗装量の計算には面積が必要です。以下の手法の半分は前者を、半分は後者を返し、両者の変換には一手間かかります。

ウェブの解説で間違っている点

QGISのチュートリアルやフォーラムで繰り返される2つの答えがあり、どちらも午後を無駄にします。

「自動トレースをオンにして、画像上の道路をなぞる」 トレースは画像を見ません。QGIS 3.44のマニュアルは明言しています:既存のベクトル地物のエッジに沿った最短経路を作るだけです。裸の衛星画像の上では、なぞる対象が存在しないため、何も起きません。区画や部分的なネットワークをすでに持っていて、新しい形状をそこにスナップさせたいときに役立ちます。

「空中写真にGRASSのr.thinを掛ける」 r.thinには、道路が1つの値、それ以外が別の値になったrasterが必要です。カラー写真を渡すと、ピクセル値の偶然のまとまりを細線化するだけで、道路にはなりません。良い道具を一手早い場所で使っています:分類や検出の後に置くべきもので、前に置くものではありません。

結論

状況手法コスト
OSMマッパーが活発な都市1, QuickOSM無料
国家道路データセットがある国2, ダウンロードしてクリップ無料
少数の道路、または保有するlayerの修正3, トレースをオンにしてデジタイズ無料、ただし遅い
道路マスクやスキャン地図4, GRASSのr.thin、次にr.to.vect無料
アスファルトが目立つマルチバンドシーン5, 教師あり分類無料のplugin、サンプル作業に数時間
OSMが届いていない地域の recent 画像6, セグメンテーションモデル無料枠あり、その後はサブスクリプション

始める前に

投影CRSで作業してください。以下の2つの手順はlayer単位で幅を取るため、度単位の幅では意味がありません。

このページのどの手法も壊す4つの要因があり、金額にかかわらず同じです。住宅街の樹冠が真上からのセンサーから道路を隠すため、結果はちぎれて戻ります。ダートトラックと隣の畑は同じ色のため、まさに地図化が必要な場所で未舗装路が抜け落ちます。

残り2つは形状の問題です。河川、枯れ川、鉄道線路は細長い地物であり、ピクセルベースの手法はどれも道路クラスに落とします。橋とトンネル坑口では面が切れるため、ネットワークがつながっていてほしい場所で切断されます。

Method 1:QuickOSMでOpenStreetMapから取得

以下のすべての手法を試す前に、OSMを確認する30秒が手間を省きます。QuickOSMはOverpass APIに問い合わせ、結果をそのままプロジェクトに取り込みます。

Install QuickOSM

Plugins > Manage and Install PluginsでQuickOSMを検索し、インストールします。

Open the quick query

Vector > QuickOSM > QuickOSMを開き、Quick queryタブを使います。

Set the key

キーにhighway、値を空にすると全道路クラスが対象です。絞るには値を足します:residentialtrackmotorway

Bound it

Canvas Extentを選んでください。国全体のような無制限の問い合わせはOverpassでタイムアウトします。

Run and filter

ラインがOSMタグ付きで届きます。highwayで絞り、存在すればsurfaceを読んでください。

The QuickOSM Quick query tab in QGIS: key highway, value empty, extent set to Canvas Extent, with the Run query button.
The whole query is three fields. Key highway, no value, canvas extent. Captured 3 September 2026.

マッピング済み地域ではタグが検出に勝つ理由です。highway=trackは農道であることを、highway=unclassifiedは小さな公道であることを教えます。このページのどのモデルもどちらかは教えられません。検出は形状を返し、OSMは誰かがすでに名付けた形状を返すからです。ODbLのもとで帰属表示が必要です。

カバレッジがOSMの限界です。アフリカ農村、南アジア、ほとんどの都市の成長縁辺で、highwayのラインを recent 画像に重ねると、トラックが画像にはっきり写っているのに何も描かれていません。

Satellite imagery of a rural district with OSM highway lines in blue over it. Two main roads carry lines, while a dozen visible dirt tracks between fields carry nothing.
OSM highway lines over the same extent. Two surfaced roads are mapped. The tracks between the fields are visible in the picture and absent from the layer.

使う場合: すでに誰かがその地域をマッピング済みなら。

使わない場合: 画像に写る道路がOSMのlayerに無いなら。

Method 2:公開道路データセット

誰かがすでに検出を実行し、結果を無償公開している場合があります。

Microsoft Road Detectionsは235か国で5420万kmをカバーし、Bing Mapsの空中画像から掘り出され、国別ファイルのcentrelineとしてODbLで公開されています。

Metaは独自のAI生成道路をRapid editor経由で公開しています。それらをまとめていたDaylight配布は2024年5月の提供終了案内の通り終了したため、今はRapidが現実的な入手先です。

存在する国では国家機関がどちらにも勝ちます。フランスはBD TOPOを公開し、Troncons de route layerがEtalab 2.0のもとでメートル精度を持ち、掘り出しデータセットの粗い位置合わせとは違います。英国はOS Open RoadsをOS Data Hub経由で無料公開し、毎年4月と10月に更新します。

注意点は古さです。検出セットは掘り出し元画像のスナップショットであり、先春に閉鎖された道路はどれも知りません。

使う場合: 今日中に全国カバレッジが必要で、日付が十分なら。

使わない場合: データセット作成以降の変化が仕事なら。

Method 3:トレースをオンにして手でデジタイズ

50本程度までなら描く方がまだ速く、トレースの実態を知ればQGISは確かな助けになります。

編集を切り替え、Add Line Featureを選び、スナップツールバーのTracingツールを有効にするかTを押します。頂点にスナップし、2つ目の頂点まで動かすと、QGISは既存地物のエッジに沿った最短経路を作ります。トレースアイコンを開いてOffsetを設定すると、沿うのではなく並行にデジタイズできます。

2つの振る舞いが人を驚かせます。キャンバス内の地物が多すぎるとトレースは自動で切れ、ズームインすると戻ります。自由曲線にはRでストリーミングデジタイズを使います。

使う場合: 50本程度まで、または信頼できるlayerに対する修正なら。

使わない場合: 未マッピングのトラックが広がる地区を前にしているなら。

Method 4:GRASSのr.thin、次にr.to.vect

centrelineを直接渡す唯一の手法であり、2026年も生き残る理由です。道路が1つの値、それ以外が別の値になったrasterを渡します:紙地図スキャンの二値化、またはMethod 5や6のマスクです。

r.thinはすべてのストロークを1ピクセル幅まで痩せさせ、そのピクセル連なりがcentrelineになります。r.to.vectをfeature type lineで使うとジオメトリになります。GRASSマニュアルが警告する通り、交差点に過剰なノードと垂れ下がった短枝ができるため、片付けを見込みます:短枝を長さで落とし、一本であるべき区間を結合します。

GRASSはほとんどのQGISインストーラに同梱されるため、追加購入はありません。Method 6の面をライン網に変える手順でもあり、私が最もよく使う組み合わせです。

使う場合: きれいな道路マスクやきれいなスキャンを持ち、ラインが必要なら。

使わない場合: 入力がカラー写真なら。

Method 5:教師あり分類

ピクセルを分類し、道路クラスをベクトル化します。Semi-Automatic Classification Pluginが標準のpluginで、作者はLuca Congedoです。リリース9.0.4はQGIS 3.99、つまりQGIS 4系を要するため、QGIS 3.xではマネージャが代わりに8.5.0を出します。dzetsakaは同じ仕事を小さな画面でします。

道路ピクセルと場面内の他の全クラスに訓練領域を描き、最尤法などの分類器を回し、道路クラスをRaster > Conversion > Polygonizeに送ります。raster to vectorガイドが後半をカバーし、polygonizeが残す階段エッジを直すアルゴリズムも含みます。

アスファルトが周囲と本当に違い、マルチスペクトルのバンドが助ける場合に動きます。似た見た目には倒れます。分類器はピクセル値を比べ、形状を何も知らないためです:灰色の屋根、枯れ川、畑の裸地縁がすべて道路クラスに入ります。訓練サンプルに数時間を見込み、次のシーンでは描き直しを覚悟してください。

使う場合: マルチスペクトルのバンドがあり、道路がその中で目立つなら。

使わない場合: 道路と屋根が同色なら。ほとんどの都市がそうです。

Method 6:セグメンテーションモデル

セグメンテーションモデルは道路の見た目を学習済みのため、形状と文脈でMethod 5を止める似た見た目を越えます。その1つを私たちが作っています、AI Segmentation。この節は私たち自身のツールについてです。

Install from the plugin manager

Windows、macOS、Linux上のQGIS 3.22以降。GPU不要、Python環境不要、重みの取得不要です。

Draw the area

キャンバスに表示中のrasterの上で範囲を描きます。衛星シーンからWMSまで対応します。

Type the word

車道にはroadと入力します。parking lotsidewalkdrivewayは別の語です。別々に実行してください。道路にくっついた駐車場が一体になります。

Filter, then convert if you need lines

実行がpolygonsを返すと、プロジェクトCRSでのlabel、class、score、area_m2、perimeter_mを持ちます。scoreと面積で絞り、ラインが必要ならGRASSのv.voronoi.skeletonで面を通します。

A suburban district on Google Satellite imagery in QGIS, the road surface filled kerb to kerb as one connected polygon layer in red.
A road run over Google Satellite imagery, captured 3 September 2026. The whole carriageway comes back as a surface, junctions included, not as a line down the middle.

出力は縁石から縁石までのpolygonsであり、centrelineは出しません。そのためライン納品には上記のスケルトン手順がかかります。両クラウドモードは画像を欧州連合内のサーバに送り、小さなローカルモデルのみが自分のマシンに残ります。

樹冠は面をちぎり、手でつなぎ直します。橋床版も同じです。濡れたアスファルトと新しい舗装直しは色調を変え、区間を落とします。精度の数値は公表しません。画像で数が動くからです。

The same road layer over a tree-lined street: the polygon runs solid in the open and stops at each canopy overhang, leaving three gaps along one block.
The canopy problem on one block. Three gaps in a single street, each under a tree. No method on this page sees through leaves.

私たち自身の調整表から1つの数値です。奇妙に見える結果を説明するためです。道路は建物より粗いタイルで動き、地上512 m per tileを下限とし、建物の128 mに対します。アスファルトの断片を渡されたモデルが駐車場と呼ぶからです。ある程度の延長が見えて初めて道路は道路と読めます。

コスト、2026年9月3日読み。無料プランはAutomaticで月3 km2の地上面積をカバーし、カード不要、クラウドSemi-Autoで月50オブジェクト検出を含みます。自分のマシン上のSemi-Autoにはカウンタ自体がありません。Proは月39ユーロ税別で200 km2と500オブジェクトに上がります。Mapflowは道路モデルを1クレジット0.10ドルで出し、1 km2あたり5クレジット+画像コストで、開始時250クレジット無料です。

使う場合: 画像が地図より新しく、手で描くには多すぎる道路があるなら。

使わない場合: OSMがすでにネットワークを持っているか、画像をマシン外に出せないなら。

覚えておくこと

まずOpenStreetMapを確認してください。そこの30秒が他の5手法を開く価値があるかを決めます。

手法を選ぶ前にcentrelineと面のどちらかを決め、後で決めないでください。ルーティングには線、面積計算にはpolygonが必要で、変換にはどちら向きも一手かかります。

自動トレースは既存ベクトル地物をなぞり、下の画像は決して見ません。r.thinは二値のrasterを要し、写真では動きません。

木の下の道路はこのページのどの手法でもちぎれて戻り、金額では直りません。

Method 6の面をMethod 4に通すと、誰もデジタイズしていないcentreline網が得られます。

Try it free in QGIS, no card needed

よくある質問

QGISだけで衛星画像から道路を抽出できますか?

自動ではできません。コアのQGISは手デジタイズと、分類済みrasterのベクトル化をします。写真から道路を取るにはpluginが必要です:セグメンテーションモデル、または自分で訓練するSCPのような分類器です。

道路抽出はラインとpolygonのどちらを返しますか?

どちらもあり、手法が決めます。OSM、国家データセット、公開検出、GRASSのr.thinはラインを返します。教師あり分類とセグメンテーションモデルは面を返します。画像に写るのは面だからです。GRASSのv.voronoi.skeletonが一方を他方に変えます。

樹冠下の道路がちぎれるのはなぜですか?

真上からのセンサーは樹冠を通さないため、ソフトウェアに触る前にデータ側で欠けています。編集セッションで区間をスナップして橋渡ししてください。

未舗装トラックはどの手法でも見つかりますか?

部分的です。ダートトラックと隣の畑は同色のため、分類は通常外し、検出モデルは広い方を見つけます。マッパーが歩いた場所ではOSMのhighway=trackが最も確かであり、それが必要な場所ほど欠けるのが問題です。

道路抽出に足りる画像解像度は?

道路と隣が分かれる解像度です。高速道路は粗い衛星シーンで写り、木の下の住宅街路は20 cmオルソ以上が必要です。手法を決める前に自分の画像を無料枠で試してください。

QGISでの道路抽出は無料ですか?

Method 1から5はインストールも実行も無料です。課金はクラウドのセグメンテーションモデルのみで、ここで挙げた2つにはどちらも無料枠があります。

raster to vectorガイドがMethod 5のpolygonize後半をカバーし、建物フットプリントガイドが絞り込み手順を通しで歩きます。QGIS AIハブがpluginを横並びで比べます。