Questions tagged «qgis-plugins»

为QGIS软件包添加功能的软件插件

1
离线时如何安装QGIS插件?
由于我工作场所的各种IT策略,QGIS安装在未连接到Internet的计算机上。我希望在此系统上安装几个QGIS插件。 我已经从http://pyqgis.org/repo/contributed下载了所需的插件。如何在QGIS中安装它们?

4
开发依赖于外部Python库的插件
我正在开发一个Python插件,目标是将称为“海拔”的PyPI Python库的功能集成到QGIS中。 有没有一种独立于操作系统的方式来安装外部Python库并使它们可用于Python插件? 我已经知道用于安装外部Python依赖项的不同系统特定过程,我想做的就是在不同环境中分布我的插件而不会让人发疯。 我已经知道的 搜索网络和其他类似问题,似乎没有独立于操作系统的解决方案。 Windows用户 Python打包并分发在QGIS软件包中,因此,要安装外部Python库,您必须先经过OSGeo4W Shell,然后从那里使用pip。 相关链接: QGIS独立版和Python模块 将Python setuptools安装到OSGeo4W Python中 如何在Windows上为QGIS安装第三方python库? OS X用户 在这种情况下,QGIS使用内置的Python,它预先包装在OS X内,位于: /usr/bin/python 这里的问题是,默认安装的pip有一些限制,并且需要太多特权。 一种快速的解决方法是使用自制软件安装Python,以便您的pip可以在用户可修改的Python框架上运行。在这里查看此方法的详细信息。 通过pip安装所有Python库之后,只需要将其目录添加到PATH变量中。 OS X用户的另一种方法 在插件Python代码内部,您可以使用系统提供的pip来安装所需的软件包。然后,您可以使刚刚安装的软件包可访问,并将其添加到路径中。 import sys import pip pip.main(['install','--target=/Devel/test', 'elevation']) sys.path.append("/Devel/test") 自制但可行的解决方案(在Linux和OS X上均经过测试) 我决定采用替代方法,因为它允许将库的更新和维护与插件分开。每次新用户安装插件时,pip都会直接下载并安装最新版本的海拔库。 self.plugin_dir = os.path.dirname(__file__) self.elevation_dir = os.path.join(self.plugin_dir, 'elevation') # Checking the presence of elevation library …

1
QGIS 3插件文件夹位置
我正在搜索QGIS 3 Plugin文件夹的默认位置 我在这里检查但找不到: C:\ Program Files \ QGIS 3.0 \ apps \ qgis \ python \ plugins C:\ Users \ Abhijit.qgis2(无法找到.qgis3,应该在其中吗?)

3
QGIS插件开发入门?
我希望为QGIS开发一个简单的插件,该插件将打开一些数据并执行一些特定的处理。 我尝试在QGIS Wiki上搜索,但仅找到以下链接: http://www.qgis.org/wiki/Writing_C++_Plugins 这似乎已经过时了。2006年也有一些博客文章。 我也看到了一些有关Python插件的信息,但是我不确定是否需要使用C ++插件或Python插件。 在哪里可以找到可以帮助我入门的文档或教程?

1
在没有附加矢量层的情况下在QGIS中显示单波段栅格层的数量?
我想知道QGIS中是否存在带有标签选项的栅格符号化程序,该栅格符号化程序将像元值呈现为单波段栅格图层(标量字段)的标签。 QGIS中的标准栅格符号器对话框没有标签选项。因此,我使用两个数据源,即栅格(geotiff)和栅格的xyz-vector重生化来绘制地图。为了与GDAL单元寻址兼容,我使用 gdal_translate hires.tif hires-point.xyz -of xyz 并将所有矢量符号和标记功能应用于xyz对象。 对于大标量字段,此解决方法非常慢并且不方便。至少我希望以此外观构建用于调试目的的映射。 是否有用于QGIS的插件,可以在没有矢量手工艺品的情况下绘制如上所示的栅格像元? 我使用Debian Jessie Linux,QGIS Pisa 2.10和gdal 2.0.1 例如,我尝试调查GDAL栅格窗口操作的结果(评论@Paulo)。

1
在Python中访问QGIS插件?
有没有办法在Python中访问QGIS插件? 我想编写一个脚本来进行一些地理处理,我想使用fTools中的剪辑,正点和凸包工具以及Road graph插件。后者可能是另一种蠕虫病毒,因为它是C ++而不是Python插件。

1
如何判断哪些QGIS插件加载缓慢?
我们办公室中有新的QGIS用户,但QGIS的启动时间使他们立即感到沮丧-它挂在初始屏幕上的“还原已加载的插件”消息上。 有没有办法判断哪些插件需要花费很长时间加载并导致QGIS加载缓慢?有时可能需要1分钟左右! 到目前为止,唯一的解决方案是禁用默认安装随附的几乎所有插件,并根据需要将它们逐个还原-但是到目前为止,我们还没有弄清楚哪个默认插件会导致加载时间缓慢。

6
如何从代理后面访问QGIS插件存储库?
我一直在尝试通过使用此论坛和其他人来帮助自己QGIS。我的大多数问题都可以通过下载第三方存储库中可用的插件来回答,但是由于某些原因,我无法与这些插件建立连接。任何人都知道为什么会这样吗?

3
以编程方式检查PyQGIS中的鼠标单击?
我想知道如何在QGIS中检查鼠标单击。我正在尝试编写python插件,并希望提供类似于QGIS中已经存在的“选择单个功能”工具的功能。 我检查了QGIS api文档并发现 QgsMapCanvas::CanvasProperties::mouseButtonDown 这听起来很有希望。我有一个QgsMapCanvas对象,但看不到如何访问mouseButtonDown属性。 我对QGIS API完全陌生。

3
QGIS或GRASS中的视觉影响评估
是否可以使用QGIS或GRASS进行视觉影响区评估?例如,在考虑高度的情况下,在30公里以内1.8m的高度处,可以看到100m高的结构(也许还有建筑物和林区)?我是GIS的新手,但是必须很快学习工作。任何帮助将非常感激。


1
仅使用本地插件存储库设置QGIS
有没有最佳实践,如何在没有官方存储库的情况下而是仅在本地存储库的情况下设置QGIS? 其背后的想法是建立一个稳定的环境,本地GIS管理员在将插件添加到本地存储库之前会对其进行检查。 我们的插件存在一些问题,这些问题使我们的QGIS安装不稳定(例如https://github.com/vinayan/RectOvalDigitPlugin/issues/6)。由于软件的可靠性对我们的同事而言比在800个插件之间自由选择更为重要,因此我们希望预先选择可用于他们的插件。 最终,不得不设置QGIS安装程序的人可能无法阻止用户安装一些不需要的/不稳定的插件,因为plugin-directory和QGIS2.ini必须可由用户编写,但我们仍然希望使我们的QGIS工作环境更加稳定。 我的想法是: 删除本地存储库并使“添加”按钮不可见? 通过代理阻止官方存储库? 将白名单用于允许的插件,并使用QGIS-program文件夹中安装的插件将白名单与已安装的插件进行对照? 其他人在业务IT基础架构中的QGIS设置方面是否有经验?

4
为QGIS插件编写自动化测试?
我正在寻找有关为用Python编写的QGIS插件编写自动测试的建议。 过去,我使用PyUnit(unittest模块)编写了针对Python脚本的测试,但从未针对具有GUI的应用程序进行过测试。我已经找到了一个页面,描述了如何使用PyQt4.QTest对Qt小部件进行单元测试(http://www.voom.net/pyqt-qtest-example),但是我正在努力查看如何使用它带有设计为从QGIS内部运行的小部件。 PyQGIS文档中关于“测试”的部分明显不存在。 到目前为止,我有: 将实际的数据处理保存在隔离的模块或功能中,并为这些模块或功能编写单元测试; 使用QTest对UI进行基本测试; 当从QGIS内部使用插件时,请祈祷一切融合在一起。 有没有更好的办法?

2
为电信塔创建部门?
我从事移动网络行业,承担了为QGIS创建插件的任务,该插件c++/python执行以下操作: 步骤1:根据每个塔的纬度/经度创建与每个移动塔相对应的点(本部分已经完成) 步骤2:进一步:扇区化:这些塔中的每一个都将具有面向不同方位角的天线。所以我需要为每个天线方向创建一个符号(最终看起来像是花朵中的花瓣或向内的三角形) 步骤3:当我单击任何扇区时,应以某种方式突出显示面向该扇区的所有附近扇区(以便我可以找到邻居) 我必须从一个大的excel文件开始,该文件包含扇区名称,纬度,经度,天线方向等。 有人有意见吗?

1
在PyQGIS中按名称获取图层?
我有一个插件,可以找到城市列表的缓冲区,并提供距离。州和城市名称取自属性表,并进行相应过滤。我想要的是,我的插件应标识画布中该图层的层名称或顺序,而不管画布中是否存在其他图层,并从该图层访问相应的属性。 我也很好奇,尽管存在其他一些层,但是在代码中指向特定的层名称是否会导致迭代错误? 以下是我的代码,请告诉我应该在哪里进行更改,这将是什么更改? if dist and centerCity: #QMessageBox.information(self.dlg, "info", "both True") st = '"name" = \'' + centerCity + '\'' exp = QgsExpression(st) else: QMessageBox.warning(self.dlg, "Enter the distance","Enter the distance and try again.") return #terminate the function layer = self.iface.activeLayer() it = layer.getFeatures(QgsFeatureRequest(exp)) feature = it.next() mbuf = feature.geometry().buffer(dist, 2) …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.