层和几何编码器
定义几何图形集合的主要类型是 Layer
。一层包含用于查询的索引。此外,如果可以在层中添加和修改几何图形,则 Layer
可以是 EditableLayer
。次重要的接口是 GeometryEncoder。
DefaultLayer
是标准层,它使用 WKBGeometryEncoder
将所有几何类型存储为每个几何实例一个节点的 byte[]
属性。
OSMLayer
是一个特殊层,支持 Open Street Map 并将 OSM 模型存储为单个完全连接的图。此层提供的 Geometries
集合包括 Points
、LineStrings
和 Polygons
,因此无法导出为 Shapefile 格式,因为该格式每层只允许一个 Geometry
。然而,OSMLayer
扩展了 DynamicLayer
,后者允许它提供任意数量的子层,每个子层具有特定的几何类型,并且还可以基于 OSM 标签过滤器。例如,您可以有一个层提供所有自行车道作为 LineStrings
,或者一个层提供所有湖泊作为 Polygons
。在底层,这些都仍然由同一个完全连接的图支持,但动态地暴露为明显独立的几何层。