古墳 GIS データの集め方(2)入手した Shape ファイルの CSV ファイルへの変換

 前回は、生成 AI の一種である Gemini を利用した「古墳 GIS データのありか」の探索法について、その悪戦苦闘ぶりを書いた。どちらかというと「AIの使いこなし方ノウハウ集」のような内容になってしまったが、今回は各自治体のオープンデータが見つかったところから話を始めよう。例として岡山県と千葉県のケースを取り上げる。

岡山県のケース:お宝データの発見

 統合ポータルサイト「おかやまオープンデータカタログ」の検索ウィンドウに「埋蔵文化財」と入力して検索すると、ヒットは1件。「岡山全県統合型GIS」の「埋蔵文化財」のサイトが紹介される。

 これは極めてラッキーなケースだ。「埋蔵文化財」ではヒットゼロというケースも多々あり、その場合はもっと上位の「文化財」などのキーワードで検索し直す必要がある。

 さて、上記のサイトには「埋蔵文化財の情報をオープンデータとしてダウンロードできます」とあり、「Shape(シェープ)ファイル」がダウンロードできるようになっている。二次利用に関する規定を念のため調べておこうとトップページに移り、最下段の「利用規約」をクリックしてみると、次のような記載があった。

  • 岡山県は、本システムの利用によって発生する直接または間接の損失、損害等について、一切の責任を負いません。
  • 地図情報はシステムの都合上、予告なく全部または一部の利用を休止、または制限する場合があります。
  • 著作権法上認められた行為(個人利用など)を除き、掲載されている内容を無断で複製転用することを禁じます。

「著作権法上認められた行為(個人利用など)を除き……」とあるため、個人で楽しむ範囲の利用(複製や加工)は問題ないことがわかる。

 しかし、ここで問題になるのが「Shape ファイル」という存在だ。これは GIS(地理情報システム)で広く使われる地図データのファイル形式なのだが、ここで一度、Gemini 先生に基本を整理してもらおう。

Gemini による解説:GIS と Shape ファイルとは?
  • GIS(地理情報システム)とは: 地球上にあるオブジェクトや事象の位置情報(緯度・経度など)と、それに紐づくデータ(名称、時代、種類など)を、コンピュータ上の地図に重ね合わせて管理・分析・可視化するシステムのことです。
  • Shapeファイル(シェープファイル)とは: GIS で広く使われている、地図データ(空間情報)を保存するための標準的なファイル形式です。米国の ESRI 社が提唱した仕様で、位置や形を表す「図形情報」と、その場所の属性を表す「属性情報」が複数のファイル(.shp, .shx, .dbf など)でセットになって構成されています。

Shape ファイルは、地図上に古墳などのオブジェクトや事象を描画するために、以下の 2 つのデータをセットを使っています。

  1. 位置データ(座標系) 図形データが「地球上のどこの場所か」を特定するための緯度・経度などの数値データです。 ここで重要なのが「座標系(測地系)」の概念です。日本の古い地図データ(旧日本測地系:Tokyo)と、現在の GPS や地理院地図、Google マップなどが採用している世界標準のデータ(世界測地系:WGS84 / JGD2000など)では、同じ緯度・経度の数値でも数百メートルのズレが生じます
  2. 図形データ(空間データ) 地図上に「どのような形」で表すかを決めるデータです。Shape ファイルでは主に以下の 3 つの形式(幾何オブジェクト)で記録されます
    • ポイント(点): 古墳の位置(中心点)などをピンポイントで示します。
    • ポリゴン(面): 前方後円墳の墳丘の輪郭や、埋蔵文化財包蔵地の「範囲」を面的に示します。
    • ライン(線): 古道や河川、調査トレンチのラインなどを示します。
地理院地図で使うための「ハードル」

 Shape ファイルは通常、QGIS などの専門的な GIS ソフトで使うのが一般的だ。しかし、一般の古代史ファンや古墳愛好家が「地理院地図に古墳をマッピングしたい」という目的だけで専用ソフトを導入するには、操作の習熟も含めて少しハードルが高い。

 一方、国土地理院の「地理院地図」は、ブラウザだけで手軽に GIS に近いことができる非常に便利なシステムなのだが、Shape ファイルをそのまま読み込ませることはできない。そのため、Excel などで編集・閲覧できる「CSV 形式(表データ)」への変換が必要になる。

 また、岡山県のデータのように、古墳データには「点(ポイント)」だけでなく、範囲を表す「面(ポリゴン)」のデータも含まれている。CSV ファイルは「面」の形を保持できないため、ポリゴンデータの場合は、その遺跡の「中心点」などを代表点としたポイントデータに変換してあげる必要があるのだ。

 それでは、いよいよこれらの一連の変換操作の手順について、具体的に見ていくことにしよう。

Shape ファイルから CSV ファイルへの変換アプローチ

 Shape ファイルから CSV ファイルへ変換する具体的なアプローチとしては、大きく分けて「Web 上のオンライン変換ツールを使う方法」「パソコンに専用の GIS ソフトを導入する方法」の 2 つがある。それぞれの特徴を Gemini にまとめてもらった。

手法1:Web 上のオンライン変換ツール(Mapshaper など)を利用する

ブラウザに Shape ファイルをドラッグ&ドロップするだけで、素早く CSV に変換できる無料の Web サービスを利用する手法です。本ブログでは、数あるツールの中でも完全無料で容量制限のない「Mapshaper(マップシェーパー)」の利用を推奨します。

  • 長所:
    • アプリのインストールが一切不要で、ブラウザさえあれば数秒で処理可能。
    • 多くのオンラインツールが厳しい容量制限がある中、Mapshaper は完全無料・無制限で利用可能。
    • アップロードしたデータは外部サーバーではなく利用者のパソコン上(ブラウザ内)だけで処理されるため、データの安全性が極めて高い。
  • 短所:
    • 画面が英語表記。
    • 普通に CSV へ書き出しただけでは古墳の「面(ポリゴン)」の緯度経度データが消えてしまうため、中心点を抽出するための「1 行のコマンド入力」という特有の操作が必要(手順は後述する)。

手法2:デスクトップ GIS ソフト(QGIS など)を利用する

オープンソースの無料 GIS ソフト「QGIS」などをパソコンにインストールし、ソフト内でShape ファイルを読み込んで CSV 形式で書き出す手法です。

  • 長所:
    • データ量や回数の制限がなく、完全にローカル環境(オフライン)で作業が可能。
    • ポリゴンからポイント(代表点)を抽出する機能や、古い座標系から現代の世界測地系への変換など、高度な位置情報処理が正確に行える。
  • 短所:
    • ソフトウェアの大容量ダウンロードとパソコンへのインストール、初期設定の手間がかかる。
    • 高機能ゆえに画面のメニューやボタンが非常に多く、初めて触るユーザーにとっては操作の習熟に時間がかかる。

 やはり QGIS の導入はハードルが高い。一方で、オンラインツールの多くには容量制限の壁があるが、Mapshaper であればその制限を完全にクリアできる。 懸念点である「ポリゴンからポイントへの変換」も、コンソール画面から簡単なコマンドを 1 行打ち込むだけで解決可能だ。また、英語表記の問題もブラウザの自動翻訳機能をオンにしておけば日本語で表示してくれる。

 したがって、手軽さと確実性を両立できる Mapshaper を使った変換 が第一の選択肢といえるだろう。

Mapshaper を使った Shape → CSV ファイル変換

 一見難しそうに見えるが、手順通りに進めれば数分で完了するので安心してほしい。

 ステップ 1:Shape ファイル一式を準備する

 ダウンロードした Shape ファイルは、通常 ZIP 形式などで圧縮されている(岡山県のケースでは「opendata_60 」という名前になっている)。

 Mapshaper の素晴らしいところは、この ZIP ファイルを解凍(展開)せずに、そのまま丸ごとドラッグ&ドロップしても認識してくれる点だ。

  • 方法A:ZIP ファイルのまま読み込ませる(おすすめ・お手軽) ダウンロードした ZIP ファイルを解凍せず、そのまま Mapshaper に投入する。
    • メリット: 解凍の手間がなく、フォルダ内がバラバラのファイルで散らからない。
    • 注意点: 自治体によっては、ZIP の中にさらに別の ZIP や不要な PDF などの報告書が同封されている特殊なケースがある。その場合はうまく読み込めないことがあるので、その時だけ方法 B を試そう(岡山県の場合には問題なく作動した。)
  • 方法B:解凍(展開)してから読み込ませる(確実) 一度 ZIP ファイルを右クリックなどで解凍する。中を見ると、 .shp.shx.dbf.prj といった、拡張子の異なる複数のファイルが入っているはずだ(岡山県は .shp.shx.dbfの 3 つ。)
    • メリット: 中身が目視できるため確実。
    • 注意点: Mapshaper に投入する際は、解凍したフォルダ内にあるファイルを(.shp.dbf なども含めて)すべてまとめて複数選択し、セットで読み込ませる必要がある.shp ファイルだけを単体で放り込んでも動かない(データが足りないとエラーになる)ので注意しよう。

🗂️ 豆知識:拡張子の役割

 Shape ファイルは、以下のようにそれぞれ異なる役割を持ったファイルがチームを組むことで、初めて地図上に正しいデータを描画できるようになっている。

  • .shp:図形の「形」そのものを記録する<必須>
  • .dbf:図形に紐づく「文字や数値のデータ」を記録<必須>
  • .shx.shp.dbf を高速につなぐインデックス(索引)<必須>
  • .prj:地球上のどこにあるかを示す「座標系(測地系)」の取扱説明書

 ちなみに、岡山県のファイルには、「座標系を示す.prj」が入っていない。これを地理院地図に読み込ませた場合にズレは生じないのだろうか?  Gemini に訊いてみると、即座に以下の回答があった。

Mapshaper というツールは非常に賢く、読み込んだ Shape ファイルが「旧日本測地系(Tokyo)」で作られていようが「世界測地系(JGD2000など)」で作られていようが、内部の座標(数値)の並びをそのまま保持して CSV に書き出してくれます。「ズレる」という問題は、Mapshaper ではなく、「QGIS などの専用 GIS ソフトに、.prj なしのデータを直接読み込ませた場合」に限ったトラブルです。その場合は、データの配布元ページなどで「座標系」を確認し、QGIS などのソフト側で「このデータは〇〇座標系です」と手動で設定(定義)してあげることで、正しく重ね合わせることができます。

 すばらしい! 座標系の心配が要らないとなれば、つぎのステップに移ろう。

ステップ 2:Mapshaper にファイルを読み込ませる

 大まかな流れは、「読み込み」→「ポイントに変換」→「CSV 出力」なのだが、実はそう簡単にはいかなかった! 実は岡山県のデータの場合、単純にやると文字化けが発生してしまう。そのため、以下の対策を必ず組み込もう。

  1. ブラウザで Mapshaper を開く。
  2. 画面中央のインポートボックスの下にある 「高度なオプション付き(Advanced options)」 のボックスをクリックする。
  3. 【重要】「options(インポートオプション)」という入力欄が表示されるので、ここに半角英数字でencoding=shiftjisと入力する。 (※多くの自治体のデータは「Shift-JIS」という形式で文字が記録されている。これをしておかないと、せっかく CSV に変換しても古墳の名前がすべて謎の記号に文字化けしてしまう)
  4. 「Select」ボタンを押すか、準備した ZIP ファイル(または解凍したファイル一式)を画面中央にドラッグ&ドロップする。
  5. 「Import」 ボタンをクリック。
  6. 画面に岡山県の遺跡や古墳の形状(点や面)が表示されれば、読み込みは成功だ(図1)。
図1 Mapshaperへのインポート完了画面 (赤丸部分に遺跡のポリゴンが表示されています)

ステップ 3:【重要】ポリゴン(面)をポイント(点)に変換する

 前述の通り、岡山県のデータには前方後円墳などの範囲を示す「面(ポリゴン)」のデータが含まれている。これをそのまま CSV に書き出すと位置情報の数字が消えてしまうため、一瞬で「中心点(代表点)」のデータに変換する魔法のコマンドを入力する。

  1. 画面右上にある 「Console(コンソール)」 ボタンをクリック。画面に黒い入力画面が表示される。
  2. 入力欄に、半角英数字でpoints innerと入力して Enter キーを押す。(画面上の白い図形が、すべて「点(ポイント)」に切り替わったのを確認してほしい。これで各古墳の中心位置がしっかりとデータ化された)(図2)。
  3. 続けて、入力欄に半角英数字でeach 'X=this.x, Y=this.y'と入力して Enter キーを押す。(※これを行うことで、Mapshaperが各点の中央の「緯度と経度」を計算し、CSVの表の中に「X」と「Y」という位置情報のデータ列を自動的に作成してくれる。これを忘れるとCSVの中身が位置情報のない空っぽの表になってしまうので、必ずセットで入力すること)。
図2.ポリゴンをドット(ポイント)に変換済みの画面(図1でポリゴンだった部分がドットに切り替わっています)

ステップ 4:CSV ファイルとして書き出す(エクスポート)

 データが点に変換できたら、あとはダウンロードするだけだ。

  1. 画面右上にある 「Export」 ボタンをクリック。
  2. ファイル形式の一覧から、迷わず 「CSV」 を選択する。
  3. 緑色の 「Export」 ボタンを押すと、パソコンのダウンロードフォルダに CSV ファイルが保存される。

ステップ 5:変換した CSV ファイルを覗いてみよう!

 無事にダウンロードできたら、その CSV ファイルを Excel などの表計算ソフトで開いてみよう。ただし、ここに大きな落とし穴がある。ダウンロードされたファイルを決してダブルクリックして直接 Excel で開いてはいけない!(文字化けや数字の変形が起きる可能性がある)。

必ずつぎの手順に従って開いてほしい。

  1. 空のExcel(新規ブック)を立ち上げる。
  2. 上部メニューの「データ」タブ > 「テキストまたはCSVから」をクリック。
  3. ダウンロードしたCSVファイルを選択する。
  4. プレビュー画面(図 3)が表示され、元のファイル(文字コード)が「UTF-8(または Unicode (UTF-8))」と自動判定され、綺麗な日本語が表示されていることを確認して「読み込み」を押す。
図3 プレビュー画面

 こうして開くと、そこには、岡山県内の無数の遺跡・古墳の名前とともに、「X」や「Y」という列に、綺麗な数字(緯度・経度)がずらりと並んでいるはずだ(図 4)。

図4 岡山県埋蔵文化財データベース

 これぞまさしく、手作業で 1 件ずつ右クリックしてコピーしていたら何日かかるか分からない、究極の「お宝データ」の完成である。

 AI との付き合い方を振り返って

 さて、このように書くと非常にすんなりと進んでいるように見えるが、実は裏でかなり悪戦苦闘している。この手順書もうまくいかない部分があり、何回も書き直した。

 うまくいかなくて Gemini に訊き、その答えの通りやっても動かず、これを何度も繰り返しているうちに、最初の方に出た回答がまた戻ってきたり……。Mapshaperのバージョンが変わっていることも原因のようだった。

「AIだから何でも知っている」と思うのは大間違いだ。現状の AI は非常に短い時間で検索と情報の入手を行い、そこから回答を作成している。どういうタームでどのくらいの深さまで検索するかは、利用者の要求や、そこまでの会話プロセス(文脈)によっても異なる。

 ともかく岡山県のお宝データが得られたのでよしとして、続いて書こうかと思っていた「千葉県のケース(住所から緯度経度への変換という、また別の罠があります)」は次回に回すことにする。ちょっと疲れたのである(笑)。

(次回へ続く)

 

タイトルとURLをコピーしました