\documentclass[a4j]{jarticle}
% -*- coding: utf-8 -*-
\addtolength{\topmargin}{-1cm}
\addtolength{\textheight}{2cm}
\addtolength{\textwidth}{2cm}
\addtolength{\oddsidemargin}{-1cm}
\addtolength{\evensidemargin}{-1cm}
\usepackage[dvipdfmx]{graphicx}
\usepackage{url}
\usepackage{ascmac}
\pagestyle{empty}

%% タイトル %%
\title{住民参加型デジタルスタンプラリーによる\\観光まちづくり推進の提案}

%% 著者 %%
\author{広瀬研究室\\C120020A 伊藤皓紀}

\date{2024年1月12日}
\begin{document}
\twocolumn[
  \maketitle
  \begin{center}
    {\bfseries 概要}
  \end{center}
  地域活性化の手法のひとつとして観光まちづくりがある。観光まちづくりとは，地域が主体となり地域が有する文化や自然などといった資源を活用し，来訪客の増加や地域活性化を図る都市政策のひとつである。

  本研究では，地域住民が主体となって情報の発信をすることができるデジタルスタンプラリーシステムの開発をする。そして，デジタルスタンプラリーを用いた観光まちづくりの推進の有効性について考察する。
  %% デジタルスタンプラリーとは，モバイル端末を用いて複数のスポットを周遊し，特定の地点においてスタンプを入手することのできるシステムである。これは，地域の魅力の発信方法の一つとして使われている。
  \vspace*{2em}
]
\thispagestyle{empty}
\section{背景}
2023年現在，行政や自治体を中心に観光まちづくりが推進されている\cite{kokudo}。観光まちづくりとは，地域住民や自治体が主体となって観光資源の発掘やその情報発信を行い，観光を通してまちづくりを行うことを目的としている。本研究での観光資源とは，地域住民が魅力を感じる自然や文化，産業を示す。観光まちづくりの推進で大切となってくるのは地域住民の理解と協力による情報の発信である。国土交通省では,提供する情報内容の考え方として,ナビゲーション・ユーティリティ・オリジナリティ・コミュニケーションの4つの視点から検討することが重要であるとしている\cite{joho}。情報の発信方法としてデジタルスタンプラリーを用いることでこれら4つの視点から考えられた情報の発信ができるのではないかと考える。

デジタルスタンプラリーとは，モバイル端末を用いてスタンプを入手することのできるラリーポイントを周遊し，特定の行動でスタンプを入手することのできるシステムである。スタンプ取得の手段としてはモバイル端末の位置情報を用いたものや，QRコードを用いたものが存在する。本研究では位置情報を用いたスタンプラリーを開発する。そして，ラリーポイントを地域住民が登録することができるようにすることで，情報追加をした住民はまちづくりに参加している意識を持つことができると考える。
\section{研究目的}
本研究では，観光まちづくりの手法の一つとしてデジタルスタンプラリーを活用する。スタンプラリーのラリーポイントの追加を地域住民が主体的に行えるようにすることで，その地域特有の生活や文化などの情報の提供を図る。そのために,地域住民が手軽に情報を追加することができるシステムと,それらの情報をスタンプラリーという形で地域外へと発信するシステムの開発を目的とする。
\section{先行研究}
イベントや地域の活性化の手段としてスタンプラリーを用いている論文とともに，住民参加型のマップづくりに関係した論文を先行研究として取り上げ，システムを構築する有用性と課題点を探っていく。
\subsection{神奈川県でのイベント活性化事例}
飯塚の研究では，参加者が紙のスタンプ用紙を持ってチェックポイントでスタンプを押してゴール後に景品を受け取るといる従来の一般的な方法で行われてきたスタンプラリーイベントにおいて，スマートフォンアプリの導入をすることでエンターテインメント性の向上を図っている\cite{phone}。飯塚はアプリ利用の事前告知を効果的に行う必要があるとした上で，スマートフォンアプリ導入によるイベントの活性化が期待できる結果になったと述べている。
\subsection{エリアスタンプラリーシステム}
兵庫県立大学の伊藤らの研究では，スタンプラリーの問題点として，スタンプの設置された各地点間で移動が直線的になりやすく，回遊行動が不十分となる可能性が高いことを挙げている\cite{aria}。これに対して，一定の広い範囲のエリアを設置しエリア内に一定時間滞在することでスタンプを取得できるようにすることで，まちあるきなど回遊行動を増加させることができるのではないかとしている。
\subsection{住民参加型防災マップづくり}
豊田，鐘ヶ江らの研究では，防災マップづくりに参加した住民への効果とマップの受益者である不参加の住民の意識への効果について明らかにしている\cite{com}。住民参加型マップづくりで参加者に期待される効果として，地域理解が深まることや，地域住民同士での情報共有が行われるようになることを挙げている。それに対し，不参加者へのマップ配布の効果については，マップ上にある情報については認知されるがそれに基づいた行動には繋がらないため，効果は限定的であると述べている。
%% \section{先行研究を踏まえた提案}
%% 本研究では，先行研究の内容をもとに課題点の解決を図る以下の要素を実装する。
%% \begin{itemize}
%% \item 共同編集機能

%% 情報の追加や更新などを地域住民全体で行えるようにすることで，地点情報の共有や精密性の向上を目指す。
%% \item ゲーミフィケーション要素

%% ユーザのモチベーションを高め，継続して利用してもらうことを目的として実装する。
%% \end{itemize}

\section{システムの概要}
本システムは，GPS情報を利用してスタンプを収集するシステムと，地点情報の追加をするシステムがある。システムの流れは図.\ref{figure:nagare}の通りである。
\begin{figure}[h]
  \centering
  \includegraphics[width=7cm]{nagare.pdf}
  \caption{システムの流れ}
  \label{figure:nagare}
\end{figure}
\subsection{ユーザ側}
Webサイトに移動すると地図が表示されている。地図上にはラリーポイント(スタンプを獲得できる地点)と現在地を示すマーカが設置されている。STARTボタンを押すことでGPS情報の取得が開始され，それをもとに現在地を示すマーカが地図上で移動する。一定の距離までラリーポイントに近づくとスタンプゲットのアラートが表示され，スタンプ一覧にスタンプが追加される(図.\ref{figure:image})。STOPボタンを押すことでGPS情報の取得を停止することができる。
\begin{figure}[tb]
  \centering
  \includegraphics[width=8cm]{image.pdf}
  \caption{動作イメージ}
  \label{figure:image}
\end{figure}
\subsection{管理者側}
スタンプ情報のデータの管理にはGoogleスプレッドシートを使っている。シートの中には，地点の緯度・経度・名称・詳細・スタンプを入手したあとに表示させるコメント・GoogleDrive上にアップロードした画像の共有URLを入力することで，Webサイト上の地点情報が更新される。

データの入力は専用の入力フォームを作成している(図.\ref{figure:form})。
\begin{figure}[tbp]
  \centering
  \includegraphics[width=8cm]{form.pdf}
  \caption{入力フォーム}
  \label{figure:form}
\end{figure}

このシステムは地域住民が主体となって情報の追加をできることで，住民が普段生活している中で魅力に感じているスポットを観光客に紹介することができる。それにより観光客は，その地域で生活していく中でのメリットやデメリットを，スタンプラリーを通して知ることができる。

%% \subsection{システムのメリット}
%% 地域住民全体で情報を更新していくことで，世代による魅力に感じている場所の違いや共通点などを知ることができるようになり，世代を超えてコミュニケーションを取る機会を増やすことができるのではないかと考える。

%% 他にも，実際に暮らしている人の視点での紹介であるため観光客側も移住した際のイメージがしやすくなり，地域の住民増加の手助けとなるのではないかと考える。
\subsection{システムの課題}
現在はスタンプの取得はGPS情報で判定し，スタンプが自動的に追加される仕組みとなっている。しかし，これではユーザ側の参加している意識が薄れる可能性がある。そのためスタンプ取得の際に何か操作を要するといった，関心を引く工夫が必要である。

また情報追加システムについて，現在は一度追加した情報はスプレッドシート上で編集する以外の方法では変更することができない。そのため，すでに登録されている地点の情報を追加する場合は新たにマーカを設置する必要がある。これは，1つの場所に複数のラリーポイントが重なってしまい，マップの視認性が下がる可能性がある。 

\subsection{実装している機能}
現在作成中のスタンプラリーシステムに実装できている機能は以下のとおりである。
\begin{itemize}
\item Googleスプレッドシートからの読み込み

Googleスプレッドシートにある地点情報・名称・詳細・スタンプを入手した際のコメントをGAS\footnote{Google Apps Scriptの略称でGoogleが開発・提供しているJavaScriptをベースに作成されたプログラム言語である}でシートの内容をJSON形式に変換している。そのデータをJavaScriptで取得し，Webページに反映している\cite{gas}。

以下はGoogleスプレッドシートからの読み込みのソースコードである。
\begin{itembox}[l]{シートの内容をJSON形式に変換}
  \scriptsize{
\begin{verbatim}
const SPREAD_SHEET_ID ='スプレッドシートのID';
const SHEET_NAME = 'シート名';
function doGet(e) {
  const app = SpreadsheetApp.openById
(SPREAD_SHEET_ID);
  const sheet = app.getSheetByName(SHEET_NAME);
  const values = sheet.getDataRange().getValues();
  const data = [];
  for(let i=0; i<values.length; i++){
    if(i === 0)continue;
    const param = {};
    for(let j=0; j<values[i].length; j++){
      param[values[0][j]] = values[i][j];
    }
    data.push(param);
  }
 const result = ContentService.
 createTextOutput();
}
\end{verbatim}
}
\end{itembox}
\begin{itembox}[l]{JSONファイルの受取}
  \scriptsize{
\begin{verbatim}
function putValues(row){    
  for (let key of Object.keys(row)){
  }
}
function init(){
	fetch(endpoint).
	    then((response)=>response.json())
	    .then(data =>{
	       const csv = data;
		for (let x of csv){
		   putValues(x);
		   var a = (x.number);
		   let p = L.latLng(x.lat,x.lng);
		   image.push(x.image);
		   var pattern = /[\/]/;
		   const img = x.image.split(pattern);
		   titen.push(p);
		   comment.push(x.comment);
		   info.push(x.info);
		   console.log(x.info);
		   const stamp = x.stamp.split(pattern);
		   stamping.push(`${stamp[0]}//${stamp[2]}/
uc?export=view&id=${stamp[5]}`);
		   contents[a] = `<div class="text"><h2>${x.name}
</h2><p>${x.comment}</p><img src="${img[0]}//
${img[2]}/uc?export=view&id=${img[5]}"/></div>`
		   var elem = document.createElement('img');
		   elem.id = `image${pos}`;
		   if(localStorage.getItem(`stamp${pos}`)=="true"){
			elem.src = stamping[pos];
			marker.push(L.marker(p).bindPopup(contents[a])
.setIcon(geticon).addTo(map)
.on('click',function(e){clickEvt(e);}));
		    }else{
			elem.src = 'image/img.png';
			marker.push(L.marker(p).bindPopup(contents[a])
.addTo(map).on('click',function(e){clickEvt(e);}));
		    }
		    marker[pos].title = (x.info);
		    var stam = document.getElementById('stamp');
		    stam.appendChild(elem);

		    pos += 1;
		}

	    });;
    }
    init();
\end{verbatim}
}
\end{itembox}
\item 入力フォームを用いたデータの追加

  専用のWebページで情報を入力して送信すると，GASを通してGoogleスプレッドシートに追加される。

  地点を紹介するために必要である緯度・経度・名称・紹介コメントが入力されていない場合は送信ができない。
\item スタンプの枠を地点の要素数分用意

  Googleスプレッドシートの中の地点の数が増減した際にそれに合わせてスタンプの枠が増減するように設定している。 
\end{itemize}
\section{実証事例}
\subsection{さかた北前朝市スタンプラリー}
令和5年度に開催されるさかた北前朝市にて8月から11月の間，スタンプラリー企画を実施した。開催の2週間前にWebページのQRコードを添付したチラシを配布し，当日までにスタンプを収集してもらう。この企画ではラリーポイントの判定距離を毎回変更して，参加者の意見を聞いた。スタンプをすべて集めた人数を把握するために，スタンプをコンプリートするとGASによってスプレッドシートに書き込まれるシステムを作成した。合計で15人が参加し，判定距離については15mから20mが好意的な意見が多かった。
\subsection{朝日地域のデータ追加}
鶴岡市の朝日中学校2年生とその保護者にシステムを紹介し，データの追加をしてもらった。結果として，計11件のデータが追加された。そのうち地点情報として必要な緯度・経度・名称・コメントが入力されたのは2件のみだった。この結果から，地図上にマーカを設置する上で必要となる情報は必須項目にすることでそれらの情報が入力されていない場合はデータの送信ができないように修正した。
\section{今後の展望}
現在のシステムは，1人での利用しか想定されていないため，地点数が増えるとスタンプを集める負担も増えてしまう。その対策として，WebSocketを活用して複数人のチームでスタンプを共有できるようにすることで，個人の負担を軽減し誰でも気軽に楽しむことのできるようにしていく(図.\ref{figure:websocket})。そのうえで，スタンプラリー参加者のモチベーションを維持するために，獲得したスタンプの総数による特典について検討する。

\begin{figure}[tb]
    \centering
    \includegraphics[width=9cm]{websocketimage.pdf}
    \caption{websocketイメージ}
    \label{figure:websocket}
\end{figure}
また現在は1つの地点に対して1人のユーザの追加した情報しか載せることができない。データの追加や修正を直感的な操作で行うことのできるようにしていく。

そして作成したシステムを利用して情報の追加を行ってもらい，利用者が観光まちづくりに対しての意識を持つことができるかを検証する。
%% そしてこのシステムの発展として，スタンプラリーに限らない，マップを使ったコミュニケーションシステムの開発を目指す。
\begin{thebibliography}{99}
\bibitem{kokudo}国土交通省. “III.21世紀初頭において早急に検討・実現すべき具体的施策の方向”.国土交通省. \url{https://www.mlit.go.jp/kisha/oldmot/kisha00/koho00/tosin/kansin/kansin3_.html#1}, (参照 2023-11-18).
\bibitem{joho}国土交通省. “国土交通省/事業統括調整官室”. \url{https://www.mlit.go.jp/sogoseisaku/region/kankojoho/}, (参照 2023-12-08).
%% \bibitem{kanko}森重昌之.定義から見た観光まちづくりの研究の現状と課題.阪南論集. 人文・自然科学編，2015，50(2)，p21-37.
\bibitem{phone}飯塚重善. スタンプラリーのエンターテインメント性向上のためのスマホアプリ導入事例. エンタテインメントコンピューティングシンポジウム2016論文集，2016，p202-207.
\bibitem{aria}伊藤波輝， 内平隆之， 中桐斉之. スマートフォンとゲーミフィケーションによるまちあるきアプリの開発. 第80回全国大会講演論文集, 2018, p769-770.
%% \bibitem{photo}浦田真由，長尾聡輝，加藤福己，遠藤守，安田 孝美.“地域観光を支援するためのフォトラリーシステムの開発". 情報文化学会誌/情報文化学会委員会 編.21(2),2014年,p11-18.
\bibitem{com}豊田祐輔， 鐘ヶ江秀彦. 住民参加型防災マップづくりのコミュニティ防災への効果に関する研究.立命館国際地域研究， 2012， 35， p25-43.
%% \bibitem{akari}吉野孝，濱村朱里，福島拓，江種伸之. “災害時支援システム“あかりマップ”の地域住民による防災マップ作成への適用”.情報処理学会論文誌 Vol.58 No.1,2017年,p215-224.
\bibitem{gas}まさき. “【超便利！】HTMLにGoogleスプレッドシートからデータを取得して表示する方法”. まさきのエンジニア図書館. \url{https://masa-enjoy.com/gas-api-spreadsheet}, (参照 2023-05-28).
\end{thebibliography}
\end{document}
