问题标签 [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.
plugins - 使用插件创建的功能未正确保存 - QGIS
我正在编写一个插件,它将不同的多边形添加到图层中。Shapefile 的路径在 lineEditV 中定义,然后添加到项目中。新创建的多边形的坐标与在 comboBoxVestas 中选择的图层的坐标相关。一切运行良好,但是当我关闭项目并随后重新打开它时,所有功能和属性都被删除,它仍然只是一个“空”的 Shapefile。我在使用 PyQGIS 编程方面没有太多经验,并且已经尝试了很多来找出问题,但一切都失败了。那么,有谁知道我做错了什么?
csv - 在 PyQGIS QGIS 3.10 中从 CSV 加载点图层
我正在尝试使用从 CSV 加载到点层的脚本。我使用的代码是:
uri = "file:///some_path/PyQGIS/Some.csv?delimiter={}&xField={}&yField={}".format(os.getcwd(), ";", "X", "Y")
vlayer = QgsVectorLayer(uri, "Name", "delimitedtext")
QgsProject.instance().addMapLayer(vlayer)
.csv 文件的结构如下: SomeValue ----- X ----- Y
因此,坐标根据 Amersfoort (EPSG:4289) 放置,例如:X = 213404,Y = 500846。尝试手动加载时,一切正常。但是在脚本中,它似乎不起作用。澄清一下:使用的分隔符是 ;
提前致谢。
python - PyQGIS:从新图层中删除过滤器
我目前正在编写一些代码,它从另一层的选定特征创建一个新层。
这似乎可行,但是这些点未显示在新图层中,并且当我检查属性表时,它说所有元素都已过滤。为什么?以及如何移除过滤器?
python - pyqgis - 编辑属性表;记录 NULL 而不是 "0.0"
我正在写一个函数在属性表中注册值进行记录:
如果 self.relative Closeness [i] 有一个值!= 0,值将正确记录,但如果值为== 0,则在属性表中值将记录为“NULL”值。谁能帮我理解问题出在哪里? 具有空值而不是零值的属性表示例
python - 在已存在的目录名称后添加数字
对于我的 QGIS 插件,我想编写一个 python 脚本,如果该目录已经存在,则在目录名称后添加一个序列号,与 Windows 在多次下载同一个文件时的方式相同。但我不知道如何实现这一点。
例如:
如果该目录'C:/Dossier'
已经存在,则新目录将是'C:/Dossier(1)'
等等。
先感谢您。
numpy - pyqgis:从列表中创建多层(自动)
我有以下列表(从 numpy 列表转换为 QgsPoint),并希望为该列表中的每个单独数组创建层。有解决办法吗?
我将 numpy 数组转换为 QgsPoint:
因此我得到:
并且想为 my_list[0], my_list[1] ... my_list[i] 中的每个数组获取层不幸的是,以下方法不起作用,因为它是一个列表:
有什么解决办法吗?