선택 폴리곤, 포인트 정보 api 추가

This commit is contained in:
2026-02-24 12:17:20 +09:00
parent 190ba525d5
commit c93d40f3f3
5 changed files with 369 additions and 51 deletions

View File

@@ -2,7 +2,6 @@ package com.kamco.cd.kamcoback.changedetection;
import com.fasterxml.jackson.databind.JsonNode;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.ChangeDetectionMapDto;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.DetectSearchType;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.MapScaleType;
import com.kamco.cd.kamcoback.changedetection.service.ChangeDetectionService;
@@ -148,30 +147,43 @@ public class ChangeDetectionApiController {
changeDetectionService.getChangeDetectionPointList(type, scale, uuid, mapSheetNum));
}
@Operation(summary = "변화지도 uuid 조회", description = "변화지도 uuid 조회 API")
@GetMapping("/map")
public ApiResponseDto<UUID> getChangeDetection(
@Parameter(description = "기준년도", required = true) @RequestParam(defaultValue = "2022")
Integer stddYear,
@Parameter(description = "비교년도", required = true) @RequestParam(defaultValue = "2023")
Integer cprsnYear,
@Parameter(description = "변화탐지 객체 id 32자리") @RequestParam(defaultValue = "", required = false)
String cdObjectId,
@Parameter(description = "변화탐지 객체 ids 32자리")
@RequestParam(defaultValue = "", required = false)
List<String> cdObjectIds,
@Parameter(description = "변화탐지 회차별 id 32자리")
@RequestParam(defaultValue = "", required = false)
@Operation(summary = "선택 변화탐지 결과 Polygon", description = "선택 변화탐지 결과 Polygon")
@GetMapping("/selected/polygon")
public ApiResponseDto<ChangeDetectionDto.PolygonFeatureList> getCdPolygonList(
@Parameter(description = "회차 32자 uid", example = "98ABAA1FC4394F11885C302C19AE5E81")
@RequestParam
String chnDtctId,
@Parameter(description = "pnu") @RequestParam(defaultValue = "", required = false)
String pnu) {
ChangeDetectionMapDto req = new ChangeDetectionMapDto();
req.setCompareYyyy(stddYear);
req.setTargetYyyy(cprsnYear);
req.setCdObjectId(cdObjectId);
req.setCdObjectIds(cdObjectIds);
req.setChnDtctId(chnDtctId);
req.setPnu(pnu);
return ApiResponseDto.ok(changeDetectionService.getChangeDetectionUuid(req));
@Parameter(description = "polygon 32자 uid", example = "3B1A7E5F895A4D9698489540EE1BBE1E")
@RequestParam
String cdObjectId,
@Parameter(
description = "polygon 32자 uids",
example =
"3B1A7E5F895A4D9698489540EE1BBE1E,3B221A2AF9614647A0903A972D56C574,3B22686A7ACE44FC9CB20F1B4FA6DEFD,3B376D94A183479BB5FBE3D7166E6E1A")
@RequestParam
List<String> cdObjectIds,
@Parameter(description = "pnu") @RequestParam(required = false) String pnu) {
return ApiResponseDto.ok(
changeDetectionService.getPolygonListByCd(chnDtctId, cdObjectId, cdObjectIds, pnu));
}
@Operation(summary = "선택 변화탐지 결과 Point", description = "선택 변화탐지 결과 Point")
@GetMapping("/selected/point")
public ApiResponseDto<ChangeDetectionDto.PointFeatureList> getCdPointList(
@Parameter(description = "회차 32자 uid", example = "98ABAA1FC4394F11885C302C19AE5E81")
@RequestParam
String chnDtctId,
@Parameter(description = "polygon 32자 uid", example = "3B1A7E5F895A4D9698489540EE1BBE1E")
@RequestParam
String cdObjectId,
@Parameter(
description = "polygon 32자 uids",
example =
"3B1A7E5F895A4D9698489540EE1BBE1E,3B221A2AF9614647A0903A972D56C574,3B22686A7ACE44FC9CB20F1B4FA6DEFD,3B376D94A183479BB5FBE3D7166E6E1A")
@RequestParam
List<String> cdObjectIds,
@Parameter(description = "pnu") @RequestParam(required = false) String pnu) {
return ApiResponseDto.ok(
changeDetectionService.getPointListByCd(chnDtctId, cdObjectId, cdObjectIds, pnu));
}
}

View File

@@ -2,7 +2,6 @@ package com.kamco.cd.kamcoback.changedetection.service;
import com.fasterxml.jackson.databind.JsonNode;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.ChangeDetectionMapDto;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.DetectSearchType;
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.MapScaleType;
import com.kamco.cd.kamcoback.postgres.core.ChangeDetectionCoreService;
@@ -91,7 +90,31 @@ public class ChangeDetectionService {
}
}
public UUID getChangeDetectionUuid(ChangeDetectionMapDto req) {
return changeDetectionCoreService.getChangeDetectionUuid(req);
/**
* 선택 폴리곤 정보 조회
*
* @param chnDtctId
* @param cdObjectId
* @param cdObjectIds
* @param pnu
* @return
*/
public ChangeDetectionDto.PolygonFeatureList getPolygonListByCd(
String chnDtctId, String cdObjectId, List<String> cdObjectIds, String pnu) {
return changeDetectionCoreService.getPolygonListByCd(chnDtctId, cdObjectId, cdObjectIds);
}
/**
* 선택 Point 조회
*
* @param chnDtctId
* @param cdObjectId
* @param cdObjectIds
* @param pnu
* @return
*/
public ChangeDetectionDto.PointFeatureList getPointListByCd(
String chnDtctId, String cdObjectId, List<String> cdObjectIds, String pnu) {
return changeDetectionCoreService.getPointListByCd(chnDtctId, cdObjectId, cdObjectIds);
}
}