2024-03-28

高専カンファレンス in 本巣」の開催地、初の来訪、岐阜高専!


会場は、岐阜高専の図書館がある棟のホール。クリエイティブ・コモンズという部屋もある!オープンデータ推し!?


「高専行ったことあるマップ」
更新、高専行ったことあるマップ、あと行ってない高専は18キャンパスに!


高専1-2年生中心な「高専カンファレンス in 本巣」の運営メンバー!


高専カンファレンス in 本巣、はじまり!ノンジャンル、または、会に依ってはテーマ付きで事前公募されたプレゼンテーションのオムニバスと交流会が、高専カンファレンスの基本フォーマット。


岐阜高専出身で、データベース大好き白石さんの発表。極力待ちを発生させないのが並行処理のポイント!CPUのマシン語レベルで比較付き交換命令があると良いらしい!おもしろい!


情報系高専生による精神医学概論。普段接しない分野へのいざないが楽しい!つなぎのトークでも披露してくれた電車を使った鬼ごっこ「滋賀県鬼ごっこ」が、ちょうど電車関係アプリをつくっていたので興味あり!


「発車カウントダウン - 福井鉄道」
src on GitHub
円形に周れるとおもしろいらしいので、ハピラインふくいに続き、武生から福井までを並行して走る半分路面電車、福井鉄道の時刻表をファンオープンデータ化して、発車カウントダウンアプリにしました。

福井鉄道の時刻表は、HTMLのtableタグで構造化されていたので、スクレイピングと標準化プログラムを書いて、対応完了!ウェブアプリづくり、楽しいよ!

参考に、こちらがテーブルタグからCSVデータにする関数。scrapeTimetable.js const table2csv = (tbl) => { const res = []; const trs = tbl.querySelectorAll("tr"); trs.forEach(tr => { const tds = tr.querySelectorAll("td, th"); const line = []; tds.forEach(td => { const colspan = td.getAttribute("colspan") || 1; for (let i = 0; i < colspan; i++) { line.push(td.text); } }); res.push(line); }); return res; }; C言語など、何かが読めればだいたい想像つくはず!


「高専カンファレンス be 神戸」

5月4日、神戸高専にて開催!


「高専カンファレンス in 富山2」

8月22日、北陸開催!


神山まるごと高専生、高専カンファレンス初参加!


福井高専生にも遭遇!

他、続々と開催予定が増えている高専カンファレンス!
近くの高専カンファレンスに遊びに行ってみて、自分の高専でもやってみよう!


岐阜駅でお土産に買った、和風おっとっと的「やき鮎」

2024-03-27
ちょっとずつ作るハピラインふくい応援アプリ!駅マップと運賃計算ができました。


「駅マップ - ハピラインふくい」
src on GitHub
まずは基本となる駅データを揃えます。公式サイトの駅情報からスクレイピングして、データ収集。緯度経度データがなかったので、GeoCodingAPIで緯度経度を取得し合成し、拡張タグcsv-mapとcsv-viewerで表示!


PDFデータから地道に作成したCSVデータ。これを読み込んで運賃計算するライブラリ HapilineFare.js を作成。fare(フィアー)とは運賃のこと。テストコードを書いて、動作確認。 import * as t from "https://deno.land/std/testing/asserts.ts"; import { HapilineFare } from "./HapilineFare.js"; const fare = await HapilineFare.create(); Deno.test("simple", () => { t.assertEquals(fare.getFare("鯖江", "武生"), 220); t.assertEquals(fare.getFare("鯖江", "敦賀"), 890); }); Deno.test("reverse", () => { t.assertEquals(fare.getFare("鯖江", "福井"), 280); t.assertEquals(fare.getFare("鯖江", "北鯖江"), 220); t.assertEquals(fare.getFare("敦賀", "鯖江"), 890); }); Deno.test("same", () => { t.assertEquals(fare.getFare("鯖江", "鯖江"), null); }); Deno.test("illegal", () => { t.assertEquals(fare.getFare("鯖江", "東京"), null); }); ちゃんと計算できました。


「発車カウントダウン - ハピラインふくい」
src on GitHub
運賃表示と、駅のよみ、駅の詳細データへのリンクを加えました。

データ整備は地味な作業ですが、楽しいアプリづくりに必要なステップ!
公式オープンデータが充実すると、すぐに楽しいアプリに取りかかることができるのがうれしいところ!

函館市電で、IchigoJamで動く、いちごロケによるリアルタイム位置情報提供サービスが本格稼働開始!

2024-03-26
ハピラインふくいの時刻表アプリを「発車カウントダウン」と命名。発着駅を選択できるようにしました。


「発車カウントダウン - ハピラインふくい」
src and data on GitHub
現在時刻から3つの電車をチェックできます。現在選べるのは、福井、鯖江、武生、敦賀の4駅。


「hapiline-timetable/hapiline-kudari.csv at main · code4fukui/hapiline-timetable」

時刻表データが、2つ星以上のオープンデータであれば全駅対応は簡単なのですが、現在公開されている時刻表データは1つ星オープンデータ相当のPDFなので、このように一駅ずつ手作業での追加が必要です。最寄り駅が未対応の方、ぜひご協力を!


「ハピラインファンクラブ - ふくいとあしたの架け橋に。」

ハピラインふくいのファンクラブ、年会費1,000円で1,500円相当の一日フリー乗車券と、沿線割引サービスとのことで、早速申し込み!郵送料金がもったいないので、デジタル化してほしいところですね。


「協賛店 最寄り駅検索 - ハピラインファンクラブ」

駅ごとに特典が紹介されているので、一日フリー乗車券と合わせて旅するのも楽しそう!全駅制覇するスタンプラリーもいいかもしれません。時刻表オープンデータと組み合わせれば、モデルプラン提案もできますね。

2024-03-25
新幹線福井開業によって、並行在来線がJRか第三セクターのハピラインふくいに変わりました。特急が無くなった代わりに快速が登場。時刻表が発表されたので、発車時刻案内アプリを作ってみました。


「ハピラインふくい 鯖江発着電車」
src on GitHub


「時刻表・運賃|株式会社ハピラインふくい|ふくいとあしたの架け橋に。」

発表された時刻表。現在はPDFのみ。ExcelやCSV、JSONなどでのオープンデータ化を希望!


PDFからがんばって、敦賀、鯖江、福井な発着時間だけデータ化!


make.js で上りと下りのデータをCSVデータとして統合。こちらを読み込み、時刻表を操るJavaScriptのクラスを作って、テストし、アプリに組み込みました。

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS