%\documentclass[a4j]{jarticle} \documentclass[a4j,11pt]{jbook} %\documentclass[dvipdfmx, 11pt]{jbook} %\documentclass{jarticle} \usepackage{graphicx} \thispagestyle{empty} \addtolength{\topmargin}{-2cm} \addtolength{\textheight}{3cm} \addtolength{\textwidth}{1cm} \addtolength{\oddsidemargin}{-0.5cm} \addtolength{\evensidemargin}{0.5cm} \renewcommand{\bibname}{参考文献} \usepackage{ulem,color,graphicx,eclbkbox} \usepackage{multicol} \usepackage{listings} \usepackage{url} \title{閲覧者の意図に応じた動的なマップ生成システムの提案} \author{廣瀬研究室 4年\\C1150369大谷宏行\\} \date{} \begin{document} \maketitle \vspace*{6.0cm} \begin{center} {\bf {\Large 概要}} \\ \end{center} 近年、自治体では、マップを利用し観光名所や公共施設の位置などをWeb上に掲 載している。これらは地域住民の生活がより良いものにするために作成している。 山形県酒田市で公開されている地理情報システムさかたまっぷのマップ作成の活動に参加しマッ プ作成を行った。この活動を通してマップ作成の問題点が判明した。それは、マップの確 認作業や更新作業である。これらは手作業で行われており量が多ければ多いほど時 間がかかる。さらに、さかたまっぷを作成する方法では、地物データを複数のマップに利用するこ とができないため同じデータの入力をマップごとに行う必要があった。また、マップ は、閲覧者によって求める内容が異なる。そのため、それぞれの閲覧者の沿った マップを作成しなければならない。これらより、マップの地物情報を管理、 蓄積し、地物データを生成するシステムと閲覧者の意図を導入した動的なマップ 生成システムを提案する。また、遊佐の湧水マップを例に動的なマップを適用し た例を示す。(424文字) \thispagestyle{empty} \clearpage \tableofcontents \clearpage \chapter{はじめに} 研究の背景について説明する。 \section{背景} 近年Googleマイマップ\cite{google}やuMap\cite{uMap}等でWeb上で独自にマップを作成するものがあり各種用途に利用されてい る。例の一つとして観光マップがある。観光マップでは、地元の人、県外の人、外国の人などの立場によって求め る内容が異なる。これまでは、地図を作る人の立場のみ考えられており、マップの閲覧者の立場が考えられ ていなかった。そこでマップに閲覧者の視点を導入したシステムを提案する。マップ は、マーカやラインなどのオブジェクトが地図上に表示されているものとする(図\ref{map_obj})。 \begin{figure}[h] \centering \includegraphics[bb=0 0 500 350,scale=0.6]{figure/obj.pdf} \caption{マップの例} \label{map_obj} \end{figure} %そこでビューを導入することで地図の閲覧者の立場によって内容が異なる地図を生成できる %システムを提案する。 \section{既存研究} マップに関した既存研究は以下のようなものがある。 濱村らは、災害時の避難支援情報を閲覧、登録することが できるあかりマップを作成した\cite{weko_147414_1}。あかりマップを用い 地域住民と学生が実際に町を歩きながら防災マップを作成する実験を行い、 地域住民しか知り得ない情報の入力や災害への意識を高める機会になったことが 示されている。しかし、登録情報の修正や誤った位置への登録がみられたため 改善が必要であることが判明した。\par 田島ら\cite{田島祥2018S41048}は、まち歩き型の防災マップづくりを支援する ためにスマートフォンを活用した「防災マップ作成 支援システム」を開発した。まちを歩きながらマップにGPS(Global Positioning System)と連動した情報登録の有効性が示されている\cite{田島祥2018S41048}。しかし、作成されたマッ プの更新作業をどのようにするかという問題点があげられている。\par % これらの既存研究では、マップ作成に焦点があてられておりマップを管理する視点が取り入れられていない。 %田口ら\cite{田口仁2015}は東北地方太平洋沖地震の際に各企業、団 %体が公開したマップの形式を統一しデータベースでの管理を行った。このデータ %ベースより必要なマップを抽出し組み合わせることの有効性を示している。 \chapter{マップ作成の問題点} さかたまっぷの活動で行われたマップ作成を例にマップ作成における問題点をあげる。 % \section{さかたまっぷでの活動} % 山形県酒田市で運用されている酒田市地理情報システムさかたまっぷ\cite{sakatamap}がある。 % さかたまっぷでは、東北公益文科大学(本学)と連携し学生が作成したマップを %さかたまっぷで公開している。 \section{用語説明} マップ作成に関する用語を説明する。 \subsection{KML} KMLは、地物情報をXML形式で記述するものでタグを利用し表 している。 \subsection{JPG} JPGファイルは、1670万色を表現することができファイルサイズが小 さいのが特徴である。また、一度圧縮すると元に戻すことができない非可逆圧 縮であるため元の写真を残さなければならない。 \subsection{地理情報システム} 地理情報システムは、地図上に様々なデータを重ね表示させるシステムである。 \subsection{uMap} uMapは、誰でも自由にマップの作成ができるWebアプリケーショ ンである。自由に利用し地図を編集することができるOpenStreetMap(OSM)をベー スマップとしている。ベースマップは、OSMだけではなく国土地理院地図にすることがで きる。\par uMapでは、地図上にマーカーやラインなどの地物を配置し自由にマップ を作成することができる(図\ref{obj})。地物には、ポップアップで写真、動画、 コメントを表示させることができる(図\ref{uMap_form})。これらの地物は、地図の上にレイ ヤ状に重ねて表示させている(図\ref{layer})。そのため、レイヤわけができ種別ごとにわけ作成することができる。 また、uMapで作成したマップは、URLを共有することでマップ作成者以外の人も編集 することができ作業が行える。このように、グループで行う活動に適している。 uMapでは、作成したマップの地物のデータをエクスポートしダウンロードするこ とができる。 %ダウンロードできる形式は、GeoJSON、uMap、GPX、KMLがある。 \begin{figure}[h] \centering \includegraphics[bb=0 0 400 400,scale=0.7]{figure/obj.pdf} \caption{uMap} \label{obj} \end{figure} \begin{figure}[b] \centering \includegraphics[bb=0 0 400 180,scale=0.9]{figure/layer.pdf} \caption{レイヤ} \label{layer} \end{figure} \begin{figure}[b] \centering \includegraphics[bb=0 0 180 130,scale=1.0]{figure/popup.pdf} \caption{地物のポップアップ} \label{uMap_form} \end{figure} \clearpage \section{さかたまっぷ} さかたまっぷは、酒田市で運用されている地理情報システムのことである。防災関連のマップや公共施設のマップ等が公開されている(図\ref{sakamap})。酒田市は、2014年度より東北公益文科大 学(本学)と連携し本学の学生の視点を取り入れたマップを作成し公開をしてい る。本学学生は、2014年度から 2015年度にランニングコースや冷たいラーメンマップなどの酒田市に親し みのあるマップを作成した。2016年度は、酒田市の小中学校の通学路安全マッ プを学区ごとのマップと学区統合版のマップの2種類を作成した。この活動を 通して通学路安全マップは、各小中学校が独自に紙媒体で作成していること判 明した。 また、少子高齢化に伴い酒田 市では、小中学校の合併が行われている。その際に合併された学校で作成され た通学路安全マップは、破棄されることがわかった。そのため、小中学校に連絡し通学路安全マップの有無を確認した。安全マップ があった小中学校の安全マップをもらい、紙媒体の通学路安全マップからさか たまっぷに掲載するマップを作成した。\par 2018年12月時点で酒田市が作成した23種類のマップと本学学生が作成した48種類のマップ掲載されており合計で71種類のマップが掲載されている。 \begin{figure}[h] \centering \includegraphics[bb=0 0 700 600,scale=0.5]{figure/sakatamap.pdf} \caption{さかたまっぷ} \label{sakamap} \end{figure} \section{さかたまっぷでのマップ作成手順\label{sakamap}} 学生がさかたまっぷに掲載するテーマを決め取材を行う。取材では、マップに掲載する情 報と写真を集める。\par 取材で集めた写真には、撮影物の緯度と経度を埋め込みリサイズをしマップに適 切なサイズにする加工処理を行う。この作業を写真一枚ずつ行う。その後、写真 に正しい位置情報が埋め込まれリサイズをされているかを確認する。\par uMapでの作業の流れは以下のとおりである(図\ref{uMap_f})。 \begin{enumerate} \item 撮影物に地物を置く \item 入力フォームに名称、概要、筆者、種別を打ち込む \item 誤りの確認 \end{enumerate}\par uMapで地物を配置しマップを作成する。各地物にuMapの入力フォームで情報を 入力する(図\ref{uMap_form})。これは、さかたまっぷに掲載する情報である。 この作業を地物の数だけ行いマップが完成した後に誤りの確認を行う。 誤りの確認は、マップを作成した人以外の2人で行い二重確認を行う。確認方法は、一人目が地 物に対してマーカの位置が間違っていないかと入力フォームの内容 に誤りがないかを1つずつ確認する。次に、二人目も同様の作業を行い誤りがな いことを再度確認する。 このような作業を行い完成したマップが図\ref{uMap}である。また、酒田市には、 KMLに形式で提出するためuMapで作成したマップをKML形式でダウンロードをし提出する。また、写真はJPGファイルで提出する。 \begin{figure}[h] \centering \includegraphics[bb=0 0 200 400,scale=0.7]{figure/mapf.pdf} \caption{uMapでの作業} \label{uMap_f} \end{figure} \begin{figure}[h] \centering \includegraphics[bb=0 0 300 300,scale=0.7]{figure/umap_form.pdf} \caption{uMapの入力フォーム} \label{uMap_form} \end{figure} \begin{figure}[h] \centering \includegraphics[bb=0 0 900 500,scale=0.3]{figure/uMap.pdf} \caption{マップの作成例} \label{uMap} \end{figure} \subsection{写真の加工処理} 写真にまず行う加工処理は、位置情報の埋め込みである。 位置情報とは、写真に埋め込まれた緯度と経度の情報のことを指す。写真の撮影物の緯度・経度 の値を埋め込むことにより、撮影物がどこにあるかを位置情報を確認すること でわかるようになる。これにより、担当者以外も位置情報を確認することでど こで撮影された写真なのかがわかり、誰でもどこで撮影されたかが確認できる。\par さかたまっぷでは、撮影物の位置を確認することに利用するため撮影物の位置 情報を埋め込む必要がある。位置情報の埋め込みは、携帯端末のGPSの取得機能 で緯度と経度を取得し写真に位置情報として埋め込むことができる。しかし、この機 能では、撮影物の位置情報ではなく携帯端末の位置の位置情報が埋め込まれる ため撮影物の位置情報は埋め込まれない。そのため国土地理院地図で撮影物の 緯度と経度を調べ、写真一枚ずつ手作業で位置情報を埋め込む。また、現在の携帯端末では、画面解像度がフルHD(1920x1080)から 4K(3840x2160)に対応しており,それに伴って撮影される写真はおおむね 4000x3000画素でファイルサイズは5MBから10MB程度になる。その状態でWeb上 に公開すると読み込みに時間がかかりマップの利便性を下げる \cite{weko_192728_1}。そのため写真をリサイズを行い画素数を小さくする。 % \subsubsection{写真のリサイズ} % リサイズとは、写真のサイズを小さくすることである。現在の写真は、〇〇p % xであり、これをマップに使用した場合は、読み込みに時間がかかってしまう。 % そのためリサイズをしサイズを小さくすることで対応する。 %\subsubsection{GeoTag} %写真に位置情報を埋め込む %\subsubsection{KML} %地理空間情報をXML形式で記述したもの。XMLは、タグを使い構造化すること %ができる。 % \subsubsection{JPG} %1667万色を表現することができる。また、 一度圧縮すると元に戻すことができない不可逆圧縮である。 %Joint Photographic Experts Group \section{マップ作成の問題点\label{map}} 小中学校の通学路安全マップの作成を例に問題点をあげる。\ref{sakamap}の作 成手順を元に通学路安全マップのuMapの作業は、以下の手順で行った。 \begin{enumerate} \item 小中学校ごとにuMapでマップの作成 \item 学区ごとのマップ作成 \item 学区統合版マップ作成 \end{enumerate}\par %上記のように小中学校ごとにuMapでマップを作成したため学区ごとに統合する作業で問題が発 %生した。 それは、学区に小学校が複数あり同じ意味の地物があった。 そのため学区統合作業では、同一の地物の有無の確認を し、あった場合削除した。この作業に時間がかかった。同様に学区統合版マップの 作成にも発生した。また、学区ごとのマップに地物の更新があった場合は、学区統合版マップも更新 しなければならない。よってマップの更新作業に時間がかかる問題も発生した。 \par 通学路安全マップは、地域住民にしか伝わらない内容も含 まれている。そのため、学区外の人には伝わらない内容になる。よって、閲 覧者の立場に応じたマップ作成の必要があることが判明した。 %通学路安全マップの作成を通してマップの内容は、閲覧者によって求める内容が異なること %がわかった。 %これより、閲覧者によって提供するマップを変更することでマッ %プの利便性が向上させる必要があった。しかし、uMapで閲覧者に応じてマップを作成す %る場合には、マップの種類に応じてすべて手作業でマップを新規に作成しなけれ %ばならないため作成に時間がかかる。 % \subsection{さかたまっぷであげられた問題点\label{map}} %上記であげたマップ作成手順より問題点が明らかになった。それは、uMapで作成したマッ % プの同一地点を複数のレイヤに利用することである。複数のレイヤに利 % 用した場合その地点に更新があった際には、すべてに適用しなければならず更新作 % 業が困難になる問題点が判明した。\par % マップを作成した後にマップは閲覧者の立場によって異なることがわかった。 %マップ作成作業を通してマップの内容は、閲覧者によって求める内容が異なること %がわかった。これより、閲覧者によって提供するマップを変更することでマッ %プの利便性が向上させる必要があった。しかし、uMapで閲覧者に応じてマップを作成す %る場合には、マップの種類に応じてすべて手作業でマップを新規に作成しなけれ %ばならないため作成に時間がかかる。そのため既存の地物を利用した新たなマッ %プの作成方法が必要となった。 % また、画像の加工処理を手作業で行っており、画像の数が多くなるほど時間がかかる問題があった。 \section{マップの問題点} \ref{map}であげたマップ作成での問題点をまとめる。 \begin{itemize} \item 同一地点の更新作業 \item 閲覧者に応じたマップの作成 % \item 画像・動画の加工処理の自動化 \end{itemize} このような問題点が判明した。 \chapter{システムの提案} \section{目的} 本研究では、閲覧者の意図を導入した地物データを管理する。この管理したデータを利用したマップを生成するシステムを提案する。このシステムの適用例として遊佐の湧水マップを作成する。 \subsection{動的なマップ} 観光者は、初めて訪れた人や複数回訪れた人等の立場の違いによって求める情 報が異なる。そのため、観光マップはマップ閲覧者に応じてマップの内容を変 える必要がある。これに対応するために複数のマップを作成する場合は、更新 作業に時間がかかる問題や閲覧者が目的のマップを選びづらくなる問題が発生 する。よって、同一のマップで対応しなけらばならない。 これより、一つのマップで閲覧者がマップに掲載されている場所に行った回数に応じて表示内容 を変更する動的なマップが必要となった 。\par %上記の問題を解決するために閲覧者がマップ上のマーカに近づいた回数に応じて表示内容 % を変更する機能を導入した動的なマップが必要である。 % \subsection{遊佐の湧水} %山形県遊佐町にある遊佐駅付近の湧水のことである。遊佐町は、ゆざ湧水散歩と %しパンフレットを作成している。遊佐駅付近には、14種類の湧水がある。また、道中 %には川、神社、石碑があり湧水をさがしつつ観光もすることができる。 \section{システムの概観} システムの概観は図\ref{sys}のようになる。 入力者がマップの地物データを作成し、データベースで管理する。マップ作成 者が利用する地物データをデータベースより抽出し、地物データの集合体であ る地物レイヤ群を作成する。これをマップ生成システムでマップのレイヤとし 使用することでマップを生成する。この生成されたマップをマップ閲覧 者が閲覧する。 % \subsection{地物情報と地物レイヤ群} % 地物データとは、マップ上に表示されるマーカやポイントのデータのこと % を指す。地物レイヤ群は、地物情報の集合体であるとする。 %地物データ群ををマップのレイヤとし使用することでマップ上にオブジェクトが表示される。 \begin{figure}[h] \centering \includegraphics[bb=0 0 400 450,scale=0.6]{figure/sys_gaikan.pdf} \caption{システムの概観} \label{sys} \end{figure} \chapter{システムの開発} 地物データを管理する方法と作成した遊佐の湧水マップについて説明する。 %動的なマップについて説明する。 %\\section{開発環境} % 開発で利用したものは以下の通りである。 % \subsection{Ruby} %オブジェクト型スクリプト言語でありオープンソースである\cite{ruby}。 % \subsection{Leaflet} % Web上に地図を生成できるJavaScriptのライブラリである。地図を生成しアイ % コンやラインを地図上に作成することができる\cite{leaflet}。 % \subsection{JavaScript} % オブジェクト指向スクリプト言語である。動的なWebページの構築に使われる。 % マウスをクリックした際の処理やカーソルを重ねた時の処理などを行うことが % できる\cite{JavaS}。 % \subsection{GitBucket} % GitのWebプラットフォームであり、オープンソースである\cite{GitB}。 % \subsection{SQLite3} %オープンソースの関係データベース管理システム(RDBMS)である\cite{SQLite3}。 %サーバーを必要としないのが特徴である。 % \subsection{地物情報の入力} % 入力フォームのマップ上にオブジェクトを表示させる位置をクリックし指定す % る。その後、地物にあてはまる属性を選択するこれらのデータをデータベー % スに挿入する。また、画像や動画がある場合は、適切な処理を行いGitBucket % で管理をする。これは、URLが固定されるためマップに利用することができる % ようになるからである。 %\section{マップの生成する方法} %マップの生成方法について説明する \section{マップ作成の意義と問題} マップは、記録目的や情報発信のために作成する。記録目的では、地物を利 用しどこに存在し、どのようなものかを書き込む。また、情報発信の目的では、 マップの閲覧者がどのような内容の情報を求めるかを考え内容を決める。 これらをuMapを使用し作成すると問題が発生する。 マップに掲載されている情報は、地物データに記録される。しかし、uMapで は、レイヤごとに管理されており地物ごとに管理されていない。そのため、一 部の地物を使用するには、レイヤのデータから取り出す必要がある。よって一 部の地物を使用するのは困難であり、レイヤごとに地物を作成しなければなら ない。そのため、各レイヤに同一地点の地物がある場合、レイヤごとに更新する必要があり時間がかかる。\par これらより、地物ごとに管理し、マップ作成に使用できるシステムが必要である。 \section{マップの生成\label{geojson1}} マップの生成には、 Web上に地図を生成できるJavaScriptのライブラリであるLeafletを使用する。Leafletは、GeoJSONファイルを読み込み地図上にマーカやラ イン等のオブジェクトを表示させることができる。GeoJSONファイルには、オブジェクトの種別と座標が である。座標は、オブジェクトの種別によって形式が異なる。 また、GeoJSONファイルには、マップにした際にポップアップで表示させ る内容も含める。これは、GeoJSON形式に沿った書き方をすれば追加をすることができる。 \subsection{GeoJSONファイルの形式\label{geo}} 以下のGeoJSON形式を例にGeoJSON形式について説明する。 \begin{verbatim} { "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "name": "東北公益文科大学", "description": "大学です" }, "geometry": { "type": "Point", "coordinates": [ 139.8195, 38.893296 ] } } ] } \end{verbatim} このGeoJSONファイルは、マップ上にマーカを1箇所に配置したものである。木構 造で表すと図\ref{tree}のようになる。\par propertiesには、地物に関した情報を書き込む。上記では、名称に地物の名前と 概要に説明文が書かれている。このようなハッシュ形式で作成すれば追記するこ とができる。よってマップの種別などが追加できる。\par geometoryのtypeには、地物の種別を入力する。種別は、Point、MultiPoint、 LineString、MultiLineString、Polygon、MultiPolygon、GeometryCollectionが ある。これらは、coordinatesに入力する値がそれぞれ異なる。例えば LineStringでは、 \begin{verbatim} { "type": "LineString", "coordinates": [ [100.0, 0.0], [101.0, 1.0] ] } \end{verbatim} となる。 \begin{figure}[h] \centering \includegraphics[bb=0 0 370 350,scale=0.8]{figure/geojson_ki.pdf} \caption{GeoJSONファイルの木構造} \label{tree} \end{figure} \subsection{生成するGeoJSON形式\label{cl_geo}} マップ生成時にGeoJSONファイルを読み込むが読み込む際にどのデータかを明 確にする必要がある。これは、閲覧者の意図を導入するためである。閲覧者の 意図とは、閲覧者の求めるマップのことを指す。 生成するGeoJSONファイルの例が以下のとおりである。 \begin{verbatim} { "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "name": "東北公益文科大学", "address": "山形県酒田市飯森山3-5-1", "description": "大学です", "maptype": "university", "季節": "冬" }, "geometry": { "type": "Point", "coordinates": [ 139.8195, 38.893296 ] } } ] } \end{verbatim} これは\ref{geo}のGeoJSONファイルに属性などを追加した。 maptypeは、この地物が何に関する地物かを示す。 \verb|"季節":"冬"|は、属性と属性値である。これは、地物が冬に関する内容で あることを示す。 %そのため GeoJSONファイルに属性と属性値を入れる。属性は、閲覧者の立場の分類を書 % き属性値には属性にあった内容を書く。また、オブジェクトがどのマップに関 %するデータを表すマップの種別を入れる。これは、GeoJSONファイルを管理す %る際に使用する。\par %また、GeoJSONファイルにはポップアップの内容も含める。ポップアップに表 %示させる内容として、オブジェクトの名称、住所、コメントの欄を作成す %る。これより、ポップアップした際に説明文を表示するこ %とができる。\par %上記の内容を含めたGeoJSONファイルである。 \section{地物データの管理システム} 地物データの管理システムについて述べる。 \subsection{地物データの管理} \ref{geojson1}であげたマップの生成に使用するGeoJSONファイルを作成すること ができるように地物ごとに管理する。管理 には、検索、蓄積、修正ができるデータベースを利用する。データベースには 様々あるがカラムの制約が緩いSQLite3を用い、様々な属性に対応する構造に した。構造は図\ref{er}のとおりである。\par enameは、地物ごとの固有の名前であるユニークキーでありそれぞれのテー ブルを結びつけている。 \par 表\ref{item}のmapitemテーブルは、地物情報の基本情報を表す。地物のポッ プアップに表記する地点の名称、住所、概要を挿入する。緯度、経度はその地点が どこにあるかを表す。 \begin{table}[h] \begin{center} \caption{mapitemテーブル} \begin{tabular}{|c|c|}\hline カラム & 意味 \\\hline ename & ユニークキー \\\hline name & 名称 \\\hline addr & 住所 \\\hline desc & 概要 \\\hline lat & 緯度 \\\hline lon & 経度 \\\hline \end{tabular} \label{item} \end{center} \end{table} 表\ref{type}のmaptypeテーブルは、地図の種別 を表し地物がどのマップに関しているかを表す。 \begin{table}[h] \begin{center} \caption{maptypeテーブル} \begin{tabular}{|c|c|}\hline カラム & 意味 \\\hline ename & ユニークキー \\\hline maptype & マップの種別 \\\hline \end{tabular} \label{type} \end{center} \end{table} 表\ref{attr}のattributeテーブルは、属性と属性の値を挿入する。attr に挿入する属性名は、地物が属するグループを表す。例えば、季 節がある。この値をvalueに挿入する。季節であれば、春、夏、秋、冬のいずれか になる。 \begin{table}[h] \begin{center} \caption{attributeテーブル} \begin{tabular}{|c|c|}\hline カラム & 意味 \\\hline ename & ユニークキー \\\hline attr & 属性名 \\\hline value & 属性値 \\\hline \end{tabular} \label{attr} \end{center} \end{table} 表\ref{object}のobjectテーブルは、地物の種別と地物の表 記値をGeoJSON形式で表したものを挿入する。 \begin{table}[h] \begin{center} \caption{objectテーブル} \begin{tabular}{|c|c|}\hline カラム & 意味 \\\hline ename & ユニークキー \\\hline objtype & 地物の種別 \\\hline jsonval & 地物のJSON表記 \\\hline \end{tabular} \label{object} \end{center} \end{table} \begin{figure}[h] \centering \includegraphics[bb=0 0 400 300,scale=0.6]{figure/er.pdf} \caption{データベースの構造} \label{er} \end{figure} % \subsection{正規化} % \subsection{第一正規化} % \subsection{第二正規化} % \subsection{第三正規化} \clearpage \subsection{地物情報の抽出} データベースで管理しているattrとvalueを利用しマップ作成者が求める データをデータベースより抽出する。抽出は、sqlite3-rubyライブラリを 利用する。sqlite3-rubyライブラリは、SQLite3に接続することができ テーブルの作成やデータの挿入、抽出、削除などをすることができる。\par %抽出後は、マップの生成に使用するGeoJSON形式に変換する。このGeoJSONは、データベー %スのname、addr、maptype、attr、value、object、jsonvalを使用する。 GeoJSONファイル作成後の管理は、GitBucketで行う。GitBucketは、バージョンを管理 をするGitのWebプラットフォームである。 GitBucketでは、URLを固定化することができる。この機能を利用し写真の URLを固定化する。これは、マップで写真を使用する場合は、写真のURLを 指定し表示させるためである。仮にURLが 変更される場合は、マップ生成時に使用したURLを更新しなければならな い。そのため、写真のURLの固定化が必要である。 %これにより、夏の観光マップや冬の観光マップなどのマップを作成することができる。\par %下は利点の話 %このように管理した地物情報を利用することでをマップ作成者の意図がより反映 %されたマップを作成することができる。また、マップ閲覧者も目的のマップを探 %しやすくなる。 %\subsection{マップの生成} % Web上に地図を生成できるJavaScriptのライブラリであるLeafletを使用する。 % Leaflet\cite{leaflet}は、GeoJSONファイルを読み込み地図上にマーカやラ % イン等のオブジェクトを表示させることができる。 %\section{遊佐の湧水マップの作成} % 遊佐の湧水マップについて説明する。 \subsection{GeoJSONファイルの生成} \ref{cl_geo}で例示したGeoJSONファイルを作成する。データベースより 抽出した地物データをそれぞれ配列に入れる。この配列より、地物が何個 あるか判定し、配列内のデータでGeoJSONを作成する。地物が1個の場合は、 GeoJSONの形式にあてはめ作成する。また、地物が2個以上の場合は地物の数だけ繰り返しGeoJSONを作成する。 このように作成したGeoJSONをファイルに書きだす。 \section{動的なマップの作成\label{dmap}} 動的なマップの仕組みについて説明する。マップには、マップ利用 者の位置とマップで紹介する地点にマーカを表示させる。 マップ利用者のマーカが他のマーカに近づくとポップアップが表示さ れる。表示内容は、マップ利用者がマーカに近づいた回数に応じて 変わる。このような動的なマップを作成する。 \subsection{位置情報の取得方法} マップ閲覧者の携帯端末のGPSの取得機能を利用しマップ閲覧者の位置情報を取得する。 位置情報は、利用者の位置情報を取得することができるGeolocation APIを使 い取得する。Geolocation APIは、各種技術の標準化を勧めているW3C(World Wide Web Consortium)が定める規格であり、Edge、 Google Chrome、Firefox、Safari、Operanの5種類のブラウザがサポートして している。このようにブラウザがサポートしているため各種携 帯端末でGPS取得機能を有効化すれば利用することができる。Geolocation API を使い取得した位置情報をマップに反映しマップ上に表示させる。 \subsection{地点付近を通った回数の判断方法} WebブラウザのlocalStorageに書き込みができるWeb Storage APIを用い利用者 がマーカに近づいた回数を記録する。localStorageに記録されたデータは、保 存期間に制限がない。そのため、利用者が再度利用した際にデータが残ってお り、訪れた回数がシステムで判断することができる。 % \subsection{GPSとは} \chapter{システムの適用} \ref{dmap}で開発した動的なマップを適用した例を記述する。 \section{遊佐の湧水マップ} 山形県遊佐町の遊佐駅付近にある湧水を案内する動的なマップを作成した。(図 \ref{yuza})。遊佐の湧水マップは、マップ利用者の携帯端末から GPSを取得する。所得開始は、STARTボタンを押すことで開始される。 GPSの取得を終了する場合は、STOPボタンを押す。マップ上のマーカの初期状態のポップアップは名称のみの表示にしている。利用者がマーカの 座標の半径10m以内に近づくことで説明文が追加されたポップアップが表示され、 内容が最大3回更新される。よって初めて利用す る人、2回目の人、3回目の人の閲覧者の意図を導入したマップで ある。また、マップのポップアップを初期状態に戻す場合は、RESETボタンを押す。 これらのポップアップする機能は、マップ利用者の携帯端末からGPSを取得できた場合に動作する。 \begin{figure}[h] \centering \includegraphics[bb=0 0 900 600,scale=0.4]{figure/yuzamap.pdf} \caption{遊佐の湧水マップ} \label{yuza} \end{figure} \chapter{結論と今後の展望} 結論と今後の展望を述べる。 \section{結論} 地物に閲覧者の意図を導入しデータベースで管理するシステムを構築した。よって、データベースより抽出した地物レイヤ群でマップを作成することで閲覧者の意図が導入されたマップが作成できる。 これらより、マップごとに更新作業がデータベースの更新になる。 そのため、さかたまっぷで行っていたマップごとの更新がデータベースの更新の みとなり、更新作業の短縮がされる。また、地物をデータベースより抽出し、地物レイヤ群を 作成するため、地物を複数のマップへ利用することが可能になった。\par システムを適用し、遊佐の湧水マップを作成した。これ により、一つのマップで閲覧者の意図を複数導入したマップの作成ができること が判明した。 \section{今後の展望} 遊佐湧水マップは、データベースから抽出したGeoJSONファイルではなくuMapで 作成したGeoJSONファイルを使用している。今後はデー タベースより作成したGeoJSONファイルを使用するように変更する。また、遊佐 湧水マップを運用し改善点や有効点を明らかにする。\par 現在は、遊佐の湧水マップのようなマップのみにしか対応できていないため季節 ごとに分類されたマップや冬に特化した防災マップなどの作成できるマップを増やす。 \bibliographystyle{junsrt} \bibliography{otani} \end{document}