노승철
2 years ago
7 changed files with 139 additions and 10 deletions
@ -0,0 +1,15 @@
|
||||
package com.palnet.biz.api.bas.flight.model; |
||||
|
||||
import lombok.Data; |
||||
|
||||
import java.util.List; |
||||
|
||||
@Data |
||||
public class BasFlightPlanAreaBufferModel { |
||||
|
||||
|
||||
private Integer bufferZone; // 반경
|
||||
private List<BasFlightPlanAreaCoordModel> coordList; // 기초 좌표
|
||||
private List<BasFlightPlanAreaCoordModel> bufferCoordList; // 버퍼 좌표
|
||||
|
||||
} |
@ -0,0 +1,47 @@
|
||||
package com.palnet.comn.utils; |
||||
|
||||
import com.palnet.biz.api.bas.flight.model.BasFlightPlanAreaCoordModel; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.locationtech.jts.geom.*; |
||||
import org.locationtech.jts.operation.buffer.BufferParameters; |
||||
import org.springframework.stereotype.Component; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.Arrays; |
||||
import java.util.List; |
||||
|
||||
@Component |
||||
@Slf4j |
||||
public class AreaUtils { |
||||
|
||||
public List<Coordinate> buffer(List<Coordinate> coordList, Integer bufferZone) { |
||||
List<Coordinate> bufferList = new ArrayList<>(); |
||||
|
||||
GeometryFactory geometryFactory = new GeometryFactory(); |
||||
LineString line = new GeometryFactory().createLineString(coordList.toArray(new Coordinate[] {})); |
||||
|
||||
Geometry geometry = geometryFactory.createGeometry(line); |
||||
int cap = BufferParameters.CAP_SQUARE; |
||||
Geometry buffer = geometry.buffer(bufferZone,20,cap); |
||||
|
||||
Coordinate[] coords = buffer.getCoordinates(); |
||||
|
||||
bufferList.addAll(Arrays.asList(coords)); |
||||
|
||||
return bufferList; |
||||
} |
||||
|
||||
public List<Coordinate> convertCoordinates(List<BasFlightPlanAreaCoordModel> coordList) { |
||||
|
||||
List<Coordinate> convertCoordList = new ArrayList<>(); |
||||
|
||||
for(BasFlightPlanAreaCoordModel coord : coordList) { |
||||
Coordinate coordinate = new Coordinate(coord.getLon(), coord.getLat()); |
||||
|
||||
convertCoordList.add(coordinate); |
||||
} |
||||
|
||||
return convertCoordList; |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue