QGIS Python开发手册-加载图层
qgis python 用法

qgis python 用法
【原创版】
目录
1.QGIS 和 Python 简介
2.QGIS 与 Python 的结合
3.QGIS Python 的用法示例
4.QGIS Python 的优势与应用场景
正文
1.QGIS 和 Python 简介
QGIS 是一款开源的地理信息系统软件,它具有强大的地理数据处理和分析功能。
Python 是一种通用的编程语言,拥有丰富的库和工具,广泛应用于数据处理、分析和可视化。
2.QGIS 与 Python 的结合
QGIS 和 Python 可以通过 Python 的 GDAL 库进行结合,实现地理信息的处理和分析。
用户可以通过 Python 编写脚本,控制 QGIS 的操作,实现更复杂的空间数据处理任务。
3.QGIS Python 的用法示例
在 QGIS 中,用户可以通过“Python 脚本”工具,编写和运行 Python 脚本。
例如,用户可以编写一个 Python 脚本,用于将一幅遥感图像进行分类,然后利用 QGIS 的矢量功能,将分类结果保存为矢量数据。
4.QGIS Python 的优势与应用场景
QGIS Python 的优势在于,它结合了 QGIS 的空间数据处理能力和Python 的数据分析能力,可以实现更复杂的空间数据处理和分析任务。
第1页共1页。
QGIS基本操作教程

QGIS基本操作教程
QGIS是一款免费的开源GIS软件,拥有丰富的功能和资源。
以下是QGIS的基本操作教程:
1. 启动QGIS
双击QGIS桌面图标启动软件。
2. 添加矢量数据
点击“添加矢量图层”按钮,选择需要添加的矢量文件,QGIS 会自动加载。
3. 添加栅格数据
点击“添加栅格图层”按钮,选择需要添加的栅格文件,QGIS 会自动加载。
4. 放大缩小地图视图
使用鼠标滚轮可以放大和缩小地图视图,也可以使用放大镜按钮进行缩放。
5. 移动地图视图
点击地图视图上方的“手型”按钮,可以拖动地图视图移动位置。
6. 地图查询
使用查询工具可以选择要素并查看它们的属性信息。
7. 选择和编辑要素
使用编辑工具可以选择和编辑要素,例如修改要素属性、移动
顶点等。
8. 添加标注
使用标注工具可以在地图上添加文字和标注。
9. 管理图层
可以通过图层管理器管理各个图层,例如更改图层显示顺序、
图层透明度等。
10. 地图导出
可将地图导出为图片或PDF格式进行保存和分享。
以上是QGIS的基本操作教程概述。
QGIS还有丰富的插件和工具,可以根据需求进行自定义和扩展。
qgis中文操作手册 (1)

QGIS中文操作手册QGIS中文操作手册(3-3)QGIS编辑矢量图层在QGIS中编辑矢量图层的过程如下:1.添加矢量图层添加矢量图层「练习.shp」,启动图层编辑。
启动后,图元上的节点呈现交叉(此交叉,之后更可以对节点进行移动、删除、增加等动作。
)2.编辑相关的功能介绍3.绘制一个新图元绘制一个新图元,按鼠标左键,点击图面,右键单击结束后,出现[输入属性值],若没有要输入属性值,可以按[确定]略过。
4.移动折点如图:5.新增折点点选节点工具,光标在图元的某一线段上,按鼠标左键连续点击两下,就可以新增转折点。
6.删除折点删除转折点光标直接在某一节点上点击一下,节点将转为蓝色,即可按下「Delete」删除转折点。
7.绘制空环形先选取图元,再按「加入环形」键,在图元的范围内,鼠标左键点击绘图,右键单击形成封闭曲线。
完成后如图,原本完整的面变成中空环形。
若无加入环形按钮,在工具栏按下右键点选进阶数字化状态呈现「X」,工具栏就会出现新增环形等功能。
图:选择工具栏使新增环形功能出现8.绘制岛先选取图元后,再按「加入部件」,在原本图元附近绘制一个新图元,点选鼠标左键两下,右键单击结束。
此两个图元虽然看起来虽然分属不同的两个图元,但却算是一个对象,共有一个属性。
图:虽两个不同图元但属于同一对象9.分割图元先选取图元后,再点击图面切割,用线段直接切割图元,点击图面切割某一图元,右键单击结束。
10.移动图元如需要移动、删除、剪下、复制、贴上功能如图,黄色图元为被选取后,移动图元。
QGIS中文操作手册(3-4)QGIS编辑图层属性QGIS编辑图层属性的方法如下:1.启动QGIS运行QGIS程序,并添加一个shp图层。
2.选择图元于地图上中选取欲编辑内容的图元,并切换至属性表中,点击欲编辑的该图元字段,输入内容。
鼠标左键按二下,即可开始编写属性。
若要重新修改或删除,同样是鼠标左键两下,即可修改。
3.修改完成见下图。
4.保存修改点击按钮,弹出确认保存对话框。
QGIS中文操作手册

QGIS中文操作手册QGIS中文操作手册 0QGIS中文操作手册(3-3)QGIS编辑矢量图层 (1)1.添加矢量图层 (1)2.编辑相关的功能介绍 (2)3.绘制一个新图元 (3)4.移动折点 (4)5.新增折点 (4)6.删除折点 (4)7.绘制空环形 (5)8.绘制岛 (7)9.分割图元 (10)10.移动图元 (11)QGIS中文操作手册(3-4)QGIS编辑图层属性 (12)QGIS中文操作手册(3-5)QGIS新建图层 (15)QGIS中文操作手册(3-6)QGIS根据导入数据建立新图层 (18)QGIS中文操作手册(4-2)加载数字高程模型数据 (22)QGIS中文操作手册(4-3)栅格数据色彩配置 (27)1.自动配置色彩 (27)2.自动彩色调配 (28)3.建立色彩影射表 (30)4.输入值 (31)5.自动彩色调配即完成。
(32)6.手工设色另外一种方法 (33)7.手动设定色彩 (34)8.修改色彩 (35)9.输入高程间距 (36)10.设定海洋颜色。
(37)QGIS中文操作手册(5-1)QGIS地图打印 (38)1.地图出版设计 (38)2.添加新地图 (39)3.添加标题 (40)4.添加图例 (41)5.添加比例尺 (42)6.添加指南针 (43)7.输出影像 (44)QGIS中文操作手册(7-1)QGIS影像数据校正 (45)QGIS中文操作手册(8-1)QGIS缓冲区分析(B UFFER) (51)QGIS中文操作手册(8-2)QGIS交集分析(I NTERSECT) (53)QGIS中文操作手册(8-3)QGIS裁剪分析(C LIP) (56)QGIS中文操作手册(3-3)QGIS编辑矢量图层在QGIS中编辑矢量图层的过程如下:1.添加矢量图层添加矢量图层「练习.shp」,启动图层编辑。
启动后,图元上的节点呈现交叉(此交叉,之后更可以对节点进行移动、删除、增加等动作。
QGIS中文操作手册范本

QGIS中文操作手册QGIS中文操作手册(3-3)QGIS编辑矢量图层 (1)1.添加矢量图层 (1)2.编辑相关的功能介绍 (2)3.绘制一个新图元 (3)4.移动折点 (4)5.新增折点 (4)6.删除折点 (4)7.绘制空环形 (5)8.绘制岛 (7)9.分割图元 (10)10.移动图元 (11)QGIS中文操作手册(3-4)QGIS编辑图层属性 (12)QGIS中文操作手册(3-5)QGIS新建图层 (14)QGIS中文操作手册(3-6)QGIS根据导入数据建立新图层 (17)QGIS中文操作手册(4-2)加载数字高程模型数据 (21)QGIS中文操作手册(4-3)栅格数据色彩配置 (26)1.自动配置色彩 (26)2.自动彩色调配 (27)3.建立色彩影射表 (29)4.输入值 (30)5.自动彩色调配即完成。
(31)6.手工设色另外一种方法 (32)7.手动设定色彩 (33)8.修改色彩 (34)9.输入高程间距 (35)10.设定海洋颜色。
(36)QGIS中文操作手册(5-1)QGIS地图打印 (37)1.地图出版设计 (37)2.添加新地图 (38)3.添加标题 (39)4.添加图例 (40)5.添加比例尺 (41)6.添加指南针 (42)7.输出影像 (43)QGIS中文操作手册(7-1)QGIS影像数据校正 (44)QGIS中文操作手册(8-1)QGIS缓冲区分析(B UFFER) (50)QGIS中文操作手册(8-2)QGIS交集分析(I NTERSECT) (52)QGIS中文操作手册(8-3)QGIS裁剪分析(C LIP) (55)QGIS中文操作手册(3-3)QGIS编辑矢量图层在QGIS中编辑矢量图层的过程如下:1.添加矢量图层添加矢量图层「练习.shp」,启动图层编辑。
启动后,图元上的节点呈现交叉(此交叉,之后更可以对节点进行移动、删除、增加等动作。
)2.编辑相关的功能介绍工具作用操作说明新增点图元按鼠标左键,点击图面,右键单击结束新增线图元按鼠标左键,点击图面,右键单击结束新增面图元按鼠标左键,点击图面,右键单击结束新增环形(Ring)先选取图元,在图元内画一个多边形,右键单击结束新增岛形(Island)先选取图元,在图元外,画一个多边形,右键单击结束分割图元(将图元一分为二)用线段直接切割图元,点击图面切割某一图元,右键单击结束移动图元光标在图元上,按鼠标左键拖拉,便可移动图元移动转折点光标在图元的转折点上,按鼠标左键拖拉,便可移动图元删除图元先选取图元,按鼠标左键删除剪下图元先选取图元,按鼠标左键剪下复制图元先选取图元,按鼠标左键复制贴上图元先选取图元,按鼠标左键贴上选取图元鼠标左键点击所要选取的图元3.绘制一个新图元绘制一个新图元,按鼠标左键,点击图面,右键单击结束后,出现[输入属性值],若没有要输入属性值,可以按[确定]略过。
QGIS中文操作手册

QGIS中文操作手册QGIS中文操作手册(3-3)QGIS编辑矢量图层在QGIS中编辑矢量图层的过程如下:1.添加矢量图层添加矢量图层「练习.shp」,启动图层编辑。
启动后,图元上的节点呈现交叉(此交叉,之后更可以对节点进行移动、删除、增加等动作。
)绘制一个新图元,按鼠标左键,点击图面,右键单击结束后,出现[输入属性值],若没有要输入属性值,可以按[确定]略过。
4.移动折点如图:5.新增折点点选节点工具,光标在图元的某一线段上,按鼠标左键连续点击两下,就可以新增转折点。
6.删除折点删除转折点光标直接在某一节点上点击一下,节点将转为蓝色,即可按下「Delete」删除转折点。
7.绘制空环形先选取图元,再按「加入环形」键,在图元的范围内,鼠标左键点击绘图,右键单击形成封闭曲线。
完成后如图,原本完整的面变成中空环形。
若无加入环形按钮,在工具栏按下右键点选进阶数字化状态呈现「X」,工具栏就会出现新增环形等功能。
图:选择工具栏使新增环形功能出现8.绘制岛先选取图元后,再按「加入部件」,在原本图元附近绘制一个新图元,点选鼠标左键两下,右键单击结束。
此两个图元虽然看起来虽然分属不同的两个图元,但却算是一个对象,共有一个属性。
图:虽两个不同图元但属于同一对象9.分割图元先选取图元后,再点击图面切割,用线段直接切割图元,点击图面切割某一图元,右键单击结束。
10.移动图元如需要移动、删除、剪下、复制、贴上功能如图,黄色图元为被选取后,移动图元。
QGIS中文操作手册(3-4)QGIS编辑图层属性QGIS编辑图层属性的方法如下:1.启动QGIS运行QGIS程序,并添加一个shp图层。
2.选择图元于地图上中选取欲编辑内容的图元,并切换至属性表中,点击欲编辑的该图元字段,输入内容。
鼠标左键按二下,即可开始编写属性。
若要重新修改或删除,同样是鼠标左键两下,即可修改。
3.修改完成见下图。
4.保存修改点击按钮,弹出确认保存对话框。
QGIS中文操作手册

QGIS中文操作手册QGIS中文操作手册(33)QGIS编辑矢量图层 (1)1、添加矢量图层 (1)2、编辑相关得功能介绍 (1)3、绘制一个新图元 (2)4、移动折点 (3)5、新增折点 (3)6、删除折点 (4)7、绘制空环形 (4)8、绘制岛 (6)9、分割图元 (8)10、移动图元 (9)QGIS中文操作手册(34)QGIS编辑图层属性 (10)QGIS中文操作手册(35)QGIS新建图层 (12)QGIS中文操作手册(36)QGIS根据导入数据建立新图层 (14)QGIS中文操作手册(42)加载数字高程模型数据 (16)QGIS中文操作手册(43)栅格数据色彩配置 (21)1、自动配置色彩 (21)2、自动彩色调配 (22)3、建立色彩影射表 (23)4、输入值 (24)5、自动彩色调配即完成。
(26)6、手工设色另外一种方法 (26)7、手动设定色彩 (27)8、修改色彩 (28)9、输入高程间距 (29)10、设定海洋颜色。
(30)QGIS中文操作手册(51)QGIS地图打印 (31)1、地图出版设计 (32)2、添加新地图 (33)3、添加标题 (33)4、添加图例 (34)5、添加比例尺 (35)6、添加指南针 (36)7、输出影像 (37)QGIS中文操作手册(71)QGIS影像数据校正 (38)QGIS中文操作手册(81)QGIS缓冲区分析(B UFFER) (43)QGIS中文操作手册(82)QGIS交集分析(I NTERSECT) (45)QGIS中文操作手册(83)QGIS裁剪分析(C LIP) (49)QGIS中文操作手册(33)QGIS编辑矢量图层在QGIS中编辑矢量图层得过程如下:1、添加矢量图层添加矢量图层「练习、shp」,启动图层编辑。
启动后,图元上得节点呈现交叉(此交叉,之后更可以对节点进行移动、删除、增加等动作。
)2、编辑相关得功能介绍工具作用操作说明新增点图元按鼠标左键,点击图面,右键单击结束3、绘制一个新图元绘制一个新图元,按鼠标左键,点击图面,右键单击结束后,出现[输入属性值],若没有要输入属性值,可以按[确定]略过。
QGIS中文操作手册

QGIS中文操作手册QGIS中文操作手册(3-3)QGIS编辑矢量图层 (1)1.添加矢量图层 (1)2.编辑相关的功能介绍 (2)3.绘制一个新图元 (3)4.移动折点 (4)5.新增折点 (4)6.删除折点 (4)7.绘制空环形 (5)8.绘制岛 (7)9.分割图元 (9)10.移动图元 (10)QGIS中文操作手册(3-4)QGIS编辑图层属性 (11)QGIS中文操作手册(3-5)QGIS新建图层 (13)QGIS中文操作手册(3-6)QGIS根据导入数据建立新图层 (16)QGIS中文操作手册(4-2)加载数字高程模型数据 (20)QGIS中文操作手册(4-3)栅格数据色彩配置 (25)1.自动配置色彩 (25)2.自动彩色调配 (26)3.建立色彩影射表 (27)4.输入值 (28)5.自动彩色调配即完成。
(29)6.手工设色另外一种方法 (30)7.手动设定色彩 (31)8.修改色彩 (32)9.输入高程间距 (33)10.设定海洋颜色。
(34)QGIS中文操作手册(5-1)QGIS地图打印 (35)1.地图出版设计 (35)2.添加新地图 (36)3.添加标题 (37)4.添加图例 (38)5.添加比例尺 (39)6.添加指南针 (40)7.输出影像 (41)QGIS中文操作手册(7-1)QGIS影像数据校正 (42)QGIS中文操作手册(8-1)QGIS缓冲区分析(B UFFER) (48)QGIS中文操作手册(8-2)QGIS交集分析(I NTERSECT) (50)QGIS中文操作手册(8-3)QGIS裁剪分析(C LIP) (53)QGIS中文操作手册(3-3)QGIS编辑矢量图层在QGIS中编辑矢量图层的过程如下:1.添加矢量图层添加矢量图层「练习.shp」,启动图层编辑。
启动后,图元上的节点呈现交叉(此交叉,之后更可以对节点进行移动、删除、增加等动作。
)2.编辑相关的功能介绍3.绘制一个新图元绘制一个新图元,按鼠标左键,点击图面,右键单击结束后,出现[输入属性值],若没有要输入属性值,可以按[确定]略过。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
QGIS Python开发手册-加载图层加载图层在QGIS中,图层主要分为矢量图层和栅格图层,另外还支持自定义图层,本文不予讨论。
矢量图层加载矢量图层,需要知道图层的数据源标识、名称和数据源类型(provider),加载代码如下:layer = QgsVectorLayer(data_source, layer_name, provider_name)ifnot layer.isValid():print"Layer failed to load!"根据数据源类型的不同,数据源标识也不同。
图层名称用于在图层列表Widget里显示。
需要注意的是在加载图层后要判断是否加载成功,可以通过layer的isValid()方法进行判断。
在QGIS中快速打开并显示图层的方式是使用QgisInterface的addVectorLayer方法,代码如下:layer = iface.addVectorLayer("/path/to/shapefile/file.shp","layer_name_you_like", "ogr")ifnot layer:print"Layer failed to load!"该方法创建一个图层,静将图层假入到地图对象中,其返回一个图层对象。
如果图层对象为None,则图层加载失败。
下面介绍加载不同数据源的图层:* OGR–数据源标识为指向文件的路径vlayer = QgsVectorLayer("/path/to/shapefile/file.shp","layer_name_you_like", "ogr")* PostGIS数据库–数据源标识是数据库连接字符串,可以通过QgsDataSourceURI类来生成,需要注意的是QGIS编译的时候选择了支持Postgres,否则不支持PostGIS。
代码如下:uri = QgsDataSourceURI()# set host name, port, database name, username and passworduri.setConnection("localhost", "5432", "dbname", "johny", "xxx")# setdatabaseschema, table name, geometry columnand optionally# subset (WHERE clause)uri.setDataSource("public", "roads", "the_geom", "cityid = 2643")vlayer = QgsVectorLayer(uri.uri(), "layer_name_you_like", "postgres")* CSV或其他平面数据文件–用分号作为分隔符,并且x字段存储x坐标,y字段存储y坐标,使用上述规则打开文件,则相关代码如下:uri = "/some/path/file.csv?delimiter=%s&xField=%s&yField=%s" % (";", "x", "y")vlayer = QgsVectorLayer(uri, "layer_name_you_like", "delimitedtext")需要注意的是,从QGIS1.7开始,该类型的数据源标识为URL,因此路径要包含file://前缀。
另外,使用该数据源还可以加载WKT格式的数据,并且允许定义参考系,相关代码如下:uri ="file:///some/path/file.csv?delimiter=%s&crs=epsg:4723&wktField=%s" % (";", "shape")* GPX–gpx数据源可以读取从gpx文件里读取tracks, routes and waypoints 。
使用gpx数据源的时候需要在路径中指定上述三种类型中的一种,代码如下:uri = "path/to/gpx/file.gpx?type=track"vlayer = QgsVectorLayer(uri, "layer_name_you_like", "gpx")* SpatiaLite数据库–从QGIS1.1开始支持,类似于PostGIS数据库uri = QgsDataSourceURI()uri.setDatabase('/home/martin/test-2.3.sqlite')schema = ''table = 'Towns'geom_column = 'Geometry'uri.setDataSource(schema, table, geom_column)display_name = 'Towns'vlayer = QgsVectorLayer(uri.uri(), display_name, 'spatialite')* MySQL,几何对象为WKB类型,通过OGR读取–数据源标识为数据库连接字符串,代码如下:uri ="MySQL:dbname,host=localhost,port=3306,user=root,password=xxx|layername=my _table"vlayer = QgsVectorLayer( uri, "my_table", "ogr" )* WFS连接–数据源标识为URI,代码如下:uri = "http://localhost:8080/geoserver/wfs?srsname=EPSG:23030&typename=union&version=1.0.0&request=GetFeature&service=WFS",vlayer = QgsVectorLayer("my_wfs_layer", "WFS")uri也可以通过urilib创建:params = {'service': 'WFS','version': '1.0.0','request': 'GetFeature','typename': 'union','srsname': "EPSG:23030"}uri = 'http://localhost:8080/geoserver/wfs?' +urllib.unquote(urllib.urlencode(params))栅格图层在QGIS中,使用GDAL来读取栅格图层,因此支持非常多种栅格格式。
如果打开某些栅格文件有问题,请检查GDAL是否支持这种格式。
加载栅格图层,只需要指定栅格文件的路径和名称即可,代码如下:fileName = "/path/to/raster/file.tif"fileInfo = QFileInfo(fileName)baseName = fileInfo.baseName()rlayer = QgsRasterLayer(fileName, baseName)ifnot rlayer.isValid():print"Layer failed to load!"和矢量图层类似,使用QgisInterface的addRasterLayer方法可以快速加载和显示栅格图层,代码如下:iface.addRasterLayer("/path/to/raster/file.tif", "layer_name_you_like")上面的代码会创建一个栅格图层,并将该图层添加到地图对象中。
栅格图层还可以从WCS服务中创建,代码如下:urlWithParams ='url=/wms.cgi&layers=global_mosaic&styles=pseudo&format=image/jpeg&crs=EPSG:4326'rlayer = QgsRasterLayer(urlWithParams, 'some layer name', 'wms')ifnot rlayer.isValid():print"Layer failed to load!"同样的,栅格图层还可以从WMS服务创建,代码如下:urlWithParams ='url=/wms.cgi&layers=global_mosaic&styles=pseudo&fo rmat=image/jpeg&crs=EPSG:4326'rlayer = QgsRasterLayer(urlWithParams, 'some layer name', 'wms')ifnot rlayer.isValid():print"Layer failed to load!"图层加入到地图中图层加载完成后,如果想进行显示,需要加载到地图中。
代码如下:QgsMapLayerRegistry.instance().addMapLayer(layer)当程序退出的时候,图层会自动析构,如果想手动删除,可以使用下面的代码:QgsMapLayerRegistry.instance().removeMapLayer(layer_id)用户可以通过图层的id来获取地图中图层,下面的方法列出地图对象中的所有图层: QgsMapLayerRegistry.instance().mapLayers()。