Mic*_*huk 3 postgresql postgis
我是 PostGIS 的新手。我希望在一个简单的 XYZ 图上有一个简单的有界(-200 < x, y, z < 200)数据集,包含 1,000,000 个点。我需要的唯一查询是快速的 K 最近邻居和所有邻居,使得距离小于 < N。似乎 PostGIS 有很多我不需要的额外功能。
SELECT AddGeometryColumn ('my_schema','my_spatial_table','geom_c',4326,'POINT',3, false);
. 那是对的吗?
谢谢!
小智 5
我需要什么 SRID?一种与英尺或米无关的。
你不需要“srid”。如果您的数据在坐标系中,请找到正确的 srid,否则,使用 0。
我是否需要使用函数 ST_3DDistance 来查询具有 LIMIT K 的 K 个最近邻?或最大距离为 N。
你是对的。
要添加一列,我需要使用 SELECT AddGeometryColumn ('my_schema','my_spatial_table','geom_c',4326,'POINT',3, false);。那是对的吗?
是的,但我会使用 0 来表示 srid,而不是 4326(即度数)。
3D 点和 PointZ 有什么区别?
PointZ 是一个 3d 点。
AddGeometryColumn 会确保我的距离查询很快吗?
AddGeometryColumn 只会向表添加一些约束,确保您插入的几何图形与列定义一致。
我认为您不需要它,但您可以尝试使用 CREATE INDEX index_name ON schema.table USING gist (geom_col); 向几何列添加索引。
PostGIS 是我用例的正确选择吗?我的数据库的其余部分已经与 PostgreSQL 集成
我认为这是最简单的方法,不一定是“正确”的方法。
您还可以在没有 postgis 的情况下实现距离函数,将三个坐标存储在三个数字字段中。