From 187a51c96ad6fcbe2186f7ab617ff8e7d75a8580 Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Wed, 7 Jan 2026 16:22:07 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B6=94=EB=A1=A0=EA=B2=B0=EA=B3=BC=20Geometry?= =?UTF-8?q?=20=EA=B0=80=EC=A0=B8=EC=98=A4=EB=8A=94=20=EB=A1=9C=EC=A7=81=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inference/dto/InferenceResultDto.java | 30 ++++++++++++++----- ...pSheetAnalDataInferenceRepositoryImpl.java | 9 ++++-- 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultDto.java b/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultDto.java index ec1bcb04..7f6300ea 100644 --- a/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultDto.java +++ b/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultDto.java @@ -2,6 +2,9 @@ package com.kamco.cd.kamcoback.inference.dto; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; import com.kamco.cd.kamcoback.common.enums.DetectionClassification; import com.kamco.cd.kamcoback.common.utils.interfaces.JsonFormatDttm; import io.swagger.v3.oas.annotations.media.Schema; @@ -12,7 +15,6 @@ import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.locationtech.jts.geom.Geometry; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; @@ -298,8 +300,10 @@ public class InferenceResultDto { String classAfterName; Double classAfterProb; Long mapSheetNum; - Geometry gemo; - Geometry geomCenter; + @JsonIgnore String gemoStr; + @JsonIgnore String geomCenterStr; + JsonNode gemo; + JsonNode geomCenter; public Geom( Integer compareYyyy, @@ -309,8 +313,8 @@ public class InferenceResultDto { String classAfterCd, Double classAfterProb, Long mapSheetNum, - Geometry gemo, - Geometry geomCenter) { + String gemoStr, + String geomCenterStr) { this.compareYyyy = compareYyyy; this.targetYyyy = targetYyyy; this.classBeforeCd = classBeforeCd; @@ -320,8 +324,20 @@ public class InferenceResultDto { this.classAfterName = DetectionClassification.fromString(classAfterCd).getDesc(); this.classAfterProb = classAfterProb; this.mapSheetNum = mapSheetNum; - this.gemo = gemo; - this.geomCenter = geomCenter; + this.gemoStr = gemoStr; + this.geomCenterStr = geomCenterStr; + + ObjectMapper mapper = new ObjectMapper(); + JsonNode geomJson; + JsonNode geomCenterJson; + try { + geomJson = mapper.readTree(gemoStr); + geomCenterJson = mapper.readTree(geomCenterStr); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + this.gemo = geomJson; + this.geomCenter = geomCenterJson; } } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/MapSheetAnalDataInferenceRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/MapSheetAnalDataInferenceRepositoryImpl.java index 9d4cd58e..0e465402 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/MapSheetAnalDataInferenceRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/MapSheetAnalDataInferenceRepositoryImpl.java @@ -269,8 +269,13 @@ public class MapSheetAnalDataInferenceRepositoryImpl MapSheetAnalDataInferenceGeomEntity.classAfterCd, MapSheetAnalDataInferenceGeomEntity.classAfterProb, MapSheetAnalDataInferenceGeomEntity.mapSheetNum, - MapSheetAnalDataInferenceGeomEntity.geom, - MapSheetAnalDataInferenceGeomEntity.geomCenter)) + Expressions.stringTemplate( + "ST_AsGeoJSON({0})", MapSheetAnalDataInferenceGeomEntity.geom), + Expressions.stringTemplate( + "ST_AsGeoJSON({0})", MapSheetAnalDataInferenceGeomEntity.geomCenter) + // MapSheetAnalDataInferenceGeomEntity.geom, + // MapSheetAnalDataInferenceGeomEntity.geomCenter) + )) .from(mapSheetAnalInferenceEntity) .join(MapSheetAnalDataInferenceEntity) .on(MapSheetAnalDataInferenceEntity.analUid.eq(mapSheetAnalInferenceEntity.id))