几何和$ geometry QGIS之间的区别


12

这可能是一个琐碎的问题,但是我很困惑,QGIS中的geometry和$ geometry有什么区别?我没有找到使用此功能的任何示例。

几何和$ geometry

我特别对几何感兴趣,在什么情况下有帮助?

Answers:


19

屏幕快照所属的功能列表旁边的应该是当前所选功能的文档。对我来说,2.18.12的内容如下:

$ geometry 返回当前要素的几何。可用于其他功能的处理。

geometry 返回要素的几何。

这就像面向对象编程中的方法与函数的不同。$ geometry是 / self的几何。您可以将其更像是属性或属性。

另一方面,几何图形要求/允许您将特征传递给它,它将返回相应的几何图形。如文档所示,您可以使用它从基于属性的特征选择中获取几何:

geometry(
  get_feature(layer, attributeField, value)
)

您只能通过自己的创造力以及传递给它的功能来限制它的处理方式。:)


因此,当尝试转换形成线的单独点时如何使用它((make_line(make_point(“ xlbl” -1000,“ ylbl”),make_point((“ xlbl” + length((“ time”))* 3000 +7000),“ ylbl”),)...等我的意思是我想基于属性表值中的坐标来变换线的每个点
Jane Jane

我想我有机会代表我行的每一个点(从make_point FUNC)几何形状,然后改造它,所以就整个构造几何make_line转换错误gis.stackexchange.com/questions/253002/...

当然可以 这听起来像是使用了错误的工具,您是否尝试过points2one插件或其他处理方式?
bugmenot123

1
不,这是图层的样式,我不能在图层属性中使用任何插件。我尝试通过qgis内置函数来解决我的问题
珍妮

2
属性比较听起来不错,但是OO比较有点弱,$geometry而不是OO还是(const)变量。
马提亚斯·库恩

15

$geometry返回当前特征的几何形状,如geom_to_wkt($geometry)

geometry返回特定特征的几何形状,如geom_to_wkt(geometry(get_feature('my_layer', 'my_feature', feature_id)))

例如,如果要针对特定​​功能处理当前功能,则可以使用第二种情况:

intersects($geometry,geometry(get_feature(layer,attributeField,value)))

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.