おとは 様
こんにちは
ちょっと時間が取れましたので、私ならどうするかと考えて、試してみました。
そして試した過程を含めてお伝えすると、今後に役に立つこともあるかと思いますので、今回は実況中継風の投稿にしてみました。
ちょっと煩わしく感じるかもしれませんが、なにとぞご容赦ください。
さて最初の発想です。
プロセッシングツールにGDALがあることを記憶していましたので、これを使ってバッチ処理すると何とかなるのではないかと思いました。
プロセッシングツールの「GDAL - ベクタ変換 - フォーマット変換(gdal_translate)」を立ち上げます。

バッチ処理に入る前に、まずは単独処理で「入力レイヤ」と「出力レイヤ」を設定して「GDAL/OGRコンソール」の記述を確認します。

ふむふむ。コマンドは「ogr2ogr」を使っていて、出力で拡張子を「csv」にしている関係で「-f "CSV"」というオプションが自動で設定されています。
まずは単独で処理してみましょう。
なるほど、属性テーブルがそのままCSVファイルになっている感じですね。私なら座標データのフィールドを欲しいと思います。
それでは座標をCSVに付与するオプションを付ける方針で行きましょう。
「ogr2ogr」をググって説明をみてみます。
GDAL documentation ≫ Programs ≫ ogr2ogr
https://gdal.org/programs/ogr2ogr.htmlむむむ、これはいけません。Google翻訳大先生の力を借りても、どのようなオプションを設定して良いのかわかりません。
それではキーワードを「shape to csv ogr2ogr」にしてググってみましょう。
検索のトップに出てきたものを拝見。
ogr2ogr 備忘録
https://qiita.com/tohka383/items/d3d1bf80db2cfb416330これは、わかりやすいです。
投稿者は「tohka383」さんですと!!
いつもお世話になっております。 ありがとうございます。m(__)m ありがとうございますm(__)m
「-lco GEOMETRY=AS_WKT」を追加することでいけそうです。
さきほどのダイアログの下にある「バッチプロセスで実行」ボタンをクリックします。
オプションを追加するフィールドがないので、歯車の形をしたアイコンをクリックして追加オプションのフィールドを追加します。

入力レイヤでは「ファイル選択」で、ファイルを指定します。
※QGISのレイヤにShapeファイルは読み込んでいません。読み込まないほうが、後の出力パスの式が簡素な記述で済むと思います。

追加オプションでは「式による計算」を選んで、式ウインドウに「'-lco GEOMETRY=AS_WKT'」と入力して「OK」ボタンをクリックします。


出力レイヤでも「式による計算」を選びます。式ウインドウに「replace( @INPUT ,'.shp' ,'.csv' )」と入力して「OK」ボタンをクリックします。
なお、これはShapeファイルと同じフォルダに出力する式となっていますので、状況に応じて、適宜、修正してください。

設定後のダイアログの状況は、ざっとこんな感じです。これで実行します。

結果をみると良好だと思います。
必要に応じて他のオプション(-lco SEPARATOR=、-lco CREATE_CSVT=など)を追加したり、「-lco GEOMETRY=AS_WKT」を「-lco GEOMETRY=AS_XY」などにすると良いと思います。
2022年5月24日火曜日 13:07:52 UTC+9 おとは: