AI&APIを使って郵便番号から電力エリアを判定するプログラムを作る方法
郵便番号から住所を調べるウェブサービスは、たとえば郵便局などが提供していますが、その郵便番号がどの電力エリアに該当するかが分かるウェブサービスは、郵便局にはありません。
そこで、郵便番号から住所情報を取得できるAPIを使用して、その住所がどの電力エリアに該当するかを判定するプログラムを作成してみましょう。
なお、今回のプログラム作成の手順は、光回線のエリア判定など、他のサービスにも応用できます。
本記事を参考に、是非いろいろなエリア判定プログラムを作成してください。
郵便番号APIの選択
まず、「郵便番号API」で検索してみると、郵便番号に基づいた住所情報を返すAPIがいくつか見つかります。
無料のものから有料のものまでありますが、今回は無料の「zipcloud」を利用します。
zipcloudのページにアクセスすると、次のような記載が見つかります。
つまり、上記URLに郵便番号を送信すると、その番号に対応する住所情報が返ってくる、というわけですね。
電力エリア判定の仕組み
このAPIを利用すると、郵便番号から住所情報を取得することができます。ただし、その住所がどの電力エリアに該当するかといった判定はできません。
ですが、こちらは各市町村がどの電力エリアに該当するかの情報を知っています。
ですから、当方の手持ちの情報と郵便番号検索APIを組み合わせることで、電力エリアを判定するプログラムを作成できるわけです。
とはいえ、普通の人はどういったコードを書けば良いのか、分かりませんよね🙄
・・・大丈夫です、AIに質問すれば、具体的なプログラムコードを提案してくれます。
AIにコード作成を依頼する方法
やるべきことは、作成したいプログラムの詳細な要件と、使用するAPIのURLをAIに伝えることです。
たったそれだけで、実際に使えるプログラムコードをAIが提案してくれます。
(注)もし「私はこのページのURLを読み込めません」と回答された場合には、該当ページの全文をコピーして改めて提示してください
一つだけ注意点として、プログラムの要件が複雑な場合は、まずはその要件を単純化させてからコード作成を依頼するようにしてください。
例えば、今回のアプリケーションの場合、郵便番号から判定する電力エリアが10種類もあるため、その要件を一度に伝えようとすると、指示文がかなり複雑になってしまいます。
そうなると、AIに意図が正しく伝わらない可能性があるため、まずは北海道電力と北陸電力の2つのエリアのみを判定し、それ以外は「その他の電力エリア」とするコードを作成してもらうことにします。
このとき実際にAIに伝えた文章は、以下の通りです(要件の提示の仕方に注目してください)。
この指示文に対して、AIからは以下の回答がありました。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>郵便番号から電力エリア判定</title>
<script>
async function checkArea() {
const zipcode = document.getElementById("zipcode").value;
const resultDiv = document.getElementById("result");
// 郵便番号が正しいかチェック
if (!zipcode.match(/^\d{3}-?\d{4}$/)) {
resultDiv.innerText = "正しい郵便番号を入力してください。";
return;
}
try {
// APIリクエスト
const response = await fetch(`https://zipcloud.ibsnet.co.jp/api/search?zipcode=${zipcode}`);
const data = await response.json();
if (data.results) {
const address = data.results[0].address1 + data.results[0].address2 + data.results[0].address3;
const prefecture = data.results[0].address1;
const city = data.results[0].address2;
let message = '';
// 北海道エリアの判定
if (prefecture === "北海道") {
message = "お住いの住所地は「北海道電力エリア」に該当します。";
}
// 北陸電力エリアの判定(富山県、石川県、福井県)
else if (["富山県", "石川県", "福井県"].includes(prefecture)) {
// 福井県内の特定地域を関西電力エリアにする
if (
prefecture === "福井県" &&
["大飯郡おおい町", "三方上中郡若狭町", "三方郡美浜町", "小浜市", "大飯郡高浜町"].includes(city)
) {
message = "お住いの住所地は「関西電力エリア」に該当します。";
} else {
message = "お住いの住所地は「北陸電力エリア」に該当します。";
}
}
// その他のエリア
else {
message = "お住いの住所地は「その他の電力エリア」に該当します。";
}
resultDiv.innerText = message;
} else {
resultDiv.innerText = "郵便番号に該当する住所が見つかりませんでした。";
}
} catch (error) {
resultDiv.innerText = "エリア判定中にエラーが発生しました。";
}
}
</script>
</head>
<body>
<h1>郵便番号から電力エリア判定</h1>
<div>
<label for="zipcode">郵便番号を入力してください(例: 100-0001):</label>
<input type="text" id="zipcode" placeholder="郵便番号">
<button onclick="checkArea()">判定</button>
</div>
<div id="result" style="margin-top: 20px;"></div>
</body>
</html>
AIから提案されたプログラムコードを試してみたところ、期待通り機能することを確認できました。
ですから、あとは残り8つの電力エリアの条件を追加していくだけです。
例えば、東北電力エリアの判定条件を追加するためには
上記のように質問すれば、修正コードを提示してくれますし、
東京電力エリアの判定条件を追加するなら、下記のように質問することで、改めて完全な修正コードを提示してくれます。
そうやって、AIに丸投げして作成した電力エリア判定プログラムがこちらです↓↓↓
ここから先は
¥ 3,000
Amazonギフトカード5,000円分が当たる
この記事が気に入ったらチップで応援してみませんか?