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便可。

相关文章
相关标签/搜索