将地理边界框扩展 x 英里的计算

Posted

技术标签:

【中文标题】将地理边界框扩展 x 英里的计算【英文标题】:Calculation for extending a geo bounding box by x miles 【发布时间】:2019-02-06 19:50:20 【问题描述】:

希望有人能帮我计算一下。

假设我有一个边界框的坐标,例如作为从 Google Places API 返回的视口,例如

 "viewport" : 
           "northeast" : 
              "lat" : 37.4238253802915,
              "lng" : -122.0829009197085
           ,
           "southwest" : 
              "lat" : 37.4211274197085,
              "lng" : -122.0855988802915
           
        

然后我使用这些来返回 Elasticsearch 按地理边界框内的位置过滤的结果:https://www.elastic.co/guide/en/elasticsearch/reference/5.1/query-dsl-geo-bounding-box-query.html

这很好,但是我想运行一个计算来增加这个视口,例如 5 英里,返回值是另一个增加大小的边界框。

我猜穿过视口的对角线需要单程增加 2.5 英里,但我不确定计算结果。

提前致谢。

【问题讨论】:

【参考方案1】:

事实证明,这可以使用 Vicenty 的公式来解决:(https://en.wikipedia.org/wiki/Vincenty%27s_formulae#Direct_Problem)。

https://www.npmjs.com/package/geodesy 上的 javascript 实现供任何感兴趣的人使用。

赞美维森蒂。

【讨论】:

以上是关于将地理边界框扩展 x 英里的计算的主要内容,如果未能解决你的问题,请参考以下文章

输入地理坐标,返回输入坐标 x 英里内的坐标 - C# .NET

如何在地理名称和地理编码器 api 中动态生成边界框

如何将地理坐标转化为矢量边界信息

Max Mind 地理定位异常

PHP MySql 和地理位置

确定地理点是不是在州边界的 X 米内(使用 shapefile 获取边界数据)