Re: QGISのGRASS機能について

711 views
Skip to first unread message
Message has been deleted

岩佐嘉久

unread,
Nov 14, 2022, 2:31:05 AM11/14/22
to QGIS初心者質問グループ
windowsならばすぐに思いつくのは以下のような感じかと。
1.データ関係のファイルはc:¥に半角のみでフォルダ名作成
2.Grass実行時に管理者モードで起動

あとはエラーメッセージの内容を記載すればもう少し具体的なアドバイスが期待できるかと思います。

いわさ@愛媛

2022年11月14日月曜日 16:15:11 UTC+9 GuLaNak 22:
いつもお世話になっております。

私はGRASS機能のv.set.distance機能を用いて、
点から避難施設位置への最短経路探索を行い、
避難者の割り当てを行いたいのですが、
エラーでUnicodeDecodeError: 'cp932' codec can't decode byte 0x84 
in position 35: illegal multibyte sequenceと出てしまい、これは文字コードの
違いによるエラーとはわかるのですが、これは用いているレイヤのデータの
文字コードをshift-JISにしなければいけないという認識でよろしいでしょうか?
それともパスに全角文字が含まれてはいけないという認識でしょうか?
私はユーザーフォルダ名に全角文字とスペースが使われておりますが、
違うアカウントでユーザー名に半角しか用いていないアカウントでも
同様のエラーが発生してしまいます。

もしなにか解決策があればお願いします。
これ以外に必要な情報があればお願いします。
初めての質問で、ご迷惑をおかけします
QGISのバージョン:3.22.10
OS:Windows 10

Message has been deleted

GuLaNak 22

unread,
Nov 14, 2022, 3:01:06 AM11/14/22
to QGIS初心者質問グループ

返信ありがとうございます。
エラーメッセージ

Traceback (most recent call last):
File "C:\PROGRA~1/QGIS32~1.10/apps/qgis-ltr/./python/plugins\grassprovider\Grass7Algorithm.py", line 433, in processAlgorithm
Grass7Utils.executeGrass(self.commands, feedback, self.outputCommands)
File "C:\PROGRA~1/QGIS32~1.10/apps/qgis-ltr/./python/plugins\grassprovider\Grass7Utils.py", line 397, in executeGrass
for line in iter(proc.stdout.readline, ''):


UnicodeDecodeError: 'cp932' codec can't decode byte 0x84 in position 35: illegal multibyte sequence

Execution failed after 0.62 秒(seconds)


出力レイヤの読み込み

次のレイヤは正しく生成されませんでした。
• C:/Users/○○ ○○/AppData/Local/Temp/processing_odreTI/38bad66d5c174a9295bf22b9d4ad8c6a/output.gpkg
QGISメインウィンドウの"ログメッセージパネル"をチェックすると、アルゴリズムの実行に関する詳細情報が表示されます。

○○ ○○は本名が 苗字 名前と入っています。やはりそこが問題でしょうか。

2022年11月14日月曜日 16:31:05 UTC+9 yosh...@gmail.com:

yoichi...@gmail.com

unread,
Nov 14, 2022, 3:23:15 AM11/14/22
to QGIS初心者質問グループ
嘉山と申します

(ご本人には重複返信してしまったかもしれません)
このエラーは以前も報告されていて GRASSのコマンドをQGISのPythonの子プロセスとして
動かしてみて、その時の出力結果文字列をPythonプログラム内で取り込んで解釈しようとしたら
デコードできなかったという話だったと思います。

データやら実行環境やらをいろいろ変えてもうまくいかなかったです。

エラーの修正はむつかしそうなので 単体のGRASSで同じデータに対して処理を行ったらうまくいった
という話が以前はありました。
去年の今頃の話題になってました。

Windowsでの問題でMacやLinuxではうまくいくみたいな話だったかな

ワールドワイド言語サポートでUnicode UTF-8を使用   とい設定にすると 警告: マップセットの平行ロックはウィンドウズではサポートされていません。  が出るという感じだったかな。

早い解決策はコマンドラインのGRASSで処理してみるのがいいみたいです。

2022年11月14日月曜日 17:01:06 UTC+9 GuLaNak 22:

mooya

unread,
Nov 14, 2022, 10:09:32 PM11/14/22
to QGIS初心者質問グループ
こんにちは

 3.16のexe版をインストールして、with Grassのショートカットで起動すると使えると思います。この場合も多バイト文字は使えません。

本家にもissueが上がっますが、なかなか、、

2022年11月14日月曜日 17:23:15 UTC+9 yoichi...@gmail.com:

mooya

unread,
Nov 17, 2022, 5:38:54 AM11/17/22
to QGIS初心者質問グループ
こんにちは

メールを直接いただきました。

———
GuLaNak 22
細かいところまでありがとうございます!!
今、使っているアカウントはユーザー名に
全角文字が入っているので、その場合は新しく
アカウントを作り直したほうがやはり早いですか??
———

 たぶん、そうだと思います。



2022年11月15日火曜日 12:09:32 UTC+9 mooya:
Reply all
Reply to author
Forward
0 new messages