영상관리 년도별 타일 crs 추가하기
This commit is contained in:
@@ -11,6 +11,7 @@ import com.querydsl.core.BooleanBuilder;
|
||||
import com.querydsl.core.types.Projections;
|
||||
import com.querydsl.core.types.dsl.BooleanExpression;
|
||||
import com.querydsl.core.types.dsl.Expressions;
|
||||
import com.querydsl.core.types.dsl.NumberExpression;
|
||||
import com.querydsl.jpa.impl.JPAQueryFactory;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@@ -92,6 +93,10 @@ public class MapLayerRepositoryImpl implements MapLayerRepositoryCustom {
|
||||
|
||||
@Override
|
||||
public List<LayerMapDto> findLayerMapList(String type) {
|
||||
NumberExpression<Integer> crsInt =
|
||||
Expressions.numberTemplate(
|
||||
Integer.class, "cast(replace({0}, 'EPSG_', '') as integer)", mapLayerEntity.crs);
|
||||
|
||||
return queryFactory
|
||||
.select(
|
||||
Projections.constructor(
|
||||
@@ -107,13 +112,15 @@ public class MapLayerRepositoryImpl implements MapLayerRepositoryCustom {
|
||||
mapLayerEntity.minZoom,
|
||||
mapLayerEntity.maxZoom,
|
||||
Expressions.stringTemplate(
|
||||
"ST_AsGeoJSON(ST_Transform(ST_MakeEnvelope({0}, {1}, {2}, {3}, 4326), 5186))",
|
||||
"ST_AsGeoJSON(ST_Transform(ST_MakeEnvelope({0}, {1}, {2}, {3}, 4326), {4}))",
|
||||
mapLayerEntity.minLon,
|
||||
mapLayerEntity.minLat,
|
||||
mapLayerEntity.maxLon,
|
||||
mapLayerEntity.maxLat),
|
||||
mapLayerEntity.maxLat,
|
||||
crsInt),
|
||||
mapLayerEntity.uuid,
|
||||
Expressions.stringTemplate("cast({0} as text)", mapLayerEntity.rawJson)))
|
||||
Expressions.stringTemplate("cast({0} as text)", mapLayerEntity.rawJson),
|
||||
crsInt))
|
||||
.from(mapLayerEntity)
|
||||
.where(layerTypeCondition(type), mapLayerEntity.isDeleted.isFalse())
|
||||
.orderBy(mapLayerEntity.order.asc())
|
||||
@@ -122,6 +129,10 @@ public class MapLayerRepositoryImpl implements MapLayerRepositoryCustom {
|
||||
|
||||
@Override
|
||||
public LayerDto.YearTileDto getChangeDetectionTileUrl(Integer beforeYear, Integer afterYear) {
|
||||
NumberExpression<Integer> crsInt =
|
||||
Expressions.numberTemplate(
|
||||
Integer.class, "cast(replace({0}, 'EPSG_', '') as integer)", mapSheetMngTileEntity.crs);
|
||||
|
||||
LayerDto.TileUrlDto before =
|
||||
queryFactory
|
||||
.select(
|
||||
@@ -137,11 +148,13 @@ public class MapLayerRepositoryImpl implements MapLayerRepositoryCustom {
|
||||
mapSheetMngTileEntity.minZoom,
|
||||
mapSheetMngTileEntity.maxZoom,
|
||||
Expressions.stringTemplate(
|
||||
"ST_AsGeoJSON(ST_Transform(ST_MakeEnvelope({0}, {1}, {2}, {3}, 4326), 5186))",
|
||||
"ST_AsGeoJSON(ST_Transform(ST_MakeEnvelope({0}, {1}, {2}, {3}, 4326), {4}))",
|
||||
mapSheetMngTileEntity.minLon,
|
||||
mapSheetMngTileEntity.minLat,
|
||||
mapSheetMngTileEntity.maxLon,
|
||||
mapSheetMngTileEntity.maxLat)))
|
||||
mapSheetMngTileEntity.maxLat,
|
||||
crsInt),
|
||||
crsInt))
|
||||
.from(mapSheetMngTileEntity)
|
||||
.where(mapSheetMngTileEntity.mngYyyy.eq(beforeYear))
|
||||
.fetchOne();
|
||||
@@ -161,11 +174,13 @@ public class MapLayerRepositoryImpl implements MapLayerRepositoryCustom {
|
||||
mapSheetMngTileEntity.minZoom,
|
||||
mapSheetMngTileEntity.maxZoom,
|
||||
Expressions.stringTemplate(
|
||||
"ST_AsGeoJSON(ST_Transform(ST_MakeEnvelope({0}, {1}, {2}, {3}, 4326), 5186))",
|
||||
"ST_AsGeoJSON(ST_Transform(ST_MakeEnvelope({0}, {1}, {2}, {3}, 4326), {4}))",
|
||||
mapSheetMngTileEntity.minLon,
|
||||
mapSheetMngTileEntity.minLat,
|
||||
mapSheetMngTileEntity.maxLon,
|
||||
mapSheetMngTileEntity.maxLat)))
|
||||
mapSheetMngTileEntity.maxLat,
|
||||
crsInt),
|
||||
crsInt))
|
||||
.from(mapSheetMngTileEntity)
|
||||
.where(mapSheetMngTileEntity.mngYyyy.eq(afterYear))
|
||||
.fetchOne();
|
||||
@@ -175,6 +190,10 @@ public class MapLayerRepositoryImpl implements MapLayerRepositoryCustom {
|
||||
|
||||
@Override
|
||||
public TileUrlDto getChangeDetectionTileOneYearUrl(Integer year) {
|
||||
NumberExpression<Integer> crsInt =
|
||||
Expressions.numberTemplate(
|
||||
Integer.class, "cast(replace({0}, 'EPSG_', '') as integer)", mapSheetMngTileEntity.crs);
|
||||
|
||||
return queryFactory
|
||||
.select(
|
||||
Projections.constructor(
|
||||
@@ -189,11 +208,13 @@ public class MapLayerRepositoryImpl implements MapLayerRepositoryCustom {
|
||||
mapSheetMngTileEntity.minZoom,
|
||||
mapSheetMngTileEntity.maxZoom,
|
||||
Expressions.stringTemplate(
|
||||
"ST_AsGeoJSON(ST_Transform(ST_MakeEnvelope({0}, {1}, {2}, {3}, 4326), 5186))",
|
||||
"ST_AsGeoJSON(ST_Transform(ST_MakeEnvelope({0}, {1}, {2}, {3}, 4326), {4}))",
|
||||
mapSheetMngTileEntity.minLon,
|
||||
mapSheetMngTileEntity.minLat,
|
||||
mapSheetMngTileEntity.maxLon,
|
||||
mapSheetMngTileEntity.maxLat)))
|
||||
mapSheetMngTileEntity.maxLat,
|
||||
crsInt),
|
||||
crsInt))
|
||||
.from(mapSheetMngTileEntity)
|
||||
.where(mapSheetMngTileEntity.mngYyyy.eq(year))
|
||||
.fetchOne();
|
||||
|
||||
Reference in New Issue
Block a user