QGISでOpenStreetMapデータをロードしていますか?


36

QGIS 1.8では、openstreetmapプラグインを使用してサーバーにデータを要求するか、QGISで3つのレイヤー(ポリゴン、ポリライン、ポイント)を生成した.osm XMLファイルを開きました。

これは素晴らしかった(作業中の新たにマッピングされた領域に大きな影響を与える64ビットのバグを与えるか、それを取る)が、QGIS 2.xでそれを行うにはどうすればよいですか?

更新されたドキュメントが見つかりません。

ベクターメニューで、osmサーバーからインポートしようとしましたが、.osmファイルを取得しましたが、スタックしています。XMLファイルをロードするためのメニューオプションはありますが、spatialite dbを生成します。spatialiteレイヤーとして追加しようとすると、明らかに非ジオメトリテーブルしかありません。属性テーブルを開くと、ノードID、ウェイなどが表示されますが、実際にそれらを使用する方法がわかりません。

また、.osm XMLファイルからベクターレイヤーを追加しようとしました。何も表示されないgpsbabelウィンドウが表示され、最終的にQGISで無効なデータソースメッセージが表示されます。


2
トム、私はQGISでOSMデータを取得するための段階的な手順を書きました。これが初心者にとって従うのが簡単であることを願っています。qgistutorials.com/en/docs/downloading_osm_data.html
spatialthoughts

適切なスタイルを(適切なセットアップ手順とともに)以下に示します。github.com / yannos / Beautiful_OSM_in_QGISこれは(Spatialiteではなく)PostGISを対象としています。
kontextify

このリンクは質問に回答するかもしれませんが、回答の重要な部分をここに含め、参照用のリンクを提供する方が良いでしょう。リンクされたページが変更されると、リンクのみの回答が無効になる可能性があります。- レビューから
-csk

回答:


40

QGIS 3.xの更新:QGIS 2からの古いOSMインポーターは、多くの未解決のバグのためにQGIS 3で削除されました。QuickOSMプラグインは、osm rawファイルの読み取りも可能にします。代わりに、ユーザーレイヤー-レイヤーの追加-ベクターレイヤーの追加を使用できます。その場合、OSMデータはhttp://gdal.org/drv_osm.htmlで文書化されているGDALで開かれます


ではQGIS 2.xでは、関連する3つのステップがあります。

  1. OSMファイルを取得し、josmまたはoverpassまたはその他のソースを使用して取得できます。有効なxmlである必要があります。qgis Vector> OpenStreetMap> Download OSM Dataメニューからダウンロードすることもできますが、結果が得られない場合があります。陸橋ターボを使用することをお勧めします
  2. Vector> OpenStreetMap> Import Topology from XML、これはあなたが言ったように、非幾何学テーブルを持つ空間データベースを作成します。これがトポロジーだと思います。
  3. 最後に、Vector> OpenStreetMap> Export Topology to Spatialiteでデータを取得できます。ここで、上記で作成したdbファイルを指定する必要があります。qgis1.8と同様に、ポイント、ライン、ポリゴン選択するオプションがあります。その下のエクスポートされたタグセクションでは、ファイルに含まれるすべてのタグをロードし、必要なタグのみを選択できます。これは1.8よりも追加の機能です。

レイヤーがマップに追加されます。すべてのノードが必要な場合は、他のオプションを使用して手順3を繰り返すことができます。

http://wiki.openstreetmap.org/wiki/QGIS#QGIS2_OpenStreetMap_Vectors


4
これは非常に複雑に感じますが、機能します。明確にするために、ステップ3の後、空間ライトレイヤーを追加し、作成したdbに接続し、ステップ3で作成したレイヤーを選択して最終的に結果を確認する必要があります。ご協力いただきありがとうございます!
ローランS

私にとって、レイヤーは自動的に作成および追加されました。データベースへの接続は、ステップ2で確立されました(チェックを外していない場合)。
AndreJ

15

プラグインを使用してOSMデータをダウンロードし、インポートおよびエクスポートモーションを実行するのは非常に面倒です。そのため、別のソリューションを作成しました:http : //anitagraser.com/2014/05/31/a-guide-to-googlemaps-like-maps-with-osm-in-qgis/

概要:

未加工のOSMファイルは非常に大きくなる場合があります。そのため、XML .osm形式ではなく、圧縮されたバイナリ.pbf形式をダウンロードすることが間違いなく推奨されます。ダウンロードソースとして、Geofabrikをお勧めします

最初の前処理ステップである関心領域の抽出では、Osmosisを使用できます。

C:\Users\anita_000\Geodata\OSM_Noirmoutier>..\bin\osmosis.bat --read-pbf pays-de-la-loire-latest.osm.pbf --bounding-box left=-2.59 bottom=46.58 right=-1.44 top=47.07 --write-xml noirmoutier.osm

QGISは.osmファイルもロードできますが、.osmファイルをspatialiteに変換すると、パフォーマンスと属性へのアクセスが大幅に改善されることがわかりました。

C:\Users\anita_000\Geodata\OSM_Noirmoutier>ogr2ogr -f "SQLite" -dsco SPATIALITE=YES noirmoutier.db noirmoutier.osm

QGISでは、Add SpatiaLite Layerを使用してポイント、ライン、マルチポリゴンをロードできます。spatialiteテーブルを読み込むとき、いくつかの問題があります。

  • 陸地ポリゴンはありません。代わりに、「海岸線」ラインフィーチャがあります。
  • ほとんどの河川ポリゴンが欠落しています。代わりに、「リバーバンク」ラインフィーチャがあります。

不足している河川ポリゴンを作成することは大したことではありません。

  1. waterway = riverbankであるすべての行を選択します。
  2. 処理ツールボックスの[ポリゴン化]ツールを使用して、選択した川岸線で囲まれた領域からポリゴンを自動的に作成します。(デフォルトで処理は選択した機能でのみ動作しますが、この設定は処理設定で変更できます。)

陸地ポリゴン(または何らかの理由でそれを好む場合は海のポリゴン)を作成することは、ほとんどの場合海岸線が閉じられないため、主な大陸から土地を切り取ることが多いという単純な理由から、もう少し複雑です。したがって、ポリゴン化ツールを使用する前に、領域を閉じる必要があります。そのためには、まず「other_tags」LIKE '% "natural" => "coastline"%'を使用して海岸線を選択し、この選択から新しいレイヤーを作成して(選択を保存...)、編集することをお勧めします(忘れないでください)スナップを有効にするには!)線を追加して領域を閉じます。次に、ポリゴン化します。


かなり信頼性の高いコンピューターを実行していて、次の氷河期の前にogr2ogrステージを完了したい場合は、を追加し--config OGR_SQLITE_SYNCHRONOUS OFFます。
スクラブ14年

6

プラグインが気に入らない場合は、Overpass APIで必要なOSMデータを取得し、結果をQGISに追加しますAdd Vector Layer(有効化All filesフィルター)。

QGIS 2.0は、GDAL 1.10のogr2ogr OSMインポーターを使用します。

関係のサポートは、現在プラグインよりも優れているようです。

ウェイとリレーションを完全にダウンロードすることを確認してください。つまり、ウェイのすべてのノードと、リレーションのすべてのメンバーと、すべてのノードです。


4

ご存知のように、SpatialLiteにデータを配置する必要ありません。次のことができます。

  1. データをダウンロードします(ベクター> OpenStreetMap>データのダウンロード、.osmファイルを作成)
  2. データ(.osmファイル)をベクターレイヤーとして読み込みます(レイヤー>ベクターレイヤーの追加)。ファイルを選択すると、追加するレイヤーを尋ねられます(GDALは、タイプごとに個別のファイルを作成するため、ポイント、ライン、マルチライン、マルチポリゴン、GeomCollection)。必要なものを選択してロードします。

これは何らかの方法で機能しますが、タグに基づいてレイヤーを分離するようには見えません。したがって、基本的に道路と川は同じLineレイヤーに配置されますが、結果のデータに対して分析を実行する場合はあまり役に立ちません。
ローランS 14

インポートされたデータをどのように使用していたかは、質問から明らかではありませんでした。もちろん、QGIS内のデータから必要な機能を選択できます。上記のように、特定のデータだけが必要であることがわかっている場合(そして、それが大きすぎる領域にない場合)、Overpassを使用したデータのダウンロードは、特定の機能だけを事前に選択できるため、おそらくより良いでしょう。Overpass Turboは、クエリを開発するための使いやすい方法であると思います。ここでは境界ボックス内のすべての高速道路の例を示します。overpass-turbo.eu/s/2VX
neuhausr
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.