1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

みんなで作るさくら情報マップ

Posted at

 これは、WEB上に、見知らぬ人たちが各々、撮ったさくらの写真をアップロードし、それらを地図上に表示するというサイトだ。
 まだ完全版ではないが、下記のURLで既に利用できる。

 是非アクセスして写真を登録してほしい。

 スマホ等の設定の注意点が2つある。①プライバシーの設定等で、位置情報を知らせる設定にしておくこと②カメラの設定で、位置情報を含ませる設定にしておくこと。

 今の初版では、匿名であればよく、パスワードの設定は必要ない。またメールアドレスなどの個人情報も登録の必要がない。とはいえ、写真とその位置情報の掲載は、間接的に自分の情報の公開にもつながりかねない。今回の初版は、その地図上の写真を誰(登録名)がアップロードしたかわからないようになっているし、アップロードした人であれば、その写真をWEB上からすみやかに削除できるようになっている。それでよければ、登録してみてほしい。

 これは、将来的に、災害時に、各自がスマホ等で写真をとったものをこのWEB上にアップロードし、災害情報につなげるための雛形である。
 一般の人が撮った写真や動画は、ニュースやSNS上にあがるように既になっている。このWEBサイトは、みんながWEB上で、写真とその位置情報、日時が、簡単に投稿でき、確認できることが少し新しい。

① このプロトタイプMapNS_Pro~個人写真のアルバム管理に利用できる~

MapNS_Pro
/
├── app.py
├── templates/
│ ├── index.html
│ └── result.html
│ └── leaflet.css / leaflet.js(CDNでも可)
├── uploads/
└── requirements.txt

 Python-Flaskをつくって作成していった。

 下記の作業の延長線上にある

 個人でつかうものなので、写真の分類を「プロジェクト」としてつくり、新規プロジェクト作成して写真追加、あるいは既につくったプロジェクトに写真追加できるようにした。

App.pyを起動し、http://127.0.0.1:5000/ を表示すると下記のような画面が出現。

5000_1.jpg

5000.jpg

② MapNS_SakuraEdition~みんなで作るさくら情報マップ~

 基本は①の改良である。プロジェクトは複数でなく「みんなで作るさくら情報マップ」ひとつだけに減る。
 仮名でよい(パスワード登録、個人情報登録は不要)が名前登録画面をつくり、協力者を一覧表示。写真とコメントを投稿 → 地図にマッピング後も、自分の投稿だけ削除できるように。また、写真はだれが投稿したかはわからないようにした。また、 スマホでの閲覧&投稿にも配慮した。

 そして難関は、PythonanywhereへのこのPython-Flaskファイルのデプロイ

 ここでまた手順を示すが、ChatGPT4の助けがなかったら今回も達成できなかったし、達成しても何か狐につままれたかんじ(ピンとこない)。

1️⃣ PythonAnywhere にログイン

https://www.pythonanywhere.com にアクセス

無料アカウント登録(Beginner プランでOK)

ダッシュボードに入る

2️⃣ ダッシュボードの「Files」⇒ZIPファイルをアップロード&展開

ダッシュボードの「Files」をクリック

下にある「Upload a file」から MapNS_SakuraEdition_v3.zip をアップロード

アップロード後、ターミナル or Bash で以下を実行:

bash
unzip MapNS_SakuraEdition_v3.zip

👉 すると /home/kojikoji(your_username)/MapNS_SakuraEdition_v3/ が展開される!

(そこには、Pythonanywhere独自のDirectoryやFileが数多く混在していて、一見、展開できてないようにもえるが、よくみると展開されていることがわかる)

3️⃣ ダッシュボードの「WEB」⇒ Flaskアプリを Web App に登録

上部メニューの「Web」をクリック

「Add a new web app」ボタン → Manual Configuration を選ぶ(Flask)

Pythonのバージョンは 3.x(新しめ)を選ぶ

「Source code」ディレクトリには:/home/kojikoji(your_username)/MapNS_SakuraEdition_v3

WSGIファイルを編集(リンクが出てくる)→ wsgi.py の中身を次のように:

import sys
import os
from pathlib import Path
 # 追加
project_home = str(Path("/home/your_username/MapNS_SakuraEdition_v3").resolve())
if project_home not in sys.path:
sys.path.append(project_home)

os.chdir(project_home)
from app import app as application # ←app.py の Flask app を起動

4️⃣ ダッシュボードの「Console」⇒Flask の依存ライブラリをインストール

左側メニュー「Consoles」 → 「Bash」を開いて以下を実行:

bash
pip install --user flask pillow exifread

5️⃣ ダッシュボードの「WEB」⇒Web アプリを再起動して公開!

「Web」ページに戻って「Reload」をクリック

(注意)Warning: No virtualenv detected at this path. Do you need to create it? これは「仮想環境(virtualenv)が正しく設定されていない」という意味ですが、今回の構成は「仮想環境なしのグローバル環境」で十分動く構成になっているのでこの警告は無視して大丈夫。

URL https://kojikoji.pythonanywhere.com/ にアクセスすると、 MapNS Sakura Edition がネット上に表示される

 今回の「みんなで作るさくら情報マップ」は、災害時に、各自がスマホ等で写真をとったものをこのWEB上の地図にアップロードし、災害情報につなげるための雛形となりうる。

 

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?