QGIS-计算几何内部点(一定在几何内)

在提取几何图像的中心点相关的X Y时,我们往往希望提取的点在几何内部,因为对于不规则图形而言,特别是凹几何,提取的点可能在图形外,QGIS中提供了相关的函数用于提取点中心点:

打开图形的属性列表,进入“字段计算器”中,在“几何图形”中包含了诸多的方法,比如我们需要的centroid。

QGIS-计算几何内部点(一定在几何内)_第1张图片

但是很可惜,这是提取质心的方法,没法保障提取的点位一定位于几何内部,往下找,有一个名为“point_on_surface”(返回保证位于几何图形的表面上的点)的函数,这即是我们需要的:

QGIS-计算几何内部点(一定在几何内)_第2张图片

在使用上,我这边需要用到x y构建数组,因此就可以采取下列的表达式:

'['+to_string(x( point_on_surface($geometry )))+','+to_string(y( point_on_surface($geometry )))+']'

我是对文本类型的字段采用了这个方法,可以根据实际需要进行修改。

QGIS-计算几何内部点(一定在几何内)_第3张图片

在“预览”出会显示你的表达式是否合法,输出的结果等。

你可能感兴趣的:(QGIS,开源软件)