Questions tagged «qgis-custom-function»


2
通过在QGIS中使用多边形蒙版来对特定图层进行样式设置?
我在QGIS中有一个线层和一个多边形层: 我想使用一种样式来设置多边形外部的线层部分,并使用另一种样式来设置内部的部分线型: 我不想创建衍生数据集,例如。剪辑线层并设置两个部分的样式。 这是一个简单的情况,但是在我的QGIS项目中,我有+30层,因此我认为任何层混合都会干扰底层。 可以做这样的事情吗? 我不想显示多边形层,它只是在这里可视化我想做的事情。

1
在QGIS中移动重叠线的显示?
当点重叠时,具有此属性,该属性允许自动在它们所在的位置附近分别单独显示很多点,称为“点位移”。但这不适用于行,即使如此,在我看来从概念上讲,要实现这样的目标也是可行的: 我绝对需要看到实际上都在同一地方的不同线路(我在电信网络中工作)。我现在看到的唯一方法是像上面的图片那样真正地创建不同的线条,从而产生空间错误。 我正在使用QGIS 2.14。

3
如果第一个标签不适合QGIS,请更改为备用标签?
我正在尝试创建要打印的地图,并且多边形的大小差异很大。由于这将是参考地图,因此我需要标记每个多边形,但是某些名称将不适合该多边形。在这些情况下,我想改用功能ID,然后让属性表将ID链接到名称。 我想做的是具有某种表达式,可以用来选择在地图上使用的标签以及在属性表中包括的行。这样的isLabelled事情将能够考虑地图比例,标签长度,字体大小等。

1
QGIS自定义功能未显示在字段计算器中
我正在使用Essen,并尝试遵循Anita Graser精彩的教程《照明轮廓》。我已经创建了azimuth函数并加载了该函数,但表达式选项卡中没有任何显示-甚至没有使用默认功能的Custom!表达式与关联文件一样存在azimuth.py于C :\Users\Max\.qgis2\python\expressions中.pyc。重新启动QGIS没有任何区别


2
将文本从每个分隔符之前的字符串字段拆分为新字段
我试图从包含以点分隔的文本的字符串字段中提取文本数据,然后使用字段计算器将其放置在新字段中。 我正在使用此python函数(源自QGIS中/之前的如何提取文本?): from qgis.core import * from qgis.gui import * @qgsfunction(args='auto', group='Custom') def func(value1, feature, parent): return value1.split('.')[0] 这将返回第一个点之前的所有文本。现在,我想知道如何编写该函数以将每个分隔的文本行放在单独的字段中。 之前: 后:

1
在pyqgis中注册自定义qgsfunction
我在独立应用程序中使用pyqgis。现在,我想创建一个自定义表达式,以根据的规则用作filterExpression ruleBasedRendererV2。(我之前尝试过使用现有功能的渲染器,并且一切正常!) 自定义qgisfunction(按位AND功能-由于尚无此功能)如下所示: from qgis.utils import qgsfunction @qgsfunction(args="auto", group='Python') def bitwise_and(value1, value2, feature, parent): return value1 & value2 我也尝试通过以下方式进行注册: from qgis.core import QgsExpression QgsExpression.registerFunction(bitwise_and) 通过以下方式测试表达式: expressionString = 'bitwise_and(2, 2) = 2' exp = QgsExpression(expressionString) if exp.hasParserError(): print(exp.parserErrorString()) (2=2始终给予True)在注册功能后有效,否则失败。但是,我仍然不能在规则内使用表达式... 现在,包含该功能的文件位于我的项目文件夹的顶部,该文件夹自动包含在PATH中,对吗?(根据Nathan Woodrow的说法,文件可以放在PATH中的任何位置-请参阅https://nathanw.net/2012/11/10/user-defined-expression-functions-for-qgis/)。 更新:到目前为止,函数的注册可以通过上面的代码进行-现在问题出在函数本身上。 更新#2: 很奇怪!do_nothing获得两个参数的简单函数在我的代码中运行良好: @qgsfunction(args="auto", group='Python') def do_nothing(value1, value2, feature, parent): …
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.