尝试使用“差异”工具时出现“未定义'QgsWKBTypes'”错误


9

我试图分离两个重叠的矢量层,并找出QGIS 2.18中的区别。我试图找到带点的图层以及缓冲区的差异。他们两个都给出以下错误:

global name 'QgsWKBTypes' is not defined See log for more details

我已经在网上搜索了此内容,但似乎找不到解决方案。


1
要查看日志,请转到“处理>历史记录...”,这可以更好地解释日志: docs.qgis.org/2.2/en/docs/training_manual/processing/log.html。猜测看起来像是带有变量“ WgsWKBTypes”的python问题。我建议用日志中的任何内容更新您的问题。
Knightshound

Answers:


12

此问题已在源代码中解决,请参见报告的问题

您主要有3个解决方案:

中期解决方案

根据路线图,QGIS 2.18.1将于2016年11月25日发布,您将使用该版本获得修复。只需等待22天,好吗?

这是free software,因此您可以立即获得修复!

短期解决方案

  1. 安装每晚版本。在此处检查哪些软件包可用于您的操作系统。

  2. 自己编辑文件。

    如果您使用的是GNU / Linux,请转到/usr/share/qgis/python/plugins/processing/algs/qgis/Difference.py(在Windows上为C:\Program Files\QGIS 2.18\apps\qgis\python\plugins\processing\algs\qgis\Difference.py),并确保第32行如下所示

    from qgis.core import QGis, QgsFeatureRequest, QgsFeature, QgsGeometry, QgsWKBTypes 
    

    如果您不想编辑文件,则可以替换它,从此处下载固定文件(右键单击链接并选择Save Link As...)。

    您将需要管理员权限才能编辑或替换文件。之后,重新启动QGIS。


我的Difference.py文件看起来像您写的一样,但还是无法正常工作(
Jane

0

其他解决方案-尝试与SAGA矢量多边形工具进行区别-可以!

在此处输入图片说明

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.