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简介与源代码编译相关推荐

  1. Android 系统编译环境设置及源代码编译

    一. 摘要    虽然已经在Android系统工作了一段时间, 但是每次需要重新setup环境的时候,都需要花一点时间, 所以就想借着这次在ubuntu 12.04 64bits系统上重新安装的机会, ...

  2. QGIS简介与源代码编译

    2019独角兽企业重金招聘Python工程师标准>>> QGIS(http://qgis.org)是一个集成了很多个开源的空间数据处理库的桌面GIS软件,支持Python脚本.QGI ...

  3. Nginx+Php-fpm+MySQL+Redis源代码编译安装指南

    说明:本教程主要包括以下三个部分: 1. 源代码编译安装Nginx 2. 源代码编译安装php以及mysql.redis扩展模块 3. 配置虚拟主机 文中所涉及安装包程序均提供下载链接,欢迎使用 运行 ...

  4. 【转】Android 4.3源码的下载和编译环境的安装及编译

    原文网址:http://jingyan.baidu.com/article/c85b7a641200e0003bac95a3.html  告诉windows用户一个不好的消息,windows环境下没法 ...

  5. 自己动手编译QGIS 3.18源代码,含出错大全和解决办法

    从2月19日开始打包,到2月23日,QGIS 3.18的安装包经过漫长的4天才完成打包,在这等待的4天里,大家有没有像我一样萌生出自己动手编译源代码的想法呢?今天想分享的是QGIS3.18源代码编译的 ...

  6. linux ubuntu pkg-config工具的使用(源代码编译库接口查询工具)

    后更... 文章目录 1. pkg-config介绍 2. pkg-config的使用 1. pkg-config介绍 pkg-config是一个在源代码编译时查询已安装的库的使用接口的计算机工具软件 ...

  7. 中标麒麟编译qgis源码+PyQt环境

    中标麒麟编译qgis源码 根据公司工作安排需要在中标麒麟下编译qgis3.4.7,把编译的过程随手记录一下. QGIS项目主页:http://www.qgis.org/en/site/ QGIS源码下 ...

  8. 从零开始编译自己的Linux发行版 LFS简介

    LFS 的全称是 Linux From Scratch,就像它的名字一样,这个发行版是一个教我们如何从零开始打造自己的 Linux 发行版的指南,同时还有姊妹发行版 BLFS,全称是 Beyond L ...

  9. Linux源代码编译安装详解

    使用源代码编译安装软件有以下优点,获取软件的最新版及时修复bug,软件功能可按需选择或定制,有更多软件可供选择,源码包适用于各种平台. 工具/原料 一台装有Linux操作系统的电脑 接入互联网络并能正 ...

最新文章

  1. 用mpvue实现的微信小程序版cnode社区
  2. 使用 .NET WinForm 开发所见即所得的 IDE 开发环境,实现不写代码直接生成应用程序...
  3. Android—简单路由框架实践
  4. 亚马逊要做一款会说话的智能眼镜,但看起来没那么性感
  5. html垂直线6,HTML的垂直线
  6. BZOJ-2768: [JLOI2010]冠军调查(超级裸的最小割)
  7. ubuntu下mingw32交叉编译环境搭建
  8. MATLAB的cat函数
  9. ffmpeg 快速截图m3u8图片
  10. GMT5SAR--由*.grd文件生成*.ps
  11. Ruby-学习之路1.1
  12. ICPC训练联盟2021寒假冬令营(5)(部分题解):
  13. error: src refspec dev does not match any.
  14. android 反编译.9报错,反编译AndroidManifest.xml文件失败
  15. lucas定理、拓展lucas定理学习小结
  16. 河北金融计算机网络基础在线6.1.3,2016秋大学计算机基础(河北金融学院)
  17. Python 必备面试基础知识-3
  18. 这可能是全网最详细的Android车载OS资料整理
  19. 华为linux可以装win7吗,华为电脑如何重装Windows7系统?
  20. 为织梦文章管理系统首页添加栏目间广告

热门文章

  1. 录制短视频的录制按钮边框计时效果
  2. 微服务系列(五):事件驱动的数据管理
  3. RecycleView的notifyItemRemoved使用注意
  4. android采用MVP完整漫画APP、钉钉地图效果、功能完善的音乐播放器、仿QQ动态登录效果、触手app主页等源码...
  5. timesten 修改最大连接数
  6. 混合托管:第三代云计算
  7. 中国大陆光伏中上游触底反弹 台湾省亦酝酿涨势
  8. IO流(文件的读写)---本文的正确性有待您验证。
  9. struts配置文件没有标签提示
  10. SSAS使用时间智能解决本年累计、同比、环比【转载】