From c32c11496f1a3df32e73f59100f27b44c0b5a5d7 Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Mon, 9 Mar 2026 23:53:18 +0900 Subject: [PATCH] =?UTF-8?q?geojson=20=ED=8C=8C=EC=9D=BC=20=ED=98=95?= =?UTF-8?q?=EC=8B=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../batch/MakeGeoJsonTasklet.java | 2 +- .../dto/TrainingDataReviewJobDto.java | 21 +++++++++++++++++-- .../TrainingDataReviewJobRepository.java | 2 +- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/kamco-make-dataset-generation/src/main/java/com/kamco/cd/geojsonscheduler/batch/MakeGeoJsonTasklet.java b/kamco-make-dataset-generation/src/main/java/com/kamco/cd/geojsonscheduler/batch/MakeGeoJsonTasklet.java index 2c0d235..058176f 100644 --- a/kamco-make-dataset-generation/src/main/java/com/kamco/cd/geojsonscheduler/batch/MakeGeoJsonTasklet.java +++ b/kamco-make-dataset-generation/src/main/java/com/kamco/cd/geojsonscheduler/batch/MakeGeoJsonTasklet.java @@ -129,8 +129,8 @@ public class MakeGeoJsonTasklet implements Tasklet { // Step 2-4: FeatureCollection 생성 및 파일명 결정 log.info(" [2-4] FeatureCollection 생성 중..."); - FeatureCollection collection = new FeatureCollection(features); String filename = mapSheet.buildFilename(resultUid); + FeatureCollection collection = new FeatureCollection(filename.replace(".geojson", ""), features); log.info(" [2-4] GeoJSON 파일명: {}", filename); // Step 2-5: 파일 저장 경로 생성 diff --git a/kamco-make-dataset-generation/src/main/java/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto.java b/kamco-make-dataset-generation/src/main/java/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto.java index 8d4698b..76b1af5 100644 --- a/kamco-make-dataset-generation/src/main/java/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto.java +++ b/kamco-make-dataset-generation/src/main/java/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto.java @@ -50,14 +50,31 @@ public class TrainingDataReviewJobDto { @Getter @Setter - @JsonPropertyOrder({"type", "features"}) + public static class Properties { + private final String name = "urn:ogc:def:crs:EPSG::5186"; + } + + @Getter + @Setter + public static class Crs { + private final String type = "name"; + private Properties properties = new Properties(); + } + + @Getter + @Setter + @JsonPropertyOrder({"type", "name", "crs", "features"}) public static class FeatureCollection { private final String type = "FeatureCollection"; + private String name; + private Crs crs; private List features; - public FeatureCollection(List features) { + public FeatureCollection(String name, List features) { + this.name = name; this.features = features; + this.crs = new Crs(); // 기본 CRS 세팅 } } diff --git a/kamco-make-dataset-generation/src/main/java/com/kamco/cd/geojsonscheduler/repository/TrainingDataReviewJobRepository.java b/kamco-make-dataset-generation/src/main/java/com/kamco/cd/geojsonscheduler/repository/TrainingDataReviewJobRepository.java index 6fecf2e..b14bdb1 100644 --- a/kamco-make-dataset-generation/src/main/java/com/kamco/cd/geojsonscheduler/repository/TrainingDataReviewJobRepository.java +++ b/kamco-make-dataset-generation/src/main/java/com/kamco/cd/geojsonscheduler/repository/TrainingDataReviewJobRepository.java @@ -84,7 +84,7 @@ public class TrainingDataReviewJobRepository { SELECT mslg.geo_uid, 'Feature' AS type, - ST_AsGeoJSON(ST_Transform(mslg.geom, 4326)) AS geom_str, + ST_AsGeoJSON(mslg.geom) AS geom_str, CASE WHEN mslg.class_after_cd IN ('building', 'container') THEN 'M1' WHEN mslg.class_after_cd = 'waste' THEN 'M2'