【发布时间】:2016-05-17 06:52:53
【问题描述】:
我有一个基于邮政编码搜索项目的应用程序。
在搜索邮政编码时,我会返回来自该城市/社区的所有产品(通过解析邮政编码完成)。
我现在需要根据与原始邮政编码的距离对这些产品进行分类。
我将 Lat/Long 存储在 DB 中,并计划使用 Haversine 公式计算与原始查询的距离。
我的问题是,这应该在哪里计算。 在返回我的数据集之前,我应该在存储过程中执行此操作吗?
或者我应该返回我的数据集,我的纬度/经度,并在返回给用户之前在服务器端计算它。
可能需要针对多达 1000 个结果执行计算。
【问题讨论】:
-
我远不是这个主题的专家(我曾使用 PostGIS 和 vincenty 进行空间查询),但可能是数据库,因为您可以对纬度/经度数据和顺序进行空间索引通过
STDistance(),您需要按距离排序。数据库之外的任何东西都可以,但你会重新发明轮子。
标签: c# sql sql-server haversine