【发布时间】:2012-07-28 04:12:45
【问题描述】:
我想做一个超快速的地理编码查找,返回输入城镇、城市或国家的坐标。我的知识是基本的,但据我所知,用 C 编写它是一个好的开始。我认为有这样的树结构是有意义的:
- 英格兰
- 肯特
- 奥尔平顿
- 查塔姆
- 罗切斯特
- 多佛
- 伊甸桥
- 威尔特郡
- 斯温顿
- 马姆斯伯里
在我的文件/数据库中,我将拥有坐标和城镇/城市名称。如果给我的程序命名为“Kent”,我想要一个可以以最快的方式返回与“Kent”相关的坐标的程序
出于性能原因,我应该将数据存储在二进制文件还是 SQL 数据库中? 搜索这些数据的最佳方法是什么?也许二叉树搜索? 数据应该如何存储?也许?
【问题讨论】:
-
地理编码和自动完成无关。
-
为什么您认为 C++ 会有所帮助? C++ 代码可能会稍微快一点,但这将远远超过查询文件/数据库/其他内容所花费的时间,如果您没有经验,C++ 开发的复杂性将是一个很大的开销。
-
地理编码必然是一个巨大的瓶颈。我认为你的代码有多快并不重要(与地理编码本身相比,它总是一个数量级太快)
-
@JamesWillson:这很有意义。将其编辑到您的问题中。
-
我建议使用数据库。让数据库担心数据结构和快速检索方法。这就是它们的设计目的。