Linux qgis 编译,QGIS简介与源代码编译
QGIS(http://qgis.org)是一個集成了很多個開源的空間數據處理庫的桌面GIS軟件,支持Python腳本。QGIS基于QT和SIP進行開發,支持Windows\Linux\MacOS等操作系統,可以訪問MySQL/PostGRE等數據庫的空間數據,可以連接到OpenstreetMap拉取數據做本地分析和制圖。
跟專業的GIS平臺如SuperMap(http://www.supermap.com.cn)、ArcGIS等相比,QGIS雖然功能算不上強悍,好多模塊還有Bug,但處理一些小數據、畫幾個簡單的地圖倒也是綽綽有余,而且是免費和開源的,作為學習是一個非常不錯的起點(那些商業軟件可不會給你看源代碼,而且死貴死貴的....,不過,要做項目和應用系統,還是推薦用SuperMap了,可以支持服務器、桌面、移動端、Web的全面開發,還有完善的培訓和技術支持,而QGIS只是一個小型的桌面工具)。
目前版本的QGIS(2.10.0)是基于QT4.8.6和Python2.7.9的,都是上一代的最終穩定版本,可以保證環境的穩定,但確實有點老了。要知道QT都5.5了,Python都3.4了。不過,目前官方的Team就是這樣搞的,要是自己去升級的話,估計要長好多包啊,因為很多庫都是沒有最新版本的。
使用上就不多說了,既然是學習,自己編譯和看源代碼那時必須的。
1、編譯環境
先說一下基礎環境,我用的VirtualBox5.0+UbuntuKylin15.04虛擬機。因為QGIS用的軟件庫有點老,別隨便裝軟件(否則弄個新的庫可能不兼容),最好是搞個全新的虛擬機進行安裝。
也可以到這里去:https://github.com/qgis/QGIS 使用git clone抓下來目前開發的代碼,目前是2.11開發版。不過,我抓的這個版本編譯沒有通過,2.10的倒是很順利。
我用的UbuntuKylin 15.04是Vivid版本,執行下面的操作進行安裝。
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
2、編譯源碼
然后,執行下面的過程進行下載、解包、編譯:
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,正常的話應該已經可以使用了。
3、安裝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
4、QGIS在線源碼的編譯
在線的源代碼2.11版因為在修改,加入了QWT的一些東西,目前需要手工進行安裝。
抓取源碼最新版本,然后按照提示進去編譯:
git?clone
cd?QGIS
mkdir?build-master
cd?build-master
cmake?..
make
sudo?make?install
遺憾的是,會出一些錯,因為這是個開發版,出錯是正常的。
5、編譯QWT和QWTPolar
我這里報的是QWTPolar的庫找不到,OK,開始網絡搜索。
要裝QWTPolar需要先裝QWT,這是一個QT的繪圖擴展庫,而且要6.1版本以上。但是這與原來的說明的路徑就有了很多變化。
編譯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
如果有問題,把系統重啟一下,我就是這樣搞定的。如果還不行,祝你好運啦!
6、修改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即可。
總結
以上是生活随笔為你收集整理的Linux qgis 编译,QGIS简介与源代码编译的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux内核功能有,好消息!LINUX
- 下一篇: linux6直连存储挂载磁盘,CentO