パン作り

トレランとは関係ない話です。
最近ホームベーカリーを使ってパン作りに挑戦しています。何故かと言うと、最近読んだ記事で輸入小麦の大半が沢山の残留農薬を含んでいるというのを読んで、スーパーで買ってくる安い食パンを食べる気がなくなったのです。
ということでホームベーカリーを購入。買ったのはMKのふっくらパン屋さんというやつ。シロカとかもっと安いのもあったがコストと評判のバランスを考えての結果です。パナは評判いいけど高いので手が出ません。
そいでもって、国産の小麦でパン作りに挑戦しています。しかし、ただ材料を入れてスイッチポンでいいと思っていたら、そう甘くは行かず、悪戦苦闘中です。

まずは試して見た。

第1回目は素直にオーソドックスな食パンを焼いて見た。材料を説明書通りに入れてスイッチオン。約5時間後に焼き上がり。小麦は北海道産のはるゆたかというのを使った。で、肝心の出来具合はと言うと、一応ちゃんと膨らんでいた、でも表面はバリバリで色も濃すぎてなんだか想像と違う焼き具合になった。何が悪いのかわからず。ホームベーカリーはこんなものなのかと少しがっかりした気分?

米粉で大失敗

次は米粉を使ったパンに挑戦した。しかし、ものの見事に失敗。米粉は家内が買ってきたホームベーカリー用というやつだったが、機械の説明書に書いてある推奨の粉ではなく、レシピも微妙に違う。ホームベーカリーの説明書ではグルテンフリーの場合鍋で加熱しながらお湯に溶かし、デンプンのりを作ってから混ぜるように書いてある。グルテンがあらかじめミックスされている粉の場合普通に材料を混ぜるだけで良い。ところが、家内が買って来たのはグルテンフリー。だがパッケージには普通に混ぜて作れるように書いてある。どちらにするか悩んだ挙げ句、やっぱり粉の説明通りにやって見た。しかし、ほとんど膨らまず。ベッタリ潰れた物体ができてしまった。もったいないので焼いて食べると、まるで焼きおにぎりのよう。粉同士が微妙にくっついていてこれがご飯粒のような食感でおにぎり感を増幅している。パンだと思わないで食べる分には食べられるが、おいしいパンを期待している身としてはがっかりである。

米粉と小麦のブレンドでなんとかまともなパンができる。

元々米粉グルテンができないので脹らますのが難しい。ホームベーカリーの説明書ではグルテンフリーのときは米粉を溶いてのり状にして使うように書いてあったが粉の方には普通に焼いてできるように書いてあった。こっちを信用したためにとんでもないものを作ってしまった。
失敗に懲りて米粉は小麦に混ぜて少しずつ使う事にした。問題は混ぜる量と他の材料の兼ね合いである。ホームベーカリーの説明書には小麦と米粉を混ぜるレシピが載ってない。クックパッドとかにはいくつかレシピが見つかるが、どれも微妙に量が違ったりして、またホームベーカリーの機種も違ってどうすればいいのか悩む。結局、ホームベーカリーの説明書にある上新粉を混ぜるレシピを使う事にした。家内に米粉とどう違うのかと聞くと、目の細かさ位しか違わないと言うのでやって見た。ただ、クックパッドのレシピを色々見るとみんな水を少し多くして、焼き加減を薄め、早焼きにしているので参考にして、焼いて見た。分量は1斤にした。うちの機種は1斤と1.5斤とどちらかを選べるようになっている。失敗した時の事を考えて1 斤で焼いて見た。結果はまずまずの出来。ちょっと焼き色が薄いので焼き加減は普通でも良さそう。しかし、ここまでで一つ気づいたことが。それはパンの味を左右するのは酵母じゃないかと言う事。今のところは家にあった普通のドライイーストを使っていた。これを使って以前にも手ごねで、スーパーで買った普通の強力粉で何度かパンを焼いたが、小麦粉を変えてホームベーカリーで焼いても味はほとんど同じだった。

フランスパンに挑戦

ここまではホームベーカリーのおまかせ機能で食パンを焼いて見たが、次はこねと1次発酵までまでをホームベーカリーでやって、そのあとの成形は自分で行い。2次発酵と焼きはオーブンレンジで行った。ホームベーカリーにはお任せでフランスパンを焼いてくれるモードもあるのだが、当然の事ながら出来るのは食パンの形をしたフランスパンもどきになる。今回は成形を自分でやってちゃんとしたフランスパンの形にして見た。フランスパンは以前に手ごねで作ったことがあるが、こねと1次発酵をやってくれるだけで随分と楽チンである。また、これで残っていたスーパーの強力粉とイーストを消費してしまおうという狙いもあった。ちなみにホームベーカリーの説明書にも自分で成形するフランスパンの作り方が書いてあり、1次発酵まではそれに従った。2次発酵については38℃で1時間と書かれているだけでどうやってするのか謎だ。幸い我が家のオーブンレンジは発酵機能があるので2次発酵から後はオーブンレンジに任せることにした。オーブンレンジの説明書にもフランスパンの作り方が書いてあって、2次発酵の温度は35℃になっていた。発酵の温度は30℃から5℃刻みで設定できるようになっているので、何℃にしようか迷ったが、ホームベーカリーの説明書の温度に最も近い40℃にして時間をやや短く50分にした。2次発酵後のベンチタイムでうまく膨らむかやや不安だったが、結果はうまく膨らんでくれた。と言うことでフランスパンはうまく作ることができた。
家内はフランスパンが好物でおいしいと言ってどんどん食べていた。子供達にも好評だった。

酵母を変えたらまたしても失敗

パン作りにもだいぶ慣れて来て、うまく行くようになって気をよくして、いよいよ酵母を新しいのに変えて、果たしてパンの味は変わるのか? と思ったらまたしても失敗した。パン作りは難しい。今まで使っていたのはよく売っているスーパーカメリアと言うやつ。

MK のホームベーカリーにはホシノ天然酵母を使う特別なメニューがある。ものは試しと思いやって見ることにした。ネットで調べると近くだと高槻の松坂屋に売っているらしい。ところが行って見ると売り場に見当たらない。ネットで調べて買いに行くと、ままあるパターン。ここで店員さんに聞くと定番で帰ってくる答えは、やあ前は置いてあったんですけど、あまり売れなくて扱いを止めました、となる事が多い。今回は店員さんも見当たらず、時間もないので聞くこともなくすごすごと撤退。でもイーストがないので何か別のものを買う必要がある。同じものを買っても仕方ないので、ちょっと高い、白神こだま天然酵母と言うのを買った。スーパーカメリアと同じくドライタイプでホシノ天然酵母のように種起こしの必要がなくお手軽に使える(とこの時は思っていた)。ところが、これが失敗のもと。実は白神こだま天然酵母には2種類あって、ホームベーカリーにポンと入れて使えるのは後ろにGがついている奴で、買ったのはG のついてないので、こいつは使う前にお湯で溶いてから使わないとダメらしい。そんなことも知らずに、普通にポンと入れて焼いたもんだから、1.5斤で焼いたのに、出来上がったら1斤と同じ位の高さしかない脹らみの悪いパンが出来上がった。食べると当然だがずっしりと重くまるでヨーロッパで売っているパンのよう。個人的にはふっくらとしたパンが好みなので残念なできになってしまった。なかなか上手くいかないものである。でも味は前より良くなっていた。やはり味にはイーストの影響が大きいようだ。

国産小麦は水加減が違う。

国産の小麦は輸入小麦に比べてできるグルテンが少なく、元々膨らみ難いのだとか。それに吸う水分も少なく、輸入小麦と同じ水分量では脹らみが悪くなるらしい。確かに小麦粉についてきた紙にも輸入小麦とは水分量を変えて下さいと書いてあった。でも、どう変えるのか書いてないし、詳しくはホームベーカリーの説明書を見て下さいと書いてあるだけ。ところが説明書にはそんな事は全く書いていない。結局ネットで調べると品種にもよるが水分量を5%位減らすと良いようだ。また、国産の小麦粉も最近は改良されていて脹らみ易くなっているとか。更に白神こだま天然酵母はそもそもは脹らみが良く国産小麦でも良く膨らむ物らしい。あまり調べず適当にやったら上手く行かないと言うことですね。

白神こだまは酵母の量が違う、でもやっぱり上手くいかない

いろいろ調べて見ると白神こだまの酵母は通常のドライイーストより多く使う必要があるということがわかった。だいたい食パン1斤で5gが標準らしい。ドライイーストの約2倍くらいだ。膨らまない原因はこれかと思って、今度は酵母の量を増やし、7gにして、あらかじめお湯に溶いた酵母を練りの途中で投入するやり方で1.5斤を焼いて見た。しかし、前よりましになったがまだ膨らみが足りない。
また、いろいろ調べるとホームベーカリーというのは、外国産の小麦とドライイーストを使ってきれいに焼けるように作ってあるらしく、国産小麦やドライイースト以外の酵母で作ると上手くいかないこともあるらしい。ホームベーカリーを買った目的が国産小麦のパンを食べるためなので、外国産小麦を使う訳にはいかない。どうも、発酵するときの温度や時間が白神こだまの酵母にあってないような気がする。

天然酵母は発酵温度が大切

また色々調べると白神こだま酵母は40℃以上に上げると酵母が死んでしまうらしい。今までHBのはや焼き機能を使って焼いていたがどうもこの機能だと発酵するときの温度が高めになるらしい。ドライイーストだと問題ないかも知れないが、白神こだまには高すぎるのかも知れない。そこで、今度は天然酵母コースを試して見ることにした。
酵母を溶くのもオーブンレンジの発酵機能を使うと温度が安定して良いと言う記事があったので試して見た。たしかに、オーブンレンジを使うと溶けが良いようだ。ところが今度は酵母を溶いた液を途中で投入するところで失敗した。酵母を溶く水の量は酵母の3-5倍位ということだったので、前回は水が少なめでねちょねちょのペースト状になって入れるのに苦労したので今回は多めにした。ところが今度はしゃばしゃばになりすぎて入れたあとHBの中で飛び散って釜の外に半分くらい出てしまった。仕方ないのでそのまま焼いたが膨らみは前回と同じくらいまで膨らんだ。酵母が少ない割には結構膨らんだ。やはり発酵温度が重要なようだ。

HBの通常コースでまずまずのでき

失敗続きにもめげず、またまたチャレンジ。今回はパンが平日になくなってしまったので通常コースでチャレンジ。これでも4時間ちょいかかるので仕事から帰って作業すると出来上がりは寝る直前になってしまう。今回は白神こだまのHP に書いてある通りにやって見た。酵母はお湯に溶かしたものを他の材料と一緒に投入。HP のマニュアルだとスキムミルクやバターを入れるが小麦粉と水と酵母だけのシンプルな材料構成。水の量だけ270ml のところを10ml 減らして260ml にした。
途中時々確認していたが、二次発酵まではまずまずの膨らみ。ただ焼き上げる時の釜伸びが今一な感じ。この辺は国産小麦と天然系酵母の組み合わせの難しいところか? それでも国産小麦を使った中ではまずまずの出来。
ちなみに時計を見ながら各工程の時間を測って見た。ちょっと最後の方がちゃんと見れてないので中途半端ですが。
ねり10分→予備発酵40分→ねり15分→ミックスコール→ねり5分→1次発酵55分→ガス抜き
ここから2次発酵→ガス抜き→焼成発酵→焼きと進むのですがいろいろやって片手間に時間を測ったのでよくわからなかった。最後の焼きがだいたい1時間くらいなので2次発酵と焼成発酵で1時間くらいというところか?

今度は過発酵で失敗。

発酵時間を低く長くすると良いのかと思い。HB の天然酵母コースで低温で長めの発酵を試して見た。途中経過を見るためにほしの天然酵母コースの、ねり+発酵で発酵時間を3時間にしてスタート。
材料は小麦粉(春よ恋)300g、砂糖30g 、塩4g 、バター10g(今回は無塩バターを使用)、酵母は少し少なめで5g。1斤より少し多めの量。何となくの気分なんですが、結構膨らむのかなと思って1.5斤より少なくしただけです。
バターはねり開始後10分後に投入。しかし、塊で入れたのでうまく混じらなかった。もう少し細かく切るべき。
1次発酵中時々様子を見ていたが膨らみは順調。というか1時間半くらいで結構膨れていたのでやっぱり3時間は多かったかな。ちなみに、1次発酵が終わるとパンチが入るので種は縮んでしまいます。
そのまま2次発酵へ。今度は独立コースの発酵で温度低を選んで80分発酵。膨らみがやや足りない感じだったので追加で20分、計100分発酵させたところ、1次発酵と同じくらいまで膨らんだので45分間焼き。今回はうまくいったと思いきや焼き上がったパンは見るも無惨に縮んでいた。過発酵だったみたいだ。3時間も発酵するなら酵母はもっと少なくて良いのかも知れない。なかなか発酵温度と時間、酵母の量のバランス点が見つけられない。

本のレシピ通りにやってみたら

なかなかうまくいかないので、白神こだま酵母の本を買ってみた。(古本ですけど(笑))

いちばんかんたんな、白神こだま酵母のパンレシピ

いちばんかんたんな、白神こだま酵母のパンレシピ

詳しいレシピを書くと著作権の問題になりそうなので、控えておくが。白神こだまのHPのやり方と違うところは、粉をあらかじめ混ぜておくことと、HBのモードは早焼きを使うこと。酵母の力が強いので過発酵になりやすいからとの事。
しかし、やってみたところ、大きくは改善されなかった。白神こだまのHPの方法で通常モードで焼いたのとおんなじような感じ。
ちなみに、MKホームベーカリーの早焼きモードのだいたいの時間はこんな感じだった。

ねり22分→ミックスコール→ねり6分→1次発酵30分→パンチ→2次発酵15分→パンチ→成形発酵45分?→焼成45分?

成形発酵と焼成のところの変わり目が音ではわからないので、最後は曖昧です。やはり通常モードと比べると発酵時間がかなり短くなっている。

水の温度管理が重要

本の通りにやっても満足の出来にならない。何でだろうと思っていたが、前回で白神こだまの酵母を使いきってしまったので、ホシノ天然酵母にチェンジ。ホシノ天然酵母は種起こしというプロセスが必要で、基本はホームベーカリーがやってくれるのですがその時に気づいたことが。
ホシノ天然酵母の種起こしには25-30℃の水が良いそうで、今は冬なので水道水をそのまま使うと冷た過ぎる。パンを焼くときの水もあまり冷たいのは良くないそうなので、焼くときにレンジであたためていた。使っていたのはレンジの酒間モード。人肌という設定があるのでそれであたためてしばらく放置したら適温に下がるだろうということでそうしていた。ところが、今回ホシノ天然酵母を種起こしするときに人肌であたためた水の温度を測ったところ何と43℃もあった。
温度を測るのにはキッチン用の温度計を使った。

実は元々家にあった物だったが、スイッチを入れても動かないので電池がないのか壊れていると思った。ふたをあけると電池は入っていて電圧も充分ある。そこで壊れているものと思って放置してあった。しかし、今回温度をちゃんと測るためになんとか復活させられないかと思ってもう一度よく確かめてみた。よく見ると電池がゆるゆるでふたをしてもちゃんと固定されていないようだ。そこで電池を強く押し込むと動作した。ふたがマッチしていないみたいなので電池の上に詰め物を入れてふたをするとちゃんと動いた。
さて、水温を無事に測れたが、これでは人肌というよりアツアツの風呂くらいの温度だ。あまり高温では天然酵母は死んでしまうらしいのでこのままではまずいので、そのまま放置して温度が下がるのを待った。すぐに下がると思っていたがこれがなかなか下がらない。結局30℃まで下がるのに1時間くらいかかった。このことから推定するとパンを焼くときに使う水をいつもは相当高い温度の水を使っていた事になる。最近の室温はだいたい20℃位なので水温も20℃くらいが適温らしいので10℃以上は温度が違っていたことになる。やはり温度管理は重要だ。これからはきちんと測らないと。
ホシノ天然酵母の種起こしは、きちんと温度を測ったお陰でうまくいったようだ。24時間後に取り出して見ると、プクプクと泡立って、酒粕のような香りがした。

ホシノ天然酵母でチャレンジ

酵母ができたので、焼いてみることに。ただし、できてすぐには使えないようで、冷蔵庫で一晩おいてから使うのだそうだ。
とりあえず、HBで1斤で焼いてみることに。レシピは、ブログを参考にした。スキムミルクは入れず、小麦(春よ恋)、砂糖、塩、バター(無塩)と酵母と水。今度は水温もしっかり管理して、20℃に調整してから入れた。
コースは、天然酵母のコースで焼いてみた。時間が長いのであんまり正確ではないし、2次発酵から先がわかりづらくてあいまいだが、だいたいの時間はこんな感じだった。
ねり20分→予備発酵160分→ねり5分→ミックスコール→ねり6分→1次発酵90分→パンチ→2次発酵・成形発酵90分?→焼成45分?
で、結果はというと、思ったほどは膨らんでない。そこそこかなという感じ。国産小麦で作った中ではまだましな方というくらいか。お味の方は、やはり天然酵母らしく、いい感じだった。もっとふっくらしてくれるとなおいいのだが。

パン焼き型を使ってみる。

どうも、HBの自動モードでやるとうまく膨らんでくれないので、パン焼き型を使って、半手動で焼いてみることにした。
使った型はこちらのもの。

使う前に、空焼きというのをしないといけないらしいので、空焼きをする。やり方は次の通り。

  1. スポンジの柔らかい方を使って洗剤で丁寧に洗う。
  2. しっかり乾かしてから、何も塗らずに、230℃のオーブンで15分空焼き。
  3. 冷めたら、キッチンペーパーなどで表面をふき取る。
  4. 油(サラダオイルなど)を薄く塗って、230℃のオーブンで15分焼く。表面に油の茶色い膜ができたら完成。

たぶん、加工したときに付着している機械油を完全に焼き切ってから、食用の油を焼き付けているのだと思う。焼き付けは、一般的な金型を使う作業でもよくやられる工程で、油を金属になじませるために行う作業。私は、ふき取るときにキッチンペーパーでなく、掃除用のマイクロファイバーのクロスを使いました。紙は実は結構固いので、使い方次第では、金属の表面を傷つける可能性があるからです。その点マイクロファイバーなら柔らかくて傷つける心配はないし、ふき取り性も良いので使いました。

パンを焼く工程は、1次発酵までをHBに任せて、その後は手とオーブンで行うという方法でやりました。
材料は、前回と同じで、1斤分。酵母のホシノ天然酵母を使いました。HBの天然酵母コースで、ねり+1次発酵を選んで、発酵時間を3時間にセット。1次発酵では約2倍に膨れていたので、まあよいかと。フィンガーテストをしてみると、穴がつぶれることはないが小さくなるという微妙な感じ。本当はもう少し発酵したほうが良いのかもしれないが、この辺加減がまだわからないので、とりあえず次の工程に進むことする。
生地を2つに分けて、丸めて20分ほどベンチタイム。
それから、のし台で麺棒を使ってガス抜きをしながら細長く伸ばす。伸ばすときにぷくぷくと音がしてガスが抜けているのがわかる。ガス抜き用の麺棒を使う方が良いのかもしれない。家にはないので普通の麺棒を使った。また、本には長方形にすると書いてあるが、そんなにうまくはいかないで小判型になってしまう。あまり気にしてもしょうがないので、小判型のまま、縦に3つ折りにして、端からくるくると丸めて綴じ目を下にして型に入れる。もう一方も同様にする。このとき、2つの生地は同じ重さになるようにしておいた方が良いようだ(というかレシピによっては正確に測るべしと書いてあったりする)。結構適当に分けたら、かなり重さが違っていたみたいで、巻いて入れてみると随分大きさが違った。今更揃えることもできないので、そのまま進めることにする。
型に入れたら、オーブンのスチーム発酵機能を使って30℃で2次発酵させる。天然酵母は高い温度が苦手なので、発酵温度は低くする必要がある。時間が今一よくわからなかったので、80分にしてみたら、発酵が足りないらしくあまり膨らんでいない。結局、追加追加であと30分発酵させるとパン型の8-9分目くらいまで膨らんだので良しとする。
あとは、オーブンに食パン焼きのコースがあるので、そのコースで焼く、焼き時間は30分。手動でやる場合は取説によると、210℃で30分くらいだそうだ。
焼き上がりはというと、パン型の高さを越えるまで膨らんでて満足の出来。ようやくちゃんと膨らんだパンができた。
発酵時間を調整しながらやるとうまくいくみたいだ。ということは、HBを使っても、フルオートにせず、1次発酵と2次発酵に分けて、途中のベンチタイムもちゃんととって焼けばうまくいくということか? まあ、HBのありがたみが半減してしまうが、最もきつい練りの部分だけでもやってくれるのはありがたいし、時間があればこの方法が一番確実なような気がする。発酵時間は酵母の量、温度などいろんな条件に左右されるみたいなので、見ながら調整するというがいいんだろうと思う。今回の場合は、1次発酵、2次発酵ともにもう少し時間を取った方がよかったかもしれない。1次発酵は3時間半~4時間くらいか? 2次発酵は2時間くらいがよかったかもしれない。

f:id:alasixOsaka:20200224103202j:plain
パン型を使って焼いた食パン

HB で半自動で焼いてみる

半自動とは、上に書いたように、ねりと1次発酵をまずHB で行い、1度取り出して、ベンチタイムと成形を行って、HB の釜に戻して2次発酵と焼成を行うこと。
配合はだいたいMK の取説の通りで牛乳を100g 加えその分水を減らした。牛乳の水分は90%と考えて良いとのこと。


1次発酵は3時間。前回3時間では少し短い気がしたが今回は前回より気温が少し高いので同じ3時間にした。フィンガーテストでもOK だった。
取り出して2分割しベンチタイム20分。前回同様に成形して釜に戻して様子を見ながら2次発酵。温度は中に設定。始め90分で様子を見たが膨らみが足りないので結局2時間で釜の高さの9割くらい膨らんだ。そこから焼成55分。ほぼ釜の高さに膨らんだパンが焼けた。

f:id:alasixOsaka:20200224103238j:plain
今度はHBの釜で焼いてみた。

パン作りの挑戦はまだまだ続きますが、長くなったのでいったんこの辺りで。

京阪奈2days

先週と今週はオリエンテーリングの2連チャンでした。
先週のウェスタカップは久しぶりということもあって、結果はボロボロ。地図が全く読めなくて、オーバーランの連続でした。
今週は、先週の反省を活かして、少しゆっくり目に走り、大きなミスは1つ以下、小さなミスは3つまでというのを目標にしました。

自転車で行ったのが間違いのもと

会場は豊能町の東能勢小学校。自転車でなんどか行ったことがあったので、チャリでも行けるだろうと軽く考えたのが大きな間違いで、まず、ロードバイクでなく、小径で行ったので漕いでも漕いでもちっとも進まず、おまけに荷物が重く、走り出してすぐに腰が痛くなって、登りの連続で心が折れそうになりながら、ようやく会場にたどり着くというありさま。
レースの開始前に足がパンパンに張っているという状態で、その分、走りすぎるということはなかったですが。

肝心のレースは。

個人戦には本当に久しぶりの参加。前回は何年前が思い出せないくらい(笑)。走ったのはM50A、コースは2.7kmと比較的短めだったが、結構難易度が高く、小さなミスを連発して、思ったように走れなかった。
1番から3番まではミスはなかったが、その分めちゃめちゃゆっくり。あとで他人のラップと比較すると笑うくらい遅い。今日はゆっくり走ろうと決めていたが、ちょっと遅すぎたかな。
4番はなんとなく現地の様子と地図のイメージが合わずもたもたしてタイムロスをした。5番は比較的スムーズにいったが、6番でこの日1番の大きなミス。沢を一つ読み違えて、大きくルートを外してしまった。
7番もポイント付近でウロウロ。8番はそもそもルートをミスった。9番はナビゲーションが甘くポイントの下側に出てしまってタイムロス。11番はポイントが思ったよりも低いところにあって少し探した、ここは他の人も苦労していたみたい。

という感じで、先週の反省は少しは活かせたかもしれないが、まだまだバリバリの頃の感じには程遠い。
f:id:alasixOsaka:20200224095623j:plain

東海自然歩道を走る その2

昨年の12月に引き続き東海自然歩道を走るの第二段です。

今回は前回の続きで萩谷から嵐山を目指します。前回は途中でへばってエスケープしたので今回は最後まで完走するのが目標です。

実は前々日から右のふくらはぎに少し違和感を感じていて直前まで悩んだのですが決行することに。違和感を感じた最初は患部を触っても何ともなく、歩くと少し痛い状況。ところが、前日の夜に患部が判明。膝の裏側を触るとしこりのようなものがあり、揉んでいると強烈に痛い。歩く時に痛みを感じたのはもう少し下の部分で、疲労がたまって固くなっていたので、ふくらはぎの動きが悪くなったためではないかと思った。また、他に疲れた所はないかと触って見るとアキレス腱辺りも結構疲れている。左はなんともないのに右だけに集中している。生駒のトレランのあとは軽い練習しかしてないので、こんなに疲れが残っているとは想像してなかった。日頃のケアが不足、自己管理の甘さを反省しています。それにしても、右足に集中するということは、生駒のトレランの終盤で疲れたときに右足に頼って走っていたことになる。フォームも問題だ。

仕方ないのでロキソニンを飲んで、患部に湿布を貼って寝る。まあ、何となく気持ち悪い痛みより原因がわかった方が対処しやすいのは確かだが。朝起きても当然痛みは引いていない、でも階段を上り降りしても痛むことはないので決行することに。

今回の目標は、とにかく無事に30㎞を走破すること。生駒のトレランでは、何とかゴールにたどり着いたものの、前半の登りで頑張りすぎて最後はかなりへばったのであまり無理に登りで頑張りすぎずに、最後まで体力を温存しながら走ろうと思う。

まずは萩谷まで

今回のスタート地点は中萩谷のバス停。家の近所からバス一本で行けるのでゆっくりと準備ができる。バスに乗ること約20分で到着。途中道に白いものがある。どうやら昨日の夜に少し雪が降ったらしい。家の周りには全くそんな感じがなかったので結構油断していた。だが、空は晴れているので大したことないだろうと思った。しかし、この考えが甘かったことを思い知らされることになろうとはこのときは全く思ってもいなかった。

f:id:alasixOsaka:20200211141522j:plain

前回の終点が今回の起点。中萩谷のバス停を降りたところ

萩谷からはまず、前回のゴールに設定していた摂津峡に向かう。

f:id:alasixOsaka:20200211141741j:plain

まずは萩谷総合運動公園に向かう。道端には雪が残っている。

途中で萩谷総合運動公園の中を通るのだが、運動公園に入る所を間違えたらしく入ったとたんに道に迷う。ただ、ここは何回か来ていて東海自然歩道のあるところを知っていたし、摂津峡に降りて行くところもわかっていたので大きく迷う事はなかった。どうやら運動公園に降りるのにつづらおれの道を行ったのだが、別に道があった見たいで、そっちが正解のルートだったみたいだ。

f:id:alasixOsaka:20200211141915j:plain

運動公園の中で見つけた標識。この右手から降りてくるのが正解のようだ。

運動公園を抜けると道はトレイルになる。基本は下りなのでこの辺りは楽ちんだ。

f:id:alasixOsaka:20200211142041j:plain

運動公園から摂津峡に向かうトレイル

しばらく進むと、白滝の前に出た。寒いとはいえさすがに滝は凍っていない。

f:id:alasixOsaka:20200211142143j:plain

摂津峡の中にある白滝

しばらく、摂津峡の中を進む。それにしても摂津峡は不思議なところだ、川の中流にあるのに、峡谷になっている。その上流も下流も何の変哲もない川なのに、ここだけ峡谷になっている。

f:id:alasixOsaka:20200211142452j:plain

摂津峡

ポンポン山は白かった。

摂津峡を抜けると原の集落に出る。

f:id:alasixOsaka:20200211142625j:plain

原立石のバス停付近の標識

しばらく進むと登山口に出る。ここに、蕎麦屋さんがあって、一度行ってみたいと思っているのだが、いまだに果たせていない。まだ朝なので、今日も当然パスする。

f:id:alasixOsaka:20200211142749j:plain

ポンポン山の登山口

登山口からしばらく進むと、神峯山寺の駐車場に出る。この辺りはまだ天気は良かった。

f:id:alasixOsaka:20200211143158j:plain

神峯山寺の駐車場にある看板。向こう側に新名神が見える。

この辺は坂はそこそこだが、舗装された道が続く。今日は登りを無理に走らないようにすることにしているので、この辺りの坂は走るか歩くかの丁度境界くらいで、どっちにするか悩むところだが、無理をせず、少しでも坂がきつくなったら歩くことにした。

神峯山寺までは参拝客の方が結構おられた。入口の売店横でトイレ休憩をとる。この先の本山寺のところにもトイレはあるが、ポンポン山に登ってしまうと降りるまでトイレがないので、ここで済ませておく。ポンポン山は3度目だが、ここの売店はいつも、お年寄りがたむろして談笑されている。運動がてら、ここを憩いの場にしているみたいだ。

f:id:alasixOsaka:20200211143853j:plain

神峯山寺の山門

神峯山寺を過ぎてもまだまだ舗装道路は続き、本山寺の手前まで舗装されている。しかし、勾配は徐々にきつくなる。舗装されているので、チャリトレにも使えるかと思ったが、この勾配はさすがにきつそうだ。

本山寺の手前で道は2手に分かれる。東海自然歩道本山寺の境内に入らず、右手の道を行くようだ。

f:id:alasixOsaka:20200211144116j:plain

本山寺の手前で道が分かれる。どちらを行ってもポンポン山には行ける。

この辺りまで来ると雪が結構多くなってくる。

f:id:alasixOsaka:20200211144224j:plain

本山寺を過ぎたところのトレイル。雪が多くなってきた。

登るにつれて、小雪が舞うようになってきた。最初は枝や葉に積もった雪が落ちてきているのかと思ったが、空を見ると真っ黒な雲がかかっているので、どうやら空から降ってきているようだ。進むにつれて、地面の雪も多くなっていき、所々で滑るようになってきた。どうやら登るタイミングとしては最悪のタイミングだったようだ。先週までなら、こんなに雪があることはなかったはずなのに。でも、来てしまったものは仕方ないので、とりあえず頂上を目指すことにする。

しばらく行くと、勾配が緩くなり、小さなアップダウンを繰り返しながら少しずつ登るようになる。だが、こういう時の下りは油断禁物である。と思ったとたんに、凍った地面に足を取られてすってんころりと滑ってしまった。しかも、2回も。幸いなことに、お尻と手を少し打った程度で済んだが、さらに慎重に進むことにして、下りも走らないことにし、平坦なところだけ走って進んだ。

11時半頃にポンポン山の山頂に到着。こんなお天気なのに登っている人は結構いて、山頂にも10人ほどの人がいた。

f:id:alasixOsaka:20200211145226j:plain

吹雪のポンポン山の山頂

 少し早いが、ここで昼食にする。山頂にはベンチもテーブルもあるし、降りる途中ではあまり休むところもなさそうなので。

お昼は、定番のおにぎり2つと、今日は寒そうなので、温かいものを食べようと、カップスープにサタケのカルボナーラを用意した。

 

 お湯はバーナーで沸かすのも面倒なので、今回はポットに入れて持参した。しかし、普通の安物のポットだったので、熱湯を入れてから3時間足らずなのに、結構冷えていた。やっぱり、こういう時は山専サーモスが良いのかもしれない。

そして、悲劇はもう一つ。さあ、食べようとカルボナーラの封を切って、テーブルの上に置き、ポットに手を伸ばした瞬間に突風が吹いて、袋ごと飛ばされて、中のパスタが飛び散ってしまった。スープの部分とパスタの7割くらいは何とか残ったので食べられることは食べれたのは不幸中の幸いだった。それにしても油断大敵である。口を開けても湯を注ぐ寸前までチャックを閉めておけばよかった。おにぎりと、ぬるいスープにぬるいパスタを食べて、それでも暖か物が何もないよりは全然ましだったし、サタケのパスタは結構いける。少なくとも個人的にはアルファ米よりも全然おいしい。ただ、中のパスタが減っていたので、お湯を規定量入れると多かったみたいで、スープがそこに残ってしまった。仕方ないので、カップスープに混ぜて飲み干した。

まあ、こんなお昼もありかなと思いつつ、ちょっと食べすぎだったかもしれない。この後、下りながら、げっぷをするたびに、スープが出てきて(汚い話ですいません)、その後は何も補給食を食べれなかった。

お寺を巡り嵐山へ

あまりゆっくりしていると体が冷えるので、食べたら早々に下りることにした。まずは長岡方面に向かって金蔵寺を目指す。京都側に入ると、標識が変わって、地点地点の距離が書いてあって結構親切だった。金蔵寺は長岡側から自転車で行ったことが何度かあるが、めちゃめちゃな劇坂で結構印象に残っている。そのせいか、ポンポン山からもてっきり尾根伝いに行くものと思っていたが、杉谷という谷に下りていくルートだった。

f:id:alasixOsaka:20200211151206j:plain

杉谷から金蔵寺の途中の看板

 

f:id:alasixOsaka:20200211151326j:plain

杉谷から金蔵寺に向かう途中。京都ではこんな感じで距離が書いてあって親切。

それでもほぼ上ることなく金蔵寺に到着。ヤマップではここにトイレのマークがあったが、ルート上には見当たらないので、少しもよおしてきていたが先に進むことにした。たぶん、駐車場まで行けばあったのかもしれない。

金蔵寺からは、花の寺というところに向かう。金蔵寺から降りてきたところが、だいたい17㎞くらい。この先、ほぼ3㎞おきにポイントがあっていい目標になった。

f:id:alasixOsaka:20200211151504j:plain

金蔵寺から花の寺に向かう。この辺りまでくれば、地面の雪はほとんどなかった。

f:id:alasixOsaka:20200211151604j:plain

金蔵寺から花の寺の途中。

f:id:alasixOsaka:20200211151822j:plain

花の寺へ向かう

金蔵寺から約3㎞で花の寺に到着。またまた雪が降ってきた。

f:id:alasixOsaka:20200211151953j:plain

花の寺の山門。ルートは寺の境内を通る。

 

f:id:alasixOsaka:20200211152226j:plain

花の寺。今日は開いてないみたい。

ここらで20㎞を過ぎて、やはり体が重くなってきた。それでもLSDと同じくらいのペースでは進み続ける。花の寺の次は沓掛に向かう。沓掛までも約3㎞。

沓掛の次は苔寺がポイント。この辺りまで来ると、トレイルというよりかお寺巡のハイキングコースという感じ。道も平坦なので、ゆっくりでも走って進む。

沓掛のインターを過ぎると、道が団地の中へ。たぶん、宅地開発で後から団地ができたのだろうが、道がわかりづらい。しかもヤマップでもルートが載っていないところなので、ヤマップではわからない。仕方ないので、自作の地図アプリにあらかじめルートを入れておいたのを頼りに進む。まだ、未完成だが、GPXファイルを読み込むところまでできていたので、役に立った。しかし、細かいところまではよくわからなかったので、特に団地のなかは推定で適当に入れてある。標識がないとやっぱり立ち止まりながら確かめてつつ進む感じになる。こうやって進んでいると、なんとなく団地の中にある遊歩道が東海自然歩道になっているっぽいことが分かった。途中、外れたところもあったが、地図アプリのお陰でなんとかリカバリして進むことができた。

f:id:alasixOsaka:20200211152526j:plain

沓掛から苔寺までは住宅地の中を通る。道がわかりづらい。

団地を抜けると、竹林に突入。京都らしい景色だ。かつては、団地のあたりもこんな感じだったのだろう。

f:id:alasixOsaka:20200211153131j:plain

京都らしい竹林の中を進む。

沓掛からまた3㎞で苔寺に到着。有名な観光地だが、新型肺炎の影響か人はまばらだった。次のポイントは鈴虫寺

f:id:alasixOsaka:20200211153305j:plain

鈴虫寺

鈴虫寺も今は季節じゃないので、閑散としている。次のポイントは松尾大社

f:id:alasixOsaka:20200211153404j:plain

松尾大社の大鳥居。ここまでくれば嵐山はもうすぐだ。

松尾大社はそこそこ人が参拝していた。そして、約2㎞で嵐山だ。松尾大社を過ぎるとまた標識を見かけなくなった。しかし、山と川に挟まれたところを進めば自然とつくはずなので、あまり深く考えずに山の端あたりを進んだ。結局、途中で曲がるところがあったみたいなのだが、標識を見落としたのか、まっすぐ進んでしまい、嵐山駅と書いた看板を見つけてから曲がった。本来はもっと手前で曲がるべきだったみたいだ。

とにかく、嵐山まで完走した。痛めた右ひざの裏は多少痛むし、またしても古傷の右足の付け根あたりが25㎞過ぎから痛み出したが、何とか最後まで走り切れた。生駒の時よりは走れたんじゃないかと思う。

 

今日は軽めに5km走

先週の生駒トレランの疲れがまだ残っているようで、今日は軽めに5kmだけ走り、体に刺激を与えることにした。

先週のあと筋肉痛にはほとんどならなかったが何となくだるいとか体が重いという感じ。しかし、今回で3回目なのにレースになると他人と競争という意識はほとんどないのだが前半の登りで頑張りすぎて後半へばるというパターンから脱却できない。もう少し前半を抑えなくては。

今日は距離が短いので久しぶりにテーピングなしで走った。走りはじめて両膝に痛みを感じる。でも、左右で感じが違う。左は元々よくない方の膝で多少痛むのは仕方ない。どうも昨日の夜に寝ている時に少しひねったようで、こういう事はたまにある。だいたいすぐに収まるのであまり気にしていない。右は先週の生駒トレランのあと少し痛かったところで、普通にしてるぶんには痛みはおさまっていたが完全に回復してなかったようで負荷をかけると痛みが出たみたいだ。ただ、右膝もフォームを意識して足を真っ直ぐ出すようにしてしばらく走っていると痛みはおさまった。

股関節も時々痛いが痛みが続く事はなく無事に走り終えた。

 

2月は飛び石があるので月曜を休めば4連休にできる。東海自然歩道の第二段に出かけて見たいとと思っている。

比叡山国際トレイルランニングに23kmコースが新設されていました。

関西地区では最もメジャーなレースといって良い比叡山国際トレイルランニングですが、従来は50kmと50マイルというかなり厳しいコースだけでしたが、今年から23kmのコースが新設されていました。来年辺りに50kmを走れればいいかなと思っていましたが、23kmが新設されたことで、早速エントリーをしました。コースの詳細はまだわかりませんが、50kmのコースを半分にしたような感じのようです。いずれ走ろうと思っていたのでどんなコースなのかを今の段階で体験できるのはありがたいです。コースとしてはかなり厳しいコースが予測されるので23kmでもいまの自分には結構きついのかと思っています。なんせ、50kmのエントリー条件が、フルマラソンを4時間以内か、40km以上のトレランの完走者となっているので。50マイルに至ってはフルマラソンだと3時間以内となってますから。個人的にはウルトラクラスのレースにフルマラソンのスピードを求めるのはちょっと違う気がするのですが。たしかに、制限時間が厳しくなるとウルトラでも速く走る必要があるのでしょうが、フルマラソンを3時間で走ろうと思うと、km当たりの速度は4分台の前半で走らないといけないので、速く走る能力が求められるのですが、ウルトラは基本的に長時間動き続けることが求められるので少し求められる要素が違うように思っています。自分の場合は、ハーフは1時間半で走ったことがありますが、フルのベストは3時間50分位なので、(いまではそんなに速くはとても走れませんが)スピードを持続する限界の距離がその辺にあるような気がします。最近は速く走るというよりも、長く走り続けるというのを目指しているので、マラソンのタイムを追い求めることはしていません(ロードのレースに出る気もないですが)。こんな自分が例えば比叡山国際の50kmに出て完走できるのか? というのを実際に走って確かめて見たいと思っています。そのためには参加要件を満たさないといけないので、どこかで40km以上のトレランを走っておく必要があるのですが。まあ、本当にベストタイムだけでいいのなら、30年以上前のフルマラソンのベストが4時間を切ってはいるのですが、さすがに認められるような気がしないので。でも、40kmとなると関西では丁度良い距離のレースがあまりないですね。朽木のフェアリートレイルが丁度40kmという距離のカテゴリーがあるのですが、開催が6月で35kmのトレラン完走が要件なので、今度はそれまでに35kmを走らないといけない。そうすると今からだと、3月の六甲山縦走くらいしかないという。3月に完走したあと6月の大会のエントリーに間に合うかという問題もあるし、スケジュール的にも結構忙しい。ちょっと色々悩むところではあります。比叡山の50kmは来年は見送って、再来年にチャレンジするというのもありかもしれない。レースはレースであまり考える必要もなく、エイドもあって走ることに専念できるのが良いところなのですが、個人的にはあまりレース偏重ではなく、トレイルを楽しみたいという気もあるので、走りながら、少しずつ距離を伸ばしてそのときに考えたいと思っています。

 

今年は比叡山国際の開催日は5/23。もともと、日が長くなり、梅雨に入る前の5月下旬は大峯山奥駈道の2回目にいこうと思っていたのですが、日程については再考する必要ができました。大峯山は一人で行くので、体調やお天気を見ながら日程はそのときに考えようかと思っています。

 

生駒トレイルランニングに参加してきました。

1/18 生駒トレイルランニング(以下生駒トレラン)に参加してきました。
スタートは私市、そこから生駒山系を縦走するような形で走り、ゴールは高安山という30㎞のコース。
生駒山系の大阪側には、府民の森が点在していて、それを繋いでいくようなコースになっています。
天気は曇り時々晴れといった感じだったでしょうか。晴れると結構暖かいのですが、曇ると寒さを感じるような気候でした。
目標タイムは一応5時間に設定。休憩を含めて10分/㎞でいければと考えました。
ちょっと悩んだのが服装で、下は、先日買ったC3-fitのエレメントエアーに、
alasixosaka.hatenablog.com

モンベルのクロスランナーの組み合わせで行こうと決めていて、問題なかったのですが、上をどうするかは当日会場に行っても迷っていました。
というのも、結構寒くて、組み合わせとして考えていたのは、アンダーがバーグハウスのメリノアンダーにするか、モンベルの中厚でのメルのアンダーにするか。
オーバーが、モンベルのクロスランナーにするか、ファイントラックのフロウラップにするか。
一応全部持って行ったのですが、初めはバーグハウスのメリノアンダーとモンベルのクロスランナーにしようと思っていたのですが、ちょっと寒いので、結局アンダーはバーグハウスのままで、オーバーだけをフロウラップにすることにした。フロウラップは薄いけれど結構保温性もあり、汗をかいてもすぐに抜けていくので高いだけのことはあると思いました。
今回も両膝と右の股関節にはテーピングをした。

また、行動食は、おにぎりが2つ、ひとくち羊羹が4つ、ブラックサンダー2つ、ジェル2つを持参。アクトレップのイベントは補給食はあまり充実していないので、少し多めに持っていくことにした。

9時から5分間隔でウェーブスタート。スタート順は真ん中の9:05スタートだった。スタートしてしばらく川沿いを走り、府民の森最初の星田園地に入る。4㎞くらいまではずっと登り基調。トレランはだいたい始めは登っていくコースになるが、夢中で走っているとあっというまに登り切った。だいたいこれがいけない。始めで力を使いすぎると後半でばててしまう。この日もまたそのパターンになってしまった。いつまでも学習ができない。
スタート地点の近くのトイレが工事中で使えないということで、スタート前にトイレに行けなかったので、登り切ったところでトイレ休憩。
ここから飯森霊園に出る。ここはウォーキング指定区間。霊園を抜けると国道163号線沿いをしばらく進む。住宅街を抜けて再び山に入って登る。しばらく行くと次のむろいけ園地に入る。ここに第1エイドがあるはずだが、いつまでも着かない。コースマップ上は8.5㎞地点となっているが、9㎞過ぎてもエイドが現れない。163号のところで係りの人にもあと1㎞ちょっとといわれていたが、もう2㎞近く来ている。GPSウォッチの距離は地図上の距離とは誤差があるのはわかっているが、それにしても遠いなあと思っているとほぼ10㎞の地点にようやく第1エイドがあった。あとで、地図を見比べてい見るとエイドの場所が変わっていたようだ。そういえばスタートの前にそんな注意があったような気がする。第1エイドでは給水と梅干をもらった。また、持参の羊羹を1つ食べて早々に出発。

むろいけ園地を抜けると阪奈道路を渡る。そこからは基本は信貴生駒スカイライン沿いを走ることになる。子供のころは平群に住んでいて、母親が運転免許を取りたての頃は練習がてらこのスカイラインには良く来た記憶がある。スカイライン沿いに入ると再び登りが始まる。この辺りで、股関節の痛みが出てきた。この調子では完走できそうにないなと思ったが、テーピングのお陰か、C3-fitのお陰が痛みがそれほど強くなることがなくゴールまで行くことができた。登り切ったところが第2エイド。コースマップでは15.5㎞となっているが、GPSでは16㎞過ぎだった。第1エイドの場所が変わっていることに気づいていなかったので17㎞過ぎたあたりにエイドがあると思っていたので、少し意外な感じだった。だが、ここまでの登りでかなり足に来ていて、まだ半分かと思うと先が思いやられた。20㎞にエントリーしておけばよかったと後悔するも後の祭り。しかし、夏前には大峯山奥駈道の第2弾を計画していて、コースを組むとどうしても40㎞近くになってしまうので、30㎞のトレランをこなせないようではダメだと自分に言い聞かせて頑張ることにする。
第2エイドでは、バナナがあったのでいただいた。また給水と梅干をいただいて、さらに持参のおにぎりをここで食べた。ここまででだいたい2時間46分。前半が登り基調だということを考えるとだいたい予定通りのタイム。

第2エイドのあとはしばらく下り。この下りが2㎞ほど続いてしかも勾配がかなりあったので結構つらかった。きつい登りもつらいが、きつい下りは足腰にダメージがあってあまり好きではない。
下りきったところで国道307号線を渡る。有名な暗峠を通る酷道といわれるくらいの細い道で関西では有名なところだ。自転車乗りの間では暗峠タイムアタックをするという人もいるようだが、自分はとてもじゃないがここは自転車で登る気がしない。
暗峠を過ぎるとなるかわ園地に入る。なるかわ園地をしばらく進むと第3エイド。20㎞コーストの分岐。ここも、あとでコースマップを見ると少し手前に場所が変わっている。GPSの距離表示ではだいたい21㎞くらいの地点。ここでも給水と梅干をいただく。また、2個目のおにぎりを食べる。ここまでで3時間5分。あと10㎞で2時間という計算なら、ほぼ歩いても予定の時間にはゴールできる。だが、疲れは更に増していて、もういい加減嫌になってきているが、ようやく2/3まで来たと自分を励まして先に進むことにする。

この辺りからもう登りが全然走れなくなってきた。登りは歩いて、下りで軽く走る程度。第3エイドの手前では周りにほとんど人がいなくて単独で走てっていたが、第3エイドを出た後、いつの間にか3人で走っていた。だが、3人とも登りでは全く走れず、歩いて登って登り切ったところから走り出す。もう、トレイルランでなく、ハイキングか登山みたいな感じになってきた。とにかく、次のエイドに早くたどり着きたいという一心で前へ進む。
鳴川峠を過ぎてしばらく行くと第4エイド。GPS上で25㎞地点。なんとなく帳尻があってきているがあまり考える余裕もなくなっている。とにかく早く着くのは良いことだくらいしか考えられない。ここでも給水と梅干をいただく。あと5㎞。ジェルとブラックサンダーを補給して最後の力を振り絞って進む。

ここから先はほぼフラットなのが幸いだった。十三峠を過ぎると高安山まで3.3㎞の標識があった。30㎞まではあと4㎞以上あるのでおかしいなと思って進んだが、あとで地図を見ると、高安山の山頂はゴールのケーブルの駅の手前にあった。28㎞を過ぎて登りが始まった。ゴールまでの登りにしてはちょっと早いなと思ったが、これが高安山への登りだった。ここまでくるともうヘロヘロで、前を歩いているハイカーの人にも追いつけない。
29㎞で電波塔が見えてきた。電波塔を回り込むと人の声が聞こえてくる。ゴールが近づいているようだ。そしてほぼ30㎞でゴール。タイムは4時間47分。とりあえず、目標の5時間は切れたが、長かったし疲れた。まだまだ、スタミナが足りないことを実感した日だった。

ダイアログからGPXファイルを選んでルートを表示する(アンドロイド地図アプリの開発 その14)

アンドロイドアプリの開発、ようやく久々の更新です。
ブログでも書いたように、実機での検証でうまくいかずに悩んでいましたが、ようやく解決しました。

alasixosaka.hatenablog.com


前回までで、GPXファイルの読み込みまでできるようになったと思ったのですが、エミュレータではうまくいくのに、実機ではファイルの途中までしか読めないという不具合が発生。これに結構はまりました。
デバッグも試して、さっぱり原因がつかめなかったので、実機(XPERIAZ4)を初期化してみましたが、結果は変わらず。
初心に帰って、ファイルを普通にオープンしてテキストファイルとして1行ずつ読むことをやってみると、ちゃんと読めることが分かった。
これをやっているときに、XMLファイルを読み込む方法を書いた別のブログをみつけて、やってみるとうまくいった。
結局、なぜうまくいかないのかという細かい理由はわからないまま。でも、とりあえず読めたので良しとしよう。

今回やったこと。

まずは、以前にやったダイアログ表示でファイルを指定し、
alasixosaka.hatenablog.com

GPXファイルを読み込む。

ダイアログでファイルリストを表示しファイルを選択する。

これは、以前にやったのと同じ方法です。
拡張子のフィルターをgpxにし、ファイルリストを表示するのはマップファイルと同じフォルダに限定します。
(下位のフォルダに潜っていくことは可能ですが)
FileListDialog.javaという別クラスを用意し、MainActivity.javaを書き換えます。また、レイアウトファイルも変更し、”GPX File Select"というボタンを追加します。
MainActivity.javaのボタンクリックの処理に今回の処理を追記します。

 private class BtListener implements View.OnClickListener {
        @Override
        public void onClick(View view){
            int id = view.getId();

            switch (id) {

                case R.id.btRotationalView:
                    ~省略~
                case R.id.btMapFileSelect:
                   ~省略~
                case R.id.btGPXSelect:
                    preferences = getSharedPreferences("DATA", Context.MODE_PRIVATE);
                    Path = preferences.getString("path", sdPath);
                    fillter = "gpx";
                    FileListDialog dlg = new FileListDialog(MainActivity.this);
                    dlg.setOnFileListDialogListener(MainActivity.this);
                    dlg.show(Path,Path,fillter);
            }
        }
    }

読み込むGPXファイルは、mapファイルと同じディレクトリにある前提なので、SharedPreferenceからファイルパスを読み込みます。
preferences = getSharedPreferences("DATA", Context.MODE_PRIVATE);
Path = preferences.getString("path", sdPath);
の部分です。
次に、fillter="gpx"として、拡張子がgpxのファイルを選んで表示するようにします。
FileListDialogのインテントを発行して、リスナーを設定し、表示を行います。

ファイルが選択された時の処理も以前の方法と同じです。

    @Override
    public void onClickFileList(File file) {
        if (file == null) {
            Toast.makeText(this, "ファイルが取得できませんでした", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(this, file.getName(), Toast.LENGTH_SHORT).show();
            SharedPreferences preferences = getSharedPreferences("DATA", Context.MODE_PRIVATE);
            SharedPreferences.Editor editor = preferences.edit();
            editor.putString(fillter, file.getName());
            //editor.putString("path", file.getPath());
            editor.apply();

        }
    }

ファイル名をトースト表示し、SharedPreferenceにファイル名を書き込みます。
ファイルパスは書き換えるとややこしいので、コメントアウトして書き込まないようにしてあります。

gpxファイルの読み込み

ここが、前回の記事と違う処理をしたところです。
やっていることは基本は同じなのですが。
指定したgpxファイルを読み込んで、経度と緯度を順番に読んでいき、アレイリストに追加していきます。
追加したアレイリストをもとに線をレイヤーに書き込めばルートが表示されます。

SharedPreferences preferences = getSharedPreferences("DATA", Context.MODE_PRIVATE);
GPX_FILE = preferences.getString("gpx", "null.gpx");
Path = preferences.getString("path", sdPath);

として、gpxファイルのパスを指定するところは同じです。

Polyline polyline = new Polyline(Utils.createPaint(
                AndroidGraphicFactory.INSTANCE.createColor(Color.BLUE),
                (int) (4 * mapView.getModel().displayModel.getScaleFactor()),
                Style.STROKE), AndroidGraphicFactory.INSTANCE);

ここで、描画する線を指定します。色は青にしています。

List<LatLong> latLongs = new ArrayList<>();

経度、緯度を入れるためのアレイリストを作成します。

ファイル名を指定して、読み込むところですが、
以前は、

try {
            String listXmlPath = Path + "/"+ GPX_FILE;
            String content = new Scanner(
                    new File(listXmlPath)).useDelimiter("\\z").next();
            //XMLファイルをまとめて読み込み
            XmlPullParser xpp = Xml.newPullParser();

            xpp.setInput(new StringReader(content));
            //解析するXMLファイルの中身を渡す
            int eventType = xpp.getEventType();
      
   ~省略~

        } catch (XmlPullParserException e) {
            Log.e("MainActivity", "XMLの解析失敗.");
        } catch (IOException e) {
            Log.e("MainActivity", "XMLファイルの読み込みに失敗.");
        }

としていましたが、この部分を

        FileInputStream is = null;

        try {
            String listXmlPath = Path + "/"+ GPX_FILE;
            is = new FileInputStream(new File(listXmlPath));
            BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
            //String content = new Scanner(
            //        new File(listXmlPath)).useDelimiter("\\z").next();
            //XMLファイルをまとめて読み込み
            XmlPullParser xpp = Xml.newPullParser();

            xpp.setInput(reader);
            //解析するXMLファイルの中身を渡す
            int eventType = xpp.getEventType();

         ~省略~

        } catch (XmlPullParserException e) {
            Log.e("MainActivity", "XMLの解析失敗.");
        } catch (IOException e) {
            Log.e("MainActivity", "XMLファイルの読み込みに失敗.");
        }

のように、普通にファイルを読み込むときのFileInputStreamを使った処理にすることで、ちゃんと読めるようになりました。
エミュレータでは以前の方法でも問題なく読めたのに、実機で読めなかったのは謎です。
この部分の処理の全文は下記のようになります。

protected void addOverlayLayers(Layers layers) {

        SharedPreferences preferences = getSharedPreferences("DATA", Context.MODE_PRIVATE);
        GPX_FILE = preferences.getString("gpx", "null.gpx");
        Path = preferences.getString("path", sdPath);
        //File file = new File(Path, GPX_FILE);

        Polyline polyline = new Polyline(Utils.createPaint(
                AndroidGraphicFactory.INSTANCE.createColor(Color.BLUE),
                (int) (4 * mapView.getModel().displayModel.getScaleFactor()),
                Style.STROKE), AndroidGraphicFactory.INSTANCE);
        List<LatLong> latLongs = new ArrayList<>();

        try {
            String listXmlPath = Path + "/"+ GPX_FILE;
            String content = new Scanner(
                    new File(listXmlPath)).useDelimiter("\\z").next();
            //XMLファイルをまとめて読み込み
            XmlPullParser xpp = Xml.newPullParser();

            xpp.setInput(new StringReader(content));
            //解析するXMLファイルの中身を渡す
            int eventType = xpp.getEventType();
            while (eventType != XmlPullParser.END_DOCUMENT) {
                switch (eventType) {
                    case XmlPullParser.START_DOCUMENT:
                        Log.i("MainActivity", "ドキュメント開始");
                        break;
                    case XmlPullParser.START_TAG:
                        Log.i("MainActivity", xpp.getName() + "要素開始");
                        int attrCount = xpp.getAttributeCount();
                        for (int i = 0; i < attrCount; ++i) {
                            AtName = xpp.getAttributeName(i);
                            AtValue = xpp.getAttributeValue(i);

                            Log.i("MainActivity", "    " +
                                    i + "番目の属性 = " + xpp.getAttributeName(i));
                            Log.i("MainActivity","    " +
                                    i + "番目の値 = " + xpp.getAttributeValue(i));
                            if(AtName.equals("lat")){
                                lati = parseDouble(AtValue);
                            }
                            if( AtName.equals("lon")) {
                                longi = parseDouble(AtValue);
                                LatLong latLong = new LatLong(lati, longi);
                                latLongs.add(latLong);
                            }


                        }
                        break;
                    case XmlPullParser.TEXT:
                        Log.i("MainActivity", "テキスト = " + xpp.getText());
                        break;
                    case XmlPullParser.END_TAG:
                        Log.i("MainActivity", xpp.getName() + "要素終了");
                        break;
                }
                eventType = xpp.next();
                //次のトークンに進む

            }
            Log.i("MainActivity", "ドキュメント終了");
        } catch (XmlPullParserException e) {
            Log.e("MainActivity", "XMLの解析失敗.");
        } catch (IOException e) {
            Log.e("MainActivity", "XMLファイルの読み込みに失敗.");
        }

        //latLongs.add(latLong1);
        //latLongs.add(latLong2);
        //latLongs.add(latLong3);
        polyline.setPoints(latLongs);

mapsforgeではLatLongという形式で緯度、経度を保持しますので、変換が必要です。LatLongは緯度、経度の2つの引数を持ち、変数の型はDoubleです。
gpxファイルから読み込まれる値はString形式ですので、lati = parseDouble(AtValue)、longi = parseDouble(AtValue)のように、読み込んだ値をDoubleに変換し、lati、longiという変数に代入し、
LatLong latLong = new LatLong(lati, longi);
latLongs.add(latLong);
として、経度、緯度を追記していっています。
実際に表示させると、こんな感じになります。青い線がGPXファイルから読み込んだルートです。

f:id:alasixOsaka:20190929103450p:plain
近所のハニワ工場公園付近にルートを引いてみた。
これでようやくルートが表示できるようになりました。
あとはPOIが表示できるようになれば、当初の目論見のうち、高低図以外の部分は完成です。まあ、高低図が最大の難関なんですが。ぼちぼち開発は続けていきます。