属性テーブルの結合ができない。

1,021 views
Skip to first unread message

みならい

unread,
Aug 28, 2023, 4:59:32 AM8/28/23
to QGIS初心者質問グループ

こんばんは。和歌山県が公開しているGISデータ(https://www.pref.wakayama.lg.jp/prefg/011400/bousai/gisdata.html)の避難場所(緊急避難先)について、属性テーブルの結合ができずに困っています。

このデータをダウンロードすると、シェイプファイルと、Excelのデータを入手できます。

シェイプファイル側の属性テーブルにはSHAPE IDという名称のフィールドのみがあります。

ExcelのデータにもSHAPE IDという名称のセルがあります。

 両者のSHAPE IDについてなのですが、シェイプファイル側のものは数頭に00がついており、 Excel側のものと文頭が異なっています。(例 005001195と5001195)

 この二つのファイルの属性テーブルを結合する方法はありますか??

みならい

unread,
Aug 28, 2023, 5:05:46 AM8/28/23
to QGIS初心者質問グループ
リンクが正しく添付できていませんでした ( https://www.pref.wakayama.lg.jp/prefg/011400/bousai/gisdata.html )

2023年8月28日月曜日 17:59:32 UTC+9 みならい:

木谷

unread,
Aug 28, 2023, 7:18:22 AM8/28/23
to QGIS初心者質問グループ
まず、質問されている方法での解決策です。
----
①Excelに結合用の列を追加する
先頭に”00”を付けるので、文字列として認識されるようにアポストロフィを頭に入れるのを忘れないように
列の追加→列の見出しを「J_ID」とかに設定→その下に「="'00"&B2」のように、頭に00がつくように数式を設定しオートフィル→その列をキーにして結合

----
②シェープファイルの属性テーブル側で結合フィールドを用意する
読み込んだシェープファイルの属性テーブルを開き、「フィールド計算機」で「新規フィールドを作成」で「J_ID」など適当な名前を設定し、「フィールド型」を「テキスト」か「整数」にし、下の式に右の選択リストより「フィールドと値」から「SHAPE_ID」をダブルクリックして入力し、「 right("SHAPE_ID" ,length("SHAPE_ID" )-2)」と加工する(左の式そのままコピペでも可)。
下のプレビューに求めている形で表示されているのを確認したら、「OK」。
出来たフィールドで結合する。

----
で、③どうせならExcelをそのままシェープファイルに変換しちゃいましょうよ、ということで、
https://bousaisite.com/qgis3/
↑ここのページを参考に、Excelの緯度経度、標高を使ってポイントを発生させてみましょう。
座標系はEPSG:6697-JGD2011に指定して下さい。

----
こんなところでどうでしょうか?
2023年8月28日月曜日 18:05:46 UTC+9 みならい:

みならい

unread,
Aug 28, 2023, 12:18:16 PM8/28/23
to QGIS初心者質問グループ
ご教授ありがとうございます。①の方法について、質問前に試してみたのですがうまく結合することができませんでした。
②の方法と併せて試してみようと思います。

また、素朴な疑問なのですが、両ファイルでSHAPE ID の値が異なっているのはデータ側の不備ということでしょうか?


2023年8月28日月曜日 20:18:22 UTC+9 木谷:

木谷

unread,
Aug 29, 2023, 1:05:41 AM8/29/23
to QGIS初心者質問グループ
①の方法ですが、アポストロフィ入れずにオートフィルして、列ごとコピー→値で貼り付け、でいけますかね。

>  また、素朴な疑問なのですが、両ファイルでSHAPE ID の値が異なっているのはデータ側の不備ということでしょうか?

不備といえば不備ですかね。おおかた元がcsvものをExcelにするときに文字列をint型で保存してしまったとかではないでしょうか。
データをざっと見ましたが、シェープファイルとExcelの内容が1対1になっていない部分もあるようです。
担当さんがどの程度GISに精通しているかによるので、問い合わせても解決するかは不明です。
2023年8月29日火曜日 1:18:16 UTC+9 みならい:
Reply all
Reply to author
Forward
0 new messages