QGIS簡介與源代碼編譯

    QGIS(http://qgis.org)是一個集成了不少個開源的空間數據處理庫的桌面GIS軟件,支持Python腳本。QGIS基於QT和SIP進行開發,支持Windows\Linux\MacOS等操做系統,能夠訪問MySQL/PostGRE等數據庫的空間數據,能夠鏈接到OpenstreetMap拉取數據作本地分析和製圖。html

    跟專業的GIS平臺如SuperMap(http://www.supermap.com.cn)、ArcGIS等相比,QGIS雖然功能算不上強悍,好多模塊還有Bug,但處理一些小數據、畫幾個簡單的地圖倒也是綽綽有餘,並且是免費和開源的,做爲學習是一個很是不錯的起點(那些商業軟件可不會給你看源代碼,並且死貴死貴的....,不過,要作項目和應用系統,仍是推薦用SuperMap了,能夠支持服務器、桌面、移動端、Web的全面開發,還有完善的培訓和技術支持,而QGIS只是一個小型的桌面工具)。python

    目前版本的QGIS(2.10.0)是基於QT4.8.6和Python2.7.9的,都是上一代的最終穩定版本,能夠保證環境的穩定,但確實有點老了。要知道QT都5.5了,Python都3.4了。不過,目前官方的Team就是這樣搞的,要是本身去升級的話,估計要長好多包啊,由於不少庫都是沒有最新版本的。git

    使用上就很少說了,既然是學習,本身編譯和看源代碼那時必須的。github

一、編譯環境

    先說一下基礎環境,我用的VirtualBox5.0+UbuntuKylin15.04虛擬機。由於QGIS用的軟件庫有點老,別隨便裝軟件(不然弄個新的庫可能不兼容),最好是搞個全新的虛擬機進行安裝。
web

    下載:http://qgis.org/en/site/forusers/download.html,我從這兒下的2.10的版本,是目前最新的穩定版。sql

    也能夠到這裏去:https://github.com/qgis/QGIS 使用git clone抓下來目前開發的代碼,目前是2.11開發版。不過,我抓的這個版本編譯沒有經過,2.10的卻是很順利。
shell

    開始安裝一些支持庫,完整的參考見這裏:https://htmlpreview.github.io/?https://github.com/qgis/QGIS/blob/master/doc/INSTALL.html#toc4  。
數據庫

    我用的UbuntuKylin 15.04是Vivid版本,執行下面的操做進行安裝。ubuntu

apt-get install bison cmake doxygen flex git graphviz grass-dev 
libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl0-dev 
libopenscenegraph-dev libosgearth-dev libpq-dev libproj-dev 
libqscintilla2-dev libqt4-dev libqt4-opengl-dev libqt4-sql-sqlite 
libqtwebkit-dev libqwt5-qt4-dev libspatialindex-dev libspatialite-dev 
libsqlite3-dev lighttpd locales pkg-config poppler-utils pyqt4-dev-tools
 python-all python-all-dev python-pyspatialite python-qscintilla2 
python-qt4 python-qt4-dev python-sip python-sip-dev qt4-doc-html 
spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base 
xfonts-scalable xvfb cmake-curses-gui

二、編譯源碼

而後,執行下面的過程進行下載、解包、編譯:服務器

sudo apt-get install build-essential
wget http://qgis.org/downloads/qgis-latest.tar.bz2
tar -vxf qgis-latest.tar.bz2
cd qgis-2.10.0
mkdir build
cd build
cmake ..
make

完成後,進入build\ouput\bin,運行qgis,正常的話應該已經能夠使用了。

若是要進行插件的開發,可參考:http://qgis.org/en/site/getinvolved/development/index.html#plugin-development

三、安裝QGIS

若是隻是下載代碼編譯,可能有的庫沒有安裝,也能夠下載QGIS的安裝包先進行安裝。

sudo gedit /etc/apt/sources.list
#編輯軟件源列表,而後加入下面兩行:
deb  http://qgis.org/debian vivid main
deb-src http://qgis.org/debian vivid main
#注意:vivid是Ubuntu15.04的版本號代碼,若是是其它的,需相應修改。
#參考:

#而後,加入源的認證碼:
gpg --keyserver keyserver.ubuntu.com --recv DD45F6C3
gpg --export --armor DD45F6C3 | sudo apt-key add - 

#最後,執行安裝操做。
sudo apt-get update
sudo apt-get install qgis python-qgis qgis-plugin-grass

#大功告成,進控制檯,運行之。
qgis

四、QGIS在線源碼的編譯

在線的源代碼2.11版由於在修改,加入了QWT的一些東西,目前須要手工進行安裝。

抓取源碼最新版本,而後按照提示進去編譯:

git clone 
cd QGIS
mkdir build-master
cd build-master
cmake ..
make 
sudo make install

遺憾的是,會出一些錯,由於這是個開發版,出錯是正常的。

五、編譯QWT和QWTPolar

我這裏報的是QWTPolar的庫找不到,OK,開始網絡搜索。

要裝QWTPolar須要先裝QWT,這是一個QT的繪圖擴展庫,並且要6.1版本以上。可是這與原來的說明的路徑就有了不少變化。

http://sourceforge.net/projects/qwtpolar/ 去下載了qwtpolar1.1.1版本。

再下載http://sourceforge.net/projects/qwt/裏的qwt6.1.2版本。

編譯qwt:

tar -vxf qwt6.1.2.tar.bz2
cd qwt6.1.2
qmake
make
sudo make install

哈哈,還挺順利的。

只不過,安裝完後的目錄是/usr/local/qwt6.1.2,這個很重要的啊,由於qwtpolar缺省用的並非這個目錄。

如今執行下面的腳本,把新的路徑和環境變量加進去:

export PATH=/usr/local/qwt-6.1.2/include:$PATH
export QMAKEFEATURES=/usr/local/qwt-6.1.2/features

再去編譯QWTPolar這個庫:

unzip qwtpolar1.1.1.zip
cd qwt1.1.1
qmake
make
sudo make install

若是有問題,把系統重啓一下,我就是這樣搞定的。若是還不行,祝你好運啦!

六、修改QGIS的配置參數

再次進入QGIS/build-master目錄,咱們上面本身建的那個專門用於編譯的目錄。

ccmake ..

按照提示,修改裏面QWTPOLAR相關的變量:

QWTPOLAR_INCLUDE_DIR=/usr/local/qwtpolar-1.1.1/include
QWTPOLAR_LIBRARY=/usr/local/qwtpolar-1.1.1/lib/libqwtpolar.so
#以及
QWT_INCLUDE_DIR=/usr/local/qwt-6.1.2/include
QWT_LIBRARY=/usr/local/qwt-6.1.2/lib/libqwt.so

而後選擇「g」進行編譯文件Makefile的建立,而後make便可。

相關文章
相關標籤/搜索