WordPress GoogleMapの埋め込み(備忘録)

GoogleMapで表示したい場所を選択

GoogleMapで、表示したい場所を選択し、左クリックした後、右クリックをし、緯度経度を表示しているところを選択

すると、緯度経度情報がコピーされるので、左上のGoogleMapを検索のダイアログにペーストする。

左ペインにある、共有をクリックすると、共有の子ウィンドウが開くので、地図を埋め込むタブをクリックし、地図の大きさを選択(デフォルトは中)し、HTMLをコピーをクリックする。

WordPressへの貼り付け

WordPressに戻り、ブロック挿入ツールからカスタムHTMLを選択し、ペーストする。

<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d817.0277541224318!2d139.08082482919764!3d35.003925997288476!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0%3A0x30fb63109492357a!2zMzXCsDAwJzE0LjEiTiAxMznCsDA0JzUyLjkiRQ!5e0!3m2!1sja!2sjp!4v1674946489704!5m2!1sja!2sjp" width="600" height="450" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>

プレビューで地図があっているか、確認する。

WordPress leaflet mapエクステンション

GPSログのGPXファイル、KMLファイルを地図上にトレースすることをleaflet mapで行うことを前回やりましたが、今回はその続きです。プラグインを探していたら、エクステンションを見つけてしまいました。今回はエクステンションの利用法について検討してみました。

インストール

いつものように、プラグインの新規追加のところで検索し、「Extensions for Leaflet Map」をインストールし、有効化します。すると、メニューのLeafletMapのサブメニューにExtensions for Leaflet Map欄が出てきます。クリックすると下記のような画面が出てきます。

Elevation Profile

高度の表示でしょうか。ショートコードには、elevation gpx=”url_gpx_file” option1=value1 option2 !option3 …を入れればよいみたいです。それでは前回の地図に入れてみます。

[leaflet-map fitbounds  tileurl=https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png zoom=15 height=500 zoomcontrol ]
[elevation gpx="wordpress/wp-content/uploads/gpx/2023-01-08.gpx" ]

[leaflet-map fitbounds tileurl=https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png zoom=15 height=500 zoomcontrol ]
[elevation gpx=”wordpress/wp-content/uploads/gpx/2023-01-08.gpx” ]

しっかり高度グラフがが出ますね。試してみたら、leaflet-kmlコマンドはいらないみたいです。デフォルトの色は若干見ずらいですが、オプションで変えれるみたいです。

色の変更

オプションで色の変更ができます。設定の部分でElevation Profilesタブを選んだ後にTheme/Colorsタブを選びます。デフォルトはlimeですが、steelblue・purple・yellow・red・magenta・lightblue・lightblueが選べます。例えばlightblueに変えるには、次のようになります。

[leaflet-map fitbounds  tileurl=https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png zoom=15 height=500 zoomcontrol ]
[elevation gpx="wordpress/wp-content/uploads/gpx/2023-01-08.gpx" theme=lightblue]

[leaflet-map fitbounds tileurl=https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png zoom=15 height=500 zoomcontrol ]
[elevation gpx=”wordpress/wp-content/uploads/gpx/2023-01-08.gpx” theme=lightblue]

こんな感じで変化します。

チャート プロフィール

デフォルトではチャート部分には高さのみの表示ですが、ここには重ね合わせで高度・加速度・斜度・速度・ペースの5種類を表示することができます。

高度はaltitudeで単位はm、加速度はaccelerationで単位はm/s²、斜度はslopeで単位は%、速度はspeedで単位はkm/h、ペースはpaceで単位はkm当たりの時間です。それぞれ表示するチャートプロフィールを1にすれば表示されます。高度と速度を表示させるには次のようになります。

[leaflet-map fitbounds  tileurl=https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png zoom=15 height=500 zoomcontrol ]
[elevation gpx="wordpress/wp-content/uploads/gpx/2023-01-08.gpx" theme=lime  speed=1]

[leaflet-map fitbounds tileurl=https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png zoom=15 height=500 zoomcontrol ]
[elevation gpx=”wordpress/wp-content/uploads/gpx/2023-01-08.gpx” theme=lime speed=1]

頂上付近のスピードが遅くなり、下りはスピードアップされていることが一目瞭然です。あまり表示させると見にくくなるので、2~3種類が良いのではないかと思います。

なお、チャートの下にそれぞれのサマリーが表示されますが、デフォルトでは複数行となっているため、表示が多くなるとしたに伸びてしまします。ここの表示はsummaryコマンドでコントロールできます。1でサマリーのみ表示ありでディスプレィダイアグラムなし、inlineで横書き、multilineで複数行、0で表示なしとなります。inline表示させてみます。ディスプレィダイアグラムのクリックでサマリーの表示のオンオフもできます。

[leaflet-map fitbounds  tileurl=https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png zoom=15 height=500 zoomcontrol ]
[elevation gpx="wordpress/wp-content/uploads/gpx/2023-01-08.gpx" theme=lime  speed=1 summary=inline]

[leaflet-map fitbounds tileurl=https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png zoom=15 height=500 zoomcontrol ]
[elevation gpx=”wordpress/wp-content/uploads/gpx/2023-01-08.gpx” theme=lime speed=1 summary=inline]

見やすさが良くないですが、縦方向に間延びしないので、個人的にはこの方が好みです。

チャートグラフ横軸の表示

チャートグラフの横軸はデフォルトで距離ですが、経過時間も同時に表示できます。また、Tooltip displayにそれぞれ表示されます。コマンドは距離はdistance、経過時間はtime、日時の表示はtimestampsをそれぞれ1にすると表示されます。今回は3種類とも表示させてみます。

[leaflet-map fitbounds  tileurl=https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png zoom=15 height=500 zoomcontrol ]
[elevation gpx="wordpress/wp-content/uploads/gpx/2023-01-08.gpx" theme=lime  speed=1 summary=1 time=1 timestamps=1 ] 

[leaflet-map fitbounds tileurl=https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png zoom=15 height=500 zoomcontrol ]
[elevation gpx=”wordpress/wp-content/uploads/gpx/2023-01-08.gpx” theme=lime speed=1 summary=1 time=1 timestamps=1 ]

横軸に経過時間は必要ですね、Tooltip displayへの日時の表示は好みで表示すれば良いですね。

WordPress GPSのログファイルGPXファイル、KMLファイルを地図上に表示する

androidスマホで新たにLocusMapというアプリを仕入れて、付近をウロウロしたログをWordPressにアップロードしようと思いつきましたが、良いプラグインが見つからず、最終的に「leaflet map」にたどり着き、表示するまでの顛末です。

ネットを調べると、GPXファイルを表示するには、プラグインとして「WP-GPX-Maps」がヒットし、ショートコードも簡単で高度も表示するため、飛びつきインストールしてみましたが、プレビュー画面を見ても表示せず・・・。現在のWordPressのバージョンは6.1.1、ネットで調べると旧バージョンじゃないと使えないとの情報もあったので、WordPressのダウングレードのためにプラグイン「WP Downgrade | Specific Core Version」をインストールし、5.9.5までダウングレードしても、やはり表示せず・・・ということで「WP-GPX-Maps」はあきらめ、次に「LF Hiker」、「OSM」と立て続けにトライするも無残にも「ファイルをアップロードする権限がありません。」との表示で、これらのプラグインも断念・・・、最終的に「Leaflet Map」にたどり着きました。以降は「Leaflet Map」が使えるまでの備忘録です。

インストール

プラグインの新規追加でで「Leaflet Map」をインストールし、有効化します。有効化後にインストール済みのプラグインで「Leaflet Map」を見ても、

Leaflet Map

無効化 | Settings

だけですし、設定欄にもありません。さあ、困ったなと思いきやメニューを一番下までスクロールすると、発見。

それでも、settinngsとShortcodehelperの二つしかありません。因みに3番目は後述する「Extensions for Leaflet Map」をインストール後に出てきます・・・

Settingsは単純にパラメーターのセッティングだけだし、Shortcodehelperを開くと、

世界地図と説明しか載っていません・・・このアプリもダメかなと思いつつ、いじり倒しました。

地図の表示

まあ、適当にいじっていけば地図は表示できるだろうと思い。世界地図のマーカーを伊豆半島までドラッグしていくと、地図の下のMap ShortcodeとMarker Shortcodeのところに、ドラックした場所の経度と緯度が出たショートコードが出ます。

きっと、これをショートコードに入れれば、OKと思い、入れてみました。

[leaflet-map lat=35.007080860323484 lng=-220.9172659739861 zoom=15]

なお、毎回地図をドラックするのも大変なので、settingsで経度と緯度を地元の数値に入れ替えておくと次回から楽に使用できます。

[leaflet-map lat=35.007080860323484 lng=-220.9172659739861 zoom=15]

おお、しっかり地図表示ができています。

マーカーの表示

上記の地図にはマーカーMarker Shortcodeを表示されていましたので、これも入れてみたいと思います。

[leaflet-map lat=35.007080860323484 lng=-220.9172659739861 zoom=15]
[leaflet-marker lat=35.00539375766653 lng=-220.92012418654022][/leaflet-marker]

[leaflet-map lat=35.007080860323484 lng=-220.9172659739861 zoom=15]
[leaflet-marker lat=35.00539375766653 lng=-220.92012418654022][/leaflet-marker]

マーカーが宇佐美駅付近に付きました。マーカーをポップアップ方式にもできるみたいです。PCのみでスマホではどうも出てきません・・・

[leaflet-map lat=35.00539375766653 lng=-220.92012418654022 zoom=15]
[leaflet-marker]宇佐美駅[/leaflet-marker]

[leaflet-map lat=35.00539375766653 lng=-220.92012418654022 zoom=15]
[leaflet-marker]宇佐美駅[/leaflet-marker]

マップの高さ調整

デフォルトのままだと地図の高さが足りないようなので、高さを変えてみます。leaflet-mapのショートコードにheight=500を加えます。

[leaflet-map lat=35.00539375766653 lng=-220.92012418654022 zoom=15 height=500]

[leaflet-map lat=35.00539375766653 lng=-220.92012418654022 zoom=15 height=500]

ちょうどいいくらいですね。これで高さも調整できました。

マップにズームボタンを入れる

次にマップにズームアップ・ズームダウンボタンを入れてみます。これもleaflet-mapのショートコードにzoomcontrolを加えます。

[leaflet-map lat=35.00539375766653 lng=-220.92012418654022 zoom=15 height=500 zoomcontrol]

[leaflet-map lat=35.00539375766653 lng=-220.92012418654022 zoom=15 height=500 zoomcontrol]

付きましたね、これでズームも自由です。

GPSログのKMLファイルを入れる

やっとGPSのログが入れれそうです。GPXでもKMLでもどちらも入れれる仕様です。

GPXの場合はleaflet-gpx src=ファイル名 color=red

KMLの場合はleaflet-kml src=ファイル名 color=red  です。

今回は”leaflet-kml src=wordpress/wp-content/uploads/gpx/test2.kml color=red”でやってみました。因みにgpxフォルダはこれも新たにプラグイン「File Manager」をインストールして新たに作っています。それと、GPX、KMLファイルを入れるときは、leaflet-map fitboundsと経度と緯度を入れなくても良いみたいです。

[leaflet-map fitbounds  zoom=15 height=500 zoomcontrol ]
[leaflet-kml src=wordpress/wp-content/uploads/gpx/test2.kml color=red]

[leaflet-map fitbounds zoom=15 height=500 zoomcontrol ]
[leaflet-kml src=wordpress/wp-content/uploads/gpx/test2.kml color=red]

fitboundsがGPSデータをもとに中心になるようにしているみたいです。

おまけ国土地理院の地図に変更

leafletはいわゆるOpen Source Mapを使用しているため、googlemapを見慣れていると見にくいですが、フリーマップなのでしょうがありません。

しかしながら、フリーのマップがあれば置き換えられるということで、国土地理院マップで表示してみたいと思います。tileurl=https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png追加すれば良さそうです。

[leaflet-map fitbounds tileurl=https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png zoom=15 height=500 zoomcontrol ]
[leaflet-kml src=wordpress/wp-content/uploads/gpx/test2.kml color=red]

[leaflet-map fitbounds tileurl=https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png zoom=15 height=500 zoomcontrol ]
[leaflet-kml src=wordpress/wp-content/uploads/gpx/test2.kml color=red]

これで、まず第一段階終了です。

WordPressにbokehのグラフをのせる(備忘録)

bokeh、pandas-bokehはインタラクティブなグラフを作成することができるが、これをWordPressに添付するのも割と簡単であったので、のせておきます。

1.bokehグラフのhtmlコードを取得する

bokehのプログムをrunさせるとrunさせたディレクトリにhtmlファイルが生成されます。これをIDE(私はVisualStudioCode)で開いて、クリップボードにコピーする。

2.WordPressにコピーする

ブロック挿入ツールのウィジェット中に「カスタムHTML」があるので、これを選択し、ダイアログ中にコピーしたhtmlをペーストして、出来上がり

プレビューすると、しっかりbokehのグラフを表示することができます。マウスでドラッグやピンチもできます。

Bokeh Plot

MySQLデータをpandas-bokehでグラフ化(備忘録)

毎日暑いので、エアコンの効いた部屋でノンビリPCいじってます。今日は、先日サーバーを入れ替え、自宅温度などをESP32からMySQLに取り込み、これをグラフ化するところまで備忘録にしておきます。

必要モジュールのインストール

今回はpandas-bokehとsqlalchemyをインストールしました。それぞれpipを用いてインストールします。

pip install pandas-bokeh
pip install sqlalchemy

全体のコードは以下のとおりです。

import pandas as pd
import sqlalchemy as sa
import pandas_bokeh

user='esp32'
password='*******'
host='192.168.1.**'
db='esp_data'
port=3306

url = f'mysql+pymysql://{user}:{password}@{host}:{port}/{db}?charset=utf8'
engine = sa.create_engine(url,echo=False)

query = "select reading_time,temp from SensorData order by reading_time desc limit 1000"
#query="select * from SensorData order by reading_time desc limit 10"
df = pd.read_sql(query,con=engine,index_col='reading_time')
#print(df)

df.plot_bokeh()

たったこれだけのコードです。16行目のindex_col=’reading_time’でX座標が時間軸になり、ソートはdescですが、プロットするときは経時的に描画されます。

Bokeh Plot

UbuntuサーバーにCertbotを導入しSSL化

新たに自宅に鯖を立て、ぷららのDDNSが使用できる環境なので、Certbotを導入してSSL化をしました。

Certbotの導入

$ sudo apt-get install certbot python3-certbot-apache
$ sudo certbot --apache

途中メールアドレス、規約同意、メール送付同意、ドメイン、httpリダイレクトを聞かれるので、入力し終了。

Certbotの更新タイマーの確認は

$ sudo systemctl status certbot.timer

certbot.timer - Run certbot twice daily
Loaded: loaded (/lib/systemd/system/certbot.timer; enabled; vendor preset:>
Active: active (waiting) since Sat 2022-07-30 11:51:11 JST; 3h 43min ago
Trigger: Sun 2022-07-31 03:50:39 JST; 12h left
Triggers: 笳・certbot.service

Jul 30 11:51:11 ubuntuserver systemd[1]: Started Run certbot twice daily.

一日に2回更新するみたいです。

BMW R850R バルブクリアランス他

梅雨入り前の貴重な天気を利用して、溜まっていた作業をサクサクしました。残念ながら今回は写真無しの備忘録です。

先ずはバルブクリアランスの調整です。左右のシリンダーのプラグを外します。その後、エンジンヘッドガードを外しますが、サイドの2本は外れましたが、下のボルトは熱で固着してして、叩いたり色々しましたが、結局左右とも捻じ切れてしまいました。このネジは余りエンジンには影響していなさそうなので、現況はそのままにしておきます。最悪の場合は、貫通ボルトですので、ドリルでもんで、折れたネジを取る予定です。その後、ヘッドカバーの4本のトルクスを緩め、コンコン刺激を与えるとパカッと外れます。

ピストンの上死点を出すために、エンジン前部のオルタネーターカバーを開けクランクシャフトのナット(16mm)にソケットをつけて時計方向に回します。プラグの穴にロングのマイナスドライバーをツッコミ、一番出てきてなおかつドライブチェーンのスプロケットのlマークが水平状態になった所で止めます。

次にバルブクリアランスを調整します。イン側は0.15mmのシックネスゲージがユルユルですので、ロッカーアームのロックボルトを緩めヘックスボルトを締めて適正な隙間にします。排気側は0.30mmですが、ほぼほぼ合ってましたが、2本だけ調整しました。調整終了後は組み立てて終了です。

調整後の始動もチョークレバー引かなくても一発始動でした。試運転もなんとなくトルク感が増して、いつもより高いギヤを使っても平気でした。

その後、セローの前後ブレーキ液およびバッテリー交換して終了です。

Ducati ST4S ユーザー車検

在庫車のDucati ST4Sの車検が11月5日までということで、ユーザー車検に行ってきました。先日BMW R850Rのユーザー車検もしたので、多分問題ないものと楽勝モードでいました。

車検前の整備については通常通り行い、点検記録簿も作成し、本番です。前回同様に光軸の調整を車検場側の予備車検場で受けましたが、なんと光量不足であることが判明してしまいました。通常、検査機械で150以上必要なところ80しか出ていないということです。今回は楽勝モードということで、工具は六角レンチセットのみで、配線関係はまったく用意してません。予備車検場の人から、バッテリー直でやるかということで、急遽空き地でカウルを外します。六角レンチ持って来て正解でした。予備車検場の人に配線作ってもらい、ハイビームの配線に配線を繋ぎます。

ハイビームのプラス配線にバッテリー線を繋ぐ

バッテリー線は途中にキボシ端子を設置し、光軸検査の時につないで受検する算段です。

光軸検査の時はキボシ端子を繋いでバッテリー直に

バッテリー直でなんとか光量は150を超え合格ラインとなり、車検場へとなりました。

印紙を購入し、書類審査を受けて、ラインへならびます。二輪車は前に1台のみで、ノンビリ受検です。外観、スピードメーター、前後ブレーキ検査の後、鬼門の光軸検査です。ハイビームにしてキボシ端子を繋ぎます。なんと一発OKでした。

その後、排ガス検査も合格し、総合判定後、無事新しい車検証をもらえました。今回は楽勝のつもりでしたが、なんとかなりましたが、ネットで調べると古いドカは光量不足が結構あるみたいですね、よく調べておけば、事前に対応できていたと反省しています。

光量不足で、バッテリー直も危ないので、早速リレーそのほかの部品をAmazonで手配したので、次回はハイ、ローともにリレーを介しての回路に変更し、安全な光量確保をしたいと思います。

BMW R850R メンテナンス タコメーター周り他

夏は暑すぎて、メンテナンスも含めて休業していました。とても室外の作業はできません。熱中症になってしまいます。エアコン完備のガレージが欲しいです。

さて、部品だけ届いていて、取付をサボってていたBMWの久方ぶりのメンテナンスです。このバイクのタコメーター触るとピコピコ動くんですよね、前に、電球のLED化の際に、怪しいパーツを発注しておいたものに、交換します。

まずはタコメーターを固定している、トルクスネジを外します。

トルクスネジを外すと、手前に引けば抜けます。タコメーターを引き上げ、LEDランプ二個と本体のコネクタを外せば、分離できます。

メーターについてる、ベルトタイプのパッキンを入れ替えるだけです。写真ではわかりずらいですが、古いパッキンはパサパサで切れかかってました。

あたら良いパッキンとの比較ですが、やっぱり分かりませんね、左側が新品です。後は、元通りに組み立てるだけです。あっという間に出来上がり、さすがにタコメーターツンツンしても、グラグラしませんでした。

ついでに、車検の際に気になっていた、ライト脇のゴムリングも効果しました。

本来は、本体にゴムリングが残ってるのですが、抜けてきます。これも新品パーツに交換です。ゴムリングにシリコングリスW付けて、グリグリ入れれば完成です。後はカバーを差し込んで出来上がり。

最後に今回の部品番号を撮った写真を入れておきます。

Ducatiの車検も近づいてきたので、そろそろ再開です。

Windows pip update

Pythonパッケージのインストールにはpipが使用されるが、久しぶりに使用したので、pip自体のアップデートを行った。

C:\Users\>python -m pip install --upgrade pip
Collecting pip
  Downloading https://files.pythonhosted.org/packages/fe/ef/60d7ba03b5c442309ef42e7d69959f73aacccd0d86008362a681c4698e83/pip-21.0.1-py3-none-any.whl (1.5MB)
    100% |████████████████████████████████| 1.5MB 51kB/s
Installing collected packages: pip
  Found existing installation: pip 19.0.2
    Uninstalling pip-19.0.2:
      Successfully uninstalled pip-19.0.2
Successfully installed pip-21.0.1

もともと入っていたpipのバージョン19.0.2から21.0.1までアップデートしました。相当サボっていたのがわかります。