緯度経度などのデータファイルから,マーカーとイメージポップアップ付きの OpenStreetMap 地図を生成
問題定義
提案技術
期待される効果 簡易に構築運用可能な地図サービスシステム構築 ●こんなことでお困りではありませんか? ・モバイル端末等で日々データを収集している。地図に表示させたいが。何とか素早く、確実に、安価にできないものか? ・自ら(エンドユーザ)で、地図システムの中身を掌握しながら開発を進めたい.従来型システム開発(提案→仕様策定→実装→テスト)では間に合わず、よりクイックに開発したい ●こんなことができる、こんな用途が考えられます モバイル端末(GPS付きも可能)で集めた緯度・経度付きの情報を、即時に、地図に一括表示. 地図に基づくあらゆる情報で、パーソナル、特定業務用途の性質をもつもの ・ヒアリハット地図 ・道路等の検査、調査結果(交通状況、道路付帯施設状況など) ・団体行動などの把握 ●システム構成 ●使用している既存の技術 拡張可能です:密度表示、住所やゲオコードとの変換 簡易なデモページ:
前準備
Python のインストールと必要なPythonライブラリのインストール(Windows上)
- Python のインストール
注:既にPython(バージョン3.12を推奨)がインストール済みの場合は,この手順は不要である.
winget(Windowsパッケージマネージャー)を使用してインストールを行う
- 必要なPythonライブラリのインストール
【関連する外部ページ】
【サイト内の関連ページ】
緯度経度を含むデータファイルの準備
カレントディレクトリの確認
Python プログラムの実行
- Windows では python (Python ランチャーは py)
- Ubuntu では python3
【サイト内の関連ページ】 Python のまとめ: 別ページ »
- 次の Python プログラムを実行
import os print(os.getcwd())
AjinKuriakose/UK-Road-Accident-Data-Analysis のデータ
- GitHub の AjinKuriakose/UK-Road-Accident-Data-Analysis の Web ページを開く
https://github.com/AjinKuriakose/UK-Road-Accident-Data-Analysis
- 「clean_data.csv」をダウンロードしたいので、クリック.
- 画面が変わる.「Download」をクリック
- 先ほど調べた「カレントディレクトリ」に
ダウンロードロードしたファイルを置く
* ファイルの先頭部分は次のようになっている
データファイルの緯度経度などを使っての表示
import pandas as pd
import folium
datafile = "clean_data.csv"
lat, lon = 53.44, -2.24
zoom_start = 16
webfile_name = "d.html"
m = folium.Map(location=[lat, lon], zoom_start=zoom_start)
X = pd.read_csv(datafile)
for index, r in X.iterrows():
if index < 100:
p = '<a href="https://maps.google.com/maps?q=&layer=c&cbll=%f, %f&cbp=11,0,0,0,0">%s <br/></a>' % (r.latitude, r.longitude, r.date)
folium.Marker([r.latitude, r.longitude], popup=p).add_to(m)
m.save(webfile_name)


ズームアウトして確認

マーカーはクリッカブル
