【发布时间】:2018-08-28 03:32:37
【问题描述】:
我正在构建一个基于地图的 xamarin 应用程序。我有一个保存在数据库中的坐标列表。我想查询从给定起始坐标落入 x 米内的所有坐标。我只是想知道如何获得纬度和经度所需的偏移量来制定我的查询。我知道如何获得坐标之间的距离,但我得到的大多数其他搜索都返回了相同的公式。任何帮助,将不胜感激。非常感谢!
我查看了以下帖子,这些帖子在我发布此帖子时被建议:
how to check radius of 10 meter from x,y position - from GPS
Calculating gps coordinate radius
编辑
进一步指定要求
我希望能够得到 2 个可用于此类查询的数字范围
"SELECT * FROM tbl_Coordinates WHERE Lat >= {MIN_LAT_OFFSET} AND Lat = {MIN_LNG_OFFSET} AND Lng
我想避免查询数据库中的所有坐标并检查所有坐标的距离以查看它们是否在半径范围内。
编辑 2
stackoverflow 中出现了一个看起来很有希望的新建议here
如果你们有更好/更准确的答案,我愿意接受。谢谢!
【问题讨论】:
-
嗨 Fildor,我正在使用 SQL Server 2012,但如果可能的话,我宁愿在代码中执行此操作。谢谢。
-
对不起,我不明白您的要求与链接有何不同,或者正如您提到的“我知道如何获取坐标之间的距离,但我得到的大多数其他搜索都返回了相同的公式。” - 你想要什么?
-
你的意思是你想要一个算法,给你一个范围内的坐标列表,然后你打算用这些坐标来看看你是否有匹配?我认为这是错误的方式。
-
要求是我需要偏移量,即我需要从 lat 和 lng 添加或减去多少才能在 db 上进行适当的半径搜索,因为我正在搜索 db 并且我想要避免查询数据库中的所有坐标并检查所有坐标的距离以查看它们是否在半径内。我希望能够得到 2 个数字范围,我可以将它们用于这样的查询“SELECT * FROM tbl_Coordinates WHERE Lat >= {MIN_LAT_OFFSET} AND Lat = {MIN_LNG_OFFSET} AND Lng
标签: c# xamarin.forms gps maps