dissolve(融合)ができません。

1,506 views
Skip to first unread message

ika.to....@gmail.com

unread,
Aug 29, 2018, 8:07:53 AM8/29/18
to QGIS初心者質問グループ
特定の市町村のみをdisslve(融合)したいのですが、

[Errno 9] Bad file descriptor See log for more details

という表示が出て融合できません。


ユニークIDフィールドには複数のフィールドが表示されていますが、
どれを選択しても同様の表示がでます。



バージョンは2.16を使用しております。

福岡

unread,
Aug 30, 2018, 12:34:41 AM8/30/18
to QGIS初心者質問グループ
こんにちは

まずは最初に、既にご覧かもしれませんが、参考サイトの紹介です。

na-mii.com 波江彰彦のウェブサイト [NA-GIS94]同じ属性値をもつフィーチャを融合(ディゾルブ)

QGIS入門 05.ベクタデータの操作? > 09.いくつかの地物をまとめて一つの地物にする

森林土木memo 【QGIS】シェープファイルの結合(融合)が出来ない!という場合

もし、ダウンロードが可能な公開されているデータから市町村毎に融合する作業を行っているのでしたら、そのデータ名についても掲載した方が良いと思います。
同じ作業をしてその結果を検証したり、うまく行った場合には作業手順を具体的に投稿してもらうことができると思います。

福岡

unread,
Aug 31, 2018, 4:30:59 AM8/31/18
to QGIS初心者質問グループ
こんにちは

属性テーブルでは、市区町村コードなどを使って整理されているフィールドはありますでしょうか?
もしあるのであれば、「ベクタ - 空間演算ツール - Dissolve」でダイアログを呼び出し、そのフィールドを使って融合するように設定すれば良いはずだと思います。

次に「特定の市町村のみ」の融合ということに対する対処方法ですが、融合する前のShapeから「特定の市町村」を削除し、融合後のShapeでは「特定の市町村」以外を削除し、これら2つのShapeを結合して1つのShapeにすると良いと思います。
2.16は使ったことが無いのですが、「ベクタ - データマネジメントツール」の中に統合するためのツールがあるはずです。
2.14では「複数のシェープファイルを1つに結合する」。2.18では「ベクタレイヤの結合」が結合するためのツールでした。

この方法で国土数値情報から行政区域のデータをダウンロードして試してみましたが、特に問題なく作業できました。
元データがどのようなものかわからないため、的を射た投稿になっているかわかりませんが、何らかのヒントになれば幸いです。m(__)m

ika.to....@gmail.com

unread,
Aug 31, 2018, 5:08:52 AM8/31/18
to QGIS初心者質問グループ
福岡様

 早速の返信ありがとうございます。
 たくさんの情報だけでなく試行までした抱いて感謝しております。


 現在まだ作業できる余裕がないため、アドバイスいただいた方法を試しておりません。
 まずはお礼を申し上げます。

 ちなみに私も国土数値情報から行政区域のデータを利用しております。
 
 作業が完了しましたら改めて報告させていただきます。

sakuya_izayoi

unread,
Sep 3, 2018, 12:47:34 AM9/3/18
to QGIS初心者質問グループ
こんにちは。
こちらsakuya_izayoiのizayoiです。
投稿者様と同じ、2.16もしようするユーザーとして愛知県の行政区域で実施してみました。とりあえず、めちゃくちゃ時間がかかった挙句、QGISがクラッシュしてしまいました。

そして、QGISに読み込ませて、おや?と思ったところが過去にあったので記載します。
JGD:2011の緯度経度座標系でで配布されているデータなのですが、QGISでは、読み込んだ時に座標系がEPSG:4019となってしまっております。本来のJGD2011の緯度経度座標系は下記に添付した図のようにEPSG:6668となります。
ところがQGIS2.16.3ではEPSG:6668というものは存在しておりません。(自分の環境だけ?)

よって、私の場合は結果的に、2.16シリーズでJGD2011、特に緯度経度形式の配布ファイルを加工するのはまずいのではないかとも思っており、緯度経度座標系を扱う場合には2.14、2.18、3.2の最新版を使うようにしております。




なお、2.18.23を使用してNo.03_001(フィールド名愛知県)で融合した結果図を添付します。

福岡

unread,
Sep 3, 2018, 3:36:57 AM9/3/18
to QGIS初心者質問グループ
こんにちは

「EPSG:4019」ですが、準拠楕円体がGRS80で、CRSが未知のデータに適用されるようです。

これは、ArcGISで作成したJGD2011のShapeをQGISでうまく認識してくれない、という以前あったTJさんの投稿とも関連があるようです。

QGIS 3.2 でJGD2011認識してくれない

この情報を併せて考えると、国土数値情報で提供されているprjファイルは、QGISでは正しく読み取ることのできない記述形式になっているのだと現在は思っています。
準拠楕円体は正しいので、バージョンが2.18以前の場合は「ベクタ - データマネジメントツール - 現在の投影法の定義」、3.0以降の場合はプロセッシングツールの「ベクタ一般 - レイヤ投影法の定義」を使って、定義し直すことで対処できそうです。

ところで、3.2.2を使って愛知県のディゾルブについて所要時間を計ってみました。使ったPCはコアi3、メモリ4GBの非力な古いノートパソコンです。
このパソコンでも愛知県全体を1つに統合で7分位、市町村別に統合で2分位で統合できました。
2.16でめちゃくちゃ時間が掛かるのでしたら、izayoiさんがおっしゃるように別バージョンを使用する方が良さそうです。

sakuya_izayoi

unread,
Sep 5, 2018, 1:42:04 AM9/5/18
to QGIS初心者質問グループ
投稿者さま
福岡さま
こちらizayoiです。
今回の座標系エラーに関しては、TJさまの投稿内容と完全に一致ですね。
QGIS以外で作成した、JGD2011の「緯度経度座標系」の場合に読み込んでくれない場合が多いかなと感じています(平面直角座標系ならばArcGISでつくったものも読み込んでくれる場合もある)。

福岡さまの定義方法の修正方法はいいですね。私はいつも新規ファイルとして座標系を指定して保存しておりました。バージョン管理しなくても問題ないファイルの場合、ファイルが増えないので分かりやすい。

少なくとも、私の環境下でのQGIS2.16.3にはJGD2011(EPSG:6668)の緯度経度座標系がはなかったので、私の場合は、この座標系のファイルの場合にはQGIS2.16を使ってはいけないと判断しております。
平面直角座標系に関してはQGIS2.16にも2011シリーズがあるのですが・・・。何故だ?

愛知県全体を実行した場合、Core i5のメモリ8GBデスクトップで愛知県全体で10分以上計算したのちにクラッシュレポート、市町村別統合でも同様。環境にもよるので何とも言えませんが
QGIS2.16でディソルブはちょっと不安定なところもあるので、バージョンを変えて実行をおすすめします。

ika.to....@gmail.com

unread,
Sep 29, 2018, 3:20:07 AM9/29/18
to QGIS初心者質問グループ
福岡さま
izayoiさま

返信が遅くなり申し訳ありませんでした。

アドバイスをいただいた通りバージョンを2.16から2.18に変更したところ解決いたしました。

いろいろと移行錯誤してくださりありがとうございました。

このような形で質問をさせていただくのは初めてで不安でしたが、親切に回答していただき勉強になりました。 
Reply all
Reply to author
Forward
0 new messages