唯一地理索引 ArangoDB

Unique Geo Index ArangoDB

我是 ArangoDB 的新手。我将它与地理空间数据 (geoJSON) 一起使用。

数据库允许具有相同纬度和经度的点分别有重复的顶点。我假设,为了消除重复的顶点,我必须将地理索引的唯一 属性 设置为 true。我参考了之前关于这个问题的讨论,其中建议更改约束 属性,而不是唯一的 属性(对于版本 1.3)。我两种方式都试过了。我将 属性 的值更改为 true,对于它们中的每一个以及它们两者也是如此。我使用 "ensureIndex" 方法从 arangosh 执行此操作。创建的索引仍然显示 false for unique。

我正在使用 ArangoDB 3.0.4,文档显示 属性 unique 仅支持哈希和跳表索引。关于如何继续为唯一的纬度和经度制作顶点有什么建议吗?

很久没有唯一的选择了。我认为这可以这样解释:

如果你想防止重复的坐标存储在你的数据库中,一个简单的唯一选项可能是不够的,因为最轻微的偏差会使坐标再次唯一 - 只需将它沿任意方向移动 1 英寸或厘米.其他坐标也应该被视为重复,但数字不同。必须计算到附近顶点的距离,并查看它是否小于某个阈值才能将其视为重复。

由于每个项目所需的设置可能不同(甚至包括如何计算距离),因此应在应用层进行管理。您可以编写一个 Foxx 服务,您可以与之交谈以存储新坐标。所有必需的计算和数据库事务都可以在那里完成。