Pro*_*eus 5 math coldfusion coldfusion-9
我找不到任何关于Haversine公式的CF的例子(用于计算球体上两个点之间距离的经度和纬度的公式).
维基百科有其他语言的例子(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;
}
Run Code Online (Sandbox Code Playgroud)