在提取几何图像的中心点相关的X Y时,我们往往希望提取的点在几何内部,因为对于不规则图形而言,特别是凹几何,提取的点可能在图形外,QGIS中提供了相关的函数用于提取点中心点:
打开图形的属性列表,进入"字段计算器"中,在"几何图形"中包含了诸多的方法,比如我们需要的centroid。
但是很可惜,这是提取质心的方法,没法保障提取的点位一定位于几何内部,往下找,有一个名为"point_on_surface"(返回保证位于几何图形的表面上的点)的函数,这即是我们需要的:
在使用上,我这边需要用到x y构建数组,因此就可以采取下列的表达式:
'['+to_string(x( point_on_surface($geometry )))+','+to_string(y( point_on_surface($geometry )))+']'
我是对文本类型的字段采用了这个方法,可以根据实际需要进行修改。
在"预览"出会显示你的表达式是否合法,输出的结果等。