陽光普照企鵝
Wednesday, March 31, 2010
  tile.openstreetmap.tw is back!
tile.openstreetmap.tw 是 openstreetmap.tw 上面繪製以及存放中文地圖的主機。前一陣子硬碟掛掉了,停機一段時間。感謝很好心的中研院軟體鑄造所,在他們的幫忙之下機器重新上線了。

OSM 在網頁上或者Open Layers 元件上的顯示方法,是將要顯示的地圖透過叫做 "tile" 的許多小圖拼湊而成。 原本主機繪製地圖的方法是定期將台灣地區的所有 "tile" 重繪,然而這個方法對於系統的磁碟空間以及 I/O 操作的負擔很大。其實地圖圖資更新頻率並不高,而且有些地方的地圖並不是經常有人過去瀏覽,所以這個作法十分愚蠢。所以在機器重新上線後,便把繪製地圖的方法轉換到 mod_tile。

mod_tile 是一個 apache2 模組,他在收到某個 "tile"的請求時才會去繪製這個 "tile"。然後這個 "tile" 將會被儲存起來,當後來又有這個 "tile" 的請求時,mod_tile 就會直接用這個預先存好的結果會應瀏覽器,直到預先設定的過期時間才會被刪除。

mod_tile 以及 mapnik 的安裝、設定可以在這個網頁以及這個網頁找到,這裡就不再重複。

目前 tile 主機是抓取 http://hypercube.telascience.org/planet/planet-tw-latest.osm.gz 作為資料來源,所以地圖資料只有台灣附近區域才有。另外,資料在放進資料庫前有經過一個自己寫的 perl 程式處理,讓 name:zh 標籤取代 name 標籤,來讓地圖上顯示的名稱預設為中文。這個方法雖然髒了點,但是還算能動,而且花的力氣小 :P

因為剛開始使用新的繪圖架構,所以一些地圖外觀和系統效能還要調校,還有請多多指教。

Labels:

 
Comments: Post a Comment



Links to this post:

Create a Link



<< Home

Name: Louis
Location: Dajia, Taiwan, Taiwan
Archives
June 2006 / July 2006 / January 2007 / February 2007 / March 2007 / April 2007 / May 2007 / June 2007 / July 2007 / August 2007 / September 2007 / November 2007 / December 2007 / January 2008 / February 2008 / March 2008 / April 2008 / May 2008 / June 2008 / July 2008 / September 2008 / October 2008 / November 2008 / January 2009 / February 2009 / March 2009 / April 2009 / May 2009 / June 2009 / September 2009 / February 2010 / March 2010 /


Powered by Blogger

Subscribe to
Posts [Atom]