我正在寻找用于存储地图的理想数据库或数据结构的建议。本质上,地图由类似于道路、路径等的“方式”组成。方式包含节点(具有纬度和经度坐标,有时还有高度。)
任何此类数据库或结构:
应该能够快速(毫秒)定位边界框中的所有节点
可选地,当大量节点在边界框中而不是少量节点时,或者如果边界框很大,则不应显着减慢
应该能够找到直接连接的节点:例如连接两种方式的节点
可以只读
应该紧凑(避免浪费空间) - 我希望将英国地图放入不到 1 GB 的空间。我有一个卫星导航,它在 SD 卡上有大约 800 MB 的空间。
我最初在考虑四叉树来存储方式。但是快速实现很棘手,而且它们不适用于单个节点;所有节点都尽可能放在最小的 bbox 中。
(我故意使用与 Open Street Map 相同的术语,因为我打算使用该数据。)