通过比较来自其他 table 的几何列来更新 table 列
Update table column by comparing geometry columns from other table
我有 2 个 table。 1. 岛屿 2. 地区
我想使用 st_distance
函数更新基于最近区域的岛屿 table 区域列。例如对于 g1,st_distance(g1, geom1), st_distance(g1, geom2)... st_distance(g1, geom4)
并使用最接近的距离更新 g1 几何的区域列。
可以这样工作:
UPDATE island
SET region = (SELECT regions.geom <-> island.geom
FROM regions
ORDER BY regions.geom <-> island.geom
LIMIT 1);
这可以在 regions(geom)
上使用 GiST 索引,但如果 island
很大,它仍然需要一段时间。
我有 2 个 table。 1. 岛屿 2. 地区
我想使用 st_distance
函数更新基于最近区域的岛屿 table 区域列。例如对于 g1,st_distance(g1, geom1), st_distance(g1, geom2)... st_distance(g1, geom4)
并使用最接近的距离更新 g1 几何的区域列。
可以这样工作:
UPDATE island
SET region = (SELECT regions.geom <-> island.geom
FROM regions
ORDER BY regions.geom <-> island.geom
LIMIT 1);
这可以在 regions(geom)
上使用 GiST 索引,但如果 island
很大,它仍然需要一段时间。