QGIS004:【03矢量分析工具箱】-按类别统计、计算线总长、计算点在多边形中的数量、字段基本

摘要:QGIS矢量创建工具箱包括按类别统计、计算线总长、计算点在多边形中的数量、字段基本统计等选项,本文介绍各选项的基本操作。

实验数据:

链接:https://pan.baidu.com/s/154lRtNyRPxI73cTJGYjjAg?pwd=2f2j 
提取码:2f2j 


一、按类别统计工具(Statistics by Categories)

1.工具功能

根据指定字段对要素进行分类,并统计每个类别中要素的数量、总面积、总长度等属性。

2.操作步骤

①选择要进行统计的矢量图层和统计字段。

②设置输出表格的名称和路径。

③选择要统计的属性,如数量、总面积、总长度等。

④执行统计操作。

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要搭建一个GIS界面,需要使用Python的一些常用库,如PyQt5、QGIS、GDAL、shapely等。以下是一个简单的示例代码,可以加载shp文件并在地图显示,同时还有绘制线、面的工具按钮。 ```python import sys import os from qgis.core import * from qgis.gui import * from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class MapViewer(QWidget): def __init__(self): super().__init__() self.setWindowTitle('GIS Viewer') self.setGeometry(100, 100, 800, 600) # 初始化QGIS应用程序 QgsApplication.setPrefixPath('/usr', True) self.qgs = QgsApplication([], False) self.qgs.initQgis() # 创建地图Canvas self.canvas = QgsMapCanvas() self.canvas.setCanvasColor(Qt.white) self.canvas.enableAntiAliasing(True) self.canvas.useImageToRender(False) # 添加图层 self.shplayer = QgsVectorLayer('path/to/shapefile', 'Layer Name', 'ogr') QgsProject.instance().addMapLayer(self.shplayer) # 设置地图范围 self.canvas.setExtent(self.shplayer.extent()) self.canvas.setLayers([self.shplayer]) self.canvas.zoomToFullExtent() # 创建地图工具栏 self.toolPan = QgsMapToolPan(self.canvas) self.toolZoomIn = QgsMapToolZoom(self.canvas, False) self.toolZoomOut = QgsMapToolZoom(self.canvas, True) self.toolPoint = QgsMapToolEmitPoint(self.canvas) self.toolLine = QgsMapToolEmitPoint(self.canvas) self.toolPolygon = QgsMapToolEmitPoint(self.canvas) self.toolLine.setAction(self.toolLine.ActionDrawLine) self.toolPolygon.setAction(self.toolPolygon.ActionDrawPolygon) # 创建工具栏 self.toolbar = QToolBar(self) self.toolbar.addAction(QIcon('path/to/pan.png'), 'Pan', self.toolPan.activate) self.toolbar.addAction(QIcon('path/to/zoom-in.png'), 'Zoom In', self.toolZoomIn.activate) self.toolbar.addAction(QIcon('path/to/zoom-out.png'), 'Zoom Out', self.toolZoomOut.activate) self.toolbar.addAction(QIcon('path/to/point.png'), 'Point', self.toolPoint.activate) self.toolbar.addAction(QIcon('path/to/line.png'), 'Line', self.toolLine.activate) self.toolbar.addAction(QIcon('path/to/polygon.png'), 'Polygon', self.toolPolygon.activate) # 创建布局 layout = QVBoxLayout() layout.addWidget(self.toolbar) layout.addWidget(self.canvas) self.setLayout(layout) def closeEvent(self, event): self.qgs.exitQgis() if __name__ == '__main__': app = QApplication(sys.argv) viewer = MapViewer() viewer.show() sys.exit(app.exec_()) ``` 在代码,首先初始化了QGIS应用程序,然后创建了一个QgsMapCanvas对象,用于显示地图。接着通过QgsVectorLayer加载了一个shapefile文件,并添加到了工程。设置了地图范围,并将图层添加到了canvas。 接下来创建了一些地图工具,包括平移、缩放、绘制、绘制线、绘制面等工具,并将它们添加到了工具。 最后创建了一个垂直布局,并将工具栏和canvas添加到了其,最终将布局设置为窗口的主布局。 运行代码后,将会显示一个包含工具栏和地图的窗口,通过工具栏上的按钮可以使用对应的地图工具。同时在地图加载了一个shapefile文件,可以进行缩放、平移等操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_31762031

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值