【问题标题】:Determining if a GPS position (lat/long) is within a fixed area... [Android]确定 GPS 位置(纬度/经度)是否在固定区域内... [Android]
【发布时间】:2011-06-09 18:34:40
【问题描述】:

好的,这是我的问题。我正在使用的系统使用称为区域的对象来表示地图上的 920x920 米区域。然而,区域的唯一参考是网格左上角的纬度和经度。

我需要做的是确定用户当前的 GPS 位置是否在特定区域内,因此我正在编写一个函数来检查是否是这种情况,如果是,则从该区域对象返回数据。

我正在苦苦挣扎的地方实际上是找出进行位置检查的最佳方法,而我所要做的只是用户的确切纬度/经度以及网格左上角的已知纬度/经度。 ..解决这个问题的最佳方法是什么?

非常感谢您的帮助。

【问题讨论】:

  • 您尝试设置的方式似乎有问题。如果您只有方形区域可以使用,我认为您无法在没有任何重叠区域的情况下独特地平铺世界(想想两极附近会发生什么)。
  • @templatetypedef - 系统只覆盖一个小城市,所以这不是一个真正的问题 - 无论如何,我受限于这种做事方式,因为我正在构建一个(不是很有据可查)现有系统...
  • 我从你的“metres”拼写猜想,你在英国?如果是这样,军械测量网站有一些非常有用且准确的坐标系转换算法。在这里比在美国更容易,因为我们只有一个投影区域,不像 UTM 网格需要很多以最小化地图失真。如果那些 920x920m 的区域只是近似的,或者是基于球形投影而不是椭圆形投影,请不要在精度上过于疯狂。请注意,所有 GPS 系统都使用 WGS84 椭球而不是 1936 Airy。

标签: java android gps location area


【解决方案1】:

第 1 步:将 these calculations(或等效项)端口到 Java 并使用它们来确定给定坐标的纬度或经度 920 米的度数

第 2 步:使用第 1 步中的值来确定正方形右下角的纬度/经度坐标

步骤#3:查看用户的经度是否在左右值之间,以及用户的纬度是否在上下值之间

在到达关键拐点(0 度纬度、+/-180 度纬度等)时要小心。

【讨论】:

  • 谢谢 - 我会试试看!
猜你喜欢
  • 2016-11-21
  • 2013-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多