首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Lat/Lng的电力BI -寻找最接近的位置

基于Lat/Lng的电力BI -寻找最接近的位置
EN

Stack Overflow用户
提问于 2018-06-08 09:19:36
回答 1查看 2.6K关注 0票数 3

我是电力BI和DAX的新手,所以我希望你能帮我。

我有两个没有任何关系的表:表A包含lat/lng和跟踪位置日期。表B包含lat/液化天然气和所有体育场的名称。

我想找到靠近履带位置的最近的体育场。如果可能的话,我也想确认一下,这个位置是否在那个体育场的特定半径内。

任何帮助都非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-08 15:47:45

这里有一个可能的方法:

首先,使用Haversine函数计算最小距离。

将其作为计算列添加到Tracked表中。

代码语言:javascript
复制
Nearest = 
    MINX(Stadiums,
    ROUND(2 * 3959 *
        ASIN(SQRT(
            SIN((Stadiums[Lat] - Tracked[Lat]) * PI()/360)^2 +
            COS(Tracked[Lat] * PI()/180) * COS(Stadiums[Lat] * PI()/180) *
                SIN((Stadiums[Lon] - Tracked[Lon]) * PI()/360)^2)), 1))

在这个公式中,3959是以英里为单位的地球半径。

我们现在可以在距离上找到最近的体育场:

代码语言:javascript
复制
Stadium = CALCULATE(MAX(Stadiums[Stadium]),
              FILTER(Stadiums,
                  ROUND(2 * 3959 *
                      ASIN(SQRT(
                          SIN((Stadiums[Lat] - Tracked[Lat]) * PI()/360)^2 +
                          COS(Tracked[Lat] * PI()/180) * COS(Stadiums[Lat] * PI()/180) *
                          SIN((Stadiums[Lon] - Tracked[Lon]) * PI()/360)^2)), 1)
                  = Tracked[Nearest]))

注意事项:我舍入了这些值,以避免可能出现的浮点错误不匹配。这可能是必要的,也可能不是必要的。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50757321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档