QGIS相关介绍⼀、软件简介
QGIS是⼀个⽤户界⾯友好的桌⾯地理信息系统,可运⾏在Linux、Unix、Mac OSX和Windows等平台之上。QGIS是基于Qt,使⽤C++开发的⼀个⽤户界⾯友好、跨平台的开源版桌⾯地理信息系统。⼆、功能介绍
QGIS软件的主要特点有:
(1)⽀持多种GIS数据⽂件格式。通过GDAL/OGR扩展可以⽀持多达⼏⼗种数据格式. (2)⽀持PostGIS数据库。(3)⽀持从WMS,WFS服务器中获取数据(4)集成了Grass的部分功能。
(5)⽀持对GIS数据的基本操作,如属性的编辑修改等。(6)⽀持创建地图。
(7)通过插件的形式⽀持功能的扩展。三、QGIS的使⽤1.QGIS对⽂件的读取
图层是QGIS的⼀个基本概念,是指在同类型的地理对象集合,是QGIS软件对GIS数据局进⾏操作的基本单位。图层数据来源⼴泛,既可以是GIS⽮量数据⽂件,也可以是CAD 图层,甚⾄影像数据图层。QGIS软件⽀持四种类型的GIS图层,分别是⽮量数据图层、栅格数据图层、PostGIS数据图层和WMS数据图层。2.图层⽂件的属性
在QGIS中打开⼀个图层之后,我们对QGIS的缺省绘制的地图可能有不满意的地⽅,如地图的图例符号的样式、颜⾊不满意,或者需要显⽰⼀些⽂字注记——这⾥叫做标签的,等等,这就需要改变图层的属性了。要改变图层的属性只需要在QGIS的左边的图层管理⾯版⾥⾯找到你想修改的图层,然后⽤⿏标右键单击该图层,再选择“属性”就可以了。3.图层⽂件的基本操作
缩放地图作为地图的基本操作,也是⼏乎每个GIS 软件必备的操作,QGIS的⼯具栏提供了如下的功能:移动地图、放⼤地图、缩⼩地图、将地图尽量放⼤到当前窗⼝、显⽰当前的图层、回到上次的视图、刷新地图。4.地图的编辑
QGIS的地图编辑能⼒⽬前已经⽐较完善,常⽤的编辑功能都已具有,撤销和回退也很灵活。QGIS的地图编辑功能包括两⽅⾯的编辑,⼀是编辑已经有的图层;⼀是创建新的图层。5.图形与属性的关联查询
如果打开的是⽮量图层的话,就可以进⾏空间查询与分析操作了。空间查询(spatial query)是GIS最基本的功能之⼀,主要有两种:⼀是图形与属性的关联查询,在地图窗⼝中,选择任意⼀个区域或地物,都可以在属性列表窗⼝中显⽰该区域或地物相应的属性信息,同样,在属性列表窗⼝中选择任意⼀⾏属性数据,在地图窗⼝中就会突出显⽰对应的区域或地物图形;⼆是SQL查询,是GIS利⽤属性信息查询满⾜多个特定条件的空间⽬标的查询⽅法。四、QGIS编译需要注意的问题
QGIS是⼀个开源的GIS,虽然官⽅⽹站上提供了⼆进制包下载,但为了⽤其提供的SDK ⼆次开发,必须对其进⾏编译,⽣成适合⾃⼰使⽤的SDK库,使⽤vc8对其进⾏编译,需要注意的⼀点是:使⽤bison.exe⽣成qgssearchstringparser.cpp⽂件时会出错误,错误信息如下:
C:\\GnuWin32\\bin\\bison.exe-oC:/bin16/src/core/qgssearchstringparser.cpp-d-v -t C:/qgis-1.6.0/qgis-1.6.0/src/core/qgssearchstringparser.yyif errorlevel 1 goto VCReportError
goto VCEnd:VCReportError
echo Project : error PRJ0019: A tool returned an error code from \"Generating qgssearchstringparser.cpp\"exit 1
因此,必须⼿⼯⽣成该⽂件,在dos环境下,进⼊bison.exe⽂件所在的⽬录,执⾏下述命令:c:\\>cd GnuWin32c:\\gnuwin32>cd bin
c:\\gnuwin32\\bin>bison.exe -o C:/bin16/src/core/qgssearchstringparser.cpp -d -v -t C:/qgis-1.6.0/qgis-1.6.0/src/core/qgssearchstringparser.yy
这⾥C:/qgis-1.6.0/qgis-1.6.0指的是ggis源码所在的⽬录,C:/bin16指的是cmake⽣成的vc⼯程⽂件所在的⽬录,上述命令表⽰⽤qgssearchstringparser.yy在vc⼯程⽂件所在的⽬录下⽣成qgssearchstringparser.cpp ⽂件。另外⼀个需要注意的问题是,指定postgresql库⽂件时,需要指定libpq.lib⽂件。五、编译QGIS并进⾏⼆次开发
所需软件及代码:VS2008 SP1,CMake,bison,flex,osgeo4w,QGIS源代码,详细步骤如下:(1)安装所需软件
(a)bison和flex直接安装在C盘根⽬录下,安装路径不能有空格
(b)osgeo4w包含了QGIS所需要的第三⽅库的include、lib、bin,可以选择安装,也可只下载这些⽂件。(2)使⽤CMake⽣成QGIS的VS⼯程
(a)在CMake中设置相应⽂件的路径,注意_LIB表⽰的是具体的库,_LIB_DIR才表⽰是库所在的路径。
(b)基本需要的⽂件都可以在上述安装⽂件中找到,SetUpApi.lib在C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A\\Lib⽬录中
(c)可以根据实际情况勾选相应选项(3)编译QGIS
(a)由于osgeo4w中的库都是release版本(额,也有可能不是这个原因)在编译debug 的时候,需要忽略特定导⼊库msvcrt.lib,要不debug版本不能运⾏,报R6034错误。Release 版本不需要设置该项,可以直接运⾏成功。
(b)直接打开⽣成的解决⽅案⽂件编译会出错,这时候需要⼿动⽣成两个⽂件。⼀是对于qgis_core⼯程,需要⼿动⽣成qgssearchstringparser.cpp,⽅法如下C:/GnuWin32/bin/bison.exe-o QGIS主⽬录/Build/src/core/qgssearchstringparser.cpp -d-v -t QGIS主⽬录/src/core/qgssearchstringparser.yy;⼆是对于qgis_analysis⼯程,需要⼿动⽣成qgsrastercalcparser.cpp,⽅法如下C:/GnuWin32/bin/bison.exe -p raster -o QGIS主⽬录/Build/src/analysis/qgsrastercalcparser.cpp -d -v -t QGIS 主⽬录/src/analysis/raster/qgsrastercalcparser.yy
(c)如还遇到找不到头⽂件或者lib⽂件的错误,可以在VS⼯程中进⾏设置(4)基于QGIS的开发
(a)接⼝库:qgis_core、qgis_gui、qgis_analysis(b)插件库,可以根据⾃⼰的需要进⾏加载
(c)debug与release版本下分别使⽤对应版本的QGIS库。在debug版本下使⽤release 版本的qgis库,在newQgsMapCanvas时会⾃动退出。注意,qgis debug版本编译时要注意上述注意事项,要不运⾏会报R6034错误。(5)编译注意事项:
(a)⽬录设置 /root/apps设置的是⽣成⽂件的安装⽬录,在ccmake菜单中配置;(b)源⽂件拷贝在/root/dev/cpp/Quantum-GIS ⽬录中,
(c)在Quantum-GIS⽬录下设置build-master⽬录,在此⽬录中运⾏CCMAKE ..
(d)CCMAKE ⽣成后运⾏make 及make install,此时⽣成的安装⽂件都会安装在/root/apps⽬录下。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务