用于在数组中添加坐标的循环结构
Loop structure for adding up coordinates in an array
我有一个包含坐标的数组,我想将它们相加以确定总距离(不仅仅是从 A 点到 B 点)。
我的数组结构为 latitude1、longitude1、latitude2、longitude2 等等。
我必须编写代码才能实际计算出距离(如下所示),但不知道如何执行获取坐标所需的循环。
function distance(lat1, lon1, lat2, lon2) {
var R = 6371;
var a =
0.5 - Math.cos((lat2 - lat1) * Math.PI / 180)/2 +
Math.cos(lat1 * Math.PI / 180) * Math.cos(lat2 * Math.PI / 180) *
(1 - Math.cos((lon2 - lon1) * Math.PI / 180))/2;
return R * 2 * Math.asin(Math.sqrt(a));
}
循环应该怎么做?
谢谢。
有几种方法,我会这样做:
int sum(int[] array) {
int sum = 0;
for(int i = 0; i < array.size(); i++) {
sum += distance(array[i], array[i+1], array[i+2], array[i+3]);
i +=4;
}
return sum;
}
我有一个包含坐标的数组,我想将它们相加以确定总距离(不仅仅是从 A 点到 B 点)。
我的数组结构为 latitude1、longitude1、latitude2、longitude2 等等。
我必须编写代码才能实际计算出距离(如下所示),但不知道如何执行获取坐标所需的循环。
function distance(lat1, lon1, lat2, lon2) {
var R = 6371;
var a =
0.5 - Math.cos((lat2 - lat1) * Math.PI / 180)/2 +
Math.cos(lat1 * Math.PI / 180) * Math.cos(lat2 * Math.PI / 180) *
(1 - Math.cos((lon2 - lon1) * Math.PI / 180))/2;
return R * 2 * Math.asin(Math.sqrt(a));
}
循环应该怎么做?
谢谢。
有几种方法,我会这样做:
int sum(int[] array) {
int sum = 0;
for(int i = 0; i < array.size(); i++) {
sum += distance(array[i], array[i+1], array[i+2], array[i+3]);
i +=4;
}
return sum;
}