선택 폴리곤, 포인트 정보 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));
}
}