如何在c#中执行快速空间查询

时间:2015-07-24 09:19:13

标签: c# performance indexing openstreetmap spatial

我需要创建一个代码,给定GPS位置点(lat,lon)将找到距离巨大点集合(OSM nodes)最近的3个点。

第一个选项是将巨大的点集合存储在数据库中并创建空间索引。然后使用具有内置空间方法的查询来获取结果。我认为这种方法不是最快的,因为整个查询过程需要在软件和数据库之间进行耗时的交易。如果我错了,请纠正我。

第二个选项是在程序启动时将整个点集合加载到内存中。我相信这种方法会有更好的表现。显然,需要创建索引以避免遍历整个集合,因为这样做会使性能比使用数据库慢。

但我不知道如何在c#数据集合中创建索引。是否有任何.Net库或其他方法在内存空间数据中编制索引以便对它们执行快速查询?

编辑:这个问题虽然类似于被认为是重复的问题,但它引入了数据库或内存方法是否具有更好性能的问题。

0 个答案:

没有答案