地域の地図全体をダウンロードしたくありません。QGISで使用できるように、河川やその他の水域がシェープファイルの領域に存在するようにします。私はgeofabrikを試しましたが、都市のデータが必要な間、地図全体と国全体の地図を提供しています。今、私はJOSMを試しています。動作するときに更新されます。
地域の地図全体をダウンロードしたくありません。QGISで使用できるように、河川やその他の水域がシェープファイルの領域に存在するようにします。私はgeofabrikを試しましたが、都市のデータが必要な間、地図全体と国全体の地図を提供しています。今、私はJOSMを試しています。動作するときに更新されます。
回答:
Overpass Turbo APIを使用してください!
まず、openstreetmap.orgにアクセスします。
あなたはどちらか
1)目的の機能を検索します。デンバーを流れる「南プラッテ川」を選びました。これにより、OSMがデータを保存するために使用するフィールドとタグが提供されます。
2)目的の機能のタグと値を特定する
Map data
またはあなたの言語に似たもの)をクリックします次に、Overpass Turboページに進み、ウィザードをクリックします
情報を使用すると、名前の値はSouth Platte River、水路の値はriverなので、次のようなクエリを作成できます。
name="South Platte River" and waterway=river
次に、「クエリをビルドして実行」をクリックします
クエリが実行され、結果がマップに表示されます。
次に、「エクスポート」オプションをクリックします。
geoJSONオプションが好き
「保存」をクリックします
QGISでファイルを開くと、すぐに移動できます!
「名前を付けて保存」を実行して、新しいタイプのベクターレイヤーとして保存できます...
この場合、waterway=river
クエリを使用して、目的のエリアのすべての川を取得することもできます。また、手動選択ボックスを描画して、地理を絞り込むことができます。
@underdarkはこれを見せてくれました。
QGISの新しいQuickOSMプラグインは、Overpass APIを使用するための素晴らしいGUIを提供します。必要なキーと値のペアを指定できます。また、場所によってフィルタリングするユーザーフレンドリな方法も提供します。バウンディングボックス、またはオーストリア国境内のフィーチャに「オーストリア」などの地域名を指定することもできます。
OSMデータをバウンディングボックスおよび属性によってGDALでフィルタリングし、GDALでサポートされている任意のベクター形式に結果を直接保存できます。GDALバージョン1.10以降をインストールし、OSMドライバーのマニュアルページhttp://www.gdal.org/drv_osm.htmlおよびogr2ogr http://gdal.org/ogr2ogr.htmlを読んでください。川と湖でのこのタスクはデフォルト設定で実行できますが、多くの場合、最初にosmconf.iniファイルを編集する必要があります。
河川はOSMデータからタグ「waterway = river」で見つけることができ、GDALはそれらをレイヤー「ライン」に保存します。「natural = water」で見つけた湖は、レイヤー「multipolygons」に移動します。シェープファイルを作成することが目的の場合、河川と湖を別のファイルに保存する必要があります。ラインとポリゴンは同じシェープファイルに保存できないためです。
以下の例では、geofabrikのindia-latest.osm.pbfファイルを使用しています。使用する基本的なコマンド:
ogr2ogr -f "ESRI Shapefile" -spat 76 22 77 23 -sql "select * from lines where waterway='river'" rivers.shp india-latest.osm.pbf --config ogr_interleaved_reading yes
ogr2ogr -f "ESRI Shapefile" -spat 76 22 77 23 -sql "select * from multipolygons where natural='water'" lakes.shp india-latest.osm.pbf --config ogr_interleaved_reading yes
EPSG:4326単位の-spatパラメーターに独自のBBOXを配置します。
Ogr2ogrは柔軟であり、多くのオプションがあります。マニュアルページを注意深く読んでください。