属性テーブル項目名

423 views
Skip to first unread message

藤本一善

unread,
Dec 6, 2021, 1:15:22 AM12/6/21
to QGIS初心者質問グループ
QGIS初心者です。
エクセルで内容を編集し、DBFファイルに保存すると、QGISの属性テーブルでは項目名が消え、N_のように表示されます。項目名を残すにはどうしたらいいのでしょうか?
ご教示いただきますようお願いいたします。

福岡

unread,
Dec 6, 2021, 1:55:43 AM12/6/21
to QGIS初心者質問グループ
こんにちは

ExcelはDBFファイルの閲覧はできますが、保存は非対応になったものだと記憶していました。
ですので、Excelを使っての編集は避けた方がよろしいかと思います。
ただ属性テーブル内のデータが無事残っていて項目名だけの修正で済むのであれば、プロセッシングツールの「ベクタテーブル - 属性のリファクタリング」を使って修正できますので、お試しください。

なお、どうしても表計算ソフトで編集したければ、「LibreOffice」の「Calc」は保存に対応していたように思いますので、こちらをお使いになった方が良いと思います。
しかしながら表計算ソフトでの編集はファイルを壊しやすいので、相当に慎重に操作するする必要があります。
できればフィールド計算機での数値処理やテーブル結合などの機能をお使いになることをお勧めします。

追伸
テーブル結合についてYoutubeに解説がありますので、ご紹介いたします。お手すきの時にでもご覧くだされば幸いです。

QGISオンラインセミナー  csvの情報を属性テーブルに結合
2021年12月6日月曜日 15:15:22 UTC+9 infoacc...@gmail.com:

Kojiro Nakamura

unread,
Dec 6, 2021, 8:35:17 AM12/6/21
to QGIS初心者質問グループ
こんばんは
 エクセルの古いバージョンではDBFの編集・保存をできたのですが、最近のバージョンはDBF非対応です。
 エクセルで手軽にDBFを編集できたというのがShapeの利点だったのに残念です。
 エクセルの最大行数以上のデータは編集できませんが、よろしければ拙作「DBFファイルをエクセルで編集(64bitエクセル対応)」を試してみてください。↓
 Shift_JISとUTF-8の選択を間違えなければ項目名が正しく保存されると思います。
2021年12月6日月曜日 15:55:43 UTC+9 福岡:

藤本一善

unread,
Dec 6, 2021, 9:59:28 AM12/6/21
to QGIS初心者質問グループ
ありがとうございます。DBFファイルへの返還を  LibreOfficeでやっております。
ご教示いただきましたこと試してみます。

2021年12月6日月曜日 15:55:43 UTC+9 福岡:
こんにちは

藤本一善

unread,
Dec 7, 2021, 1:13:38 AM12/7/21
to QGIS初心者質問グループ

  属性のリファクタリングで項目名を手入力しておりますが
項目が多く、途中で突然QGISが終了してしまい、一からやり直しの状態です。
何か対策ないでしょうか。
 また、テンプレートを使ってみましたが項目名だけのレイヤができます。
これを使った編集方法ありますでしょうか。
ご教示いただきますようお願いいたします。
2021年12月6日月曜日 15:55:43 UTC+9 福岡:
こんにちは

福岡

unread,
Dec 7, 2021, 3:27:23 AM12/7/21
to QGIS初心者質問グループ
こんにちは

フィールド計算機はお使いになったことはありますでしょうか?

項目名、データ型を設定します(整数、実数、文字など適切なものを設定してください)。
式には「フィールドと値」を展開して、フィールド名をダブルクリックしてください。
自動的にフィールド名を「"」で囲ったものが、式ウィンドウに入力されます。

fig.png

これで実行すると、正しい項目名で値を含んだフィールドが追加されます。
自動的に編集モードになっていますので、編集モードを終了させてShapeファイルを保存します。

この方法だと手間が掛かりますが、フィールドを1つ1つコピーするような作業ですので、全部やり直しということは無いと思います。
最後に不要となったフィールドをファイヤのプロパティの「属性」タブで削除します。

2021年12月7日火曜日 15:13:38 UTC+9 infoacc...@gmail.com:

ありた

unread,
Dec 7, 2021, 7:52:42 AM12/7/21
to QGIS初心者質問グループ
こんにちは

地物数が多い場合(500以上くらい)だと取り回しが面倒かもしれませんが、地物の
ジオメトリ情報も含んだ GeoCSV として扱う方法もあります。
Shapefile と異なりファイル内に位置情報があるため、行の順番の変更も可能です。

1. エクセルで新規ファイルを開き、 Ctrl+A で全セルを選択したのちセル書式を「文字列」に
2. QGIS で対象レイヤの属性テーブルを開き、 Ctrl+A で全地物を選択し Ctrl+C でコピー
3. エクセルに貼り付け
4. エクセルで適宜編集
5. エクセルで「タブ区切りテキスト (.txt)」形式で保存
6. 各列の型定義ファイルを作成する(詳細後述)
7. QGIS の「CSV テキストレイヤを追加」からテキストファイルを読み込む
 この際、ファイル形式は「カスタム区切り」で「タブ」を選択
 ジオメトリの CRS (座標系)は正しく(座標値が意図するとおりに)設定する
8. QGIS 上で処理やレイヤの編集を行う場合は GeoPackage などの形式に変換保存する

※ 3. で貼り付けた際に、 A 列目に Point や LineString や MultiPolygon などからはじまる
 地物の位置情報がない場合(1列目がそのまま1列目になる場合)は QGIS の設定→
 オプション→データソース→地物のコピーを「プレーンテキスト( WKT ジオメトリ)」を
 選択して、再度コピー、貼り付けを行ってください。



QGIS に読み込む際に、各列のデータ形式を指定するために CSVT 形式のファイルを
作成します。もし、テキストファイルが gis_data.txt の場合は gis_data.csvt
いう名前で保存してください。
CSVT ファイルは、各列順に WKT (ジオメトリ; A 列)、 String (文字列)、
Integer (整数)、 Real (実数)などをカンマ区切りで(タブ区切りではない)
1行で記述します。

たとえば、「位置情報、 ID 、名称、住所、面積」という列ならば次のようなファイルです。
WKT,Integer,String,String,Real

列が増えたり、順番が変わらないのであれば、一度作った CSVT ファイルを使い続けても
構いません。(テキストファイルと名前が一致しているならば)

藤本一善

unread,
Dec 7, 2021, 12:08:33 PM12/7/21
to QGIS初心者質問グループ
皆さんありがとうございます。
新たにレイヤで小班を選択すると全く違う字名を表示する問題が発生しました。
役所からもらった森林簿も作業中に誤って上書きしたため森林簿を再請求したうえで一から作業してみます。
長期戦で取り組んでいきますので今後ともよろしくお願いいたします。
ありがとうございました。

2021年12月7日火曜日 21:52:42 UTC+9 ありた:
Reply all
Reply to author
Forward
0 new messages