1

我有一个List<List<Double>>(example list) 的形式[[1,2], [3,4], [5,6], [7,8], ...]。这些基本上是纬度和经度列表,我想计算它们之间的距离。我有接受的距离计算方法(Lat1, Lon1, Lat2, Lon2)

即它在第一次迭代中从上面的列表中获取 (1, 2, 3, 4) 并计算距离。在下一次迭代中,我需要通过 (3,4,5,6) 等等。然后我可以将所有迭代的距离相加来计算总距离。

所以我写了这个方法,它接受 4 个值。我在开发for循环时遇到问题,该循环会将正确的值传递给计算距离的方法。

4

1 回答 1

2

你可以试试:

List<List<Double>> locations = ...
double totalDistance = 0;
for (int i = 0; i + 1 < locations.size(); i++) {
    List<Double> a = locations.get(i);
    List<Double> b = locations.get(i + 1);
    totalDistance += calcDistance(a, b);
}

calcDistance()可以是计算您提到的两个位置之间的距离的方法。

于 2013-03-13T00:44:36.183 回答