Code Interpreterで日本地図を描く、階級に区分し色分け、都道府県・市町村当てゲーム
ChatGPTのCode Interpreterで、日本地図をどのように扱うことができるか確認してみました。
日本地図を描く
Code Interpreterのライブラリには、詳細な日本地図を描く情報はなく、日本地図のデータをアップする必要があります。
このnoteでは、国土数値情報ダウンロードサイトからgeojsonをダウンロードする方法と、japanmapというライブラリを使う方法を紹介します。
a) 国土数値情報ダウンロードサイトを使う方法
国土数値情報ダウンロードサイトの行政区域情報のページから、全国(N03-20230101_GML.zip)をダウンロードします。
このzipファイルを解凍すると、「N03-23_230101.geojson」というjsonファイルが入っています。
このjsonファイルは、サイズが大きいため、mapshaperというサイトで軽量化します。軽量化する手順は次のとおりです。
1. mapshaperにアクセスし、jsonファイルをアップロード、importボタンをクリックする。
2. 右上のSimplifyをクリックし、ポップアップが表示されるのでApplyをクリックする。
3. 上のSettingsで軽量化するパーセンテージを選ぶ。(小さい数字を選べば選ぶほど軽量化される、今回は1%を選択してみました)
4. 右上のExportをクリックする。
5. GeoJsonボタンが選択されているのを確認し、Exportをクリックする。
6. 軽量化されたgeojsonファイルがダウンロードできる。
これにより、704MBあったファイルを、34MBまで軽量化することができました。
これをアップすることで、Code Interpreterで日本地図を扱うことができます。
GeoPandasでこのデータを読み込んでください。
と指示すると、読み込まれ、最初の5行が表示されました。
先頭5行は札幌のデータになっていることがわかります。
このデータから、日本の白地図を描いてください。
日本地図を描くことができました。
b) japanmapを使う方法
japanmapという、日本地図のライブラリを使う方法です。japanmapのGithubページにアクセスし、Download ZIPからこのライブラリをzipでダウンロードします。(DownloadZIPは、下の画像の参考に探して下さい。)
ダウンロードしたzipファイルをCodeInterpreterにアップし、次のように指示することで日本地図を描くことができます。
これはjapanmapライブラリのzipファイルです。
これを、/mnt/data/ ディレクトリに解凍してください。
その後、次のコードを実行してください。
```
# Adding the path of the extracted library to sys.path
import sys
sys.path.append('/mnt/data/japanmap-master')
# Attempting to import the library and use it as instructed
try:
import matplotlib.pyplot as plt
from japanmap import picture, get_data, pref_map
# Create a picture without coloring any prefecture
pct = picture({})
plt.imshow(pct) # show graphics
plt.show()
except Exception as e:
error_message = str(e)
```
このコードが実行できることを私は経験しています。実行の危険性もありませんので、実行してみてください。
データを読み込んで、階級に区分し色分けして日本地図に表示する
Podcastの聴取割合を地図上に表示するのを世界地図でもやりましたが、今回は日本地図でやってみます。
私がPodcastを配信しているSpotifyでは、リスナーの都道府県別のデータをダウンロードすることができます。データは東京がtokyoになっているなどアルファベット表記になっており、今回は手作業で日本語に修正した後、読み込みました。
これはpodcastのリスナーが、 どの都道府県から聞いているかを集計したデータです。
これを分析し、先ほどの日本地図に階級区分図として表示して下さい。
なお下の線と左の線、また0から600の数字は表示する必要はありません。
表示することができました。
都道府県当てゲーム
世界地図の場合と同じように、都道府県あてゲームができます。
もぐら3.0さんが試してくれました。
プロンプトは、世界地図の場合と同じようにこのような感じです。
これから都道府県を当てるゲームをしましょう
あなたは、日本地図から1つの都道府県を選んで着色し、表示します。
それがどの都道府県か私に質問してください。
私は都道府県を回答しますので、正解・不正解を教えてください。
市町村当てゲーム
国土数値情報ダウンロードサイトの地図情報を使う場合は、市町村の情報も含まれているので、市町村を当てるゲームをさせることができます。
プロンプトは、次のようにしました。
それではこれから都市あてゲームをしましょう。
あなたは、どこかの市町村を赤くマークし周りの市町村の形もわかる程度に拡大し、その都市の明産物などの特色とともに、この都市はどこでしょうかと問題を出します。
私はそれを回答しますので、正解・不正解を回答してください。
まとめ
今回は、日本地図を描く方法を試してみました。
データを地図上に表示したい場面は多く、その際に使える方法だと思います。
コメントお待ちしています。匿名の質問はマシュマロから→https://marshmallow-qa.com/currypurin