フィールドのリファクタリングについて

1,246 views
Skip to first unread message

sakuya_izayoi

unread,
Aug 10, 2018, 1:15:01 AM8/10/18
to QGIS初心者質問グループ
こちらizayoiです。お世話になります。
QGIS3.2.1でのフィールドのリファクタリングについての質問です。
フィールドのリファクタリングを実行した時に
Traceback (most recent call last):
File "C:/PROGRA~1/QGIS3~1.2/apps/qgis/./python/plugins\processing\algs\qgis\FieldsMapper.py", line 129, in processAlgorithm
return super().processAlgorithm(parameters, context, feeback)
_core.QgsProcessingException: 地物(59972)に無効なジオメトリがあります。ジオメトリを修正するか、処理設定を[無効な入力地物を無視する]オプションに変更してください。

実行は19.76秒後に失敗しました」


というエラーが発生しました。対処方法に処理設定を[無効な入力地物を無視する]オプションに変更

という方法があります。このオプションはどこで設定できるのでしょうか?

ご存知の方がお見えでしたら教えて頂けると嬉しいです。

sakuya_izayoi

unread,
Aug 10, 2018, 1:45:53 AM8/10/18
to QGIS初心者質問グループ
途中で送ってしまいました。

QGIS3.2.1でのリファクタリングは諦め、QGIS2.18.20でフィールドのリファクタリングをすると一応は実行されたのですが、なぜだか重複する地物が作られるという奇怪な現象が発生しました。
もともとのシェープファイルには重複している地物がない事を確認していますので、リファクタリング時に発生しているようです。
もしかしたらファイル内の図形の問題なのかなと思い、一部分を切り出して実行した場合にはうまくいきました。
ファイルのデータベースが多い場合や図形の多い場合に発生してしまうバグのようなものでしょうか?同じような経験をしている方はお見えになりませんでしょうか?

今回エラーを起こしたファイルを送付できればいいのですが、業務ファイルのため送付することが出来ません。
属性データに254文字の文字幅を設けてある無駄なフィールドがたくさんあるため、ファイルが重たすぎます。それを解消すべくリファクタリングによって文字幅を10とかにしたかったのですが今回は原因が分かるまでちょっと触れない。

TJ

unread,
Aug 10, 2018, 2:10:21 AM8/10/18
to QGIS初心者質問グループ
izayoi様

エラーメッセージのご提示のように、データにジオメトリエラーの可能性があると考えられます。同じくジオメトリ重複の原因の可能性もあります。ジオメトリ修復ツールで修復してから再度試してみてください。

sakuya_izayoi

unread,
Aug 10, 2018, 2:52:57 AM8/10/18
to QGIS初心者質問グループ
TJさま
こちらizayoiです。ジオメトリ修復ツールを使用してからの物はうまくいきました。
ご助言ありがとうございます。
・・・QGIS2.X系は無理やりにでもリファクタリングしてくれちゃうってのは結構怖いな。QGIS3.X系になってエラーがあって走らないよという警告は良いものですね。

ありた

unread,
Aug 11, 2018, 10:51:37 AM8/11/18
to QGIS初心者質問グループ
izayoi さん、こんにちは

オプションに関してですが、メニューバーの [設定] → [オプション] → [プロセッシング] →
[一般情報] → [無効な地物のフィルタリング] で設定できると思います。

右側に表示されている、 [ジオメトリが無効な場合にアルゴリズムの実行を停止する] を
ダブルクリックするとプルダウン可能となりますので、適宜、設定してください。

TJ

unread,
Aug 11, 2018, 11:18:45 AM8/11/18
to QGIS初心者質問グループ
ありた様

情報ありがとうございます。このオプションは私も知らなかったので、勉強になりました。

sakuya_izayoi

unread,
Aug 11, 2018, 11:45:58 AM8/11/18
to QGIS初心者質問グループ
ありた さま
こちらizayoiです。
設定場所を教えていただきありがとうございます。
適宜活用できるようになりました。
これからもよろしくお願いします。

Reply all
Reply to author
Forward
0 new messages