2014-01-16 34 views
1

我覆蓋了第三方shapefile的內容。一些多邊形包含138,000點,其中大部分大約爲3,000-8,000。總共有125個多邊形。消耗大量CPU資源的MapKit疊加層

這是正常的嗎?我能否以某種方式減少多邊形的粒度? iPhone 5的CPU消耗高達190%以上,並且在第一次覆蓋彈出之前需要幾分鐘時間。

+0

我試圖通過只取每個第100個點來稀疏點,並且如果距離之前添加的點至少50m,也只需要另一個點,但結果是無法使用的。提供的shapefile太重,無法用於MapKit。 – Larry

+0

您可以通過簡化Quantum GIS,postgres/postgis或其他程序中的幾何圖形來運行。否則,TileMill應該是相當不錯的 - 我一直在渲染一張美國地圖,其中有600萬個多邊形(美國人口普查的所有街區)。如果內存不足,您可能需要獲取TileMill的開發版本,並確保將您的shapefile存儲在postgres中以提高速度。 –

回答

1

您可能會考慮的一件事是使用TileMill將Shapefile渲染爲具有Alpha透明度的柵格圖塊。然後你可以在MapKit或Mapbox iOS SDK中使用它。它將會非常高效,而且您仍然可以使用Mapbox路線的交互性。以TileMill中的Shapefile數據製作此地圖:https://a.tiles.mapbox.com/v3/newamerica.motw_poverty/page.html#6/40.086/-95.471與鼠標懸停在網上工作的方式相同,您可以使用Mapbox的RMInteractiveSource API查詢並在水龍頭或其他手勢上進行顯示。

+0

謝謝,這非常有用! – Larry