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的安裝包先進行安裝。
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
在線的源代碼2.11版由於在修改,加入了QWT的一些東西,目前須要手工進行安裝。
抓取源碼最新版本,而後按照提示進去編譯:
git clone cd QGIS mkdir build-master cd build-master cmake .. make sudo make install
遺憾的是,會出一些錯,由於這是個開發版,出錯是正常的。
我這裏報的是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/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便可。