地図

地図をベクター化する方法

読了時間 7分・公開日 2026年8月2日・更新日 2026年10月2日

地図は、人が日常的にベクター化するものの中で最も密度が高いものです。髪の毛ほど細い道路、何十種類もの塗り、どこにでもある小さな文字。ソースへの忍耐は報われますが、ファイルは大きくなります。どちらの事実も、始める前に知っておく価値があります。

よくある理由は、大判印刷、つまりラスターでは目に見えてにじむ案内ボードや展示パネルと、画像としてしか持っていない地図を色替えしたりスタイルを変えたりする必要性です。

まず、ベクターデータがすでに存在しないか確認する

これは、他のどれよりも先に30秒だけかける価値があります。地図が実在の場所のものならOpenStreetMapのデータが対象をカバーしており、QGISから本物のベクターデータを書き出せば、どんなトレースよりも根本的に優れたものが得られます。正しいトポロジー、本物の属性、意味のあるレイヤー。地図の画像をトレースするのが正解なのは、地図そのものがアーティファクトである場合だけです。歴史的な1枚、様式化されたイラスト、他に存在しない区画図。

その場合に、このガイドの残りが当てはまります。

すべてを決めるのは解像度である

1 px幅で描かれた道路には内部がありません。エンジンは領域を見つけてその境界を描きますが、1 pxの線は中身のない境界であり、消えるか、ぼろぼろの糸として返るかのどちらかです。地図のトレースのためにできる最も効果の大きいことは、より大きいソースから始めることです。

地図がスキャンなら、300ではなく600 dpiでスキャンします。スクリーンショットなら、高密度ディスプレイで、あるいは細い要素が少なくとも3 px幅になるズームレベルで取ってください。追加のピクセルは無料であり、細い道路が生き残るかどうかの違いになります。

シートが大きいなら、タイルに分けて変換する

プランの上限はメガピクセルで測られます。無料は2、Liteは3、Pro以上は5です。そしてA1のシートの600 dpiスキャンは、そのどれをもはるかに超えます。スキャンした甲斐のある細部をまさに捨てることになる縮小ではなく、シートを重なりのあるタイルに切り分け、それぞれを変換し、エディターで再構成してください。

タイルは本物の地図で1 cmほど重ねます。後での位置合わせは、突き合わせるより、一致させて照合できる共有要素があった方がはるかに楽です。それでも、タイル境界をまたぐパスは、いずれにせよ手動での再接続が必要です。

レイヤーは色から生まれる。だから色を軸に計画する

水域、公園緑地、市街地、道路クラスは通常、塗りの色で区別され、トレースは異なる色ごとに1組のシェイプを生みます。エディターで塗り色による選択を行い、各組を自分のレイヤーへ移すのは速い作業であり、フラットなトレースを、スタイルを変えられるものへ変えるのがまさにそれです。

ソースが本当に異なる色を使っていればこれはよく機能し、近い色なら悪く機能します。公園と森林の2つの緑が4%しか違わなければ、マージされるか、境界に沿って予測不能に分離します。ソースを自分で制御できるなら、変換前に色の分離を広げてください。

大きなファイルを想定し、意図的に刈り込む

実用解像度でトレースされた都市地図は、数万のノードを抱えることがあります。これは欠陥ではありません。情報が本当にそこにあるのです。ただしエディターは重くなり、Webページは遅くなります。

一律ではなく、目的を持って刈り込みます。海岸線の30%の単純化は通常目立ちません。同じ量の道路交差点の単純化は、ネットワークを目に見えて壊します。ほとんどのエディターは選択範囲の単純化を許すので、レイヤーごとに行いましょう。

手順

  1. 01

    既存のベクターデータを確認する

    地図が実在の場所のものなら、QGIS経由のOpenStreetMapが、本物の属性を持つ本物のベクターデータをくれます。トレースするのは、地図そのものがアーティファクトの場合だけにします。

  2. 02

    入手できる最高の解像度を確保する

    スキャンなら600 dpiです。細い道路は少なくとも3 px幅ないと、トレースを生き残れません。

  3. 03

    大きなシートはタイルに分ける

    プランのメガピクセル上限を超えるものは、縮小ではなく、重なりのあるタイルに切ります。重なりは本物の地図で1 cmです。

  4. 04

    各タイルをSVGに変換する

    アップロードしてダウンロードします。Pro以上なら、タイルを1回の一括で送れます。

  5. 05

    塗り色でレイヤーを分け、刈り込む

    色で選択してレイヤーを組み、そのうえで各レイヤーを性質に応じて単純化します。海岸線は耐えます。交差点は耐えません。

よくある問題

細い道路が消えた
ソースで1 px幅だったため、エンジンには見つけるべき領域がありませんでした。より高解像度のスキャンか、より大きいスクリーンショットから始めてください。
色の違う2つの領域が1つにマージされた
2色が近すぎて、マージ工程で分けられませんでした。変換前に、ラスター上で色の分離を広げてください。
アップロードが、大きすぎるとして拒否された
プランのメガピクセル上限を超えています。無料は2 MP、Liteは3 MP、Pro以上は5 MPです。そのようなファイルは、ブラウザーが上限まで自動で縮めます。細いスキャン要素が重要なら、その縮小に頼らずシートをタイルに分けてください。再サンプリングは確かに細部を失います。
SVGが巨大で、エディターがもっさりする
数万のノードは、密度の高い地図では普通です。レイヤーごとに単純化してください。海岸線と公園緑地は激しい単純化に、見えずに耐えます。道路網は耐えません。

よくある質問

地図はトレースすべきですか、それともベクターデータを書き出すべきですか?
本物のデータが存在するなら、書き出す方がいいです。QGIS経由のOpenStreetMapは正しいトポロジーと本物の属性をくれます。画像のトレースにはできないことです。トレースするのは、地図そのものがアーティファクトの場合、歴史的な1枚、イラスト、一回限りの区画図です。
メガピクセル上限より大きい地図はどう扱えばよいですか?
重なりのあるタイルに切り分け、それぞれを変換し、再構成します。収まるよう縮小すると、高解像度にする価値の原因そのものである、細い道路と小さな文字が失われます。
地名は読める状態で残りますか?
元の書体に見えるシェイプとしてトレースされます。正しく印刷されますが、テキストではありません。検索可能あるいはスタイル変更可能なラベルが要る地図では、別途OCRをかけるか、手動で組み直してください。
レイヤー分けは自動で行えますか?
名前付きレイヤーとしては無理ですが、シェイプは色ごとにグループ化されて出てきます。どのエディターでも、塗り色による選択で数クリックのうちにレイヤーへ変えられます。ソースが明確に異なる色を使っていれば、よく機能します。

関連ガイド

Cookie

当サイトでは、どのページが閲覧され、どこで訪問者がつまずいているかを把握するために Google Analytics の Cookie を使用しています — 広告はなく、プロファイリングもせず、何かを売ることもありません。拒否してもサイトの動作はまったく変わりません。詳細は プライバシーポリシー.