Ubuntu16.04 Flask+Python-Mapnik + PostGIS 矢量切片初體驗

基礎概念

柵格數據、矢量數據

這部分份內容我就不贅述了,感興趣的請自行傳送瀏覽。
矢量數據:傳送門
柵格數據:傳送門
柵格數據、矢量數據對比:傳送門A傳送門B傳送門C
推薦關於柵格數據的博客:柵格那點事兒

柵格切片、矢量切片

柵格切片
柵格切片圖層將底圖作爲圖像文件(例如,JPG 或 PNG 格式)交付給客戶端應用程序,這些圖像文件已經預渲染並存儲在服務器上,並由客戶端按原樣顯示。柵格切片圖層最適合於爲您的地圖提供地理環境的底圖,例如影像(比如在世界影像底圖中)或基於要素的地圖,例如地形、國家地理、海洋和其他底圖。柵格切片圖層也可以由靜態業務圖層組成,例如數據的專題地圖。

切片圖層格式可通過 Internet 快速傳輸,並且很容易爲大多數常見的地圖軟件應用程序所理解,因此這些底圖不僅與 ArcGIS 和使用 ArcGIS API 構建的 Web 應用程序兼容,還與使用 OGC 協議(例如 WMS/WMTS)的第三方應用程序兼容。柵格切片圖層的其他優點如下:
• 適用於各種應用程序和設備(Web、桌面和移動設備),其中包括 ArcMap 等桌面應用程序和舊版 web 瀏覽器。
• 提供高端製圖功能,如高級標註放置和符號系統。
• 支持各種柵格數據源,如影像和高程數據。
• 可通過 Web 製圖應用程序打印。

矢量切片
矢量切片圖層引用一組 web 可用的矢量切片以及這些切片應被繪製的相應樣式。矢量切片與柵格切片類似,但是它們存儲數據的矢量表示。也就是說,地理要素以客戶端應用程序可理解的格式表示爲點、線和麪。不同於柵格切片圖層,矢量切片圖層能夠適應顯示設備的分辨率,並且可以改變樣式以用於多種用途。矢量切片文件比柵格切片文件更小,這意味着製圖更快、性能更好。切片訪問性能和矢量繪製的結合使切片能夠適應任意顯示分辨率(設備不同,分辨率可能不同)。

相關資源:

MVT

Mapbox矢量圖塊規範:傳送門

矢量切片的意義

個人愚見:

  • 相對柵格數據,數據傳輸量更小,前端體驗更好。
  • 相對柵格數據,粒度更小,可以控制到要素級別,支持按需獲取。
  • 實時性更好,支持數據更新,切圖更快。
  • 信息保存更完整,細節保存完整。
  • 樣式可修改,定製型更強。

矢量切片實現

awesome-vector-tiles(關於矢量切片實現的一下資料,算是比較全的了)

Mapnik

基礎

關於Mapnik、Python-Mapnik的基礎概念、安裝、學習資料,參考上一篇:傳送門

Mapnik XML文件配置

官方資料:傳送門

Mapnik優化策略

Flask框架

Flask 是一個 Python 實現的 Web 開發微框架,輕巧簡單容易上手。
官方資料:傳送門

矢量切片服務端

待補充

測試結果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章