问题标签 [pyqgis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
522 浏览

python - 为什么我在 QGIS 上为 native:extractbyexpression 算法收到“无法加载 INPUT 的源层:无效值”?

我需要转换这个:

这是 QGIS 中使用的自定义脚本。

...到这样的事情:

我为其他算法做了这个,一切正常。但是对于这种特定情况,我收到此错误:

输入文件没问题,它正在用于其他算法。所以我想这不是文件本身的问题。

我正在使用QGIS 3.18.1-Zürich,我的想法是能够编写自己的脚本,而不是在 QGIS 界面中手动执行。

谢谢!

0 投票
0 回答
19 浏览

gis - 与使用 PyQGIS 提取的值相比,UI 中的最小最大值不同

我有单波段 DEM tiff 文件。我正在提取最小最大值。在属性中,我看到以下信息

但是,当我使用 python 控制台获取最小最大值时,使用以下命令,我得到了不同的值

我在这里

在使用“识别特征”工具的查看区域中,我还可以看到 3000 秒内的值。为什么属性中的最小值最大值不同?

0 投票
0 回答
24 浏览

jupyter - 将 jupyter notebook 用于 pyQGIS 时设置椭圆返回 False

我正在尝试使用 jupyter notebook 环境在 QGIS 中测量一条线的距离。为了获得正确的测量值,我需要设置一个椭球体

当我从独立的 python 脚本运行代码时,setEllipsoid返回 True 表示后续测量正在使用椭圆体。由于某种原因,我无法在 Jupyter 笔记本中发生这种情况。有任何想法吗?

0 投票
1 回答
130 浏览

python - 在pyqt5中使用多个窗口

我正在使用 PyQGIS 和 PyQt5 为 QGIS 构建一个插件。我想使用多个窗口。单击按钮后,应打开一个新窗口。理想情况下,它应该与窗口 1 重叠。在窗口 2 中编辑后,它应该回到窗口 1。

我之前的代码是这样的:

在此基础上,我希望插件窗口停靠在程序的右侧。我知道QDockWidget类和addDockWidget (QtCore.Qt.RightDockWidgetArea,...)是可能的。但是如何将这些类内置到我的脚本中?

0 投票
0 回答
63 浏览

arcgis - QGIS批处理面临错误?

当我单击运行以获取直方图批处理时,我在批处理中遇到错误,它给了我这个错误。我尝试通过将每个选项放在输出列中来解决它,但得到了相同的结果。背景:我有一个多边形和 5 个栅格图层,但是当我尝试将区域直方图作为批处理时,它不起作用。

在此处输入图像描述

0 投票
0 回答
24 浏览

python - 在 mdiArea 内的小部件之间创建节点连接

我正在为 Qgis 构建一个插件,我需要允许用户连接插件提供的多个工具来处理图像。这些工具算作 de mdiArea 内的单独小部件。我希望能够通过单击启动该过程的按钮来创建连接,然后必须单击其中的 2 个小部件才能连接它们。我一直在阅读有关 mouseMoveEvents 和 mousePressEvents 的信息,但我似乎无法找到解决问题的合适方法。理想情况下,当您第一次单击时,它应该检查是否单击 mdiArea 内的小部件,然后显示一个箭头状图像,该图像随着用户鼠标扩展,然后当您单击下一个小部件时,将创建连接并显示箭头。

我真的不能提供代码片段,因为我真的不知道如何解决这个问题,但这是我正在尝试做的事情的图像。

在此处输入图像描述

0 投票
0 回答
63 浏览

python - 在 qt 对话框的不同选项卡中循环 lineEdits

我正在编写一个 QGIS 插件来根据类别修改 shapefile 特征的属性(每个特征的类别保存在其中一个属性中)。我的 Qt 对话框的相关部分被分组到选项卡中,其中每个选项卡包括要用于指定类别的计算的因素(例如,使用选项卡 IV 中的信息修改类别 IV 的所有特征)。QtDesigner 中的示例: 从 QtDesigner 捕捉

由于类别的数量相当多,我想自动化相应的脚本,也就是说,我想遍历选项卡并自动执行相同的操作(例如计算和显示“totale”字段中的行和)。我认为应该有一种方法可以使用字典来做到这一点,但我遇到了麻烦。

要访问字段的值(在选项卡/类别 IV 中),我使用如下命令:

self.dlg.lineEdit_carPeakHour_IV.text()

据我了解,要迭代访问所有 lineEdit_carPeakHour_i (我是类别/选项卡上的迭代器),我需要设法将迭代器包含到变量名本身中。我的目标是有一个字典,其中类别作为键('I',II','III','IV',...)和表达式(lineEdit_carPeakHour_I,lineEdit_carPeakHour_II,lineEdit_carPeakHour_III,lineEdit_carPeakHour_IV,...)作为值. 这是可能的还是我走错了路?

0 投票
0 回答
28 浏览

qgis - 如何在qgis上查看地图数据

使用 qgis 桌面打开此类地图数据需要帮助:

数据文件

数据文件 (2)

0 投票
0 回答
23 浏览

python - 添加 Z(通过 gcps 使用 gdal_translate 和 gdalwarp 进行地理配准时图像的高程)

我一直在尝试使用给定的 gcps(XY 坐标和 Z(高程)坐标)对图像进行地理配准。但是,当我通过 gdal_translate 添加 gcps 时,它会添加高程 Z,但是一旦我使用 gdalwarp,高程就会消失,我只会得到一个 XY 参考图像。但我也需要图像中的高度。这是我的代码:

0 投票
1 回答
96 浏览

python - 最短路径的Python QGIS处理

我想使用 python 并使用 QGIS 执行最短路径处理。但我想问一下如何在 END_POINT (params) 中加载矢量图层 (endPointLayer)?

下面是我的python代码

我的错误信息如下