LoginSignup
5
4

More than 5 years have passed since last update.

ソースタイリング

Last updated at Posted at 2014-09-19

タイル地図で、ソースデータがウェブ地図タイルと異なる矩形単位で管理されている場合どういうふうにウェブサーバでリリースしていくことが楽になるか。

目指すべき理想の世界では、ソースデータもウェブ地図タイルと同じ矩形単位で生きていくべくであるが、それは当面無理である。とはいえ安易な解としてデータベースに飛びついてしまえば、パフォーマンス上・セキュリティ上の大きな軛になる。この状況では、決してデータベースに飛びついてはならない。

この場合の手法をメモしておく。ソースタイリングと仮称する。

レイヤーコンポジションと同じ手法を用いる。URLインタフェース的には Mapzen Vector Tile Services の {layers} 指定で表現されるような方法だ。リクエストの際に複数のレイヤを指定する。レスポンスでは両方のレイヤが接続(cat)されて返ってくる。

このエントリでは余談になるが、GeoJSONベクトルタイルデータの場合タイルの cat は簡単で、冒頭の {"type": "FeatureCollection", "features: [ と、末尾の ]} を外して UNIX cat し、cat した後に全体の前後に、さきほど外したものをつければよい。

本題に戻ると、ソースデータの矩形単位でXYZタイルセットを作る。ウェブ地図でタイルがcallされたときに、そのタイル番号のタイルについて、すべてのソースデータごとのツリーにあるタイルを cat すればよい。

ソースデータの単位の個数が多い場合には、どのタイル番号にはどのソースデータがかかるかを示すタイルセットを中間的に持てば、空打ちを削減できる。これは、ココタイルの発想である。

以上、記載所要時間は7分であった。

5
4
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
5
4