1

我有一个案例要求,我需要找到最近的 N 个供应特定产品类型的供应商。int 范围 0..1048575 中的类型,表示层次结构。任何供应商都可以有多个积分,因为他们可以提供多种产品类型。

我可以将 long & lat 存储在 PostGIS 中,并将类型存储在索引 int 数组列中,并以 N 的限制对两者进行查询。但是,我不相信这会有效,因为我不确定 PostgreSQL 是否会同时使用这两者索引。

我的另一个想法是将类型存储在第三个“垂直”维度中。这将在每个供应商的长和纬形状上创建堆叠的“垂直”形状段。要查询,我会得到最近的 long & lat intersects,它们只是在第三维上与所需类型相交。

使用 3DM 的 PostGIS 可以做到这一点吗?换句话说,我可以让它只使用 long 和 lat 计算最近的邻居,但使用所有 3 个维度作为交叉点吗?

4

0 回答 0