2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ogr2ogrでディゾルブ

Last updated at Posted at 2020-12-29

はじめに

  • 先日とあるデータをQGISでディゾルブかけようと思ったら、データの作りが良くないのか、うまくできなかったため、ogr2ogrでやってみたのでそのメモです。

  • ogr2ogrというものもそもそもほぼ初めて扱うので、よくわかってないが、形式変換や座標変換などなんでもできる万能な機能のイメージ

  • 基本的な使い方は@tohka383さんのこちらを参照ください(ogr2ogr 備忘録)

  • ogr2ogrはQGISをインストールしていれば、プログラムからQGISのフォルダに入っているOSGeo4W Shellでなんの手間もなく使うことができます。
    image.png

基本形

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のところにディゾルブに使うカラム名を指定するといい。

結果

ディゾルブ前

  • A40_003カラムでディゾルブします。
    image.png

ディゾルブ後

image.png

ちゃんとディゾルブされました。
ディゾルブ後の属性の値がIDのみになってるのはパラメータが足りないんですかね。。精進します。

追記

コメントいただきましたとおり

ogr2ogr output.shp aaaa.shp -dialect sqlite -sql "SELECT ST_Union(geometry),A40_001, A40_002, A40_003 FROM aaaa GROUP BY A40_003"

で実行したら無事属性も維持してディゾルブできました。
ありがとうございます!!!

2
1
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?