空間情報の伝達技術 テーマ:「スタバが私たち大学生に与える影響」
ストーリー課題の紹介
自己紹介と概要
地球社会共生学部3年の関谷俊祐です。
今回課題である、「今知りたい世界のニュース」のストーリー制作に取り組みました。私は、日本においてスターバックスが紙ストローを廃止するというニュースを知り、この取り組みが大学生である私たちにどの程度影響を与えるだろうかということに関心を持ったので、日本のスタバと大学の位置関係についてのストーリーを制作しました。
制作の過程
1.Kaggle(https://www.kaggle.com/datasets/starbucks/store-locations)より2017年時点の世界のスターバックスの緯度経度のリストを取得
2.世界中のスタバの店舗の位置情報から国コードを利用し、日本の店舗情報のみ抽出
3.アマノ技研様(https://amano-tec.com/data/univs.html)より日本の大学の緯度経度のリストを取得
4.Pythonで両方のデータを緯度経度の情報からX軸Y軸の情報に変換
5.Pythonで大学の半径1キロに存在するスターバックスの数をカウント
6.スタバが半径1キロに多い大学(短大、大学院を除く)を多い順にランキングにし、28位タイであった青山学院大より上位の大学の位置について地図上でまとめてストーリーにする
抽出に利用したコードとファイル
import pandas as pd
from geopy.distance import geodesic
from scipy.spatial import cKDTree
import numpy as np
file_path = 'C:/Users/hogehoge/japanstarbucks_university.xlsx'
data = pd.ExcelFile(file_path)
df_sheet1 = data.parse('Sheet1')
df_sheet2 = data.parse('Sheet2')
df_starbucks = df_sheet1.rename(columns={'Latitude': 'lat', 'Longitude': 'lon'})
df_universities = df_sheet2.rename(columns={'lat': 'univ_lat', 'lon': 'univ_lon'})
df_starbucks = df_starbucks[['lat', 'lon']].dropna().reset_index(drop=True)
df_universities = df_universities[['univ_lat', 'univ_lon']].dropna().reset_index(drop=True)
starbucks_coords = df_starbucks[['lat', 'lon']].to_numpy()
university_coords = df_universities[['univ_lat', 'univ_lon']].to_numpy()
starbucks_radians = np.radians(starbucks_coords)
university_radians = np.radians(university_coords)
starbucks_tree = cKDTree(starbucks_radians)
earth_radius_km = 6371.0
radius_radians = 1 / earth_radius_km
university_store_counts = starbucks_tree.query_ball_point(university_radians, radius_radians)
df_results = pd.DataFrame({
'University Latitude': df_universities['univ_lat'],
'University Longitude': df_universities['univ_lon'],
'Starbucks Stores Within 1km': [len(stores) for stores in university_store_counts]
})
df_results.to_csv('testdata/to_csv_out.csv')
課題をやってみた感想
反省としては、複数の位置情報データを利用した算出方法(緯度経度→X軸Y軸の変換)が当初の見立てより難しいことがわかり、
参照URL
PythonのGeopyというライブラリを活用して計算した点で、仕様をあまりよく理解せずに行ったのでグダグダになってしまいました。
↓Geopyの利用の際にこちらのブログを大いに活用させていただきました。
https://qiita.com/Taiyo_4U/items/40b34c2d13b1d22a2beb
今回の課題制作期間では、この問題を理解しきれなかったので、今後理解と改善を目指して取り組んでいきたいと考えています。
これらの反省から、今回の取り組みの改善点として、
今回大学の位置情報の測地系でJGD2000を使用したので、より高い精度の測地系であるJGD2011の緯度経度の情報を用いて処理する。
今回用いたスターバックスのデータが2017年時点であったので、より最新のデータをスターバックスの公式サイトの店舗一覧(https://store.starbucks.co.jp/)からスクレイピングして入手する。
等が挙げられると思います。
まとめ
ストーリーでも述べたように、青山学院大学(青山キャンパス←ここ重要)の学生はスターバックスによく行く≒大学の近くにたくさんスタバがあるイメージを世間から持たれていると思います。最初にflourishで大学とスタバの位置情報をプロットしてみた際に、パッと見で青学より周りのスタバが多い大学をいくつか見つけ、それらのパブリックイメージが正しくないのではないかという仮説から始めた課題作りでした。
この意外性のある関係は、単なる座標情報だけでは気づくことができなかったので、実際に地図上にプロットして、データの関係性を探る重要さと面白さを今回の課題制作から学べました。また、実際今回検証してみて、日本に青学よりスタバに囲まれた大学が28校もあるという、従来ではあまり知られていなかった検証結果も同時に得られたので、より位置情報に関心を持ちました。
最後までお読みいただきありがとうございました。