Как вы oop формула haversine через массив координат, взятых из файла JSON? - PullRequest
0 голосов
/ 12 апреля 2020

Я пытаюсь вычислить расстояние между двумя точками, используя формулу Хаверсин, однако я пытаюсь сделать это несколько раз для каждой координаты долготы и широты, которые у меня есть. Важно знать, что я беру эти координаты из файла 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...