索引和查询
当前索引是一个 RTree 索引,但它以可扩展的方式开发,允许在必要时添加其他索引。
加载和索引
可以在加载期间将数据加载到数据库中并添加到索引。也可以稍后将现有的空间数据添加到索引。这是两种截然不同的场景,事实上可能导致不同的图结构,因此我们将依次解释它们。
要将数据直接加载到索引中,最简单的方法是首先创建一个适合您数据的图层 (Layer)。Neo4j-Spatial 中内置了许多可能的选择,其中两个常见的选择是:
-
SimplePointLayer - 一个可编辑的图层,允许您只向数据库中添加点。如果您只有点数据并且主要关注邻近搜索,这是一个不错的选择。此图层包含专用于这种情况的实用方法。
-
EditableLayer(Impl) - 这是默认的可编辑图层实现,可以处理任何类型的简单几何对象。这包括点 (Point)、线串 (LineString) 和多边形 (Polygon),以及多点 (Multi-Point)、多线串 (Multi-LineString) 和多多边形 (Multi-Polygon)。由于它是一个通用实现,无法了解您的数据模型的拓扑结构,因此它将每个几何对象单独存储在单个节点的单个属性中。存储格式是 WKB 或 'Well Known Binary',这是一种特定于地理几何对象的二进制格式,也被流行的开源空间数据库 PostGIS 使用。