我正在寻找用于存储 map 的理想数据库或数据结构的建议。本质上, map 由“道路”组成,如道路、路径等。道路包含节点(具有纬度和经度坐标,有时还有高度。)
任何此类数据库或结构:
应该能够快速(毫秒)定位边界框内的所有节点
可选地,当大量节点位于边界框中而不是少量节点,或者如果边界框很大时,速度不应显着降低
应该能够找到直接连接的节点:例如连接两条路的节点
只能读
应该紧凑(避免浪费空间)- 我希望将英国 map 放入不到 1 GB 的空间中。我有一个卫星导航系统,它在 SD 卡上有大约 800 MB 的空间。
我最初想到的是四叉树来存储路径。但是快速实现很棘手,它们不适用于单个节点;所有节点都放在尽可能小的 bbox 中。
(我故意使用与 Open Street Map 相同的术语,因为我打算使用该数据。)
最佳答案
我建议使用 PostGIS 1.5使用 geography 类型,因为它适合您的需要,但是我唯一关心的是在嵌入式设备上使用这样的东西是内存使用。
我使用 Java 中的非 GIS 数据库 (firebird) 构建了一些模糊相关的东西,性能足以在边界框内检索点(尽管需要花哨的 SQL,而 PostGIS 则不需要)。
关于sql - 地理( map )数据的理想数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3847898/