2011-12-08 50 views
2

我得到這個問題在啓動臨近空間複雜度爲大型項目

如果你被要求設計地圖像Bing地圖,你會如何估計空間的複雜性要求?

我能想到的地圖的唯一答案是,空間不變,但我真的不確定我是否朝着正確的方向前進。

如何處理這樣的問題?

回答

0

讓我們來看看在縮放0(可以看到整個行星的地方)的地圖,並且地圖被分成X個圖像。

然後你放大到1,現在你有相同的X圖像顯示當前區域,但這只是地圖的一部分。假設您需要查看縮放1中的Y部分以「覆蓋」整個行星。這意味着您應該查看X * Y圖像。 Bing地圖具有大約21個縮放級別,因此您應該具有以下幾種縮放級別:X * 1 + X * Y + X * Y^2 + ... + X * Y^21 = X *(1 + Y + Y^2 + ... + Y^21)並且這導致估計O(X * Y^21)。

另外,您應該考慮到描述地址,道路和交通所需的一些數據。這可以通過使用一些統計數據來近似計算。

1

如果查看地圖服務的詳細信息,您會注意到它們有幾個圖層。對於每一層,你可以估算基於源數據的分辨率使它們覆蓋的大小,面積:

size = sum(foreach layer: layer.area * (layer.resolution)^2 * layer.elementsize) 

衛星圖像是最容易計算,因爲你會在一些基本要覆蓋全球分辨率級別。但你可以期望一些源材料集中在感興趣的地區,如航空攝影;這些可能是更高的分辨率,但總面積更小。

爲了方便地提供縮小顯示,您將需要保存縮減尺寸的全分辨率數據。但是,這應該只佔據全分辨率數據所需空間的一小部分。每降低2倍的圖像尺寸將使附加數據的尺寸減小4倍; 2分之2的附加尺寸將是全分辨率數據的1/3。

最後,您還需要地理信息,如道路,地理區域和興趣點。這些數據的大小自然是非常有彈性的,但是您可以通過評估某個特定城市的商業地理數據庫的大小以及按人口進行縮放來獲得某種粗略估計。