はじめに
-
先日とあるデータをQGISでディゾルブかけようと思ったら、データの作りが良くないのか、うまくできなかったため、ogr2ogrでやってみたのでそのメモです。
-
ogr2ogrというものもそもそもほぼ初めて扱うので、よくわかってないが、形式変換や座標変換などなんでもできる万能な機能のイメージ
-
基本的な使い方は@tohka383さんのこちらを参照ください(ogr2ogr 備忘録)
-
ogr2ogrはQGISをインストールしていれば、プログラムからQGISのフォルダに入っているOSGeo4W Shellでなんの手間もなく使うことができます。
基本形
ogr2ogr -f GeoJSON output.geojson aaaa.shp
という風に
ogr2ogr -f 出力形式 出力データセット 入力データセット [入力レイヤ]
という形で指定する。
ディゾルブ
ディゾルブする際はこう書く
全てのジオメトリをディゾルブする
ogr2ogr output.shp aaaa.shp -dialect sqlite -sql "SELECT ST_Union(geometry) FROM aaaa"
フィールドを使ってディゾルブする
ogr2ogr output.shp aaaa.shp -dialect sqlite -sql "SELECT ST_Union(geometry) FROM aaaa GROUP BY dissolve_field"
-
dissolve_field
のところにディゾルブに使うカラム名を指定するといい。
結果
ディゾルブ前
ディゾルブ後
ちゃんとディゾルブされました。
ディゾルブ後の属性の値がIDのみになってるのはパラメータが足りないんですかね。。精進します。
追記
コメントいただきましたとおり
で実行したら無事属性も維持してディゾルブできました。
ありがとうございます!!!