使用 PostGIS 数据库,我想从点列表(存储为表中的几何图形)中过滤最接近传递给查询的某个点的点。
我已经尝试过ST_3DClosestPoint,但他们总是谈论线上的一个点。
如何过滤我的列表,以便仅确定最接近给定点的点云的 3D 点?PostGIS(2.5版)有没有机会做到这一点?
编辑 表结构和一些示例数据:
CREATE TABLE points_list (id SERIAL PRIMARY KEY, name VARCHAR(64), geom GEOMETRY(POINTZ, 3857));
INSERT INTO points_list (geom) VALUES (ST_TRANSFORM(ST_SetSRID(ST_MakePoint(4571450, 5800300, -246.028076), 31468), 3857));
INSERT INTO points_list (geom) VALUES (ST_TRANSFORM(ST_SetSRID(ST_MakePoint(4571550, 5800300, -246.033478), 31468), 3857));
INSERT INTO points_list (geom) VALUES (ST_TRANSFORM(ST_SetSRID(ST_MakePoint(4571650, 5800300, -246.040100), 31468), 3857));
INSERT INTO points_list (geom) VALUES (ST_TRANSFORM(ST_SetSRID(ST_MakePoint(4571750, 5800300, -246.062714), 31468), 3857));
INSERT INTO points_list (geom) VALUES (ST_TRANSFORM(ST_SetSRID(ST_MakePoint(4571850, 5800300, -246.104797), 31468), 3857));
INSERT INTO points_list (geom) VALUES (ST_TRANSFORM(ST_SetSRID(ST_MakePoint(4571950, 5800300, -246.162323), 31468), 3857));
然后,查询应该询问传递给查询的最近点,例如,4571547, 5800297, -246,0312
。我希望我的示例值的条目号 2 是此查询的结果。