년도별 타일 API
This commit is contained in:
@@ -297,4 +297,8 @@ public class MapLayerCoreService {
|
||||
public List<LayerMapDto> findLayerMapList(String type) {
|
||||
return mapLayerRepository.findLayerMapList(type);
|
||||
}
|
||||
|
||||
public LayerDto.YearTileDto getChangeDetectionTileUrl(Integer beforeYear, Integer afterYear) {
|
||||
return mapLayerRepository.getChangeDetectionTileUrl(beforeYear, afterYear);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,4 +19,6 @@ public interface MapLayerRepositoryCustom {
|
||||
List<MapLayerEntity> findAllByUuidIn(Collection<UUID> uuids);
|
||||
|
||||
List<LayerMapDto> findLayerMapList(String type);
|
||||
|
||||
LayerDto.YearTileDto getChangeDetectionTileUrl(Integer beforeYear, Integer afterYear);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.kamco.cd.kamcoback.postgres.repository.layer;
|
||||
|
||||
import static com.kamco.cd.kamcoback.postgres.entity.QMapLayerEntity.mapLayerEntity;
|
||||
import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetMngTileEntity.mapSheetMngTileEntity;
|
||||
|
||||
import com.kamco.cd.kamcoback.layer.dto.LayerDto;
|
||||
import com.kamco.cd.kamcoback.layer.dto.LayerDto.LayerMapDto;
|
||||
@@ -118,6 +119,59 @@ public class MapLayerRepositoryImpl implements MapLayerRepositoryCustom {
|
||||
.fetch();
|
||||
}
|
||||
|
||||
@Override
|
||||
public LayerDto.YearTileDto getChangeDetectionTileUrl(Integer beforeYear, Integer afterYear) {
|
||||
LayerDto.TileUrlDto before =
|
||||
queryFactory
|
||||
.select(
|
||||
Projections.constructor(
|
||||
LayerDto.TileUrlDto.class,
|
||||
mapSheetMngTileEntity.mngYyyy,
|
||||
mapSheetMngTileEntity.tag,
|
||||
mapSheetMngTileEntity.url,
|
||||
mapSheetMngTileEntity.minLon,
|
||||
mapSheetMngTileEntity.minLat,
|
||||
mapSheetMngTileEntity.maxLon,
|
||||
mapSheetMngTileEntity.maxLat,
|
||||
mapSheetMngTileEntity.minZoom,
|
||||
mapSheetMngTileEntity.maxZoom,
|
||||
Expressions.stringTemplate(
|
||||
"ST_AsGeoJSON(ST_MakeEnvelope({0}, {1}, {2}, {3}, 4326))",
|
||||
mapSheetMngTileEntity.minLon,
|
||||
mapSheetMngTileEntity.minLat,
|
||||
mapSheetMngTileEntity.maxLon,
|
||||
mapSheetMngTileEntity.maxLat)))
|
||||
.from(mapSheetMngTileEntity)
|
||||
.where(mapSheetMngTileEntity.mngYyyy.eq(beforeYear))
|
||||
.fetchOne();
|
||||
|
||||
LayerDto.TileUrlDto after =
|
||||
queryFactory
|
||||
.select(
|
||||
Projections.constructor(
|
||||
LayerDto.TileUrlDto.class,
|
||||
mapSheetMngTileEntity.mngYyyy,
|
||||
mapSheetMngTileEntity.tag,
|
||||
mapSheetMngTileEntity.url,
|
||||
mapSheetMngTileEntity.minLon,
|
||||
mapSheetMngTileEntity.minLat,
|
||||
mapSheetMngTileEntity.maxLon,
|
||||
mapSheetMngTileEntity.maxLat,
|
||||
mapSheetMngTileEntity.minZoom,
|
||||
mapSheetMngTileEntity.maxZoom,
|
||||
Expressions.stringTemplate(
|
||||
"ST_AsGeoJSON(ST_MakeEnvelope({0}, {1}, {2}, {3}, 4326))",
|
||||
mapSheetMngTileEntity.minLon,
|
||||
mapSheetMngTileEntity.minLat,
|
||||
mapSheetMngTileEntity.maxLon,
|
||||
mapSheetMngTileEntity.maxLat)))
|
||||
.from(mapSheetMngTileEntity)
|
||||
.where(mapSheetMngTileEntity.mngYyyy.eq(afterYear))
|
||||
.fetchOne();
|
||||
|
||||
return new LayerDto.YearTileDto(before, after);
|
||||
}
|
||||
|
||||
private BooleanExpression layerTypeCondition(String type) {
|
||||
return type.equals("change-detection")
|
||||
? mapLayerEntity.isChangeMap.isTrue()
|
||||
|
||||
Reference in New Issue
Block a user