【发布时间】:2015-06-10 22:57:40
【问题描述】:
我正在尝试对空间局部性进行聚类(不仅仅是创建空间索引),但 SQL Server 不允许这样做。要创建空间索引,它首先要我创建一个聚集的主键,在它上面聚集没有任何意义。我想创建一个空间索引,然后以某种方式在空间位置上进行聚类。
我有一个想法来创建将每个几何图形放入某个 bin 中的 bin,然后得到一些整数。然后将其设置为所需的聚集主键,这样至少我的一些数据在空间上聚集在一起。
我有点困惑 SQL 服务器还没有这样做,所以要么我错过了如何做到这一点,要么很可能有人已经想到了这一点,有人可以提出一个足够好的解决方案。
我想在空间位置上进行聚类,因为我正在处理大数据,我做的第一个过滤器是按空间位置(创建地图图块),没有在空间位置上进行聚类,我的页面现在基于一些无意义的自动增量而分散整数。
如果没有提出按空间位置进行分箱的简单实现,我想我可以将几何体的边界切割成相等的正方形,然后为每个中心点运行一个距离公式包括与该 bin 相交的所有几何图形。
这不是特定于 SQL 服务器的,我正在寻找解决空间位置上的索引/聚类的通用方法。我假设非 mssql 数据库可能内置了此功能。
【问题讨论】:
标签: sql-server database spatial spatial-index