LoginSignup
6
3

More than 3 years have passed since last update.

プログラミング初心者の俺がGeoDjangoで業務効率化地図アプリを作りきった話

Last updated at Posted at 2020-02-29

はじめに

本記事はPythonを使った開発フレームワーク、Djangoを使ってウェブアプリPublic Mappingをプログラミング初心者の私が開発した、開発記録のうち「経緯編」です。

アプリの構成、開発プロセスの詳細については「開発後記編」をご参照ください。
※アプリについては現在停止中(2021年5月1日現在)
公開リポジトリはこちら

コンセプト:どんなアプリ作ったの??

  • 位置情報とメモを地図上で簡単に記録できて
  • どこからでも参照・編集ができる(webアプリ)
  • 印刷しても一目でわかる

少人数チームでの運用を想定した地域の情報共有メモアプリを作成しました。
app_overview.png

なんでこのアプリが必要なの?

アプリの作成意図をまとめた企画書はこちら
私、現職建設コンサルタントで環境アセスメントを主に担当しております。
工事現場や工事予定箇所に赴き、現地の自然環境、社会環境に関わる情報を調査し、まとめ、環境保全対策を提案したり、実施したりするのが仕事です。
実際に調査をスムーズに実施するにあたっては、現地の情報に精通している必要があります。

どこどこに希少植物が生えている、現場にいくにはこの道を通るのが近道だ、過去にはここで希少動物の目撃情報があった、、、、

こういった調査対象に関する情報以外にも、

トイレ休憩できる最寄りのコンビニはここだ、安全に車を停められる駐車場はここしかない、現地でお世話になっている住民の住所は***、ここのラーメンは現場に行ったら食わにゃあかん、警察の取締りがよくある場所は、、、

など、安全に、円滑に現地での作業を実施するにあたって必要な情報はたくさんあります。

何が課題なの?

しかし、調査報告書、成果品に残るのは前者の情報のみであって、調査にあたって必要な後者の情報をどう管理するかは、調査チームそれぞれのやり方、担当者個人のやり方に委ねられているのが常です。(それゆえ、現地に精通した技術者、調査員はバリューを持つわけですが・・・)

また、現地の状況はアップデートされていくもの。個人が手元の地図にメモで残していたり、メールでのやりとりで情報を共有したり、、、色々な情報が日々行き交い、蓄積していきます。
チーム内でルールが定められておらず、情報共有がうまくいかない時、問題が起こります。

Screen Shot 2020-03-05 at 11.45.38 pm.png

そういったトラブルを未然に防ぐため、既存の位置情報記録アプリや、GISソフトウェアを使った位置情報管理が考えられるわけですが、今度はこんな声が現場から、、、

Screen Shot 2020-03-05 at 11.43.59 pm.png

どうすれば現場の課題は解決されるの?

そんな現場から声を受け、現場が抱える課題を解決するため、以下の3点を実現するアプリを作りました。
・パブリッククラウドを使えない → レンタルサーバーか自社サーバー上にサーバーを置ける
・多機能なGISソフトは使いにくい → 必要最低限の機能に絞って不慣れな人でも簡単に操作できる
・スマホ、パソコン使えない時は? → 印刷して持ち歩けるような地図レイアウト

Screen Shot 2020-03-06 at 12.21.08 am.png

なんで自分で作ったの?

一言で言ってしまえば、Webアプリ開発かっこいいよね!やってみたい!!という憧れがあったからです。
地図アプリというジャンルを選んだ理由は、現場の課題解決に貢献したい、そして、自分も現場管理で楽をしたい、という自分の内から溢れ出るモチベーションを感じたからです。
調査業務の管理をする傍ら、GISオペレーターとしても動いており、触ったことのなかったwebGISについてちゃんと学んでみたかった、という自己研鑽目的でもあります。

今後の展望

集めた位置情報は解析して意味を見出してナンボです。
Djangoの使用言語であるPythonには位置情報に関する統計解析パッケージが豊富に存在します。
今回アプリを作成したことで、web上で位置情報を扱う基礎を学べました。
今後は、webアプリに地理的な解析を適用し、

現地調査→データの取得→データ解析→解析結果の表現

までをワンストップでできるようなアプリの作成に挑戦したいと考えています。

6
3
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
6
3