【问题标题】:How to find a set of lat/long pairs surrounding a 5 miles radius of a certain location如何找到围绕某个位置 5 英里半径的一组纬度/经度对
【发布时间】:2012-11-15 22:45:32
【问题描述】:

如何找到一组以纬度/经度或地址表示的特定位置半径 5 英里范围内的纬度/经度对。

【问题讨论】:

  • 你所说的一组纬度/经度对是什么意思,是指围绕特定位置的每个纬度还是某些纬度/经度对
  • 其中一些会更可取,但在我指定的半径范围内(比如重要的地标或城市周围的纬度/经度)
  • stackoverflow.com/questions/5031268/… 这可能会有所帮助
  • 你想要一些坐标来围绕一个以纬度/经度和半径为米的中心点构建一个圆或一个矩形吗?
  • 建立一个圆圈的坐标,但绝对在圆圈内。

标签: google-maps latitude-longitude


【解决方案1】:

首先,您决定要拥有多少 (lat,lon) 对:
您可能希望有 4 个坐标围绕中心点形成一个正方形。
或者您决定在中心点周围放置一个常规的 N-Gon。

然后您使用从纬度/经度到米的投影,例如 EquiDistantProjetion。

这允许您将纬度/经度中心转换为笛卡尔米, 然后,您可以像在学校学到的一样计算。

现在你有了笛卡尔米的中心点:
然后您使用坐标 (r, phi) 的极坐标形式来计算正方形或 N 边形的角点。 (centerX + r* sin(phi), centerY + r* cos(phi))。

最后,您必须使用逆变换将坐标对转换回纬度/经度。

EquiDistantProjection 适用于最长约 100 英里的距离。 它在纬度 80 度以上不能很好地工作。 (极地)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多