QGis软件 —— 5、QGis增加线,并对线进行绘制、旋转、缩放、移动等基本操作

1、新建临时图层

     工具栏找到"新建临时图层" - 选择线类型 - 确定,图层中就会产生新创建的图层(默认为编辑模式)。
在这里插入图片描述

2、绘制线

     选中图层中创建的临时图层,然后点击工具栏中"切换编辑模式" - 点击工具栏中"添加线要素",之后在地图中绘制线即可,鼠标右键为完成线绘制。

在这里插入图片描述

2、删除线

      首先调出部件操作工具集:在工具栏空白处右键找到"高级数字化工具栏"即可。

在这里插入图片描述

      如下动图:选中临时图层 - 工具栏"切换编辑模式" - 工具栏"删除部件" - 点击需删除的线 - 完成后工具栏去取消"切换编辑模式"

在这里插入图片描述

3、移动线

      如下动图:选中临时图层 - 工具栏"切换编辑模式" - 工具栏"删除部件" - 点击需删除的线 - 完成后工具栏去取消"切换编辑模式"

在这里插入图片描述

4、旋转线

      如下动图:选中临时图层 - 工具栏"切换编辑模式" - 工具栏"旋转部件" - 点击需旋转的线 - 完成后工具栏去取消"切换编辑模式"
在这里插入图片描述

5、缩放线

      如下动图:选中临时图层 - 工具栏"切换编辑模式" - 工具栏"缩放部件" - 点击需缩放的线 - 完成后工具栏去取消"切换编辑模式"
在这里插入图片描述

6、偏移曲线

      如下动图:选中临时图层 - 工具栏"切换编辑模式" - 工具栏"偏移部件" - 点击需偏移的线 - 完成后工具栏去取消"切换编辑模式"
在这里插入图片描述

7、调整线段位置

      如下动图:选中临时图层 - 工具栏"切换编辑模式" - 工具栏"顶点工具" - 点击需调整的线的点 - 完成后工具栏去取消"切换编辑模式"

在这里插入图片描述

8、分割线段

      如下动图:选中临时图层 - 工具栏"切换编辑模式" - 工具栏"分割工具" - 两点画线需分割的线 - 完成后工具栏去取消"切换编辑模式"
在这里插入图片描述

关注

笔者 - jxd

要搭建一个GIS界面,需要使用Python中的一些常用库,如PyQt5QGIS、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文件,可以进行缩放、平移等操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

信必诺

嗨,支持下哥们呗。

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

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

打赏作者

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

抵扣说明:

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

余额充值