我是 PostgreSQL 的初学者,有两个表 A 和 B,都有多个列,包括一个点列 (geom):
TableA 包括给定的“ID”、geom 等,TableB 是具有“名称”列、geom 等的位置“DB”...
需要为每个 TableA.id 查找 TableB 中最近位置的“名称”(行列)和距离是什么。
已经可以计算 TableA 和 TableB 的所有点之间的距离:
ST_DistanceSpheroid(pointA,pointB,[SPHEROID])
但是到目前为止,最好的方法是选择查询,其中提供了TAbleA.ID
TableB 中的每个所有距离和相应名称 - 并没有找到每个 ID 的最小值。
虽然需要将新的计算列(距离和名称)添加到表 A。
我尚不清楚在使用“选择”与实际表数据输出时如何处理数据输出。或使用视图。
这是最近邻经典。基本解决方案:
确保在 上有一个空间GiST 索引
tableB(geom)
:有关的:
推荐阅读:
<->
关于
LATERAL
加盟: