feat(760-1): 암상 지질도 겹 · 노선 따라 바위 종류 구간 · 밖 겹 출처 줄
- 서버: 지오빅데이터(KIGAM) 수치지질도 1:50,000 — WFS 암상 면(깨진 한글 칸은 기호별 점 조회로 채움) · 받은 범위 ∪ 노선으로 자름 · 저장본 · 노선 따라 1 m 표본 구간 · 키는 서버만(.env GEOBIGDATA_API_KEY · 쿼리 key) - 그림 조각 대리에 geology(키 쿼리 이름 칸 key_param · 옛 겹 serviceKey 그대로) - 화면(D03 · B05): 「제한·재해」에 「암상 지질도」 — 그림 조각 + 갈래 색 면 · 「기호 · 암상」 글 · 범례 · 노선 구간 표(참고 — 토사 · 암 판정 아님) - 켠 밖 겹마다 범례 맨 아래 출처 줄(브이월드 · 국토지리정보원 · 산림청 · 환경부 · 생활안전지도 공공누리 · 한국지질자원연구원 CC BY-NC) - 범례 칸 높이 한도 · 밀기(낮은 화면) - 시험: test_760_1 새로 · test_634_2 · test_553_4 겹 차례 표에 geology 한 줄 더함(새 겹 · 낡은 표) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
/* =============================================================================
|
||||
* map_layer_source.ts
|
||||
* 공용 지도 밖 겹 출처(PLAN 760-1 · 요구 598-4 「받아온 곳의 정보를 표기」) — 켠 겹의 받아온 곳을 범례 맨 아래 한 줄씩.
|
||||
* 받아온 곳 = 서버가 부르는 곳 그대로(브이월드 WFS · 위성 · 산림청 원자료 · 생활안전지도 WMS · 지오빅데이터 …) ·
|
||||
* 자체 셈 겹(음영 · 급경사 · 0차곡 · 띠) · 사용자 올림(임도(업로드)) · 자기 지형(등고선 · 세류)은 안 적음.
|
||||
* ========================================================================== */
|
||||
|
||||
import type { LegendItem } from "@ui/ui_template_flow_legend";
|
||||
import { LAYERS, type MapLayerKey } from "./map_layer_list";
|
||||
|
||||
/** 받아온 곳 → 겹(차례 = 범례 차례). */
|
||||
export const LAYER_SOURCES: ReadonlyArray<[string, readonly MapLayerKey[]]> = [
|
||||
["브이월드", ["satellite", "cadastral", "zones", "faults", "lineaments"]],
|
||||
["국토지리정보원 수치지형도", ["water", "road", "building", "place"]],
|
||||
["산림청", ["nationalRoad", "ecoForest", "soils"]],
|
||||
["시도 산사태취약지역 현황(공공데이터포털)", ["landslideZones"]],
|
||||
["환경부 생태자연도(공공데이터포털)", ["ecology"]],
|
||||
["행정안전부 생활안전지도(공공누리 제4유형)", ["landslide"]],
|
||||
["한국지질자원연구원 수치지질도 1:50,000(CC BY-NC)", ["geology"]],
|
||||
];
|
||||
|
||||
/** 켠 밖 겹의 출처 줄 — 「출처: 곳 — 겹 · 겹」 · 없으면 빈 것. */
|
||||
export function sourceRow(on: Record<MapLayerKey, boolean>): LegendItem[] {
|
||||
const title = (key: MapLayerKey): string => LAYERS.find((def) => def.key === key)?.title ?? key;
|
||||
return LAYER_SOURCES.flatMap(([where, keys]) => {
|
||||
const shown = keys.filter((key) => on[key]);
|
||||
return shown.length
|
||||
? [{ label: `출처: ${where} — ${shown.map(title).join(" · ")}`, color: "transparent" }]
|
||||
: [];
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user