目的
- 記錄安裝部署過程,好記性不如爛筆頭。
- 國內資料較少,使用版本也都比較老,希望對後續的人能有所幫助。
- 希望能找到和我一樣對快顯感興趣的小夥伴。
- 練習寫作,拓展個人視野,結交更多的朋友。
基礎
官方資料
Mapnik GitHub首頁 :傳送門
Mapnik官方部署文檔 :傳送門
Mapnik官方資料:傳送門
Python-Mapnik示例資料:傳送門
Mapnik簡介
Mapnik 是一個用來開發 GIS 應用程序的工具包,其核心是一個 C++ 的共享庫提供空間數據訪問和可視化的算法和模式。特別是包含一些地理對象,如地圖、層、數據源、特徵和地理幾何等。該共享庫支持多種操作系統,可以在多線程環境下很好的運行,主要面向一些提供GIS服務的Web應用開發。
Mapnik的使用案例
簡單列舉幾個,如下:
- Mapbox
- OSM(OpenStreetMap)
- CartoDB
準備工作
部署環境
Ubuntu16.0.4_lts
相關工具
本文使用xshell,xftp操作Linux系統,您也闊以使用自己熟悉的Linux操作工具。
前置條件
安裝部署需要對Linux常用的命令有個基礎的瞭解,如果不會也不用怕,跟着本文一步一步來就闊以了,不懂的命令百度一下就好了(順便學習學習Linux系統常用指令)
軟件部署
安裝部署是個繁瑣的活,即使是根據官網的指導也不一定能安裝成功,遇到啥問題先Google一下,查不到再在GitHub上Mapnik項目上提問(會有大佬回答的),歷經九九八一難,會成佛的。
當前最新版本爲Mapnik 3.0.21 Release
Mapnik官方下載:傳送門
Mapnik安裝部署:傳送門
Mapnik Ubuntu 安裝部署:傳送門
Python-Mapnik:傳送門
Node-Mapnik:傳送門
相關建議
- 不建議部署Windows版本,主要原因是Windows版本較低,官方已經不再維護,這塊建議部署在Linux系統,本文主要針對Ubuntu16.04。
- 建議先申請一個外國的雲服務器(比如亞馬遜的AWS或Google的雲服務器,都是闊以免費試用一年的),國內直接安裝下載相關包的時候可能會失敗,按照Mapnik官方提供的資料,無法安裝成功(爲嘛安裝不成功,都懂的,牆外的世界不是那麼容易欣賞的),這都是血淚的經驗教訓。
- Mapnik實現的綁定有好幾種語言(C++、Python、Node.JS),這塊我個人對Python版本瞭解多一點,多以我開始安裝部署的Python-Mapnik。經過長時間的查找資料,發現Python版本的更新較慢,資料相對較老。這塊我建議安裝部署NodeJS版本,主要原因是Github上更新評率高,資料較多、較新,集羣容易(網上有現成的框架),支持較新的Mapnik版本 (順便闊以在Node.JS方面練練手 哈哈)。
- 如果要本地安裝,建議先在國外服務器上把包下載下來,然後在本地的服務器在安裝。
在線部署
免費雲服務器申請
亞馬遜雲(AWS)
傳送門(你需要用信用卡,抵押一美金)
Google雲
Mapnik安裝
官方文檔:傳送門
安裝步驟如下:
- git clone https://github.com/mapnik/mapnik mapnik-3.x
- cd mapnik-3.x
- git submodule update --init
- sudo apt-get install python zlib1g-dev clang make pkg-config curl
- source bootstrap.sh
- /configure CUSTOM_CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0" CXX={CC}
- make
- make test
- sudo make install
Python-Mapnik安裝
官方文檔:傳送門
安裝步驟如下:
- apt-get install python-dev
- apt-get install python-pip
- apt-get install python-setuptools
- git clone https://github.com/mapnik/python-mapnik.git
- cd python-mapnik
- export BOOST_PYTHON_LIB=boost_python
- export BOOST_THREAD_LIB=boost_thread
- export BOOST_SYSTEM_LIB=boost_system
- python setup.py install
安裝成功後
運行測試:
cd demo/python
python rundemo.py
查看是否成功生成切片圖片,如果成功生成則安裝成功!
Node-Mapnik安裝
官方文檔:傳送門 (官網的安裝需步驟要你有一個強力的FQ工具或者國外的雲服務器)
參考博客:傳送門A ,傳送門B
本地部署
Mapnik安裝
安裝步驟如下:
- cd ~
- mkdir wwwroot
- cd wwwroot
- sudo apt-get install python zlib1g-dev clang make pkg-config curl
- 拷貝所提供文件目錄下的mapnik.tar.bz2到wwwroot目錄下
- tar jxvf mapnik.tar.bz2
- cd mapnik-3.x
- export PROJ_LIB=/root/wwwroot/mapnik-3.x/mason_packages/.link/share/proj
- export ICU_DATA=/root/wwwroot/mapnik-3.x/mason_packages/.link/share/icu/57.1
- export GDAL_DATA=/root/wwwroot/mapnik-3.x/mason_packages/.link/share/gdal
- export C_INCLUDE_PATH=/root/wwwroot/mapnik-3.x/mason_packages/.link/include
- export CPLUS_INCLUDE_PATH=/root/wwwroot/mapnik-3.x/mason_packages/include
- export LIBRARY_PATH=/root/wwwroot/mapnik-3.x/mason_packages/lib
- ./configure CUSTOM_CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0" CXX={CC}
- make
- make test
Python-Mapnik安裝
安裝步驟如下:
- apt-get install python-dev
- apt-get install python-pip
- apt-get install python-setuptools
- 拷貝文件python-mapnik.tar.gz到wwwroot目錄下
- tar zxvf python-mapnik.tar.gz
- cd python-mapnik
- export BOOST_PYTHON_LIB=boost_python
- export BOOST_THREAD_LIB=boost_thread
- export BOOST_SYSTEM_LIB=boost_system
- python setup.py install
Node-Mapnik安裝
待補充
安裝部署文檔下載
CSDN資源:傳送門
我在CSDN上傳了Mapnik和Python-Mapnik詳細的安裝過程(做了詳細的批註),感興趣的小夥伴可以下載,有問題的可以留言也可以加Q聯繫我。