LoginSignup
4
1

More than 3 years have passed since last update.

時間変化をベクトルタイルで扱うアイディア2つ

Last updated at Posted at 2020-02-09

halsk/pharmacies-tiles 関連のメモ書きなのですが、時間変化をベクトルタイルで扱うアイディアには二つあると思います。

一斉書き換えなら {T}/{z}/{x}/{y}

{T}は丸めた時間になると思います。日でも時でも分でも大丈夫ですが、一斉書き換えを行なったそのタイミングを一意かつわかりやすく示す識別子。

データを一斉に書き出すごとに {T} という別のディレクトリに書き出すことにして、書き出した方をみて欲しくなったタイミングで、それを呼び出す index.html なり style.json の側を書き換える。

必要に応じて、その index.html なり style.json なりがキャッシュがかりしない施策を講じる。

逐次書き換えなら {z}/{x}/{y}.{T}

一斉書き換えではなくて、タイルごとに不定期に書き換えられるのであれば、多分 {y} と拡張子の間にタイムスタンプを書き込んで分ける。

{x}/{z}/{y} は、最新 T のタイルへのシンボリックリンクにする。{z}/{x}/{y}.{T} の書き込み時に {z}/{x}/{y} の指示先を書き換えるようにしておけば良いし、タイルごとの履歴を撮りたければ、要は ls {z}/{x}/{y}* 相当の検索をかければ良い。

(追記)時変部分のみ別ファイル

幾何属性はもう安定していて変化がなく、主題属性のみ時変するというパターンの場合には、ベクトルタイルには地物の ID を持たせておき、主題属性を必要とするときになってから別途 GET するというパターンもあると思います。個人的には、このやり方を「増槽方式」とか「ペイロード分離方式」と呼んでいます。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1