名称

GetFaceByPoint — 查找与给定点相交的面。

概要

integer GetFaceByPoint(varchar atopology, geometry apoint, float8 tol1);

描述

查找由一个点引用的面,并具有给定的容差。

该函数将有效地查找与以该点为中心、容差为半径的圆相交的面。

如果没有面与给定的查询位置相交,则返回 0(通用面)。

如果多个面与查询位置相交,则会抛出异常。

可用性: 2.0.0

增强功能: 3.2.0 更高效的实现和更清晰的约定,停止使用无效拓扑。

示例

SELECT topology.GetFaceByPoint('ma_topo',geom, 10) As with1mtol, topology.GetFaceByPoint('ma_topo',geom,0) As withnotol
	FROM ST_GeomFromEWKT('POINT(234604.6 899382.0)') As geom;

	 with1mtol | withnotol
	-----------+-----------
			 1 |         0
SELECT topology.GetFaceByPoint('ma_topo',geom, 1) As nearnode
	FROM ST_GeomFromEWKT('POINT(227591.9 893900.4)') As geom;

-- get error --
ERROR:  Two or more faces found