にせのブログ

@2_s_eがツイッターに書ききれないようなことを書くブログ

行先MAPをcsvで出力して情報追加してQGISで表示できるようにした話

GWの貴重な休みをこのようなことに費やしたにせです。こんばんは。今回は以前からやりたかった行先MAPの出力と情報の追加を行ったのでそれについて書き連ねていきます。

 

なぜ出力したかったのか?

従来の行先MAPでは一つの駅につき原則一つのカテゴリでの所属となっていました。しかしこの分類方法では津山駅のように側面行先表示器をつけた車両が定期で来ない駅の場合過去にサボが存在カテゴリ、前面のみ定期設定ありカテゴリ、どちらにも所属できてしまいます。では今までどうしていたのかというと側面優先で前者のカテゴリにしていたわけです。しかしこの方法だと側面サボが発掘された駅は定期設定が現在存在していないように見えてしまうなど色々と無理があったので今回出力して一から分類をし直すことにしました。

 

まずマイマップから行先MAPのCSVファイルをダウンロードしエクセルで開きこれを


こうしました。今まで複数あったレイヤーは一つのCSVファイルに纏まりました。

 

解説

経度・緯度

マイマップからのCSVについていたものそのままです。これが駅の座標です。

 

駅名

駅名です。マイマップからそのまま引っ張て来たので廃線の場合○○駅跡地だったり後継の施設名だったりで統一感がないので改善したいところ。

 

通し番号

とりあえず追加してみました。

 

都道府県

これを使うことで岡山県の定期設定なしの駅のみを出力、なんてことができます。

 

定期設定

これを使うことで岡山県の定期設定ありの駅のみを出力、なんてことができます。

 

側面行先表示器

これを使うことで岡山県の定期設定がある駅でなおかつ側面行先表示器のない駅のみを出力、なんてことができます。また発車標のみの行先の場合はなし(発車標のみ)と分類されているので津山と混ざる心配はありません。

 

表示器a,b,c,d

その行先を積んでいる表示器の種類が書かれています。これを使うことで以下略

 

コメント

写真のソース等を書く場所です。

 

使う使うと書かれもどう使えばいいのかわからないと思うのでここからは使い方について解説します。

 

Case1 岡山鳥取両県でFCLEDの表示器で搭載されている駅を出力したい

 

まず行先MAPのレイヤーを右クリックし出てきたメニューからフィルタを選択します。

するとクエリビルダというのが出てくるので条件式を入力します。

 

今回の条件の場合は

"表示器a" = 'FCLED' OR "表示器b" = 'FCLED' OR "表示器c" = 'FCLED' OR "表示器d" = 'FCLED' OR "表示器e" = 'FCLED'

となります。表示器eはオーロラビジョンやガラスサイネージ対策で作ったので実際にeまで行くことはそうそう無いと思いますが。

 

この式を入力すると今まで全て表示されていた駅が

このように絞られます。

ちなみに表示されている駅は鳥取、倉吉*1、岡山*2、児島*3、日生*4です。

 

Case2 岡山県内で側面行先表示器と定期設定がない駅を出力したい

この場合

"都道府県" = '岡山県' AND "定期設定" = 'なし' AND "側面行先表示器" = 'なし'

 

となります。ちなみに以下の条件式で岡山県内、定期なし、3CLEDで出力しようとしたら失敗しました。

"都道府県" = '岡山県' AND "定期設定" = 'なし'  OR "表示器a" = '3CLED' OR "表示器b" = '3CLED' OR "表示器c" = '3CLED' OR "表示器d" = '3CLED' OR "表示器e" = '3CLED'

 

何がダメだったんでしょうかねー

 

感想

この方法だと定期設定の有無を表示器の種類で判断していないためFCLEDで定期設定のある駅という絞り方をした場合FCLEDの車両では定期設定がない児島駅が引っかかってしまいます。改善したいところですが頭のいい方法が思いつかない。

表示器の種類ごとに列を作れば解決しますがオーロラビジョン、ガラスサイネージの列が大阪、京都、愛知、岐阜以外で邪魔になったりサボの写真の発掘が必要だったりと面倒です。

専門家の人が見たら色々と稚拙な部分があると思うのでそっと助言して頂けると助かります。

*1:共にはくと

*2:マリンライナーと四国の特急

*3:マリンライナーが瀬戸大橋不通時に児島行きになる

*4:何年か前の網干公開で225-100が表示実績あり