Я пытаюсь вычислить расстояние между двумя точками, используя формулу Хаверсин, однако я пытаюсь сделать это несколько раз для каждой координаты долготы и широты, которые у меня есть. Важно знать, что я беру эти координаты из файла Json, где есть примерно 200 координат x / y. Я использовал синтаксический анализатор JSON для анализа файла и сбора данных x / y. Что я хочу знать, так это как я могу использовать формулу haversine для прохождения всех собранных мною данных и отображения отдельных расстояний для каждого набора координат.
Также важно упомянуть, что собранные данные не хранятся в массиве, они просто выводятся на консоль. Мне интересно, нужно ли мне начинать с добавления собранных координат в массив, чтобы l oop формула haversine через собранные данные. Если это так, как бы я go сделал это.
Чтобы упростить: мне нужно знать, как сохранить собранные координаты в массиве. Мне нужно знать, как заставить формулу haversine проходить через массив и отображать расстояние для каждого набора координат.
Ниже приведен мой код, извините, если что-то не так, я новичок в Java , Любая помощь в моей ситуации очень ценится, спасибо.
package geolocator;
import com.kingaspx.util.BrowserUtil;
import com.kingaspx.version.Version;
import com.teamdev.jxbrowser.chromium.Browser;
import com.teamdev.jxbrowser.chromium.events.ConsoleEvent;
import com.teamdev.jxbrowser.chromium.events.FinishLoadingEvent;
import com.teamdev.jxbrowser.chromium.events.LoadAdapter;
import com.teamdev.jxbrowser.chromium.events.TitleEvent;
import com.teamdev.jxbrowser.chromium.swing.BrowserView;
import java.awt.BorderLayout;
import java.io.File;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public static void main(String args[]) {
locationparser();
}
public static void locationparser () {
@SuppressWarnings("unchecked")
//json parser objects to parse read file
JSONParser jsonParser = new JSONParser();
try (FileReader reader = new FileReader(new File("C:\\Users\\JordanNaylor\\Documents\\NetBeansProjects\\GoogleMapUI\\map.json")))
{
//read JSON file
Object obj = jsonParser.parse(reader);
JSONArray locationlist = (JSONArray) obj;
System.out.println(locationlist);
//Iterate over location array
locationlist.forEach( emp -> parseLocationObject( (JSONObject) emp ));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
}
File file = new File(".");
for(String fileNames : file.list()) System.out.println(fileNames);
}
private static void parseLocationObject (JSONObject Location) {
//Get Location object within list
JSONObject LocationObject = (JSONObject) Location;
//get x
Double X = (Double)
LocationObject.get("X");
System.out.println(X);
//get Y
Double Y = (Double)
LocationObject.get("Y");
System.out.println(Y);
String time = (String)
LocationObject.get("time");
System.out.println(time);
}