This commit is contained in:
YaFedImYaEatIm
2016-09-18 13:35:18 +12:00
6 changed files with 157 additions and 3 deletions
@@ -7,7 +7,8 @@ public enum SceneCode {
INITIAL(""), AIRLINE_SUMMARY("airline_summary.fxml"), AIRLINE_RAW_DATA("airline_raw_data.fxml"),
AIRPORT_SUMMARY("airport_summary.fxml"), AIRPORT_RAW_DATA("airport_raw_data.fxml"),
ROUTE_SUMMARY("routes_summary.fxml"), ROUTE_RAW_DATA("route_raw_data.fxml"), FLIGHT_SUMMARY("flight_data_summary.fxml"),
FLIGHT_RAW_DATA("flight_raw_data.fxml"), AIRPORT_ANALYSER("airport_analyser.fxml"), ROUTE_ANALYSER("route_analyser.fxml");
FLIGHT_RAW_DATA("flight_raw_data.fxml"), AIRPORT_ANALYSER("airport_analyser.fxml"), ROUTE_ANALYSER("route_analyser.fxml"),
AIRPORT_DIST_CALC("airport_dist_calc.fxml");
private String filePath;
@@ -374,7 +374,7 @@ public class Airport {
*/
public double calculateDistance(Airport airport){
double distance = 0;
double dLong = this.longitude - airport.getLatitude();
double dLong = this.longitude - airport.getLongitude();
double dLat = this.latitude - airport.getLatitude();
double a = Math.pow((Math.sin(dLat/2)), 2) + Math.cos(this.latitude) * Math.cos(airport.getLatitude()) * Math.pow(Math.sin(dLong/2), 2);
double c = a * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
@@ -0,0 +1,63 @@
package seng202.group9.GUI;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
import javafx.fxml.FXML;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.Label;
import javafx.scene.control.ListView;
import javafx.scene.text.Text;
import seng202.group9.Controller.Dataset;
import seng202.group9.Core.Airport;
import seng202.group9.Controller.App;
import seng202.group9.Controller.Dataset;
import seng202.group9.Core.Airline;
import java.util.ArrayList;
import java.util.HashMap;
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.chart.*;
import javafx.scene.Group;
/**
* Created by michael on 17/09/2016.
*/
public class DistCalcController extends Controller {
@FXML
ListView<String> airportOne;
@FXML
ListView<String> airportTwo;
@FXML
Label answerBox;
Dataset currentData = null;
HashMap<String, Airport> current_Airports;
SimpleStringProperty bound = new SimpleStringProperty("Answer");
private void fill_boxes(){
HashMap<String, Airport> current_Airports = currentData.getAirportDictionary();
ArrayList<String> names = new ArrayList<String>();
for(String name : current_Airports.keySet()){
names.add(name);
}
ObservableList<String> usablenames = FXCollections.observableArrayList(names);
airportOne.setItems(usablenames);
airportTwo.setItems(usablenames);
}
public void calculateButton(){
Airport airport1 = currentData.getAirports().get((airportOne.getSelectionModel().getSelectedIndices().get(0)));
Airport airport2 = currentData.getAirports().get((airportTwo.getSelectionModel().getSelectedIndices().get(0)));
double distance = airport1.calculateDistance(airport2);
bound.setValue(String.valueOf(Math.round(distance)) + "km");
System.out.println(bound);
}
public void load(){
currentData = getParent().getCurrentDataset();
answerBox.textProperty().bind(bound);
fill_boxes();
}
}
@@ -9,6 +9,7 @@ import javafx.fxml.Initializable;
import javafx.scene.control.Alert;
import seng202.group9.Controller.App;
import seng202.group9.Controller.Dataset;
import seng202.group9.Controller.SceneCode;
public class MenuController extends Controller{
@@ -74,6 +75,8 @@ public class MenuController extends Controller{
//nothing to load
}
public void veiwDistCalc(){replaceSceneContent(SceneCode.AIRPORT_DIST_CALC);}
public void initialize(URL arg0, ResourceBundle arg1) {
// TODO Auto-generated method stub