1.はじめに
水質調査のように毎年同じようなことを繰り返す調査では、調査地点の名称や緯度経度など、特別な事情がない限り変更されない属性データがあります。これらが変更になっている場合は、入力ミスや転記ミスなど誤りであることが多いです。前年度と今年度のデータを付き合わせることで、このような変更箇所を抽出することはできますが、データ処理に慣れていない人にとっては簡単な作業ではありません。
AIを活用することで、この作業を簡略化できないかと考え、全国一斉水質調査の調査地点の緯度経度データを例として、移動した調査地点の検出を試してみました。本稿はこの作業の要点をまとめたものです。なお、AIの場合、同じ指示(プロンプト)を与えても、同じ結果が得られるとは限りません。同様のことを行いたい場合は、やり方の趣旨を理解したうえで試みてください。
2.サンプルデータ
今回利用したサンプルデータは、2025年6月に行われた全国一斉水質調査で荒川流域ネットワークが取りまとめを行った際の一次データです。これは27の参加団体や個人の報告データを集めた資料で、多くの間違いが含まれているものです。
表1はその元データから、地点記号の列と緯度・経度関係の6列を抜き出したものの先頭部分です。元データは222行42列のデータです。AIに読み込ませるとき、データが多いと分析に時間がかかってしまいますので、地点記号の列と緯度・経度関係の6列だけを抜き出した「緯度経度データ.xlsx」ファイルを使用しました。
表1 使用した時刻データ(緯度経度データ.xlsx)の先頭部分
このExcel書類には「2024」と「2025」の2シートがあり、2024年のデータと2025年のデータが収録されています。なお、「2025」シートには、結果の受け取り方法の指示を簡単にするために、あらかじめ「移動の有無」列を追加しておきました。
3.Copilotを使った地点移動の検出
先ほどのサンプルデータ ファイル「緯度経度データ.xlsx」を立ち上げ、Copilotのチャットをはじめて、そのメッセージ入力欄に以下のプロンプト(指示文)を入力しました。
プロンプト
このブックのシートは、「地点記号」で表される地点の緯度経度データを、「緯度(度)」「緯度(分)」「緯度(秒)」「経度(度)」「経度(分)」「経度(秒)」の6つの列値で表記しています。「2024」シートは2024年データを、「2025」シートは2025年データをまとめたものです。
「2025」シートの「地点記号」で表されるすべての地点について、以下の結果を「2025」シートの「移動の有無」列に書き込んだ表を作成してください。
(1) 1. 同じ「地点記号」が「2024」シートにないときは、「×」
(2) 2. 同じ「地点記号」が「2024」シートにあって、緯度経度データがすべて同じときは、「〇」
(3) 3. 同じ「地点記号」が「2024」シートにあって、緯度経度データのどれかが異なるときは、「移動」
Copilotは入力を受け付けるとしばらく考え込んだ後、以下の回答を返してきました。
Copilot
ご要望通り、「2025」シートの各地点記号について「2024」シートと比較し、「移動の有無」列に判定結果(「×」「〇」「移動」)を書き込んだ表を作成しました。
「×」…2024年に存在しない地点
「〇」…2024年と緯度経度がすべて一致
「移動」…2024年と緯度経度のいずれかが異なる
判定済みの表は、以下のExcelファイルからダウンロードできます。 緯度経度データ判定結果.xlsx
ご確認ください。他にも集計や可視化などご希望があればお知らせください。
この回答内の「緯度経度データ判定結果.xlsx」のリンクをクリックすると、判定結果表のExcelファイルがWindowsの「ダウンロード」フォルダにダウンロードされます。表2はこの判定結果表の抜粋です。全体は222行あります。
地点記号 緯度(度) 緯度(分) 緯度(秒) 経度(度) 経度(分) 経度(秒) 移動の有無 Ar3 35 58 6 139 3 6 〇 Ar36 36 2 59 139 29 55 〇 Ar37 36 5 12 139 29 56 移動 Ma23 36 1 49 139 37 49 〇 Ma24 36 0 59 139 38 58 移動 Ka5 35 54 22 139 23 25 〇 ka7 35 55 1 139 25 8 × ka12 35 54 52 139 25 15 × Ka17 35 56 7 139 26 32 〇
表2 Copilotによる移動の有無判定結果の抜粋
4.移動の有無判定結果の分析
上で述べた移動の有無判定結果の該当件数をまとめると表3のようになります。
行ラベル 個数 / 移動の有無 × 4 〇 212 移動 6 総計 222
表3 移動の有無判定結果 ×:新規調査地点、〇:昨年と同じ場所
緯度・経度が変わっているのは6地点、今年度新規に加わった調査地点は4地点でした。
5.移動地点の詳細情報の取得
上のCopilotの回答の後ろに「移動した地点の詳細を教えて」というボタンがありました。これをクリックすると、移動した地点のデータを抽出して、2024年と2025年のデータを並べた表「移動した地点の詳細一覧」を示してくれました。
そこで「『移動した地点の詳細一覧』について、値が変わっているセルの値を赤字にしてください」と依頼したところ、次の表4の表を作成してくれました。
地点記号 2024_緯度(度) 2024_緯度(分) 2024_緯度(秒) 2024_経度(度) 2024_経度(分) 2024_経度(秒) 2025_緯度(度) 2025_緯度(分) 2025_緯度(秒) 2025_経度(度) 2025_経度(分) 2025_経度(秒) Ar37 36 2 59 139 29 56 36 5 12 139 29 56 Ma24 36 0 59 139 38 56 36 0 59 139 38 58 Ka1 35 53 35 139 20 31 35 53 37 139 20 31 Ka2 35 53 57 139 21 6 35 53 57 139 21 15 Ka3 35 53 49 139 20 30 35 53 49 139 20 25 Ka4 35 54 16 139 22 9 35 54 17 139 22 15
表4 移動した地点の詳細(赤字強調)
実際に地図で確認したところ、わずかに位置がずれただけの2地点は、調査位置をより正確なものに修正したものでしたが、他の4地点は記入ミスでした。
6.むすび
本稿では、2時点の緯度経度データを使って、移動した調査地点の検出をAIで行いました。指示内容がシンプルであったこともあり、このケースでは1回の問い合わせで正解を得ることができました。
2時点のデータのマージは、vlookup() 関数を使えば比較的簡単にできることではありますが、ITに詳しくない利用者には難しい作業です。AIを使えば、誰でも自然文で指示するだけで、このような作業を簡単に行うことができます。
ここで使用したやり方は、調査結果の異常値の検出などにも応用できるものであり、多くの分野で活用できると思われます。


