Skip to content
Snippets Groups Projects
Commit 8df335d5 authored by Rhys Evans's avatar Rhys Evans
Browse files

Further work on inserting approved locations with appropriate coords

parent fcbd20ab
No related branches found
No related tags found
1 merge request!30Resolve "As a user I would like to see a map of the landmarks, so that I can figure out where to go"
......@@ -37,10 +37,11 @@ public class PlacesCoordinatesRepositoryJDBC implements PlacesCoordinatesReposit
rs.getString("townName"),
rs.getString("townCentreCoordsLat"),
rs.getString("townCentreCoordsLong"),
rs.getString("ownLeftmostCoordsLat"),
rs.getString("townRightmostCoordsLat"),
rs.getString("townUppermostCoordsLong"),
rs.getString("townLowermostCoordsLong")
rs.getString("townUppermostCoordsLat"),
rs.getString("townLowermostCoordsLat"),
rs.getString("townLeftmostCoordsLong"),
rs.getString("townRightmostCoordsLong")
);
}
......@@ -65,9 +66,9 @@ public class PlacesCoordinatesRepositoryJDBC implements PlacesCoordinatesReposit
}
@Override
public void addTownWithCoords(TownWithTrails town) {
String sql = "insert into townswithtrails(townName,townCentreCoordsLat,townCentreCoordsLong,townLeftmostCoordsLat,townRightmostCoordsLat,townUppermostCoordsLong,townLowermostCoordsLong) values (?,?,?,?,?,?,?)";
String sql = "insert into townswithtrails(townName,townCentreCoordsLat,townCentreCoordsLong,townUppermostCoordsLat,townLowermostCoordsLat,townLeftmostCoordsLong,townRightmostCoordsLong) values (?,?,?,?,?,?,?)";
jdbc.update(sql,town.getTownName(),town.getTownCentreCoordsLong(),town.getTownCentreCoordsLong(),town.getTownLeftmostCoordsLat(),town.getTownRightmostCoordsLat(),town.getTownUppermostCoordsLong(),town.getTownLowermostCoordsLong());
jdbc.update(sql,town.getTownName(),town.getTownCentreCoordsLong(),town.getTownCentreCoordsLong(),town.getTownUppermostCoordsLat(),town.getTownLowermostCoordsLat(),town.getTownLeftmostCoordsLong(),town.getTownRightmostCoordsLong());
}
......@@ -77,29 +78,63 @@ public class PlacesCoordinatesRepositoryJDBC implements PlacesCoordinatesReposit
}
public boolean checkInputtedCoordsMatchTown(String inpLongCoords, String inpLatCoords, String townName){
public boolean checkInputtedCoordsMatchTown(String inpLatCoords, String inpLongCoords, String townName){
PlacesCoordinatesRepositoryJDBC jbdcsecond = new PlacesCoordinatesRepositoryJDBC(jdbc);
List<TownWithTrails> allTowns = jbdcsecond.getAllTownCoords();
for (TownWithTrails town : allTowns){
if (Objects.equals(townName, town.getTownName())){
// check lon within boundaries
// if ((inpLongCoords))
// convert values to doubles
double inpLat=Double.parseDouble(inpLatCoords);
double inpLong=Double.parseDouble(inpLongCoords);
double townBoundaryLatUppermost=Double.parseDouble(town.getTownUppermostCoordsLat());
double townBoundaryLatLowermost=Double.parseDouble(town.getTownLowermostCoordsLat());
double townBoundaryLongLeftmost=Double.parseDouble(town.getTownLeftmostCoordsLong());
double townBoundaryLongRightmost=Double.parseDouble(town.getTownRightmostCoordsLong());
// check coords within respective town boundary (boundary decided by rough google maps red-line)
if ( (inpLat<=townBoundaryLatUppermost)&& (inpLat>=townBoundaryLatLowermost) && (inpLat<=townBoundaryLongLeftmost) && (inpLat<=townBoundaryLongRightmost)){
// location within boundary
return true;
} else{
System.out.println("Location outside town boundary. "); //todo scanner bad idea, add admin override?
return false;
}
}
}
return true;}
int getLocationTableIDValue(List<Location> locations, String locationName){
int index;
for(int i=0;i<locations.size();i++){
if (Objects.equals(locations.get(i).getLocationName(), locationName)){
index = i;
return index;
} else{
return index= Integer.parseInt(null);
}
}
}
// Method used to approve and add locations with associated coordinates. List<Location> unapprovedLocations
public void approveLocationAndAddCoords(String locationsName, String longCoords, String latCoords,JdbcTemplate jdbc) { // need list too
public void approveLocationAndAddCoords(String locationsName, String latCoords, String longCoords,JdbcTemplate jdbc) {
// need list too
LocationsCoordinates jdbcTemp= new LocationsCoordinates(jdbc);
List<Location> unapprovedLocations = jdbcTemp.getFullUnapprovedLocations(jdbc);
List<Location> allLocations = jdbcTemp.getFullListLocations(jdbc);
PlacesCoordinatesRepositoryJDBC jbdcsecond = new PlacesCoordinatesRepositoryJDBC(jdbc);
List<TownWithTrails> allTowns = jbdcsecond.getAllTownCoords();
int unapporvedLocationsListIndex;
int unapporvedLocationsListIndex=99; // initialiose variable to allow after if statement to run todo fix this
for (int i=0; i<unapprovedLocations.size();i++){ // check if location exists
if (Objects.equals(unapprovedLocations.get(i).getLocationName(), locationsName)){
unapporvedLocationsListIndex =i;
......@@ -107,9 +142,21 @@ public class PlacesCoordinatesRepositoryJDBC implements PlacesCoordinatesReposit
} else if(!Objects.equals(unapprovedLocations.get(i).getLocationPlace(), locationsName)){
System.out.println("Error, location is not valid, please check your spelling or locations table.");
return;
}
// String toBeApprovedLocationTown=unapprovedLocations.get(unapporvedLocationsListIndex).getLocationPlace();
String toBeApprovedLocationTown=unapprovedLocations.get(unapporvedLocationsListIndex).getLocationPlace();
int tableLocationIDOfInputtedLocation= getLocationTableIDValue(allLocations, locationsName);
LocationsCoordinates unapprovedLocation= new LocationsCoordinates(tableLocationIDOfInputtedLocation,latCoords, longCoords);
boolean locationWithinTownBoundaries= checkInputtedCoordsMatchTown(latCoords ,longCoords, toBeApprovedLocationTown);
if (locationWithinTownBoundaries){
addLocationCoord(unapprovedLocation);
return;
} else {
return;}
// for (TownWithTrails town : allTowns){
// if (Objects.equals(toBeApprovedLocationTown, town.getTownName())){
......
......@@ -5,10 +5,10 @@ public class TownWithTrails {
private String townName;
private String townCentreCoordsLat;
private String townCentreCoordsLong;
private String townLeftmostCoordsLat;
private String townRightmostCoordsLat;
private String townUppermostCoordsLong;
private String townLowermostCoordsLong;
private String townUppermostCoordsLat;
private String townLowermostCoordsLat;
private String townLeftmostCoordsLong;
private String townRightmostCoordsLong;
public String getTownName() {
return townName;
......@@ -22,29 +22,30 @@ public class TownWithTrails {
return townCentreCoordsLong;
}
public String getTownLeftmostCoordsLat() {
return townLeftmostCoordsLat;
public String getTownUppermostCoordsLat() {
return townUppermostCoordsLat;
}
public String getTownRightmostCoordsLat() {
return townRightmostCoordsLat;
public String getTownLowermostCoordsLat() {
return townLowermostCoordsLat;
}
public String getTownUppermostCoordsLong() {
return townUppermostCoordsLong;
public String getTownLeftmostCoordsLong() {
return townLeftmostCoordsLong;
}
public String getTownLowermostCoordsLong() {
return townLowermostCoordsLong;
public String getTownRightmostCoordsLong() {
return townRightmostCoordsLong;
}
public TownWithTrails(String townName, String townCentreCoordsLat, String townCentreCoordsLong, String townLeftmostCoordsLat, String townRightmostCoordsLat, String townUppermostCoordsLong, String townLowermostCoordsLong) {
public TownWithTrails(String townName, String townCentreCoordsLat, String townCentreCoordsLong, String townUppermostCoordsLat, String townLowermostCoordsLat, String townLeftmostCoordsLong, String townRightmostCoordsLong) {
this.townName = townName;
this.townCentreCoordsLat = townCentreCoordsLat;
this.townCentreCoordsLong = townCentreCoordsLong;
this.townLeftmostCoordsLat = townLeftmostCoordsLat;
this.townRightmostCoordsLat = townRightmostCoordsLat;
this.townUppermostCoordsLong = townUppermostCoordsLong;
this.townLowermostCoordsLong = townLowermostCoordsLong;
this.townUppermostCoordsLat = townUppermostCoordsLat;
this.townLowermostCoordsLat = townLowermostCoordsLat;
this.townLeftmostCoordsLong = townLeftmostCoordsLong;
this.townRightmostCoordsLong = townRightmostCoordsLong;
}
}
......@@ -78,8 +78,17 @@ insert into locationCoordinates(locationID, locationCoordsLat, locationCoordsLon
# insert into stickerprogress (userID, packID, stickerID) value (1, 2, 1);
# insert into stickerprogress (userID, packID, stickerID) value (1, 2, 3);
delete from townsWithTrails;
# LAT=X LONG=Y
insert into townsWithTrails (townName, townCentreCoordsLat, townCentreCoordsLong, townLeftmostCoordsLat, townRightmostCoordsLat, townUppermostCoordsLong, townLowermostCoordsLong) value ('Caerphilly', '51.57903','-3.22075','51.57224','51.58856','-3.24597','-3.22496');
insert into townsWithTrails (townName, townCentreCoordsLat, townCentreCoordsLong, townLeftmostCoordsLat, townRightmostCoordsLat, townUppermostCoordsLong, townLowermostCoordsLong) value ('Risca','51.61195','-3.09648','51.61483','51.60566','-3.09853','-3.09377');
insert into townsWithTrails (townName, townCentreCoordsLat, townCentreCoordsLong, townLeftmostCoordsLat, townRightmostCoordsLat, townUppermostCoordsLong, townLowermostCoordsLong) value ('Penarth','51.43893','-3.17354','51.34750','51.44365','-3.18830','-3.18187');
\ No newline at end of file
delete from townsWithTrails; 'Caerphilly', '-3.22075','51.57903',,'-3.24597','-3.22496','51.57224','51.58856');
# insert into townsWithTrails (townName, townCentreCoordsLong, townCentreCoordsLat, townLeftmostCoordsLong, townRightmostCoordsLong, townUppermostCoordsLat, townLowermostCoordsLat) value ('Caerphilly', '51.57903','-3.22075','51.57224','51.58856','-3.24597','-3.22496');
# insert into townsWithTrails (townName, townCentreCoordsLong, townCentreCoordsLat, townLeftmostCoordsLong, townRightmostCoordsLong, townUppermostCoordsLat, townLowermostCoordsLat) value ('Risca','51.61155','-3.10170','51.61483','51.60566','-3.09853','-3.09377');
# insert into townsWithTrails (townName, townCentreCoordsLong, townCentreCoordsLat, townLeftmostCoordsLong, townRightmostCoordsLong, townUppermostCoordsLat, townLowermostCoordsLat) value ('Penarth','51.43893','-3.17354','51.34750','51.44365','-3.18830','-3.18187');
#
#
# insert into townsWithTrails (townName, townCentreCoordsLat, townCentreCoordsLong, townLeftmostCoordsLat, townRightmostCoordsLat, townUppermostCoordsLong, townLowermostCoordsLong) value ('Caerphilly', '51.57903','-3. ','51.57224','51.58856','-3.24597','-3.22496');
# insert into townsWithTrails (townName, townCentreCoordsLat, townCentreCoordsLong, townLeftmostCoordsLat, townRightmostCoordsLat, townUppermostCoordsLong, townLowermostCoordsLong) value ('Risca','51.61195','-3.09648','51.61483','51.60566','-3.09853','-3.09377');
# insert into townsWithTrails (townName, townCentreCoordsLat, townCentreCoordsLong, townLeftmostCoordsLat, townRightmostCoordsLat, townUppermostCoordsLong, townLowermostCoordsLong) value ('Penarth','51.43893','-3.17354','51.34750','51.44365','-3.18830','-3.18187');
# lat=y=50s long=x=-3.0s
insert into townsWithTrails (townName, townCentreCoordsLat, townCentreCoordsLong, townUppermostCoordsLat, townLowermostCoordsLat, townLeftmostCoordsLong, townRightmostCoordsLong) value ('Caerphilly', '51.57903','-3.22075 ','51.60418','51.55093','-3.25222','-3.17696');
insert into townsWithTrails (townName, townCentreCoordsLat, townCentreCoordsLong, townUppermostCoordsLat, townLowermostCoordsLat, townLeftmostCoordsLong, townRightmostCoordsLong) value ('Risca','51.61195','-3.09648','51.63039','51.59175','-3.12129','-3.06438');
insert into townsWithTrails (townName, townCentreCoordsLat, townCentreCoordsLong, townUppermostCoordsLat, townLowermostCoordsLat, townLeftmostCoordsLong, townRightmostCoordsLong) value ('Penarth','51.43893','-3.17354','51.44878','51.41233','-3.20271','-3.16005');
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment