【问题标题】:For given distance (In Miles )and Latitude longitude Calculate bounding box对于给定的距离(以英里为单位)和纬度经度计算边界框
【发布时间】:2021-03-15 21:27:44
【问题描述】:

我有要求计算给定纬度和经度以及距离的边界框。

距离也可以以英里、米和英尺为单位。

我找到了很多关于如何以公里为单位计算边界框的文章,但不适用于英里、米和英尺。谁能帮我计算英里、米和英尺。

此线程有 KM 中的信息 How to calculate the bounding box for a given lat/lng location?

Javascript 或 C# 代码也可以。

寻找更简单的公式,因为我们将在 PowerApps 中实现它。

任何帮助将不胜感激。

【问题讨论】:

    标签: javascript c# canvas dynamics-crm powerapps


    【解决方案1】:

    您也可以在 Power Apps 中实现该复杂公式 - 请参阅下面的示例,该示例是您链接帖子的第一个答案的翻译。这假定纬度、经度和半长(以千米为单位)的值分别位于名为 txtLat、txtLong、txtHalfSideKm 的文本输入控件中。

    Set(
        bounds,
        With(
            {
                WGS84_a: 6378137.0, // Major semiaxis [m]
                WGS84_b: 6356752.3, // Minor semiaxis [m]
                lat: Radians(Value(txtLat.Text)), lon: Radians(Value(txtLon.Text)),
                halfSideMeters: Value(txtHalfSideKm.Text) * 1000
            },
            With(
                {
                    An: WGS84_a * WGS84_a * Cos(lat), Bn: WGS84_b * WGS84_b * Sin(lat),
                    Ad: WGS84_a * Cos(lat), Bd: WGS84_b * Sin(lat)
                },
                With(
                    { Radius: Sqrt( (An*An + Bn*Bn) / (Ad*Ad + Bd*Bd) ) },
                    With(
                        { pRadius: Radius * Cos(lat) },
                        {
                            latMin: Degrees(lat - halfSideMeters / Radius),
                            latMax: Degrees(lat + halfSideMeters / Radius),
                            lonMin: Degrees(lon - halfSideMeters / pRadius),
                            lonMax: Degrees(lon + halfSideMeters / pRadius)
                        }
                    )
                )
            )
        )
    )
    

    如果您希望将半边换成其他单位,您唯一需要更改的地方就是 halfSideMeters 的定义 - 您需要使用适当的转换。

    【讨论】:

    • 感谢您的回复,问题是我们不知道适合英尺和其他人的边界框转换。这些 WGS84_a: 6378137.0, WGS84_b: 6356752.3 的值是多少。能否请您详细说明。
    • 这些是以米为单位的值;边界框以纬度/经度坐标给出;如果要以英尺为单位指定 halfSide 距离,则需要将其转换为米(在上面的示例中,距离以公里为单位,转换为米我们乘以 1000;如果以英尺为单位,则除以 0.3044 或类似的东西)
    猜你喜欢
    • 1970-01-01
    • 2010-12-13
    • 2010-09-19
    • 2020-05-04
    • 2021-08-21
    • 1970-01-01
    • 2014-08-29
    • 1970-01-01
    • 2010-12-11
    相关资源
    最近更新 更多