使用Nodejs+mongodb開發地圖瓦片服務器

原先地圖瓦片服務器採用的是arcgisserver發佈的地圖服務並進行切片,但ags發佈的地圖服務很佔內存,發佈太多的話服務器壓力很大。再一個就是ags價過高了。node

學習Nodejs以後,發現這是一個能夠開發高併發服務器,相似遊戲服務器、視頻聊天服務器等。所以想若是用它來開發一個地圖服務器也是一個不錯的想法。mongodb

個人設計思路是這樣的:數據庫

1)mongodb採用集合-文檔來存儲地圖瓦片文件。在mongodb1.8版本之後文檔最大可存儲16MB,因爲地圖瓦片不可能太大,所以採用文檔來存儲而不是大文件存儲方式。服務器

   集合以底圖或專題圖爲單位來存儲,意思就是每一個集合表明一個地圖瓦片服務,存儲這個地圖服務全部級別的瓦片數據,固然了,要有一個能夠用來索引的字段,我採用的是X-Y-Z的形式來用爲文檔的key。併發

2)mongodb提供有nodejs的驅動程序,nodejs能夠訪問mongodb數據庫。高併發

3)nodejs提供一個getimage的路由供外部來訪問地圖瓦片數據,參數有LAYER,X,Y,Z學習

     LAYER: 圖層名稱,即mongodb集合名稱。google

     X,Y,Z:  採用的是google地圖的瓦片編碼規則。編碼

相關文章
相關標籤/搜索