auto: 2026-07-26 18:58 (ESD_LAPTOP)
This commit is contained in:
@@ -25,6 +25,7 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
# 레이어 키 → (지오메트리 접두사, 지형지물 코드)
|
||||
SHEET_LAYERS: dict[str, tuple[str, str]] = {
|
||||
"등고선": ("N3L", "F0010000"),
|
||||
"하천중심선": ("N3L", "E0020000"),
|
||||
"표고점": ("N3P", "F0020000"),
|
||||
"성절토": ("N3L", "F0030000"),
|
||||
|
||||
@@ -35,6 +35,7 @@ const GIS_LAYERS = [
|
||||
"행정구역_시군구",
|
||||
"행정구역_읍면동",
|
||||
"등고선",
|
||||
"도엽_등고선",
|
||||
"도엽_하천중심선",
|
||||
"도엽_표고점",
|
||||
"도엽_성절토",
|
||||
@@ -51,6 +52,7 @@ const GIS_LAYER_COLORS: Record<GisLayer, string> = {
|
||||
행정구역_시군구: "#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);
|
||||
|
||||
@@ -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"],
|
||||
|
||||
Reference in New Issue
Block a user