首页 文章

独特的地理索引ArangoDB

提问于
浏览
1

我是ArangoDB的新手 . 我正在使用它与地理空间数据(geoJSON) .

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

我正在使用ArangoDB 3.0.4,文档显示只有hash和skiplist索引支持属性unique . 关于我如何才能继续为唯一的纬度和经度制作顶点的任何建议?

1 回答

  • 2

    很长一段时间以来没有独特的选择 . 我想这可以这样解释:

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

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

相关问题