Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What is going on with this article?
@hfu

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

More than 1 year has passed since last update.

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 するというパターンもあると思います。個人的には、このやり方を「増槽方式」とか「ペイロード分離方式」と呼んでいます。

1
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
hfu

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1
Help us understand the problem. What is going on with this article?