Math 如何在ColdFusion中编制哈弗森公式

Math 如何在ColdFusion中编制哈弗森公式,math,coldfusion,coldfusion-9,Math,Coldfusion,Coldfusion 9,我在CF中找不到任何哈弗公式的例子(一个计算球体上两点之间的经度和纬度距离的公式) Wikipeda有其他语言的例子(http://en.wikipedia.org/wiki/Haversine_formula)但CF中没有 下面由另一名内部开发人员对CF进行解释,但未经过充分测试。我很想看看其他人是如何在CF中计算的。我也很想就下面的示例获得如何简化的意见 var variables.intEarthRadius = 6371; // in km var local.decRadius

我在CF中找不到任何哈弗公式的例子(一个计算球体上两点之间的经度和纬度距离的公式)

Wikipeda有其他语言的例子(http://en.wikipedia.org/wiki/Haversine_formula)但CF中没有

下面由另一名内部开发人员对CF进行解释,但未经过充分测试。我很想看看其他人是如何在CF中计算的。我也很想就下面的示例获得如何简化的意见

var variables.intEarthRadius = 6371;    // in km

var local.decRadius = arguments.radius / 1000;  // convert radius given in metres to kilometres

var local.latMax = arguments.latitude + degree(local.decRadius / variables.intEarthRadius);
var local.latMin = arguments.latitude - degree(local.decRadius / variables.intEarthRadius);

var local.lngMax = arguments.longitude + degree(local.decRadius / variables.intEarthRadius / cos(radian(arguments.latitude)));
var local.lngMin = arguments.longitude - degree(local.decRadius / variables.intEarthRadius / cos(radian(arguments.latitude)));





private numeric function degree(required numeric radian) hint="I convert radians to degrees." {
        return arguments.radian * 180 / pi();
    }

    private numeric function radian(required numeric degrees) hint="I convert degrees to radians."  {
        return arguments.degrees * pi() / 180;
    }

你看过这个吗


(自从CFLib.org切换到static site generator后,新的URL)

你好,Richard,谢谢,我只是想让我的头脑了解一些事情,就像现在一样痛苦;)看起来很完美。忘了java库吧!createObject(“java”,“java.lang.Math”)更容易站在巨人的肩膀上:-)我写了那个UDF,它只是一个来自以下方面的快速端口: