Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Geospatial 在三维空间数据集中查询二维距离_Geospatial_Postgis_Spatial_Postgresql 9.1_Spatial Query - Fatal编程技术网

Geospatial 在三维空间数据集中查询二维距离

Geospatial 在三维空间数据集中查询二维距离,geospatial,postgis,spatial,postgresql-9.1,spatial-query,Geospatial,Postgis,Spatial,Postgresql 9.1,Spatial Query,我有一个案例要求,我需要找到提供特定产品类型的最近的N个供应商。整数范围为0..1048575的类型,表示层次结构。任何供应商都可以有多个点,因为他们可以提供多种产品类型 我可以将long&lat存储在PostGIS中,将类型存储在索引的int数组列中,并以N为限制对两者进行查询。但是,我不相信这会有效,因为我不确定PostgreSQL是否会同时使用这两个索引 我的另一个想法是将类型存储在第三个“垂直”维度中。这将在每个供应商的长形和板条形上创建堆叠的“垂直”形段。为了进行查询,我将得到最近的l

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

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

我的另一个想法是将类型存储在第三个“垂直”维度中。这将在每个供应商的长形和板条形上创建堆叠的“垂直”形段。为了进行查询,我将得到最近的long&lat相交,该相交仅与第三维上所需类型相交

PostGIS使用3DM是否可以实现这一点?换句话说,我可以让它只使用long和lat计算最近邻,而使用交叉点的所有3个维度吗