Time Managerというプラグインについて

790 views
Skip to first unread message

sakuya

unread,
Nov 9, 2018, 9:55:10 AM11/9/18
to QGIS初心者質問グループ
こちらsakuyaです。
お世話になっております。

Time Managerという面白いプラグインをyoutubeで見て使ってみようと思って使い始めました。
その時に、ラスタレイヤもTime Managerに設定することができたのですが、ラスタレイヤも時刻歴でパラパラと
めくってくれるようなことはできるのでしょうか?
ベクタレイヤならば時刻が書いてあるフィールドを参考にさせればアニメ化処理はできたのですが
(気象庁の地震震源データを使ってみました)、フィールドを持たないラスタレイヤのような場合には
アニメ化処理をこのプラグインでもできるのでしょうか?

お分かりになる方がお見えでしたらぜひとも教えてください。
地点ごとの温度の経時変化のサーモカメラ画像があるのでこれを複数地点に並べて見てみたいです。
現時点ではjpegからgifを作っておりますが、1地点ごとにgifを作るのでどうしてもパワーポイントに貼るとずれて見えてしまって。
QGISでできるなら写真をキャンパスにうまく並ぶようにジオリファレンスしてしまえば面白いのが作れそうで興味があります。

adachi

unread,
Nov 9, 2018, 10:23:51 AM11/9/18
to QGIS初心者質問グループ
sakuya様

面白いプラグインの紹介ありがとうございます。

自分自身で触ってもない状態での回答ですみませんが
以下の動画にあるように、ラスタの場合はsettingでstartのところに 2018-11-09 のようなフォーマットでベタ打ちで入れてやると
その時系列に沿ってアニメーションが作られるようです。


sakuya_izayoi

unread,
Nov 10, 2018, 10:46:22 AM11/10/18
to QGIS初心者質問グループ
こちらizayoiです。
sakuyaへ。
ちょうどこのプラグインでラスタを時刻歴表示している動画を福岡さまに見せていただきました。君のやりたい内容は可能だし、面白いのが作れるよ。

adachiさま
動画リンクありがとうございます。私も参考にさせていただきます。動画とは内容は違いますが、Foss4g Tokyoでお会いした福岡さまから実物見せていただいたのですがラスタでも非常に面白く視覚的に伝える内容を見せていただけました。このプラグインは本当に面白いですが手間が少しかかる。QGIS3.xの方では時刻歴順に自動整頓しながらプラグインに取り込めるから少し楽になるという情報も頂けました。

sakuya

unread,
Nov 11, 2018, 11:19:07 PM11/11/18
to QGIS初心者質問グループ
sakuaです。
adachiさま。詳細な動画リンクおよびファイルの命名方法ありがとうございました。
おかげで実施することができました。ありがとうございます。
QGIS2.X系ですと、枚数多いと結構面倒ですね。でも、手間に見合うものが手に入りました。

izayoiへ。後でgif作る方法を教えやがれ下さい。
福岡さまは、この掲示板で投稿されている福岡さまですよね?しかも手法をその場で見せてもらえたなんて羨ましい。いいなぁ~。
QGIS3.Xのほうがいいんですね。今度はそちらでやってみます。

福岡

unread,
Nov 12, 2018, 3:38:43 AM11/12/18
to QGIS初心者質問グループ
sakuya 様

TimeManagerをラスタで使うときには3.x版が良いと思っています。
「Add raster」で情報を入力しながら画像を並べていくのですが、2.18では選ぶリストが番号順にならなかったと記憶しています。
3.0以降ではこの問題は発生しませんでしたので、取り込む画像が多い場合は3.0以降を使う方が良いと思います。
Message has been deleted

sakuya

unread,
Nov 12, 2018, 4:12:00 AM11/12/18
to QGIS初心者質問グループ


すみません。先ほどは間違ってかつて投稿していたアドレスで投稿してしまいましたので、削除しました。

改めまして


福岡さま

こちらskauyaです。お世話になります。

情報ありがとうございます。QGIS2.Xで実施すると番号がバラバラですごく面倒でした。ためしに3.X系でやってみたら選びやすく驚きました。



izayoiから福岡さまに色々見せていただいたと聞きまして、ちょっとうらやましかったです。それとともに、当日はizayoiがお世話になったようで。

本人は楽しかったと話しておりましたが、色々と大変だったですよね。ありがとうございました。

sakuya_izayoi

unread,
Nov 12, 2018, 8:15:34 PM11/12/18
to QGIS初心者質問グループ
こちらizayoiです。
お世話になります。
sakuyaへ。言いたいことは色々とありますが、とりあえず掲示板に書き込みのマナーとして、「教えやがれ下さい」はみっともないのでやめて下さい。
身内だけなら構いませんが、みんなの掲示板です。OK?

閑話休題
Time managerプラグインですが、このプラグインは時刻歴フィールドを参照して動画を作っているという事ですよね?
洪水解析のように、最初の行に時刻歴があって、2行目からそれぞれの図形に対する値が入っています。下記のような図です。

一行目には時刻歴二行目からは各ポリゴンの値が入っているとします。(上記はrand()関数で作ったダミーです。)
このようなものの場合に、時刻歴ごとにポリゴンの色が値に応じて変わっていく様子を動画で見たいのですが、time managerプラグインでできるのでしょうか?

また、このようなフィールドの場合に動画で見ることができるプラグインをご存じありませんか?
洪水解析や氾濫解析などの非定常解析結果のshpファイルを時刻歴を追って見られたら分かりやすいのにと思っております。
(現在は時刻を変えながら手動で画像を作ってラスタをtime managerで動画にしようかと画策中。枚数が多いと画像を作るのがすごく面倒。1000ステップとか、ねぇ。)
QGIS上で動画にできれば、あとは画面キャプチャソフトで動画が作成できるので手軽に動画資料を作れるのですが・・・。

抽象的な質問ですみません。何か良い案はありませんでしょうか?
(簡易的な方法なら、上記の1000ステップなら20ステップごとに画像を保存して、アニメの中割みたく動画を作るというのも考えてはいますが、特異点があるときにこれでは対応ができないです)

福岡

unread,
Nov 12, 2018, 9:59:37 PM11/12/18
to QGIS初心者質問グループ
izayoi 様

今年のハンズオン「QGISをつかったG空間情報センター活用」で定地点センサーのデータを扱っていますので、応用するとできそうな気がします。
当日はそこまで実習が進まず、まだ試していないのですが、76ページからの記述がそうだと思います。

SlideShare-QGISをつかったG空間情報センター活用-

sakuya_izayoi

unread,
Nov 14, 2018, 8:40:54 PM11/14/18
to QGIS初心者質問グループ
福岡さま
資料のリンク先ありがとうございます。ご一緒に受講したハンズオンですね。あれは楽しかった。

さて、この場合はdatatimeというフィールドを常に参照しろという事になっているために、当該プラグインで対応できるのですが、
添付図のように、フィールド名称そのものが時刻であり、フィールドを右にスライドしながら変化させていくという感じですね。
たとえば、初期状態はA列の値で、次はB列の値、C列の値・・・・最終列の値といったぐらいに参照列を自動で変えてくれるといった方が良いですか。
現在は手動でプロパティを開いて切り替えて、pngで保存してといったことを繰り返しております。

当該レイヤの参照フィールドを切り替えたい場合、ショートカットキーなどで、次のフィールドへ移動、前のフィールドへ移動みたいなことはできないのかな?
(たとえば、現在はフィールド5を参照しているけど、フィールド6へ行くならレイヤを選んでおいてCTRL+Nやフィールド4に行くにはCTRL+Bなど。)

福岡

unread,
Nov 14, 2018, 11:58:49 PM11/14/18
to QGIS初心者質問グループ
izayoi 様

ちょっと慌ただしくしていて思いつきの投稿になりますが、ご容赦ください。m(__)m

自分ならデータリストの成型(レコードの項目としてはポリゴンのID、タイムスタンプ、データ値)を最初に考えると思います。
ただ問題は成型前データの列数が多いことのようですね?
100列以内であれば手作業でなんとかなるように思いますが、1000列だと根性を入れないと。。。(^_^;)
そしてポリゴン数も多い(=行数も多い)のなら、さらに大変ですね?

お仕事などで良く使うのであれば、VBAで整形処理を行うことを考えても良いように思います。

そして、ここからは私のようにVBAを使えない場合に、少しでも成型を楽にするための一発芸みたいなものです。
数式だけを書くとわかりにくいと思いますので、エクセルファイルを添付しました。

添付したエクセルはポリゴン数が115あると仮定して作ったものです。
A列は1~115で循環します。B列は循環の周回数です。どちらも行数を呼び出して計算させています。
E~Hはデータリストをイメージしたもので、計算結果をチェックするために規則的な並びにしています。
そしてC列では検索関数のindexでE~F列の数値を呼び出しています。
一般的では無いですが、エクセルの関数を利用して成型する方法もあると思いました。
計算例.xlsx

sakuya_izayoi

unread,
Nov 15, 2018, 12:14:19 AM11/15/18
to QGIS初心者質問グループ
福岡さま
情報ありがとうございます。
そうか、CSVに変換してやって、あとはデータを縦に積んでやればいいのか。
ちょっとプログラムを考えてみます。
福岡さま、さすがです。なるほどなるほど。

sakuya_izayoi

unread,
Nov 15, 2018, 4:16:02 AM11/15/18
to QGIS初心者質問グループ
こちらizayoiです。
福岡さま。
アドバイスいただいたような書式でファイルを作成するプログラムを書いてはみました。
ファイル添付いたします。
rubyもpythonもごちゃまぜのとんでもない代物ですが・・・

一応、
「00_日本全国kik-net地点」
というファイルから、いらない列を削除して
「01_日本全国kik-net位置_縦に積む準備.csv」
というファイルを得ました。
その後は番号通りにファイルができ、プログラムを回して、最終的には
「11_実験ファイル完成.csv」
が出来上がります。ここのフィールド4つめが、時刻歴みたいなものです。座標の重複個数を数えてあります。
1から6まで今回は重複がありますので、時刻歴1から時刻歴6までがあるみたいなものです。
そうなれば、元のshpファイルとフィールド結合して、それをcsvで保存。QGISにcsvを位置情報付きで読み込ませればファイルの書式は完成。
最終的には
「13_もとのshpとフィールド結合したファイル」というのを作り、日付というフィールドに
'2018-11-0'||"フィールド4"と結合して適当な日付をでっち上げたのですが、なんだかうまく動いてくれない。
設定ミス?それとも環境?

検証していただける方募集中です。さらに、もっと良いプログラムにブラッシュアップしていただける方も絶賛募集中です。
書いていて思ったのですが、ファイルの処理が面倒になりすぎた。けど、自分の限界は現在このあたり・・・。

・・・よくよく考えたら、結果の重複個数を時刻歴にした場合、ステップ数が多いと時刻歴にしづらい?
エクセルみたいに1900/1/1が1みたいな感じで読んでくれないかしら?

実験.zip

福岡

unread,
Nov 15, 2018, 7:59:15 AM11/15/18
to QGIS初心者質問グループ
こんばんは

自宅へ帰って、アップされたデータを触ってみました。
そしてfield_2の値でマーカーの大きさをコントロールするアニメを表示させることにトライしました。

それでわかったことなのですが、日付のフィールドタイプがStringになっていました。
そしてfield_2のフィールドタイプもInteger64になっていて、データで定義されたプロパティで選択することができません。
これをそれぞれDateとIntederにしてみると、TimeManagerが動作しました。

どうやらフィールドタイプが良くないことが原因で、動作しなかったみたいです。

福岡

unread,
Nov 15, 2018, 8:04:02 AM11/15/18
to QGIS初心者質問グループ
ごめんなさい。
タイプミスしていました。

IntederではなくてIntegerです。(^_^;)

sakuya_izayoi

unread,
Nov 15, 2018, 8:53:14 AM11/15/18
to QGIS初心者質問グループ
こちらsakuya_izayoiです。久しぶりにユニットとしての投稿です。

sakuyaより。
皆様、色々と検証や使い方のご指導ありがとうございました。お陰様で良い資料が作れ、発表で見せたら驚かれました。これもOsgeo4やFoss4gに参加されている皆様のお力のおかげです。卒論も頑張れそうです。

izayoiより。
福岡さま、ご検証ありがとうございます。テキストファイルの整形で手一杯になっておりました。そんなところに落とし穴があったとは。気がつかなかった。また一つ勉強になりました。そっか、書式か。
なお、今回の上に積んでいくプログラムと出現数カウントは1000万行程度のダミーファイルでも余裕で動いてくれました。エクセルの限界越えるときには役立ちそう。10万行程度で収まりそうなら、福岡さま投稿のシートが力を発揮しますね。むしろ、私のみたく無駄が無い。きれいな数式シートですね。
今回は出現数を日にして強引に日付変換しましたが。31以上の出現数がでたときにどうしよう。何か考えないと。

sakuya_izayoi

unread,
Nov 16, 2018, 4:53:18 AM11/16/18
to QGIS初心者質問グループ
こちらizayoiです。
福岡さま。外勤から帰社いたしまして教えて頂いた通り実施してみました。
たしかにdate型とintegerでいけるようになりました。う~ん、盲点だった。

あとは、繰り返し数を何とか日付に変換する方法か。
・・・そうか、繰り返し数がわかっているのだから、フィールド結合機能を使えば何とかなるのか。
あらかじめ
1,1900-01-01
2,1900-01-02
3.1900-01-03

365 1901-01-01
のようにcsvファイルをQGISに読み込ませて、結合すれば日付が手に入る。
うん、席に座っていると思いつかないものだ。帰宅したらやってみます。
Reply all
Reply to author
Forward
0 new messages