如何计算半径内的最大和最小纬度和经度值?
How do I calculate the maximum and minimum latitude and longitude values within a radius?
我想给定一个点的纬度和经度,以及该点周围的特定半径(以千米为单位),计算纬度和经度的最大值和最小值。
从我做的研究看来,如果你想要精确,你应该记住两极和赤道的近似值。所以如果可能的话,我更愿意知道更多关于计算的精确版本,除非它太复杂了。
您似乎需要 "bounding box" 的代码。这允许您执行 "store locator" 操作,该操作不计算数据库中每个商店的距离。第 0 步(可选)是在数据库中建立索引(在纬度、经度上)。第 1 步是计算 (lo_lat、hi_lat、lo_lon、hi_lon) 的框,并在过滤掉不需要的行的查询中使用它。第 2 步计算剩余行的距离,并删除所需圆之外的行。
这将帮助您了解详细信息:http://janmatuschek.de/LatitudeLongitudeBoundingCoordinates
在我看来,答案必须是起点的北、南、东、西。考虑到地球的半径,这使得计算最大和最小纬度变得微不足道。对于经度,您可以计算给定纬度处的地球半径,并使用它来计算最大和最小经度。
我在这里遗漏了一个问题吗?
我想给定一个点的纬度和经度,以及该点周围的特定半径(以千米为单位),计算纬度和经度的最大值和最小值。
从我做的研究看来,如果你想要精确,你应该记住两极和赤道的近似值。所以如果可能的话,我更愿意知道更多关于计算的精确版本,除非它太复杂了。
您似乎需要 "bounding box" 的代码。这允许您执行 "store locator" 操作,该操作不计算数据库中每个商店的距离。第 0 步(可选)是在数据库中建立索引(在纬度、经度上)。第 1 步是计算 (lo_lat、hi_lat、lo_lon、hi_lon) 的框,并在过滤掉不需要的行的查询中使用它。第 2 步计算剩余行的距离,并删除所需圆之外的行。
这将帮助您了解详细信息:http://janmatuschek.de/LatitudeLongitudeBoundingCoordinates
在我看来,答案必须是起点的北、南、东、西。考虑到地球的半径,这使得计算最大和最小纬度变得微不足道。对于经度,您可以计算给定纬度处的地球半径,并使用它来计算最大和最小经度。 我在这里遗漏了一个问题吗?