Code Interpreterで世界地図を描く、階級区分図を作る、国当てゲーム

ChatGPTのCode Interpreterで、地理情報をどのように扱うことができるか確認してみました。


世界地図を描く

Code Interpreterには、「GeoPandas」というライブラリが入っており、これで世界地図を描くことができます。
「世界地図を描いてくださいと」と指示すると、次の地図を描いてくれます。

世界地図

たまに、次のようにインターネット接続がないため、実行できないと言われることがあります。

その場合は、「失敗しても構わないので」次のコードを実行してと伝えることで表示してもらうことができます。

import geopandas as gpd
import matplotlib.pyplot as plt

# Load the world map
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))

# Plot the world map
world.plot()
plt.show()


国に色をつけて表示することも可能です。
例えば、オーストラリアに色をつけてくださいというと、次のようにオーストラリアに色をつけてくれます。

オーストラリアに色をつけた世界地図

国当てゲーム

国に色を塗ることができるので、ChatGPTに国に色を塗ってもらい、色を当てるゲームを考えてみました。

プロンプトは、次のとおり

これから国名を当てるゲームをしましょう
あなたは、世界地図から1つの国を選んで着色し、拡大して表示します。
どこの国か私に質問してください。

私は国名を回答しますので、正解・不正解を教えてください。

質問が出されました。

国当てゲームの問題

これは簡単な問題だったので正解することができた。

国当てゲームの回答

データを読み込んで、世界地図上に階級区分図を作成

Podcastの聴取国率を示したデータを読み込んで表示してみました。(私がPodcastを配信しているSpotifyでは、リスナーの地域別のデータをダウンロードすることができます)

これはpodcastの国ごとの聴取割合を示すデータです。 先ほどの地図に色をつけて表示してください。

プロンプト
podcastの聴取割合

たまにうまくいかない場合があったので、その場合は英語で指示すると良いようです。ChatGPTに聞いたところ次のプロンプトが良いとのことでした。

"Please load the world map using GeoPandas."
"I'm going to upload a CSV file that contains podcast listening rates by country. Please load this data into a DataFrame."
"Please merge this data with the world map data."
"Now, please create a choropleth map using the merged data. Use the listening rates to determine the color of each country. Represent missing values as light grey."


日本地図

(日本地図については、別記事で書きます)

日本地図を扱うのは、インターネット環境がないので今の所難しいようです。
世界地図の日本地図部分は拡大して、表示してくれました。

世界地図の日本地図部分を拡大して表示


まとめ

GeoPandasというライブラリがあったので、世界地図を表示して、データを表示したり、国を当てるゲームをしたりすることができました。

残念ながら、日本地図はライブラリがないため、拡大した地図を表示できるだけだと思います。

失敗した図

GeoPandasがインターネット使えないというので、曖昧でも良いから描いてといったら、すご~~く曖昧な世界地図と日本地図を描いてきたもの。
matplotlibで描くのは、無理だと思いました。


コメントお待ちしています。匿名の質問はマシュマロから→https://marshmallow-qa.com/currypurin