我知道这已在一些论坛中与死亡讨论过,并且我找到了几种不同的方法来实现它。举例来说,this is a stackoverflow post discussing it和this is an msdn post talking about it.两者似乎都很有趣,但似乎以不同的方式为原作者完成。他们似乎满意答案提供的,但我没有得到令人满意的结果(阅读:不是一贯正确排序)按纬度和经度排序点数/记录(按距离 - 最远离最远)
的问题是双重的:
它是更有效地在C#中后期数据整理这些检索或在SQL中通过计算从原点到使用(或其他方法)的顺序的距离?我可能最终需要根据距离原点的距离来排序3000多个位置(如经纬度和长度所示)
根据原始纬度/经度来排序这些点的最“正确”方法是什么?通过“正确”我不是通过方法,而是通过距离原点的实际距离。当然,排序的位置因问题1而发挥作用。
所使用的技术是EF,SQL存储过程,C#。
你是什么意思的SQL?如果你的意思是SQLServer,那么[STDistance](http://msdn.microsoft.com/en-gb/library/bb933952.aspx)值得查找。你将需要一个几何列,它可以有一个空间索引,以加快处理,并使用ORDER BY按距离排序。这比在应用程序层中编写大量代码要好。另外,如果计算由数据库完成,则会限制返回的数据量。几何列也可以被实体框架使用。 – 2014-10-28 15:10:40