地点検索アプリの作成 - koeki-prj.orgyuuji/seminar/c111126-petit.pdf ·...

19
アプリ 大学 益学 益学 C1111263 26 1 16

Upload: others

Post on 13-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 地点検索アプリの作成 - koeki-prj.orgyuuji/seminar/c111126-petit.pdf · 事前に閲覧したい地点の地図データをダウンロードしておく必要がある。

地点検索アプリの作成

廣瀬研究室 3年東北公益文科大学 公益学部 公益学科

C1111263 藤川恒介

平成 26年 1月 16日

Page 2: 地点検索アプリの作成 - koeki-prj.orgyuuji/seminar/c111126-petit.pdf · 事前に閲覧したい地点の地図データをダウンロードしておく必要がある。
Page 3: 地点検索アプリの作成 - koeki-prj.orgyuuji/seminar/c111126-petit.pdf · 事前に閲覧したい地点の地図データをダウンロードしておく必要がある。

3

目 次

第 1章 背景 5

1.1 現状 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

第 2章 オフライン地図の必要性 7

2.1 問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

第 3章 提案 9

3.1 地点検索アプリ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

第 4章 開発環境 11

4.1 GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.2 IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.3 Open Street Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.4 Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.5 Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134.6 JDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134.7 AndroidSDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

第 5章 開発 15

5.1 システムの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155.2 使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

第 6章 課題と展望 17

Page 4: 地点検索アプリの作成 - koeki-prj.orgyuuji/seminar/c111126-petit.pdf · 事前に閲覧したい地点の地図データをダウンロードしておく必要がある。
Page 5: 地点検索アプリの作成 - koeki-prj.orgyuuji/seminar/c111126-petit.pdf · 事前に閲覧したい地点の地図データをダウンロードしておく必要がある。

5

第1章 背景

現在山形県酒田市では,観光基本計画という政策を行っている [1]。平成 17年 11月 11日に,酒田市,八幡町,松山町,平田町の一市三町が合併し,新酒田市の誕生に伴って観光業をさかんにしていこうという試みがあった。平成 13年度に「眺海の森さんさん」,14年度に「湯の台温泉鳥海山荘」,15年度に「酒田海鮮市場」などを次々とオープンさせ,集客施設の拡充を図ってきた。このことは,観光客入り込み数を飛躍的に増加させ,観光関連産業の復興に大いに寄与してきたものと考えられている。しかし,増加傾向にあるビジネス系ホテルに比べ,一方では,観光客の入り込み数が減少の一途をたどっている観光施設や, 市内旅館の廃業など,施設単体での努力では改善が難しいことも現実となっているなど,酒田市観光の影の部分も表面化している。酒田市そのものの観光者数が増えているが,有名どころにのみ観光客が集まってしまい,まちなかには寄らずにいる。

この現状を考え,観光客や地元の人達がまちなかを訪れるきっかけができれば,まちなかが活発化すると考えた。また,酒田圈域の観光ニーズとして,案内表示がわかりにくい,全体的に PR不足という点が群を抜いていた。そのた

め,酒田市内を歩くきっかけになる上に市内を案内、紹介できるものがあればよいのではないかと考えた。そこで,まちなかを歩くだけでお得になるようなアプリケーション1の作成を考え,地元の人にも観光客にもまちなか

に出るきっかけになるような地図アプリケーションシステムを考えた。

アプリケーションの概要として,まずまちなかの商店街の各店舗にWi-Fiを設置する。店舗によって違う名前のWi-Fiを発信し,取得したWi-Fiの名前によって発信している店舗とは別の店舗のクーポン等を取得する。一箇所の店舗に行く毎に別の店舗にも行くきっかけを作る。まちなかを歩く人を増やし, まちなかを活発にするきっかけ作りとする。また,地図を開きWi-Fiを取得する事のできる位置を地図上に表示することで,Wi-Fiがある場所を探す手助けとなる上にまちなかの案内も兼ねさせる事ができる。

本論ではアプリケーション作成の前段階としてオフラインで地図を映すアプリケーションを作成する。オフライン

で地図を映す必要性については,次章で解説する。

1.1 現状

どこかに出掛けようとする時に,地図を見て場所を調べようとする場合,計算機や携帯端末を用いて,ウェブページや地図のアプリケーションを使用して検索する。しかし,ウェブページや地図のアプリケーションでは,インターネットに接続されていないと地図を開く事や検索する事ができない物が多い。オフラインで地図を開くアプリケーションも

存在するが,携帯端末で開く事のできるアプリケーションでは,以下のような問題点があった。

• 有料のアプリケーションである。

• 容量が大きい。

• 事前に閲覧したい地点の地図データをダウンロードしておく必要がある。

例として東北公益文科大学 (以下本学)のある山形県酒田市をオフラインで見る事のできるアプリケーションを探してみたが,やはり有料のものしか確認できなかった。実際にオフラインで地図を利用する場合と,オンラインで利用する地図場合の特徴ををそれぞれ以下の表に表す。

1携帯端末上で動くプログラム。

Page 6: 地点検索アプリの作成 - koeki-prj.orgyuuji/seminar/c111126-petit.pdf · 事前に閲覧したい地点の地図データをダウンロードしておく必要がある。

表 1.1: オフライン地図とオンライン地図の相違点オフライン地図の場合 項目 オンライン地図の場合

大きい 容量 小さい

速い 速さ インターネット環境によって速さが異なる

どこでも使える 使用可能環境 インターネット環境がある場所のみ

予めダウンロードが必要な場合有り 追加ダウンロードの必要性 必要無し

Page 7: 地点検索アプリの作成 - koeki-prj.orgyuuji/seminar/c111126-petit.pdf · 事前に閲覧したい地点の地図データをダウンロードしておく必要がある。

7

第2章 オフライン地図の必要性

2.1 問題

オフラインで開く事のできる無料の地図アプリケーションで対応していない地域で地図を表示するには,以下の方法が考えられる。

• 携帯端末や計算機でインターネットに接続して開く

• オフラインで開く事のできる有料のアプリケーションを購入する

• オフラインで開く事のできる無料のアプリケーションで,あらかじめ閲覧したい地点をダウンロードしておく

しかし,これではインターネットに接続できない場合には利用できない。そのため,事前にインターネットに接続し,オフラインで開く事のできる有料のアプリケーションを購入しておく必要がある。又は,無料のアプリケーションであらかじめ閲覧したい地点をダウンロードしておくしかない。しかし,追加してダウンロードする場合ではアプリケーションの容量が大きくなり,他のアプリケーションを圧迫してしまう恐れがある。

2.2 目的

本研究では,無料かつオフラインで山形県酒田市を限定して閲覧できるAndroid アプリケーションを作成をする。このプログラムの作成を通して,Androidアプリケーションを作成するまでの課程や、地図を表示するまでにはどのような手順で作成するのかを研究する。

Page 8: 地点検索アプリの作成 - koeki-prj.orgyuuji/seminar/c111126-petit.pdf · 事前に閲覧したい地点の地図データをダウンロードしておく必要がある。
Page 9: 地点検索アプリの作成 - koeki-prj.orgyuuji/seminar/c111126-petit.pdf · 事前に閲覧したい地点の地図データをダウンロードしておく必要がある。

9

第3章 提案

オフラインの地図アプリケーションを作るにあたり,以下の様な機能が必要だと考えられる。

地図を表示させる。

以下で表示する物のベースとなる。

Wi-Fiスポットを作成し、まちなかの各店舗に配置する。

実際に訪れたかを

Wi-Fiを配置した場所を地図上に表示させる。

ふが

Wi-Fiを取得し、取得した場所に応じてクーポン等を取得する仕組みをつくる。

こや

取得したクーポンを利用するまでの仕組みをつくる。

でてこい

本論では、地図を表示する機能と、示したい地点に目印を表示させる機能のみを作成する。また,これを通して作成予定のシステムに必要な知識の習熟を目指すものとする。

3.1 地点検索アプリ

場所を検索したい時に,その都度計算機を立ち上げてブラウザを開いていては, 時間がかかる上に計算機を利用した事の無い人ではそもそも調べる事ができない。そこで,本研究では Android端末で起動する,Androidアプリケーションを作成することで,アプリケーションを起動するだけで場所を検索することが可能なプログラムを作成する。しかし,全てを検索可能にするには,データの収集量が膨大なため, 本論では酒田市内の一部の病院のみを検索できるプログラムを作成するものとする。また,端末のGPS機能1を用いて,現在位置も表示し,自分の位置から近い病院等を探す事に役立てる事ができる物を作成する。また,データさえ入れれば病院以外にも応用して検索可能なものにする。

1Global Positioning System の略称。携帯の端末等についている。衛星から自分の位置情報を緯度経度で受け取り現在位置を調べる事ができる機能。詳細は後述。

Page 10: 地点検索アプリの作成 - koeki-prj.orgyuuji/seminar/c111126-petit.pdf · 事前に閲覧したい地点の地図データをダウンロードしておく必要がある。
Page 11: 地点検索アプリの作成 - koeki-prj.orgyuuji/seminar/c111126-petit.pdf · 事前に閲覧したい地点の地図データをダウンロードしておく必要がある。

11

第4章 開発環境

Androidアプリを開発する際の本論での環境を以下に記述する。また,作成に使用した環境等の説明を次項から行う。

表 4.1: 開発環境名称 バージョン

OS VineLinux6.1

端末 Android4.2.2

Eclipse 4.2.0

java 1.6.0

4.1 GPS

GPSとは,グローバルポジショニングシステム (Global Positioning System)の略称で,全地球測位システムのことである。米軍の軍司技術の一つで,地球周回軌道に 30基程度配置された人工衛星が発信する電波を利用し,受信機の緯度・経度・高度などを数 cmから数十 cmの誤差で割り出すことができる。現在は地上デジタル放送や,車のナビゲーションなどに使われている。受信機の正確な位置を割り出すために,GPS衛星と通信する必要があり,3つの衛星と通信出来る場所では緯度と経度を,4つの衛星が見えるところでは更に高度を割り出すことができる。

図 4.1: GPSのイメージ

Page 12: 地点検索アプリの作成 - koeki-prj.orgyuuji/seminar/c111126-petit.pdf · 事前に閲覧したい地点の地図データをダウンロードしておく必要がある。

4.2 IDE

IDE(Integrated Development Environment:統合開発環境)はソフトウェア開発に必要なソフトウェアを一つに組み合わせ,同じ操作画面から統一的な操作方法で利用できるようにしたソフトウェアパッケージのことである。コンパイラやテストツール,バージョン管理ソフトなどで構成されている。プログラム本体を記述するためのテキストエディタを中心に,ライブラリや開発中のクラスなどの仕様や内部構造を表示する機能など,様々な機能を持っている。プラグインなどの拡張機構を用いて,後から対応言語や機能を増やすこともできる。エディタには一般的なテキストエディタの機能に加え,入力途中の文字列から予約語や関数名などの候補を推測して自動的に提示してくれるコード補間機能や,予約語や区切り文字などを認識して色分けし見やすくしてくれる機能など,コード記述に特化した便利な機能が盛り込まれている事が多い。

4.3 Open Street Map

OpenStreetMap(以下 OSM)とは,自由に利用することができ,なおかつ編集機能のある世界地図を作るための共同作業プロジェクトである [3]。GPS 機能を持った携帯端末,空中写真やほかの無料機具からのデータをもとに作られていくのが基本で,個人で利用・編集ができ,他の地図アプリケーションとは違い利用のライセンスも無料である。地図を表示する際に googleマップ等を使用するとライセンスが有料なため,本研究ではOSMを用いて地図を表示することにする。

図 4.2: OpenStreetMap

4.4 Eclipse

Javaで記述された統合開発環境であり,Javaをはじめとするいくつかのプログラミング言語でのアプリケーション開発を行える。2001年 11月にオープンソース化し、誰でも無償で入手,改変,再配付できるようになった。各種のプラグインによってあとから機能を自由に追加することができる。

Page 13: 地点検索アプリの作成 - koeki-prj.orgyuuji/seminar/c111126-petit.pdf · 事前に閲覧したい地点の地図データをダウンロードしておく必要がある。

4.5 Java

Javaは Sun Microsystems社の開発したオブジェクト指向1のプログラミング言語である。強力なセキュリティ機構

や豊富なネットワーク関連の機能が標準で用意されており,ネットワーク環境で利用されることを強く意識した仕様になっている。Javaで開発されたソフトウェアは特定のOSに依存することがなく,基本的にはどのようなプラットフォーム2で動作する。Javaで記述されたソースコードは,Javaバイトコードと呼ばれるものに一度変換され,実行する時にはまたコンパイルする必要がある。コンパイル3時に自分の環境で動作するコンパイラを利用することで,プラットフォーム間の違いを気にせずに開発することができる。

4.6 JDK

JDK(Java Development Kit)は Javaでプログラミングを行う際に最低限必要なソフトウェアをセットにしたものである。Eclipseは Java用の統合環境だが,コンパイラは別途用意する必要がある。Eclipseを用いて Javaで書かれたソースコードを,次項の SDKで変換するためのバイトコードにコンパイルする時に用いられる。

4.7 AndroidSDK

Androidアプリを開発するためには,AndroidSDKが必要になる。JDKでコンパイルされたバイトコードをAndroidアプリ用の形式に変換することができ, Androidアプリ用に変換されたファイルを AndroidOSの端末上で実行しインストールすることでアプリケーションを動作させる事ができる。また,計算機上で動作を試験するためのエミュレータや Android端末と開発する計算機との間でデータのやりとりを行うためのプログラムなども含まれる。実際に実行するまでの流れを図 4.7に表す。

1操作手順よりも操作対象に重点を置いた設計のこと2プログラム等が動作する環境のこと。OS やハードウェアなどの設定や組み合わせなどのことも指す。3プログラミング言語を用いて書かれたソースコードを機械で実行する用の形式に変換すること。

Page 14: 地点検索アプリの作成 - koeki-prj.orgyuuji/seminar/c111126-petit.pdf · 事前に閲覧したい地点の地図データをダウンロードしておく必要がある。

eclipse

¥‰¡…¥„¥‡¡…¥É

¥—¥⁄¥¨¥‡¡…¥É

API

…´„Ô

¥⁄¥ó¥„¥¨¡…¥º

ˆ…¸ö¡ƒ¥¤¥ß¥å¥ì¡…¥¿

JDK⁄˙¥‡¥ó¥Ñ¥⁄¥º

AndroidSDK⁄˙¥‡¥ó¥Ñ¥⁄¥º

図 4.3: ソースから Androidアプリの実行までの流れ

Page 15: 地点検索アプリの作成 - koeki-prj.orgyuuji/seminar/c111126-petit.pdf · 事前に閲覧したい地点の地図データをダウンロードしておく必要がある。

15

第5章 開発

本項ではプログラムのシステムを説明する。

5.1 システムの概要

OSM から取得した酒田市内の地図を表示し, その中で更に病院の位置だけをポイントで見やすく教えてくれるシステムである。病院の位置は,事前に緯度と経度の座標を取っておく。例として,本学の座標は,北緯 38.8929度,東経139.8193度である。座標を元にして地図上にアイコンを置く。現在は酒田市内のみの想定のため,初期位置を東北公益文科大学に設定してある。

図 5.1: 公益大学の位置を表示した例

また、GPS機能を用いて自分の位置も表示する。そのため,今自分の居る場所から近い病院や, 通いやすい道にある病院等を探す事に適している。

//ここに自分の向いてる向きとかの矢印が写ってる地図アプリの画像をいれたい

Page 16: 地点検索アプリの作成 - koeki-prj.orgyuuji/seminar/c111126-petit.pdf · 事前に閲覧したい地点の地図データをダウンロードしておく必要がある。

5.2 使用方法

端末でアプリを起動するだけで,地図を開いて病院のある個所を表示するので,特別な操作は必要無い。地図上でフリック操作1するだけで地図上の病院の個所を一度に見られるようになる。

図 5.2: 山形県の一部病院を表示した例

1一箇所をタッチしたままスライドさせたり,2 点をタッチしたまま近づけたり遠ざけたりする操作

Page 17: 地点検索アプリの作成 - koeki-prj.orgyuuji/seminar/c111126-petit.pdf · 事前に閲覧したい地点の地図データをダウンロードしておく必要がある。

17

第6章 課題と展望

現在では酒田市内の一部の病院のデータしかないため,それらが表示されるようにしかできていない。また、全ての病院のデータが表示されてしまうため,付近に複数の病院がある場合に広域を表示したとき、見分けがつきにくくなっている。また、何科などの検索が出来ないため、表示したい個所のみ出せるような検索機能があればより利便性が高

まる。しかし,実際に地図を映しポイントを立てるところまでは完成したので,制作予定のプログラムの完成に必要な知識の習熟に近づいた。

Page 18: 地点検索アプリの作成 - koeki-prj.orgyuuji/seminar/c111126-petit.pdf · 事前に閲覧したい地点の地図データをダウンロードしておく必要がある。
Page 19: 地点検索アプリの作成 - koeki-prj.orgyuuji/seminar/c111126-petit.pdf · 事前に閲覧したい地点の地図データをダウンロードしておく必要がある。

19

参考文献

[1] 酒田市.”観光基本計画 (本書)”.酒田市.http://www.city.sakata.lg.jp/ou/shoko/kanko/bussan/files/kankoukeikaku.pdf,(参照 2013-11-12).

[2] 朝井淳.Androidアプリ作成入門.株式会社技術評論社,2013,639p.

[3] OpenStreetMap.http://www.openstreetmap.org,(参照 2013-11-15).

[4] xsota.”osmdroidを利用してOpenStreetMapの地図を表示させる方法”.葉っぱ.blog.xsota.com,(参照 2013-11-10).