分享開(kāi)源nodejs版mbtiles-server
mbtiles是一個(gè)sqlite的數(shù)據(jù)庫(kù),用來(lái)按照一定組織格式格式存儲(chǔ)切片地圖數(shù)據(jù),常用在單機(jī)、移動(dòng)端的地圖包中,在地圖數(shù)據(jù)的發(fā)布,對(duì)比直接的切片文件數(shù)據(jù),具有存儲(chǔ)統(tǒng)一,便于移動(dòng)拷貝。
最近發(fā)現(xiàn)有一個(gè)開(kāi)源的mbtiles-server,可以將mbtiles文件發(fā)布成wmts服務(wù),并且是按照OGC標(biāo)準(zhǔn)實(shí)現(xiàn)的,經(jīng)測(cè)試,cesium、mapbox-gl等客戶端都可以進(jìn)行訪問(wèn)。
如果地圖是從互聯(lián)網(wǎng)采集,工具一般具有轉(zhuǎn)換成mbtiles的格式,此工具比較輕量級(jí),不需要專業(yè)的地圖server那么龐大,性能還是可以的,在常用的二維、三維地圖的影像調(diào)取中,是比較可以的。
地圖Server程序是基于nodejs編寫(xiě)的,
github上的網(wǎng)址是:
https://github.com/DenisCarriere/mbtiles-server
切片的服務(wù)是以wmts服務(wù)形式進(jìn)行發(fā)布的。
按照頁(yè)面上的說(shuō)明,下載代碼,直接可運(yùn)行,不過(guò)在最新的nodejs版本上,找不到sqlite的庫(kù),需要電腦下載自己進(jìn)行編譯,在nodejs的8版本是可以使用的。
簡(jiǎn)單的使用參數(shù)配置:
cache: ? ? ? ? /Users/mac/mbtiles
?protocol: ? ? ?http
?port: ? ? ? ? ?3000
?domain: ? ? ? ?localhost
?verbose: ? ? ? true
server返回服務(wù)結(jié)果說(shuō)明信息:
{
?"api": "MBTiles Server 3.1.0",
?"http": {
? ?"GET": [
? ? ?"/<mbtiles>",
? ? ?"/<mbtiles>/{zoom}/{x}/{y}",
? ? ?"/<mbtiles>/WMTS",
? ? ?"/<mbtiles>/WMTS/1.0.0/WMTSCapabilities.xml"
? ?]
?},
?"mbtiles": [
? ?"bjj",
? ?"canada_zoom_0-3",
? ?"fiji_zoom_0-4",
? ?"world_zoom_0-2"
?],
?"ok": true,
?"protocol": "http",
?"cache": "E:\\program\\mbtilesserver\\test\\fixtures",
?"port": 5666,
?"status": 200
}