From e064f88856cff9353c95fc9b9e2572fc17efbe47 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Sun, 26 Jul 2026 18:58:48 +0900 Subject: [PATCH] auto: 2026-07-26 18:58 (ESD_LAPTOP) --- .../B04_wf1_Surface_Engine_SheetParser.py | 1 + B04_wf1_Surface/B04_wf1_Surface_UI_MapViewer.ts | 12 +++++++----- ui_template/ui_template_locale.ts | 1 + 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/B04_wf1_Surface/B04_wf1_Surface_Engine_SheetParser.py b/B04_wf1_Surface/B04_wf1_Surface_Engine_SheetParser.py index 3152b100..81d61437 100644 --- a/B04_wf1_Surface/B04_wf1_Surface_Engine_SheetParser.py +++ b/B04_wf1_Surface/B04_wf1_Surface_Engine_SheetParser.py @@ -25,6 +25,7 @@ logger = logging.getLogger(__name__) # 레이어 키 → (지오메트리 접두사, 지형지물 코드) SHEET_LAYERS: dict[str, tuple[str, str]] = { + "등고선": ("N3L", "F0010000"), "하천중심선": ("N3L", "E0020000"), "표고점": ("N3P", "F0020000"), "성절토": ("N3L", "F0030000"), diff --git a/B04_wf1_Surface/B04_wf1_Surface_UI_MapViewer.ts b/B04_wf1_Surface/B04_wf1_Surface_UI_MapViewer.ts index b20d87c2..794fda06 100644 --- a/B04_wf1_Surface/B04_wf1_Surface_UI_MapViewer.ts +++ b/B04_wf1_Surface/B04_wf1_Surface_UI_MapViewer.ts @@ -35,6 +35,7 @@ const GIS_LAYERS = [ "행정구역_시군구", "행정구역_읍면동", "등고선", + "도엽_등고선", "도엽_하천중심선", "도엽_표고점", "도엽_성절토", @@ -51,6 +52,7 @@ const GIS_LAYER_COLORS: Record = { 행정구역_시군구: "#7c3aed", 행정구역_읍면동: "#22c55e", 등고선: "#a16207", + 도엽_등고선: "#57534e", 도엽_하천중심선: "#2563eb", 도엽_표고점: "#334155", 도엽_성절토: "#f43f5e", @@ -179,6 +181,7 @@ export function createSurfaceMapViewer(): SurfaceMapViewer { 행정구역_시군구: L("B04_Surface_Map_Sigungu"), 행정구역_읍면동: L("B04_Surface_Map_Eupmyeondong"), 등고선: L("B04_Surface_Map_Contour"), + 도엽_등고선: L("B04_Surface_Map_SheetContour"), 도엽_하천중심선: L("B04_Surface_Map_SheetStream"), 도엽_표고점: L("B04_Surface_Map_SheetElevPoint"), 도엽_성절토: L("B04_Surface_Map_SheetCutFill"), @@ -357,13 +360,12 @@ export function createSurfaceMapViewer(): SurfaceMapViewer { if (!context) return; context.setTransform(dpr, 0, 0, dpr, 0, 0); context.clearRect(0, 0, width, height); - // 등고선은 선 수가 많아 가장 아래에 얇게 깔아 다른 레이어 판독을 방해하지 않게 한다. - const drawOrder = [...GIS_LAYERS].sort((a, b) => - a === "등고선" ? -1 : b === "등고선" ? 1 : 0, - ); + // 등고선(전국 gpkg·도엽)은 선 수가 많아 가장 아래에 얇게 깔아 다른 레이어 판독을 방해하지 않게 한다. + const isContour = (layer: GisLayer): boolean => layer === "등고선" || layer === "도엽_등고선"; + const drawOrder = [...GIS_LAYERS].sort((a, b) => (isContour(a) ? -1 : isContour(b) ? 1 : 0)); drawOrder.forEach((layer) => { if (!activeGisLayers.has(layer)) return; - context.lineWidth = layer === "등고선" ? 0.7 : 1.5; + context.lineWidth = isContour(layer) ? 0.7 : 1.5; context.strokeStyle = GIS_LAYER_COLORS[layer]; geoJsonLayers.get(layer)?.features?.forEach((feature) => { if (feature.geometry) drawGeometry(context, feature.geometry, width, height); diff --git a/ui_template/ui_template_locale.ts b/ui_template/ui_template_locale.ts index a1ec2d08..8d426938 100644 --- a/ui_template/ui_template_locale.ts +++ b/ui_template/ui_template_locale.ts @@ -657,6 +657,7 @@ export const ui_locales = { B04_Surface_Map_Sigungu: ["시군구", "District boundary"], B04_Surface_Map_Eupmyeondong: ["읍면동", "Town boundary"], B04_Surface_Map_Contour: ["등고선", "Contour lines"], + B04_Surface_Map_SheetContour: ["도엽 등고선", "Sheet contours"], B04_Surface_Map_SheetStream: ["세류(하천중심선)", "Stream centerline"], B04_Surface_Map_SheetElevPoint: ["표고점", "Spot elevation"], B04_Surface_Map_SheetCutFill: ["성절토", "Cut/fill slope"],