MBTiles 入門與簡單應用

2022-08-30 08:42:12 字數 991 閱讀 4284

在開源gis盛行的時代,如果還拘泥於舊式地圖也就太單調了。

而如今mbtiles是由mapbox公司所主持的乙個開源標準,勢必要將瓦片地圖標準化,高效化。實質上,是由乙個sqlite包裝起256*256大小的瓦片地圖。透過資料庫索引的方式提高瓦片索引的效率。據說,比資料夾模式的瓦片分布要高的多。

mbtiles的標準在github或者openstreetwiki或者mapbox主頁上可以找到,具體格式不再這裡贅述。

由一般資料轉換成瓦片地圖的操作,有兩個方式主要包括:

得到mbtiles之後,它其實只是乙個sqlite資料庫檔案,有點在於小,方便遷移,可以存在於移動端。還需要一步就是發布服務,讓外網訪問。這時可以使用php或者node.js等快速開發的方法。這裡提及兩個開源專案:php-mbtiles-server和node-mbtiles。

這裡貼出php-mbtiles-server的原始碼,讓大家爽一下,同樣的方法可以運用在別的後端語言上。

// open the database

$conn = new pdo("sqlite:$db");

// query the tiles view and echo out the returned image

$sql = "select * from tiles where zoom_level = $zoom and tile_column = $column and tile_row = $row";

$q = $conn->prepare($sql);

$q->execute();

$q->bindcolumn(1, $zoom_level);

$q->bindcolumn(2, $tile_column);

$q->bindcolumn(3, $tile_row);

$q->bindcolumn(4, $tile_data, pdo::param_lob);

while($q->fetch())

CodeIgniter入門與簡單應用

codeigniter是基於mvc的一套php快速開發工具包,之後什麼什麼就不多說了 直接切入正題。controllers 控制器 views 檢視 models 模型 統稱mvc config 系統配置檔案 class blog extends controller blog擴充套件control...

Termux入門及簡單應用

由於眾所周知的原因,一直貓在家,機緣巧合下,發現了乙個神器 termux 於是找了各種各樣的教程,折騰了幾天,感覺有點亂了,所以來總結一下,也希望能幫助到有需要的夥伴們。termux是乙個android下乙個高階的終端模擬器,開源且不需要root,自動安裝最小化linux系統,支援apt,pkg管理...

訊號與槽 入門應用

訊號 signal 和槽 slot 是qt的核心機制。在建立事件迴圈之後,通過建立訊號和槽的連線就可以實現物件之間的通訊。當訊號發射 emit 時,連線的槽函式將會自動執行。在pyqt5中,訊號和槽通過qobject.signal.connect 連線。所有從qobject類或其子類 如qwidge...