ワールドレイヤーのディスク容量とタイル数


9

Webマッピング用のワールドレイヤーのタイル生成をテストすることを考えています。

このコンテキストでは、WGS84座標のnレベルに必要なタイルの数(覚えている場合はtilecacheの256x256)を計算する方法を知りたいです。

たぶん私は事前に生成されたタイルとその場で生成する複合ソリューションを使用しますが、すべてのタイルが生成されるかどうか、そしてそれが表すファイル数を最後に使用可能なディスク領域を知る必要があります。

2つの目標があります。時間がかかることと、必要なディスク容量です。

どんな情報でも大歓迎です

編集:

このスクリプトは、ズームレベルとデータ範囲に応じて生成するタイルの数を計算するものです。この要旨を参照してくださいhttps://gist.github.com/1675606


回答:



5

特定のズームレベルのタイルの総数をリストしたチートシートを作成しました。

2つのテーブルがあります。人を示すタイルから始めて、特定の縮尺で物事を示すために必要なズームレベルの数を示す1つ。

level 1: 1 # Person
level 2: 5 # Car
level 3: 21 # House building
level 4: 85 # Square
level 5: 341 # Small neighbourhood
level 6: 1,365 # Football stadium
level 7: 5,461 # Small farm
level 8: 21,845 # Central park New York
level 9: 87,381 # Entire airport
level 10: 349,525 # Small city (Copenhagen)
level 11: 1,398,101 # Medium city (Amsterdam)
level 12: 5,592,405 # Large city (London)
level 13: 22,369,621 # Medium Island (Mallorca)
level 14: 89,478,485 # Large Island (Sicily)
level 15: 357,913,941 # Small country (Denmark, Estonia, Taiwan)
level 16: 1,431,655,765 # Medium Country (Korea, Greece)
level 17: 5,726,623,061 # Region (Southern Europe, Arabian Peninsula)
level 18: 22,906,492,245 # Small continent or large country (China)
level 19: 91,625,968,981 # Medium continent (Africa) or huge country (Russia) 
level 20: 366,503,875,925 # Asia
level 21: 1,466,015,503,701 # The World

もう1つは、世界地図から始める場合に必要なズームレベルの数とプログレッシブ詳細レベルを示しています。

level 1: 1 # The World
level 2: 5 # Large contenents
level 3: 21 # Medium continents, huge countries
level 4: 85 # Small continents, large countries
level 5: 341 # Region (Southern Europe, Arabian Peninsula)
level 6: 1,365 # Medium Country (Korea, Greece)
level 7: 5,461 # Small country (Denmark, Estonia, Taiwan)
level 8: 21,845 # Large Island (Sicily)
level 9: 87,381 # Medium Island (Mallorca)
level 10: 349,525 # Large city (London)
level 11: 1,398,101 # Medium city (Amsterdam)
level 12: 5,592,405 # Small city (Copenhagen)
level 13: 22,369,621 # Entire airport
level 14: 89,478,485 # Central park New York
level 15: 357,913,941 # Small farm
level 16: 1,431,655,765 # Football stadium
level 17: 5,726,623,061 # Small neighbourhood
level 18: 22,906,492,245 # Square
level 19: 91,625,968,981 # House building 
level 20: 366,503,875,925 # Car
level 21: 1,466,015,503,701 # Person

1

これは非常に古い質問ですが、現在のタスクに応じて、(少なくとも)2つの重要な警告があります。

  1. このタスクにより、タイル作成プロセスの特定の管理なしに、(非常に)多数の空のタイルがレンダリングされる可能性があります。
  2. ほとんどのストレージで4KBの最小クラスターサイズ(別名ブロックサイズ)があるため、タイルピラミッドのディスク上のサイズは、コンポーネントファイルサイズの合計から予想されるよりもはるかに大きい(100%を超える)場合があります。

(2)についてはほとんど説明済みですが、例として、合計ファイルサイズが168MBであるタイルピラミッドがありますが、ディスク上のサイズは600MBを超えます。(1)を正しくすることがはるかに重要になります。

(1)に関して:「ワールドファイル」の仕事に国の境界のみが関係するかどうかを検討してください。

境界でないタイルは、2つの「alt」タイルの1つで提供できます。国外の任意の場所の「海」タイル(青)、または完全にタイル内のタイルの「ブロック」(塗りつぶし)タイル国境。境界線のセグメントを含むタイルのみをレンダリングする必要があります-残りは「デフォルト」にすることができます。

どうしてこれなの?特定のタイプ(type in(sea、land)またはtype in(sea、country a、country b、))のすべてのブロックタイルは同一になるためです。

「ブロック」タイルは、国ごとに1色にするか、全世界に1色にするか、または国の輪郭を背景にオーバーレイする場合は空白のタイルにすることができます。

「ブロック」タイルは一度だけレンダリングする必要があります(たとえば、1つの256x256タイル、完全に目的の色で塗りつぶされます)。

タイルが作成されているとき、あなたはテストすることができます

(a)その「親」-1つ少ないズームレベルのタイル-が存在する場合。そして

(b)「ブロック」タイルの場合(つまり、全体が1色で塗りつぶされている場合)。

(a)の場合、タイルをレンダリングする必要はありません。親が存在しない場合は、親が完全にブロックタイルであり、削除されたことが原因です。

ケース(b)(タイルがテストされる必要があるために親が存在する場合)で、それがブロックタイルの場合、タイルピラミッドから安全に削除できます。(ブロックタイルの状態のテストは、単にファイルサイズに基づいています。1色の256x256タイルは非常に正確なサイズであり、「適切なコンテンツ」タイルが同じサイズである確率はゼロです)。

作成プロセス中にこれらのタイルを削除すると、タイルレンダリングループに最小限の時間が追加されますが、大量のディスク領域が節約されます。代わりに、すべてをレンダリングしてから、ピラミッドでブロックタイルを再帰的に検索して削除します。これには時間がかかります。

ピラミッドが構築されると、タイル呼び出しプロシージャは、タイル/ z / x / yを探して404を取得する場合、デフォルトで「ブロック」タイルにできます。

これが事実である理由を確認するには、上の象限が完全に空である256x256 zoom = 1をレンダリングすることを検討してください。同じ領域をカバーするzoom = 2の4つのタイルも空になることは確実です。同様に、zoom = 3などの16タイルです。

そのため、タイルがブロックカラー(または空)であるタイリングプロセス中はいつでも、より高いレベルのズームでは常に無視できます。

これにより、膨大な量のストレージと、タイリングプロセスの時間を大幅に節約できます。

これらの警告への警告:より複雑なタイリングジョブは、異なるズームレベルで異なるレイヤーに切り替えます。この場合、ズームレベルがレンダーセットに新しいレイヤーが含まれているズームレベルである場合、「親」テストが実行されないように十分に注意する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.