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 ...@@ -37,10 +37,11 @@ public class PlacesCoordinatesRepositoryJDBC implements PlacesCoordinatesReposit
rs.getString("townName"), rs.getString("townName"),
rs.getString("townCentreCoordsLat"), rs.getString("townCentreCoordsLat"),
rs.getString("townCentreCoordsLong"), rs.getString("townCentreCoordsLong"),
rs.getString("ownLeftmostCoordsLat"), rs.getString("townUppermostCoordsLat"),
rs.getString("townRightmostCoordsLat"), rs.getString("townLowermostCoordsLat"),
rs.getString("townUppermostCoordsLong"), rs.getString("townLeftmostCoordsLong"),
rs.getString("townLowermostCoordsLong") rs.getString("townRightmostCoordsLong")
); );
} }
...@@ -65,9 +66,9 @@ public class PlacesCoordinatesRepositoryJDBC implements PlacesCoordinatesReposit ...@@ -65,9 +66,9 @@ public class PlacesCoordinatesRepositoryJDBC implements PlacesCoordinatesReposit
} }
@Override @Override
public void addTownWithCoords(TownWithTrails town) { 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 ...@@ -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); PlacesCoordinatesRepositoryJDBC jbdcsecond = new PlacesCoordinatesRepositoryJDBC(jdbc);
List<TownWithTrails> allTowns = jbdcsecond.getAllTownCoords(); List<TownWithTrails> allTowns = jbdcsecond.getAllTownCoords();
for (TownWithTrails town : allTowns){ for (TownWithTrails town : allTowns){
if (Objects.equals(townName, town.getTownName())){ if (Objects.equals(townName, town.getTownName())){
// check lon within boundaries // 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;} 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 // 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); LocationsCoordinates jdbcTemp= new LocationsCoordinates(jdbc);
List<Location> unapprovedLocations = jdbcTemp.getFullUnapprovedLocations(jdbc); List<Location> unapprovedLocations = jdbcTemp.getFullUnapprovedLocations(jdbc);
List<Location> allLocations = jdbcTemp.getFullListLocations(jdbc);
PlacesCoordinatesRepositoryJDBC jbdcsecond = new PlacesCoordinatesRepositoryJDBC(jdbc); PlacesCoordinatesRepositoryJDBC jbdcsecond = new PlacesCoordinatesRepositoryJDBC(jdbc);
List<TownWithTrails> allTowns = jbdcsecond.getAllTownCoords(); 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 for (int i=0; i<unapprovedLocations.size();i++){ // check if location exists
if (Objects.equals(unapprovedLocations.get(i).getLocationName(), locationsName)){ if (Objects.equals(unapprovedLocations.get(i).getLocationName(), locationsName)){
unapporvedLocationsListIndex =i; unapporvedLocationsListIndex =i;
...@@ -107,9 +142,21 @@ public class PlacesCoordinatesRepositoryJDBC implements PlacesCoordinatesReposit ...@@ -107,9 +142,21 @@ public class PlacesCoordinatesRepositoryJDBC implements PlacesCoordinatesReposit
} else if(!Objects.equals(unapprovedLocations.get(i).getLocationPlace(), locationsName)){ } else if(!Objects.equals(unapprovedLocations.get(i).getLocationPlace(), locationsName)){
System.out.println("Error, location is not valid, please check your spelling or locations table."); System.out.println("Error, location is not valid, please check your spelling or locations table.");
return; 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){ // for (TownWithTrails town : allTowns){
// if (Objects.equals(toBeApprovedLocationTown, town.getTownName())){ // if (Objects.equals(toBeApprovedLocationTown, town.getTownName())){
......
...@@ -5,10 +5,10 @@ public class TownWithTrails { ...@@ -5,10 +5,10 @@ public class TownWithTrails {
private String townName; private String townName;
private String townCentreCoordsLat; private String townCentreCoordsLat;
private String townCentreCoordsLong; private String townCentreCoordsLong;
private String townLeftmostCoordsLat; private String townUppermostCoordsLat;
private String townRightmostCoordsLat; private String townLowermostCoordsLat;
private String townUppermostCoordsLong; private String townLeftmostCoordsLong;
private String townLowermostCoordsLong; private String townRightmostCoordsLong;
public String getTownName() { public String getTownName() {
return townName; return townName;
...@@ -22,29 +22,30 @@ public class TownWithTrails { ...@@ -22,29 +22,30 @@ public class TownWithTrails {
return townCentreCoordsLong; return townCentreCoordsLong;
} }
public String getTownLeftmostCoordsLat() { public String getTownUppermostCoordsLat() {
return townLeftmostCoordsLat; return townUppermostCoordsLat;
} }
public String getTownRightmostCoordsLat() { public String getTownLowermostCoordsLat() {
return townRightmostCoordsLat; return townLowermostCoordsLat;
} }
public String getTownUppermostCoordsLong() { public String getTownLeftmostCoordsLong() {
return townUppermostCoordsLong; return townLeftmostCoordsLong;
} }
public String getTownLowermostCoordsLong() { public String getTownRightmostCoordsLong() {
return townLowermostCoordsLong; 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.townName = townName;
this.townCentreCoordsLat = townCentreCoordsLat; this.townCentreCoordsLat = townCentreCoordsLat;
this.townCentreCoordsLong = townCentreCoordsLong; this.townCentreCoordsLong = townCentreCoordsLong;
this.townLeftmostCoordsLat = townLeftmostCoordsLat; this.townUppermostCoordsLat = townUppermostCoordsLat;
this.townRightmostCoordsLat = townRightmostCoordsLat; this.townLowermostCoordsLat = townLowermostCoordsLat;
this.townUppermostCoordsLong = townUppermostCoordsLong; this.townLeftmostCoordsLong = townLeftmostCoordsLong;
this.townLowermostCoordsLong = townLowermostCoordsLong; this.townRightmostCoordsLong = townRightmostCoordsLong;
} }
} }
...@@ -78,8 +78,17 @@ insert into locationCoordinates(locationID, locationCoordsLat, locationCoordsLon ...@@ -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, 1);
# insert into stickerprogress (userID, packID, stickerID) value (1, 2, 3); # insert into stickerprogress (userID, packID, stickerID) value (1, 2, 3);
delete from townsWithTrails; delete from townsWithTrails; 'Caerphilly', '-3.22075','51.57903',,'-3.24597','-3.22496','51.57224','51.58856');
# 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, townCentreCoordsLong, townCentreCoordsLat, townLeftmostCoordsLong, townRightmostCoordsLong, townUppermostCoordsLat, townLowermostCoordsLat) 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, townCentreCoordsLong, townCentreCoordsLat, townLeftmostCoordsLong, townRightmostCoordsLong, townUppermostCoordsLat, townLowermostCoordsLat) value ('Risca','51.61155','-3.10170','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'); # insert into townsWithTrails (townName, townCentreCoordsLong, townCentreCoordsLat, townLeftmostCoordsLong, townRightmostCoordsLong, townUppermostCoordsLat, townLowermostCoordsLat) value ('Penarth','51.43893','-3.17354','51.34750','51.44365','-3.18830','-3.18187');
\ No newline at end of file #
#
# 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