|
|
|
@ -119,10 +119,8 @@ public class BasFlightService {
|
|
|
|
|
String idntfNum = arcrftModelList.get(i).getIdntfNum(); |
|
|
|
|
int size = fltPlanQueryRepository.arcrftCheck(rq, idntfNum).size(); |
|
|
|
|
if( size != 0) { |
|
|
|
|
System.out.println("비행계획일자 중복 오류 : " + fltPlanQueryRepository.arcrftCheck(rq, idntfNum) + "식별번호 : "+ idntfNum); |
|
|
|
|
return false; |
|
|
|
|
}else { |
|
|
|
|
log.info(">>> 비행계획일자에 중복된 데이터가 없습니다.", ""); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
List<Coordinate> coordList = new ArrayList<>(); |
|
|
|
@ -153,36 +151,27 @@ public class BasFlightService {
|
|
|
|
|
if("POLYGON".equals(type)) { |
|
|
|
|
coord = new Coordinate(rq.getAreaList().get(i).getCoordList().get(0).getLon(),rq.getAreaList().get(i).getCoordList().get(0).getLat()); |
|
|
|
|
coordList.add(coord); |
|
|
|
|
System.out.println("POLYGON COORDS : " + coordList); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
System.out.println("---------분기점1---------"); |
|
|
|
|
List<Coordinate> transCoordList = areaUtils.transform(coordList, "EPSG:4326", "EPSG:5181"); |
|
|
|
|
if("LINE".equals(type)){ |
|
|
|
|
System.out.println("LINE"); |
|
|
|
|
bufferCoord = areaUtils.buffer(transCoordList, bufferZone); |
|
|
|
|
} |
|
|
|
|
if("CIRCLE".equals(type)) { |
|
|
|
|
System.out.println("CIRCLE"); |
|
|
|
|
bufferCoord = areaUtils.createCircle(coord, bufferZone); |
|
|
|
|
System.out.println("CIRCLE COORD : " + bufferCoord); |
|
|
|
|
} |
|
|
|
|
if("POLYGON".equals(type)) { |
|
|
|
|
System.out.println("POLYGON"); |
|
|
|
|
Polygon polygon = geometryFactory.createPolygon(coordList.toArray(new Coordinate[] {})); |
|
|
|
|
Coordinate[] coords = polygon.getCoordinates(); |
|
|
|
|
bufferCoord.addAll(Arrays.asList(coords)); |
|
|
|
|
} |
|
|
|
|
List<Coordinate> reverseBufferList = areaUtils.transform(bufferCoord, "EPSG:5181","EPSG:4326"); |
|
|
|
|
System.out.println("rq 버퍼리스트 : " + reverseBufferList); |
|
|
|
|
int k=0; |
|
|
|
|
for(int i = 0; i<queryCount.size(); i++) { |
|
|
|
|
List<Coordinate> queryBufferCoord = new ArrayList<>(); |
|
|
|
|
List<Coordinate> queryCoordList = new ArrayList<>(); |
|
|
|
|
queryType = queryCount.get(i).getAreaType(); |
|
|
|
|
queryBufferZone = queryCount.get(i).getBufferZone(); |
|
|
|
|
System.out.println(queryList); |
|
|
|
|
System.out.println(">>>>>" + queryType); |
|
|
|
|
|
|
|
|
|
for(int j=0; j< queryCount.get(i).getCnt(); j++) { |
|
|
|
|
Double lat = queryList.get(k).getLat(); |
|
|
|
@ -195,17 +184,14 @@ public class BasFlightService {
|
|
|
|
|
List<Coordinate> transQueryCoordList = areaUtils.transform(queryCoordList, "EPSG:4326", "EPSG:5181"); |
|
|
|
|
|
|
|
|
|
if("LINE".equals(queryType)){ |
|
|
|
|
System.out.println("QUERYLINE"); |
|
|
|
|
queryBufferCoord = areaUtils.buffer(transQueryCoordList, queryBufferZone); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
if("CIRCLE".equals(queryType)) { |
|
|
|
|
System.out.println("QUERYCIRCLE"); |
|
|
|
|
queryBufferCoord = areaUtils.createCircle(queryCoord, queryBufferZone); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
if("POLYGON".equals(queryType)) { |
|
|
|
|
System.out.println("QUERYPOLYGON"); |
|
|
|
|
queryCoord = new Coordinate(queryCoordList.get(0).getX(),queryCoordList.get(0).getY()); |
|
|
|
|
queryCoordList.add(queryCoord); |
|
|
|
|
Polygon polygon = geometryFactory.createPolygon(queryCoordList.toArray(new Coordinate[] {})); |
|
|
|
@ -213,7 +199,6 @@ public class BasFlightService {
|
|
|
|
|
queryBufferCoord.addAll(Arrays.asList(coords)); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
System.out.println("---------분기점2---------"); |
|
|
|
|
|
|
|
|
|
List<Coordinate> reverseQueryBufferList = areaUtils.transform(queryBufferCoord, "EPSG:5181","EPSG:4326"); |
|
|
|
|
queryCoord = new Coordinate(reverseQueryBufferList.get(0).getX(),reverseQueryBufferList.get(0).getY()); |
|
|
|
@ -236,13 +221,11 @@ public class BasFlightService {
|
|
|
|
|
queryPoly = queryBufferCoord.toArray(new Coordinate[] {}); |
|
|
|
|
} |
|
|
|
|
for(Coordinate co : rqPoly) { |
|
|
|
|
System.out.println(co.x + "," + co.y); |
|
|
|
|
Coordinate coo = new Coordinate(co.x , co.y); |
|
|
|
|
rqCooCheck.add(coo); |
|
|
|
|
} |
|
|
|
|
System.out.println("ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ"); |
|
|
|
|
for(Coordinate co : queryPoly) { |
|
|
|
|
System.out.println(co.x + "," + co.y); |
|
|
|
|
Coordinate coo = new Coordinate(co.x , co.y); |
|
|
|
|
queryCooCheck.add(coo); |
|
|
|
|
} |
|
|
|
@ -267,13 +250,9 @@ public class BasFlightService {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(check == true || checks == true || rqContains == true || queryContains == true) { |
|
|
|
|
System.out.println("설정한 시간 내에 중복된 비행구역이 존재합니다."); |
|
|
|
|
return false; |
|
|
|
|
}else { |
|
|
|
|
System.out.println(i + "번째 리스트에는 중복된 비행구역이 존재하지 않습니다."); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
System.out.println("중복된 비행구역이 존재하지 않습니다. 비행계획서를 생성합니다."); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//비행계획서
|
|
|
|
|