diff --git a/A05_EduDetail/guide/B02/00_설명서.md b/A05_EduDetail/guide/B02/00_설명서.md index 6b093ee97..843c36ab5 100644 --- a/A05_EduDetail/guide/B02/00_설명서.md +++ b/A05_EduDetail/guide/B02/00_설명서.md @@ -1,9 +1,32 @@ -# 프로젝트 등록 설명서 +# 프로젝트 등록 -## 이 화면에서 하는 일 +새 임도 설계 프로젝트의 이름 · 종류 · 노선 구간 · 도면 표제란 값을 입력해 프로젝트를 만듦. + +## 여는 길 + +- 대시보드 [프로젝트] 구역의 [+] → 새 프로젝트 창에서 [임도설계]. + +![화면 한눈에](B02_00_overview.webp) + +## 화면 구역 + +| 번호 | 구역 | 하는 일 | +| --- | --- | --- | +| 1 | 사업 연도 · 사업 지역 | 프로젝트명의 바탕이 되는 연도와 지역 입력 | +| 2 | 임도 종류 · 프로젝트명 | 임도 종류 선택 · 이름은 앞 세 값으로 자동 완성(고칠 수 있음) | +| 3 | 노선 시작 · 종료 누가거리 | 계획노선 가운데 쓸 구간(비우면 전 구간) | +| 4 | 시행청 · 설계일자 | 도면 표제란에 들어갈 값 | +| 5 | 과업책임자 · 분야별책임자 | 도면 표제란 책임자 선택 | +| 6 | 설계자 | 도면 표제란 설계자 선택 | +| 7 | 비고 | 메모(선택) | +| 8 | 단추 줄 | [?] 도움말 · [취소] · [프로젝트 생성] → [생성과 취소](B02/04_생성과_취소) | ## 작업 순서 -## 버튼 +1. [사업 지역] 입력 → [기본 항목 입력](B02/01_기본_항목_입력). +2. [임도 종류] 선택 → [임도 종류와 노선 구간](B02/02_임도_종류와_노선_구간). +3. 필요하면 노선 구간 입력 → [임도 종류와 노선 구간](B02/02_임도_종류와_노선_구간). +4. 도면 표제란 값 입력 → [도면 표제란](B02/03_도면_표제란). +5. [프로젝트 생성] → 파일입력 화면으로 넘어감 → [생성과 취소](B02/04_생성과_취소). -## 주의할 점 +> 주의: 임도 종류는 이후 노선설계의 설계속도 선택지와 종단기울기 상한을 정함. 만들기 전에 확인. diff --git a/A05_EduDetail/guide/B02/01_기본_항목_입력.md b/A05_EduDetail/guide/B02/01_기본_항목_입력.md new file mode 100644 index 000000000..83b5f5772 --- /dev/null +++ b/A05_EduDetail/guide/B02/01_기본_항목_입력.md @@ -0,0 +1,26 @@ +# 기본 항목 입력 + +사업 연도 · 사업 지역 · 프로젝트명 입력. + +## 여는 길 + +- 프로젝트 등록 화면 맨 위 줄. + +![기본 항목 칸](B02_01_basic_fields.webp) + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | (그림 ①) [사업 연도] 확인 — 올해 연도가 미리 들어 있음 (2000 ~ 올해 + 5) | +| 2 | (그림 ②) [사업 지역] 입력 (예: 울진군 금강송면) — 필수 | +| 3 | (그림 ③) [임도 종류] 선택 | +| 4 | (그림 ④) [프로젝트명] 확인 — 앞 세 값으로 자동 완성 | +| 5 | 이름 중간이나 끝에 글을 덧붙이고 싶으면 [프로젝트명] 칸을 직접 고침 | + +## 보이는 것 + +- [프로젝트명] 은 「사업 연도 + 사업 지역 + 임도 종류」 순으로 채워짐 (그림 ④ · 예: 2026 울진군 금강송면 간선임도). +- 연도 · 지역 · 종류를 다시 바꿔도 직접 덧붙인 글은 그대로 남고 해당 조각만 바뀜. + +> 주의: [사업 지역] 이 비어 있으면 생성 안 됨 → [생성과 취소](B02/04_생성과_취소). diff --git a/A05_EduDetail/guide/B02/02_임도_종류와_노선_구간.md b/A05_EduDetail/guide/B02/02_임도_종류와_노선_구간.md new file mode 100644 index 000000000..43ffe814b --- /dev/null +++ b/A05_EduDetail/guide/B02/02_임도_종류와_노선_구간.md @@ -0,0 +1,42 @@ +# 임도 종류와 노선 구간 + +임도 종류를 고르고, 계획노선 중 설계에 쓸 구간(누가거리)을 정함. + +## 여는 길 + +- 프로젝트 등록 화면 가운데 줄. + +![임도 종류 고르기](B02_02_road_type.webp) + +## 단계 + +### 임도 종류 + +- 그림 ① [임도 종류] · ② [프로젝트명] — 종류를 바꾸면 프로젝트명 글자도 바뀜. + +| 단계 | 할 일 | +| --- | --- | +| 1 | [임도 종류] 칸을 누름 | +| 2 | 간선임도 · 산불진화임도 · 작업임도 중 선택 | +| 3 | [프로젝트명] 의 종류 글자가 함께 바뀜 | + +### 노선 구간 + +![노선 구간 입력](B02_03_route_range.webp) + +| 단계 | 할 일 | +| --- | --- | +| 1 | (그림 ①) [노선 시작 누가거리 (m)] 에 시작 위치 입력 — 비우면 처음부터 | +| 2 | (그림 ②) [노선 종료 누가거리 (m)] 에 끝 위치 입력 — 비우면 끝까지 | +| 3 | (그림 ②) 종료 칸 이름에 「연장 ○○m」 가 표시되는지 확인 | + +## 보이는 것 + +![종료가 시작보다 작을 때](B02_07_range_error.webp) + +- 시작과 종료를 모두 넣으면 종료 칸 제목에 구간 길이가 나옴 (예: 연장 2500.0m). +- 종료가 시작보다 작거나 같은 채 [프로젝트 생성] 을 누르면 종료 칸 아래에 「종료 누가거리는 시작보다 커야 합니다.」 표시 · 프로젝트는 만들어지지 않음. + +> 주의: 임도 종류는 노선설계 화면의 설계속도 선택지와 종단기울기 상한 기준이 됨. + +> 참고: 계획노선 자료가 공사지 전체일 때 쓸 구간만 따로 정하는 칸. 한 구간 전체를 쓰면 둘 다 비워 둠. diff --git a/A05_EduDetail/guide/B02/03_도면_표제란.md b/A05_EduDetail/guide/B02/03_도면_표제란.md new file mode 100644 index 000000000..e9a86f395 --- /dev/null +++ b/A05_EduDetail/guide/B02/03_도면_표제란.md @@ -0,0 +1,25 @@ +# 도면 표제란 + +도면 오른쪽 아래 표제란에 들어갈 시행청 · 설계일자 · 책임자를 미리 입력. 비워 두면 도면에 빈칸으로 나감. + +## 여는 길 + +- 프로젝트 등록 화면 아래쪽 줄. + +![도면 표제란 칸](B02_04_title_block.webp) + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | (그림 ①) [시행청 (도면 표제란)] 입력 | +| 2 | (그림 ②) [설계일자 (도면 표제란)] 에서 날짜 선택 | +| 3 | (그림 ③ ④ ⑤) [과업책임자 (도면 표제란)] · [분야별책임자 (도면 표제란)] · [설계자 (도면 표제란)] 를 목록에서 선택 | +| 4 | (그림 ⑥) 필요하면 [비고] 에 메모 | + +## 보이는 것 + +- 세 책임자 칸은 같은 회사 팀원 목록. 처음에는 프로젝트를 만드는 본인이 선택됨. +- 목록에 없는 사람은 대시보드 [팀원 관리] 에서 추가한 뒤 고름 → [B01 회사와 팀원](B01/05_회사와_팀원). + +> 참고: 나중에 대시보드 [프로젝트] 표의 [수정] 에서 같은 값을 고칠 수 있음 → [B01 프로젝트 목록](B01/02_프로젝트_목록). diff --git a/A05_EduDetail/guide/B02/04_생성과_취소.md b/A05_EduDetail/guide/B02/04_생성과_취소.md new file mode 100644 index 000000000..e8dfa6dca --- /dev/null +++ b/A05_EduDetail/guide/B02/04_생성과_취소.md @@ -0,0 +1,28 @@ +# 생성과 취소 + +입력을 마치고 프로젝트를 만들거나, 만들지 않고 돌아감. + +## 여는 길 + +- 프로젝트 등록 화면 오른쪽 아래 단추 줄. + +![단추 줄](B02_06_buttons.webp) + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 필수 칸(사업 연도 · 사업 지역 · 프로젝트명)을 채움 | +| 2 | [프로젝트 생성] 누름 | +| 3 | 「프로젝트가 생성되었습니다. 파일 입력 단계로 이동합니다.」 알림과 함께 파일입력 화면이 열림 → [B03](B03/00_설명서) | +| 4 | 만들지 않으려면 [취소] — 대시보드로 돌아감 | + +## 보이는 것 + +![필수 칸 오류](B02_05_required_error.webp) + +- 비워 둔 필수 칸 아래에 「필수 항목을 입력하세요.」 표시. +- 연도가 범위를 벗어나면 「숫자 범위를 벗어났습니다.」 표시. +- 오류가 있으면 프로젝트는 만들어지지 않음. + +> 참고: 그림 ① [?] 는 이 화면의 도움말을 엶 · ② [취소] · ③ [프로젝트 생성]. diff --git a/A05_EduDetail/guide/B02/B02_00_overview.webp b/A05_EduDetail/guide/B02/B02_00_overview.webp new file mode 100644 index 000000000..c8d9d367b Binary files /dev/null and b/A05_EduDetail/guide/B02/B02_00_overview.webp differ diff --git a/A05_EduDetail/guide/B02/B02_01_basic_fields.webp b/A05_EduDetail/guide/B02/B02_01_basic_fields.webp new file mode 100644 index 000000000..d3b5e7bc6 Binary files /dev/null and b/A05_EduDetail/guide/B02/B02_01_basic_fields.webp differ diff --git a/A05_EduDetail/guide/B02/B02_02_road_type.webp b/A05_EduDetail/guide/B02/B02_02_road_type.webp new file mode 100644 index 000000000..e41bcac44 Binary files /dev/null and b/A05_EduDetail/guide/B02/B02_02_road_type.webp differ diff --git a/A05_EduDetail/guide/B02/B02_03_route_range.webp b/A05_EduDetail/guide/B02/B02_03_route_range.webp new file mode 100644 index 000000000..1939bd8c7 Binary files /dev/null and b/A05_EduDetail/guide/B02/B02_03_route_range.webp differ diff --git a/A05_EduDetail/guide/B02/B02_04_title_block.webp b/A05_EduDetail/guide/B02/B02_04_title_block.webp new file mode 100644 index 000000000..faff224a7 Binary files /dev/null and b/A05_EduDetail/guide/B02/B02_04_title_block.webp differ diff --git a/A05_EduDetail/guide/B02/B02_05_required_error.webp b/A05_EduDetail/guide/B02/B02_05_required_error.webp new file mode 100644 index 000000000..26ba59046 Binary files /dev/null and b/A05_EduDetail/guide/B02/B02_05_required_error.webp differ diff --git a/A05_EduDetail/guide/B02/B02_06_buttons.webp b/A05_EduDetail/guide/B02/B02_06_buttons.webp new file mode 100644 index 000000000..cb8db49e8 Binary files /dev/null and b/A05_EduDetail/guide/B02/B02_06_buttons.webp differ diff --git a/A05_EduDetail/guide/B02/B02_07_range_error.webp b/A05_EduDetail/guide/B02/B02_07_range_error.webp new file mode 100644 index 000000000..5a38bdad1 Binary files /dev/null and b/A05_EduDetail/guide/B02/B02_07_range_error.webp differ diff --git a/A05_EduDetail/guide/B02/_scenes.json b/A05_EduDetail/guide/B02/_scenes.json new file mode 100644 index 000000000..c77e0849d --- /dev/null +++ b/A05_EduDetail/guide/B02/_scenes.json @@ -0,0 +1,345 @@ +[ + { + "name": "B02_00_overview", + "route": "#/b02-proj-register", + "project": "none", + "before": [ + { + "wait": ".b02-proj__grid" + }, + { + "wait_ms": 1200 + }, + { + "eval": "(()=>{const q=[\".b02-proj__grid > :nth-child(1)\", \".b02-proj__grid > :nth-child(2)\"];const els=q.map(s=>[...document.querySelectorAll(s)].find(e=>e.getBoundingClientRect().width>0));const rs=els.map(e=>e.getBoundingClientRect());const L=Math.min(...rs.map(r=>r.left)),T=Math.min(...rs.map(r=>r.top)),R=Math.max(...rs.map(r=>r.right)),B=Math.max(...rs.map(r=>r.bottom));const d=document.createElement('div');d.id='__u1';d.style.cssText='position:absolute;pointer-events:none;left:'+(L+scrollX)+'px;top:'+(T+scrollY)+'px;width:'+(R-L)+'px;height:'+(B-T)+'px';document.body.appendChild(d);})()" + }, + { + "eval": "(()=>{const q=[\".b02-proj__grid > :nth-child(3)\", \".b02-proj__grid > :nth-child(4)\"];const els=q.map(s=>[...document.querySelectorAll(s)].find(e=>e.getBoundingClientRect().width>0));const rs=els.map(e=>e.getBoundingClientRect());const L=Math.min(...rs.map(r=>r.left)),T=Math.min(...rs.map(r=>r.top)),R=Math.max(...rs.map(r=>r.right)),B=Math.max(...rs.map(r=>r.bottom));const d=document.createElement('div');d.id='__u2';d.style.cssText='position:absolute;pointer-events:none;left:'+(L+scrollX)+'px;top:'+(T+scrollY)+'px;width:'+(R-L)+'px;height:'+(B-T)+'px';document.body.appendChild(d);})()" + }, + { + "eval": "(()=>{const q=[\".b02-proj__grid > :nth-child(5)\", \".b02-proj__grid > :nth-child(6)\"];const els=q.map(s=>[...document.querySelectorAll(s)].find(e=>e.getBoundingClientRect().width>0));const rs=els.map(e=>e.getBoundingClientRect());const L=Math.min(...rs.map(r=>r.left)),T=Math.min(...rs.map(r=>r.top)),R=Math.max(...rs.map(r=>r.right)),B=Math.max(...rs.map(r=>r.bottom));const d=document.createElement('div');d.id='__u3';d.style.cssText='position:absolute;pointer-events:none;left:'+(L+scrollX)+'px;top:'+(T+scrollY)+'px;width:'+(R-L)+'px;height:'+(B-T)+'px';document.body.appendChild(d);})()" + }, + { + "eval": "(()=>{const q=[\".b02-proj__grid > :nth-child(7)\", \".b02-proj__grid > :nth-child(8)\"];const els=q.map(s=>[...document.querySelectorAll(s)].find(e=>e.getBoundingClientRect().width>0));const rs=els.map(e=>e.getBoundingClientRect());const L=Math.min(...rs.map(r=>r.left)),T=Math.min(...rs.map(r=>r.top)),R=Math.max(...rs.map(r=>r.right)),B=Math.max(...rs.map(r=>r.bottom));const d=document.createElement('div');d.id='__u4';d.style.cssText='position:absolute;pointer-events:none;left:'+(L+scrollX)+'px;top:'+(T+scrollY)+'px;width:'+(R-L)+'px;height:'+(B-T)+'px';document.body.appendChild(d);})()" + }, + { + "eval": "(()=>{const q=[\".b02-proj__grid > :nth-child(9)\", \".b02-proj__grid > :nth-child(10)\"];const els=q.map(s=>[...document.querySelectorAll(s)].find(e=>e.getBoundingClientRect().width>0));const rs=els.map(e=>e.getBoundingClientRect());const L=Math.min(...rs.map(r=>r.left)),T=Math.min(...rs.map(r=>r.top)),R=Math.max(...rs.map(r=>r.right)),B=Math.max(...rs.map(r=>r.bottom));const d=document.createElement('div');d.id='__u5';d.style.cssText='position:absolute;pointer-events:none;left:'+(L+scrollX)+'px;top:'+(T+scrollY)+'px;width:'+(R-L)+'px;height:'+(B-T)+'px';document.body.appendChild(d);})()" + }, + { + "eval": "(()=>{const q=[\".b02-proj__grid > :nth-child(11)\"];const els=q.map(s=>[...document.querySelectorAll(s)].find(e=>e.getBoundingClientRect().width>0));const rs=els.map(e=>e.getBoundingClientRect());const L=Math.min(...rs.map(r=>r.left)),T=Math.min(...rs.map(r=>r.top)),R=Math.max(...rs.map(r=>r.right)),B=Math.max(...rs.map(r=>r.bottom));const d=document.createElement('div');d.id='__u6';d.style.cssText='position:absolute;pointer-events:none;left:'+(L+scrollX)+'px;top:'+(T+scrollY)+'px;width:'+(R-L)+'px;height:'+(B-T)+'px';document.body.appendChild(d);})()" + }, + { + "eval": "(()=>{const q=[\".b02-proj__grid > :nth-child(12)\"];const els=q.map(s=>[...document.querySelectorAll(s)].find(e=>e.getBoundingClientRect().width>0));const rs=els.map(e=>e.getBoundingClientRect());const L=Math.min(...rs.map(r=>r.left)),T=Math.min(...rs.map(r=>r.top)),R=Math.max(...rs.map(r=>r.right)),B=Math.max(...rs.map(r=>r.bottom));const d=document.createElement('div');d.id='__u7';d.style.cssText='position:absolute;pointer-events:none;left:'+(L+scrollX)+'px;top:'+(T+scrollY)+'px;width:'+(R-L)+'px;height:'+(B-T)+'px';document.body.appendChild(d);})()" + }, + { + "eval": "document.querySelectorAll('.b02-proj__grid select option').forEach(o=>{o.textContent=o.textContent.replace('엄상돈','홍길동')})" + } + ], + "clip": null, + "callouts": [ + { + "n": 1, + "sel": "#__u1" + }, + { + "n": 2, + "sel": "#__u2" + }, + { + "n": 3, + "sel": "#__u3" + }, + { + "n": 4, + "sel": "#__u4" + }, + { + "n": 5, + "sel": "#__u5" + }, + { + "n": 6, + "sel": "#__u6" + }, + { + "n": 7, + "sel": "#__u7" + }, + { + "n": 8, + "sel": ".b02-proj__actions" + } + ] + }, + { + "name": "B02_01_basic_fields", + "route": "#/b02-proj-register", + "project": "none", + "before": [ + { + "wait": ".b02-proj__grid" + }, + { + "fill": ".b02-proj__grid > :nth-child(2) input", + "value": "울진군 금강송면" + }, + { + "wait_ms": 300 + }, + { + "wait_ms": 800 + }, + { + "eval": "document.querySelectorAll('.b02-proj__grid select option').forEach(o=>{o.textContent=o.textContent.replace('엄상돈','홍길동')})" + }, + { + "eval": "(()=>{const q=[\".b02-proj__grid > :nth-child(1)\", \".b02-proj__grid > :nth-child(4)\"];const els=q.map(s=>[...document.querySelectorAll(s)].find(e=>e.getBoundingClientRect().width>0));const rs=els.map(e=>e.getBoundingClientRect());const L=Math.min(...rs.map(r=>r.left)),T=Math.min(...rs.map(r=>r.top)),R=Math.max(...rs.map(r=>r.right)),B=Math.max(...rs.map(r=>r.bottom));const d=document.createElement('div');d.id='__clip';d.style.cssText='position:absolute;pointer-events:none;left:'+(L+scrollX)+'px;top:'+(T+scrollY)+'px;width:'+(R-L)+'px;height:'+(B-T)+'px';document.body.appendChild(d);})()" + } + ], + "clip": "#__clip", + "clip_pad": 4, + "callouts": [ + { + "n": 1, + "sel": ".b02-proj__grid > :nth-child(1)" + }, + { + "n": 2, + "sel": ".b02-proj__grid > :nth-child(2)" + }, + { + "n": 3, + "sel": ".b02-proj__grid > :nth-child(3)" + }, + { + "n": 4, + "sel": ".b02-proj__grid > :nth-child(4)" + } + ] + }, + { + "name": "B02_02_road_type", + "route": "#/b02-proj-register", + "project": "none", + "before": [ + { + "wait": ".b02-proj__grid" + }, + { + "select": ".b02-proj__grid > :nth-child(3) select", + "value": "fire" + }, + { + "wait_ms": 500 + }, + { + "eval": "document.querySelectorAll('.b02-proj__grid select option').forEach(o=>{o.textContent=o.textContent.replace('엄상돈','홍길동')})" + }, + { + "eval": "(()=>{const q=[\".b02-proj__grid > :nth-child(3)\", \".b02-proj__grid > :nth-child(4)\"];const els=q.map(s=>[...document.querySelectorAll(s)].find(e=>e.getBoundingClientRect().width>0));const rs=els.map(e=>e.getBoundingClientRect());const L=Math.min(...rs.map(r=>r.left)),T=Math.min(...rs.map(r=>r.top)),R=Math.max(...rs.map(r=>r.right)),B=Math.max(...rs.map(r=>r.bottom));const d=document.createElement('div');d.id='__clip';d.style.cssText='position:absolute;pointer-events:none;left:'+(L+scrollX)+'px;top:'+(T+scrollY)+'px;width:'+(R-L)+'px;height:'+(B-T)+'px';document.body.appendChild(d);})()" + } + ], + "clip": "#__clip", + "clip_pad": 4, + "callouts": [ + { + "n": 1, + "sel": ".b02-proj__grid > :nth-child(3)" + }, + { + "n": 2, + "sel": ".b02-proj__grid > :nth-child(4)" + } + ] + }, + { + "name": "B02_03_route_range", + "route": "#/b02-proj-register", + "project": "none", + "before": [ + { + "wait": ".b02-proj__grid" + }, + { + "fill": ".b02-proj__grid > :nth-child(5) input", + "value": "1000" + }, + { + "fill": ".b02-proj__grid > :nth-child(6) input", + "value": "3500" + }, + { + "wait_ms": 500 + }, + { + "eval": "document.querySelectorAll('.b02-proj__grid select option').forEach(o=>{o.textContent=o.textContent.replace('엄상돈','홍길동')})" + }, + { + "eval": "(()=>{const q=[\".b02-proj__grid > :nth-child(5)\", \".b02-proj__grid > :nth-child(6)\"];const els=q.map(s=>[...document.querySelectorAll(s)].find(e=>e.getBoundingClientRect().width>0));const rs=els.map(e=>e.getBoundingClientRect());const L=Math.min(...rs.map(r=>r.left)),T=Math.min(...rs.map(r=>r.top)),R=Math.max(...rs.map(r=>r.right)),B=Math.max(...rs.map(r=>r.bottom));const d=document.createElement('div');d.id='__clip';d.style.cssText='position:absolute;pointer-events:none;left:'+(L+scrollX)+'px;top:'+(T+scrollY)+'px;width:'+(R-L)+'px;height:'+(B-T)+'px';document.body.appendChild(d);})()" + } + ], + "clip": "#__clip", + "clip_pad": 4, + "callouts": [ + { + "n": 1, + "sel": ".b02-proj__grid > :nth-child(5)" + }, + { + "n": 2, + "sel": ".b02-proj__grid > :nth-child(6)" + } + ] + }, + { + "name": "B02_04_title_block", + "route": "#/b02-proj-register", + "project": "none", + "before": [ + { + "wait": ".b02-proj__grid" + }, + { + "wait_ms": 1500 + }, + { + "eval": "document.querySelectorAll('.b02-proj__grid select option').forEach(o=>{o.textContent=o.textContent.replace('엄상돈','홍길동')})" + }, + { + "eval": "(()=>{const q=[\".b02-proj__grid > :nth-child(7)\", \".b02-proj__grid > :nth-child(12)\"];const els=q.map(s=>[...document.querySelectorAll(s)].find(e=>e.getBoundingClientRect().width>0));const rs=els.map(e=>e.getBoundingClientRect());const L=Math.min(...rs.map(r=>r.left)),T=Math.min(...rs.map(r=>r.top)),R=Math.max(...rs.map(r=>r.right)),B=Math.max(...rs.map(r=>r.bottom));const d=document.createElement('div');d.id='__clip';d.style.cssText='position:absolute;pointer-events:none;left:'+(L+scrollX)+'px;top:'+(T+scrollY)+'px;width:'+(R-L)+'px;height:'+(B-T)+'px';document.body.appendChild(d);})()" + } + ], + "clip": "#__clip", + "clip_pad": 4, + "callouts": [ + { + "n": 1, + "sel": ".b02-proj__grid > :nth-child(7)" + }, + { + "n": 2, + "sel": ".b02-proj__grid > :nth-child(8)" + }, + { + "n": 3, + "sel": ".b02-proj__grid > :nth-child(9)" + }, + { + "n": 4, + "sel": ".b02-proj__grid > :nth-child(10)" + }, + { + "n": 5, + "sel": ".b02-proj__grid > :nth-child(11)" + }, + { + "n": 6, + "sel": ".b02-proj__grid > :nth-child(12)" + } + ] + }, + { + "name": "B02_05_required_error", + "route": "#/b02-proj-register", + "project": "none", + "before": [ + { + "wait": ".b02-proj__grid" + }, + { + "click": ".b02-proj__actions .ui-btn--filled" + }, + { + "wait_ms": 600 + }, + { + "eval": "document.querySelectorAll('.b02-proj__grid select option').forEach(o=>{o.textContent=o.textContent.replace('엄상돈','홍길동')})" + }, + { + "eval": "(()=>{const q=[\".b02-proj__grid > :nth-child(1)\", \".b02-proj__grid > :nth-child(2)\"];const els=q.map(s=>[...document.querySelectorAll(s)].find(e=>e.getBoundingClientRect().width>0));const rs=els.map(e=>e.getBoundingClientRect());const L=Math.min(...rs.map(r=>r.left)),T=Math.min(...rs.map(r=>r.top)),R=Math.max(...rs.map(r=>r.right)),B=Math.max(...rs.map(r=>r.bottom));const d=document.createElement('div');d.id='__clip';d.style.cssText='position:absolute;pointer-events:none;left:'+(L+scrollX)+'px;top:'+(T+scrollY)+'px;width:'+(R-L)+'px;height:'+(B-T)+'px';document.body.appendChild(d);})()" + } + ], + "clip": "#__clip", + "clip_pad": 4, + "callouts": [ + { + "n": 1, + "sel": ".b02-proj__grid > :nth-child(2)" + } + ] + }, + { + "name": "B02_06_buttons", + "route": "#/b02-proj-register", + "project": "none", + "before": [ + { + "wait": ".b02-proj__actions" + }, + { + "eval": "document.querySelectorAll('.b02-proj__grid select option').forEach(o=>{o.textContent=o.textContent.replace('엄상돈','홍길동')})" + } + ], + "clip": ".b02-proj__actions", + "callouts": [ + { + "n": 1, + "sel": ".b02-proj__actions .ui-help-btn" + }, + { + "n": 2, + "sel": ".b02-proj__actions .ui-btn--ghost:nth-child(2)" + }, + { + "n": 3, + "sel": ".b02-proj__actions .ui-btn--filled" + } + ] + }, + { + "name": "B02_07_range_error", + "route": "#/b02-proj-register", + "project": "none", + "before": [ + { + "wait": ".b02-proj__grid" + }, + { + "fill": ".b02-proj__grid > :nth-child(2) input", + "value": "울진군 금강송면" + }, + { + "fill": ".b02-proj__grid > :nth-child(5) input", + "value": "3000" + }, + { + "fill": ".b02-proj__grid > :nth-child(6) input", + "value": "1000" + }, + { + "click": ".b02-proj__actions .ui-btn--filled" + }, + { + "wait_ms": 600 + }, + { + "eval": "document.querySelectorAll('.b02-proj__grid select option').forEach(o=>{o.textContent=o.textContent.replace('엄상돈','홍길동')})" + }, + { + "eval": "(()=>{const q=[\".b02-proj__grid > :nth-child(5)\", \".b02-proj__grid > :nth-child(6)\"];const els=q.map(s=>[...document.querySelectorAll(s)].find(e=>e.getBoundingClientRect().width>0));const rs=els.map(e=>e.getBoundingClientRect());const L=Math.min(...rs.map(r=>r.left)),T=Math.min(...rs.map(r=>r.top)),R=Math.max(...rs.map(r=>r.right)),B=Math.max(...rs.map(r=>r.bottom));const d=document.createElement('div');d.id='__clip';d.style.cssText='position:absolute;pointer-events:none;left:'+(L+scrollX)+'px;top:'+(T+scrollY)+'px;width:'+(R-L)+'px;height:'+(B-T)+'px';document.body.appendChild(d);})()" + } + ], + "clip": "#__clip", + "clip_pad": 4, + "callouts": [ + { + "n": 1, + "sel": ".b02-proj__grid > :nth-child(5)" + }, + { + "n": 2, + "sel": ".b02-proj__grid > :nth-child(6)" + } + ] + } +] \ No newline at end of file diff --git a/A05_EduDetail/guide/B03/00_설명서.md b/A05_EduDetail/guide/B03/00_설명서.md index 2d7ae7e01..364d845b7 100644 --- a/A05_EduDetail/guide/B03/00_설명서.md +++ b/A05_EduDetail/guide/B03/00_설명서.md @@ -1,9 +1,39 @@ -# 파일입력 설명서 +# 파일입력 -## 이 화면에서 하는 일 +계획노선 파일과 지형(라이다) 파일을 올려, 이후 설계의 바탕 자료를 만듦. + +## 여는 길 + +- 프로젝트를 만들면 자동으로 열림. +- 이미 만든 프로젝트는 대시보드 [프로젝트] 표의 단계 막대에서 「파일입력」 누름. + +![화면 한눈에](B03_00_overview.webp) + +## 화면 구역 + +| 번호 | 구역 | 하는 일 | +| --- | --- | --- | +| 1 | 왼쪽 패널 | 지금 단계(파일입력)와 프로젝트 이름 · 진행 안내 글 · 접기 손잡이 · [?] 도움말 | +| 2 | [입력 파일 선택] 칸 | 파일을 끌어다 놓거나 눌러서 한꺼번에 고름 | +| 3 | [임시 보관함] | 대시보드에 미리 올려 둔 자료를 가져옴 | +| 4 | [파일 업로드] | 고른 파일을 서버로 올림 | +| 5 | [LAS 없이 설계 (도엽등고선 기반)] | 라이다 없이 도엽 등고선으로 지형을 만드는 선택 | +| 6 | [계획노선 자료] | 노선 도형 · 색인 · 속성 · 인코딩 · 좌표계 카드 다섯 | +| 7 | [지형 자료 (LAS)] | 포인트클라우드 · 지형 좌표계 · 래스터 좌표 · 지형 래스터 카드 넷 | + +![왼쪽 패널](B03_08_left_panel.webp) + +왼쪽 패널 그림 번호 — ① 단계 이름 · ② 패널 접기 손잡이 · ③ [?] 도움말. 이미 끝난 프로젝트는 「필수 파일 업로드와 지표면 분석이 모두 완료된 프로젝트입니다. 파일을 다시 올리면 기존 결과가 교체됩니다.」 안내가 패널에 보임. ## 작업 순서 -## 버튼 +1. 파일을 끌어다 놓거나 [입력 파일 선택] 으로 고름 → [파일 올리기](B03/01_파일_올리기). +2. 카드마다 파일이 맞게 들어갔는지 확인 → [카드 읽는 법](B03/02_카드_읽는_법). +3. 대시보드에 올려 둔 자료가 있으면 [임시 보관함] 으로 → [임시 보관함에서 가져오기](B03/03_임시_보관함에서_가져오기). +4. 산림청 예정노선을 쓰면 [예정노선에서 가져오기] → [예정노선 가져오기](B03/04_예정노선_가져오기). +5. 라이다가 없으면 [LAS 없이 설계] → [LAS 없이 설계](B03/05_LAS_없이_설계). +6. [파일 업로드] → 분석이 끝나면 전처리 화면으로 자동 이동 → [B04](B04/00_설명서). -## 주의할 점 +> 주의: 이미 끝난 프로젝트에 파일을 다시 올리면 기존 분석 결과가 새 파일로 교체됨. + +> 참고: 어떤 파일이 필요한지는 [필요한 파일](B03/10_필요한_파일) 참고. diff --git a/A05_EduDetail/guide/B03/01_파일_올리기.md b/A05_EduDetail/guide/B03/01_파일_올리기.md new file mode 100644 index 000000000..39729c93a --- /dev/null +++ b/A05_EduDetail/guide/B03/01_파일_올리기.md @@ -0,0 +1,34 @@ +# 파일 올리기 + +계획노선 · 지형 파일을 고르고 서버로 올림. + +## 여는 길 + +- 파일입력 화면 위쪽 [입력 파일 선택] 칸과 [파일 업로드] 단추. + +![올리기 줄](B03_01_pick_row.webp) + +그림 번호 — ① [입력 파일 선택] 칸 · ② [임시 보관함] · ③ [파일 업로드] · ④ [LAS 없이 설계 (도엽등고선 기반)]. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 컴퓨터의 파일들을 [입력 파일 선택] 칸 위로 끌어다 놓음 (칸을 눌러 고를 수도 있음) | +| 2 | 확장자를 보고 파일이 알맞은 카드에 자동으로 들어감 — 카드 상태가 「완료」 나 선택 표시로 바뀜 | +| 3 | 빠진 카드는 카드의 [파일 선택] 으로 한 칸씩 채움 | +| 4 | 잘못 넣은 파일은 카드의 ✕ [파일 제거] 로 되돌림 | +| 5 | 필수 카드가 모두 차면 [파일 업로드] 가 켜짐 · 누름 | +| 6 | 카드마다 진행률 · 속도 · 예상 완료 시간이 표시됨 | +| 7 | 올리기가 끝나면 분석이 백그라운드로 돌고, 끝나면 전처리 화면으로 자동 이동 | + +## 보이는 것 + +- 올리는 동안 [파일 업로드] 단추는 「업로드 중…」 으로 바뀜. +- 같은 칸에 이미 올라간 파일이 있으면 「기존 파일 교체 확인」 창이 뜸 — [교체] 를 누르면 기존 파일과 분석 결과(지표면 모델 등)가 바뀜, [취소] 하면 그대로. +- 오류 글 예: 「같은 유형의 파일이 이미 선택되어 있습니다.」 · 「선택한 파일 유형이 이 카드와 맞지 않습니다.」 · 「필수 카드를 모두 채우세요 …」. +- 올리다 중단되면 「중단된 업로드 감지」 띠가 뜸 — 같은 파일을 다시 고르고 [업로드 재개]. + +> 주의: 계획노선 PRJ 와 지형 PRJ 는 서로 다른 칸. 라이다 PRJ 가 작업 좌표계 기준이며 노선 좌표계와 다르면 올리기가 막힘. + +> 참고: 큰 파일은 올리는 데 시간이 걸림. 올리는 동안 창을 닫지 않기. diff --git a/A05_EduDetail/guide/B03/02_카드_읽는_법.md b/A05_EduDetail/guide/B03/02_카드_읽는_법.md new file mode 100644 index 000000000..d15e309a6 --- /dev/null +++ b/A05_EduDetail/guide/B03/02_카드_읽는_법.md @@ -0,0 +1,52 @@ +# 카드 읽는 법 + +계획노선과 지형 자료의 카드 아홉 장이 각각 무엇을 뜻하는지, 어떤 정보를 미리 보여 주는지. + +## 여는 길 + +- 파일입력 화면의 [계획노선 자료] · [지형 자료 (LAS)] 구역. + +![카드 한 장의 구성](B03_04_card_parts.webp) + +## 단계 + +| 번호 | 부분 | 뜻 | +| --- | --- | --- | +| 1 | 카드 이름과 확장자 | 이 카드가 받을 파일의 종류 (예: 계획노선 도형 .shp) | +| 2 | 상태 | 완료 · 업로드 중 · 대기 · 실패 · 선택 | +| 3 | [파일 선택] | 이 카드에 파일을 직접 고름 | +| 4 | 파일명과 크기 | 지금 올라가 있는 파일 | +| 5 | 미리보기 | 파일을 읽어서 보여 주는 요약 | + +### 계획노선 자료 + +그림 번호는 아래 표의 번호와 같음 — 맨 아래 [예정노선에서 가져오기] 는 [예정노선 가져오기](B03/04_예정노선_가져오기). + +![계획노선 카드들](B03_02_route_cards.webp) + +| 번호 | 카드 | 파일 | 미리보기 | +| --- | --- | --- | --- | +| 1 | 계획노선 도형 | .shp | 노선 모양 | +| 2 | 노선 도형 색인 | .shx | 도형 개수 · 범위 | +| 3 | 노선 속성 | .dbf | 레코드 · 속성 개수 | +| 4 | 노선 속성 인코딩 | .cpg (선택) | 인코딩 번호 | +| 5 | 노선 좌표계 | .prj | 좌표계 이름과 번호 | + +### 지형 자료 + +그림 번호는 아래 표의 번호와 같음. + +![지형 카드들](B03_03_terrain_cards.webp) + +| 번호 | 카드 | 파일 | 미리보기 | +| --- | --- | --- | --- | +| 1 | 포인트클라우드 | .las · .laz | 점 5,000개를 솎아 위에서 본 모양 | +| 2 | 지형 좌표계 | .prj | 좌표계 이름과 번호 | +| 3 | 래스터 좌표 | .tfw | 픽셀 크기 | +| 4 | 지형 래스터 | .tif (선택) | 지형 래스터 그림 | + +## 보이는 것 + +- 계획노선이 지형 자료 범위를 벗어나면 「계획노선이 지형 자료 범위를 벗어납니다.」 · 안에 있으면 「계획노선이 지형 자료 범위 안에 있습니다.」 표시. + +> 참고: 지형 쪽 PRJ · TFW 는 지형 자료의 좌표계. 노선 PRJ 와 별개. diff --git a/A05_EduDetail/guide/B03/03_임시_보관함에서_가져오기.md b/A05_EduDetail/guide/B03/03_임시_보관함에서_가져오기.md new file mode 100644 index 000000000..af1c8170a --- /dev/null +++ b/A05_EduDetail/guide/B03/03_임시_보관함에서_가져오기.md @@ -0,0 +1,28 @@ +# 임시 보관함에서 가져오기 + +대시보드 임시 보관함에 먼저 올려 둔 자료를 이 프로젝트로 옮김. 큰 파일을 미리 올려 둘 때 편함. + +## 여는 길 + +- 파일입력 화면 위쪽 [임시 보관함] 단추. + +![보관 자료 선택 창](B03_06_temp_modal.webp) + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | [임시 보관함] 누름 | +| 2 | 목록에서 가져올 묶음을 고름 (이름 · 파일 개수 · 크기가 보임) | +| 3 | [확인] | +| 4 | 자료가 프로젝트로 옮겨지고 분석이 시작됨 | + +## 보이는 것 + +그림 ① 은 창 아래 [취소] · [확인] 단추 줄. 그림은 보관 자료가 없을 때의 모습. + +- 옮기기가 끝나면 「보관 자료를 프로젝트로 옮겼습니다. 분석을 시작합니다.」 알림. +- 라이다 파일이 묶음에 없으면 「파일은 옮겼지만 라이다 파일이 없어 분석을 시작하지 못했습니다.」 알림. +- 쓸 수 있는 묶음이 없으면 「사용할 수 있는 보관 자료가 없습니다. 대시보드 임시 보관함에서 필수 파일을 모두 올려 주세요.」 안내. + +> 참고: 보관함에 올리는 방법은 [B01 임시 보관함](B01/04_임시_보관함). diff --git a/A05_EduDetail/guide/B03/04_예정노선_가져오기.md b/A05_EduDetail/guide/B03/04_예정노선_가져오기.md new file mode 100644 index 000000000..80a65ca4c --- /dev/null +++ b/A05_EduDetail/guide/B03/04_예정노선_가져오기.md @@ -0,0 +1,30 @@ +# 예정노선 가져오기 + +산림청이 우리 회사에 지정해 준 예정노선을 계획노선 칸에 바로 넣음. + +## 여는 길 + +- 파일입력 화면 [계획노선 자료] 카드 맨 아래 [예정노선에서 가져오기] 단추. + +![예정노선 고르기 창](B03_07_plan_import_modal.webp) + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | [예정노선에서 가져오기] 누름 | +| 2 | 「지정받은 예정노선 연도 고르기」 창에서 연도를 선택 | +| 3 | 안내에 따라 [예정노선에서 가져오기] 로 확정 | +| 4 | 「예정노선을 노선 칸에 넣었습니다.」 알림 후 노선 카드들이 채워짐 | + +## 보이는 것 + +그림은 지정받은 예정노선이 없을 때의 모습 — 있으면 연도 목록이 나타남. + +- 지정받은 예정노선이 없으면 「우리 회사에 지정된 예정노선이 없습니다.」 안내. +- 이미 연결된 노선은 「연결됨: 프로젝트 이름」 표시. +- 연결한 예정노선이 나중에 바뀌면 화면 위에 「예정노선이 바뀜 …」 띠와 [다시 가져오기] 가 나타남. + +> 주의: 이미 분석이 끝난 프로젝트에 가져오면 기존 결과가 지워짐 — 확인 창이 한 번 더 뜸. + +> 참고: 받은 예정노선 목록은 [B01 받은 예정노선](B01/03_받은_예정노선). diff --git a/A05_EduDetail/guide/B03/05_LAS_없이_설계.md b/A05_EduDetail/guide/B03/05_LAS_없이_설계.md new file mode 100644 index 000000000..160898d3f --- /dev/null +++ b/A05_EduDetail/guide/B03/05_LAS_없이_설계.md @@ -0,0 +1,25 @@ +# LAS 없이 설계 + +라이다(LAS) 파일이 없을 때 1:5,000 수치지형도의 도엽 등고선으로 지형을 만드는 선택. + +## 여는 길 + +- 파일입력 화면 위쪽 [LAS 없이 설계 (도엽등고선 기반)] 체크 칸. + +![체크한 모습](B03_05_lasfree_on.webp) + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | (그림 ①) [LAS 없이 설계 (도엽등고선 기반)] 에 체크 | +| 2 | (그림 ②) 포인트클라우드 카드가 흐려지며 필수에서 빠짐 | +| 3 | 계획노선 파일과 지형 좌표계(PRJ)만 채움 | +| 4 | [파일 업로드] | + +## 보이는 것 + +- 체크 칸 위에 마우스를 올리면 「포인트클라우드 없이 1:5,000 수치지형도 등고선으로 지형을 만듭니다.」 안내. +- 체크한 상태에서 LAS · LAZ 파일을 넣으면 「LAS 없이 설계를 켠 상태에서는 LAS/LAZ 파일을 넣을 수 없습니다.」 표시. + +> 참고: 전처리 화면에서는 [도엽등고 3D 서피스] 가 지형의 바탕이 됨 → [B04 도엽등고 3D 서피스](B04/04_도엽등고_3D_서피스). diff --git a/A05_EduDetail/guide/B03/10_필요한_파일.md b/A05_EduDetail/guide/B03/10_필요한_파일.md index 4fe4b1b22..40e5d5747 100644 --- a/A05_EduDetail/guide/B03/10_필요한_파일.md +++ b/A05_EduDetail/guide/B03/10_필요한_파일.md @@ -1,5 +1,11 @@ # 필요한 파일 - 계획노선 — shapefile 한 벌(.shp·.shx·.dbf·.cpg·.prj) 5개. + +![계획노선 카드 다섯](B03_02_route_cards.webp) + - 지형 — 포인트클라우드 LAS/LAZ 1개와 좌표계 PRJ, 래스터 기준 TFW. -- 지형 TIF(DEM)는 선택 사항 — 없어도 지표면 분석이 진행됩니다. + +![지형 카드 넷](B03_03_terrain_cards.webp) + +- 지형 TIF(DEM)는 선택 사항 — 없어도 지표면 분석이 진행됨. diff --git a/A05_EduDetail/guide/B03/20_고르는_방법.md b/A05_EduDetail/guide/B03/20_고르는_방법.md index 02333ba83..0075cf534 100644 --- a/A05_EduDetail/guide/B03/20_고르는_방법.md +++ b/A05_EduDetail/guide/B03/20_고르는_방법.md @@ -1,5 +1,10 @@ # 고르는 방법 -- 여러 개를 한 번에 끌어 놓으면 확장자로 카드에 자동 배정됩니다. -- 카드의 [선택]으로 한 칸씩 지정하거나 ✕로 되돌릴 수 있습니다. -- [임시 보관함]은 대시보드에 미리 올려 둔 자료를 가져옵니다. +- 여러 개를 한 번에 끌어 놓으면 확장자로 카드에 자동 배정됨. + +![올리기 줄](B03_01_pick_row.webp) + +- 카드의 [파일 선택]으로 한 칸씩 지정하거나 ✕로 되돌릴 수 있음. +- [임시 보관함]은 대시보드에 미리 올려 둔 자료를 가져옴. + +![보관 자료 선택 창](B03_06_temp_modal.webp) diff --git a/A05_EduDetail/guide/B03/30_알아_둘_것.md b/A05_EduDetail/guide/B03/30_알아_둘_것.md index e80291a60..d21d94a15 100644 --- a/A05_EduDetail/guide/B03/30_알아_둘_것.md +++ b/A05_EduDetail/guide/B03/30_알아_둘_것.md @@ -1,5 +1,7 @@ # 알아 둘 것 -- 이미 완료된 프로젝트에 다시 올리면 기존 분석 결과가 교체됩니다. -- 작업 좌표계는 라이다 PRJ가 기준 — 노선 좌표계와 다르면 업로드가 막힙니다. -- 라이다가 없으면 [LAS 없는 설계]를 켜고 도엽 등고선으로 진행합니다. +- 이미 완료된 프로젝트에 다시 올리면 기존 분석 결과가 교체됨. +- 작업 좌표계는 라이다 PRJ가 기준 — 노선 좌표계와 다르면 업로드가 막힘. +- 라이다가 없으면 [LAS 없이 설계 (도엽등고선 기반)]를 켜고 도엽 등고선으로 진행함. + +![체크한 모습](B03_05_lasfree_on.webp) diff --git a/A05_EduDetail/guide/B03/B03_00_overview.webp b/A05_EduDetail/guide/B03/B03_00_overview.webp new file mode 100644 index 000000000..3e65734e5 Binary files /dev/null and b/A05_EduDetail/guide/B03/B03_00_overview.webp differ diff --git a/A05_EduDetail/guide/B03/B03_01_pick_row.webp b/A05_EduDetail/guide/B03/B03_01_pick_row.webp new file mode 100644 index 000000000..aa354ae12 Binary files /dev/null and b/A05_EduDetail/guide/B03/B03_01_pick_row.webp differ diff --git a/A05_EduDetail/guide/B03/B03_02_route_cards.webp b/A05_EduDetail/guide/B03/B03_02_route_cards.webp new file mode 100644 index 000000000..4e274e342 Binary files /dev/null and b/A05_EduDetail/guide/B03/B03_02_route_cards.webp differ diff --git a/A05_EduDetail/guide/B03/B03_03_terrain_cards.webp b/A05_EduDetail/guide/B03/B03_03_terrain_cards.webp new file mode 100644 index 000000000..7209a81c0 Binary files /dev/null and b/A05_EduDetail/guide/B03/B03_03_terrain_cards.webp differ diff --git a/A05_EduDetail/guide/B03/B03_04_card_parts.webp b/A05_EduDetail/guide/B03/B03_04_card_parts.webp new file mode 100644 index 000000000..bb9de7589 Binary files /dev/null and b/A05_EduDetail/guide/B03/B03_04_card_parts.webp differ diff --git a/A05_EduDetail/guide/B03/B03_05_lasfree_on.webp b/A05_EduDetail/guide/B03/B03_05_lasfree_on.webp new file mode 100644 index 000000000..74050dbdc Binary files /dev/null and b/A05_EduDetail/guide/B03/B03_05_lasfree_on.webp differ diff --git a/A05_EduDetail/guide/B03/B03_06_temp_modal.webp b/A05_EduDetail/guide/B03/B03_06_temp_modal.webp new file mode 100644 index 000000000..53626031d Binary files /dev/null and b/A05_EduDetail/guide/B03/B03_06_temp_modal.webp differ diff --git a/A05_EduDetail/guide/B03/B03_07_plan_import_modal.webp b/A05_EduDetail/guide/B03/B03_07_plan_import_modal.webp new file mode 100644 index 000000000..9db4c94e6 Binary files /dev/null and b/A05_EduDetail/guide/B03/B03_07_plan_import_modal.webp differ diff --git a/A05_EduDetail/guide/B03/B03_08_left_panel.webp b/A05_EduDetail/guide/B03/B03_08_left_panel.webp new file mode 100644 index 000000000..bdbf12fa6 Binary files /dev/null and b/A05_EduDetail/guide/B03/B03_08_left_panel.webp differ diff --git a/A05_EduDetail/guide/B03/_scenes.json b/A05_EduDetail/guide/B03/_scenes.json new file mode 100644 index 000000000..a3d912b18 --- /dev/null +++ b/A05_EduDetail/guide/B03/_scenes.json @@ -0,0 +1,330 @@ +[ + { + "name": "B03_00_overview", + "route": "#/b03-file-input", + "project": "road", + "before": [ + { + "eval": "document.head.insertAdjacentHTML('beforeend','')" + }, + { + "wait": ".b03-file__pick-row" + }, + { + "wait_ms": 1500 + } + ], + "clip": null, + "callouts": [ + { + "n": 1, + "sel": ".ui-workflow-overlay__panel" + }, + { + "n": 2, + "sel": ".b03-file__dropzone" + }, + { + "n": 3, + "sel": ".b03-file__temp-picker .ui-btn" + }, + { + "n": 4, + "sel": ".b03-file__pick-row > .ui-btn--filled" + }, + { + "n": 5, + "sel": ".b03-file__lasfree" + }, + { + "n": 6, + "sel": ".b03-file__columns > :nth-child(1) .b03-file__group-title" + }, + { + "n": 7, + "sel": ".b03-file__columns > :nth-child(2) .b03-file__group-title" + } + ] + }, + { + "name": "B03_01_pick_row", + "route": "#/b03-file-input", + "project": "road", + "before": [ + { + "eval": "document.head.insertAdjacentHTML('beforeend','')" + }, + { + "wait": ".b03-file__pick-row" + } + ], + "clip": ".b03-file__control-panel", + "callouts": [ + { + "n": 1, + "sel": ".b03-file__dropzone" + }, + { + "n": 2, + "sel": ".b03-file__temp-picker .ui-btn" + }, + { + "n": 3, + "sel": ".b03-file__pick-row > .ui-btn--filled" + }, + { + "n": 4, + "sel": ".b03-file__lasfree" + } + ] + }, + { + "name": "B03_02_route_cards", + "route": "#/b03-file-input", + "project": "road", + "viewport": [ + 1600, + 2000 + ], + "before": [ + { + "eval": "document.head.insertAdjacentHTML('beforeend','')" + }, + { + "wait": ".b03-file__columns" + }, + { + "wait_ms": 1500 + } + ], + "clip": ".b03-file__columns > :nth-child(1)", + "callouts": [ + { + "n": 1, + "sel": ".b03-file__columns > :nth-child(1) [data-slot-id=csv]" + }, + { + "n": 2, + "sel": ".b03-file__columns > :nth-child(1) [data-slot-id=shx]" + }, + { + "n": 3, + "sel": ".b03-file__columns > :nth-child(1) [data-slot-id=dbf]" + }, + { + "n": 4, + "sel": ".b03-file__columns > :nth-child(1) [data-slot-id=cpg]" + }, + { + "n": 5, + "sel": ".b03-file__columns > :nth-child(1) [data-slot-id=route_prj]" + } + ] + }, + { + "name": "B03_03_terrain_cards", + "route": "#/b03-file-input", + "project": "road", + "viewport": [ + 1600, + 2000 + ], + "before": [ + { + "eval": "document.head.insertAdjacentHTML('beforeend','')" + }, + { + "wait": ".b03-file__columns" + }, + { + "wait_ms": 1500 + } + ], + "clip": ".b03-file__columns > :nth-child(2)", + "callouts": [ + { + "n": 1, + "sel": "[data-slot-id=las_laz]" + }, + { + "n": 2, + "sel": "[data-slot-id=prj]" + }, + { + "n": 3, + "sel": "[data-slot-id=tfw]" + }, + { + "n": 4, + "sel": "[data-slot-id=tif]" + } + ] + }, + { + "name": "B03_04_card_parts", + "route": "#/b03-file-input", + "project": "road", + "before": [ + { + "eval": "document.head.insertAdjacentHTML('beforeend','')" + }, + { + "wait": "[data-slot-id=csv]" + }, + { + "wait_ms": 1200 + } + ], + "clip": "[data-slot-id=csv]", + "callouts": [ + { + "n": 1, + "sel": "[data-slot-id=csv] .b03-file__card-label" + }, + { + "n": 2, + "sel": "[data-slot-id=csv] .ui-tag" + }, + { + "n": 3, + "sel": "[data-slot-id=csv] .b03-file__card-select" + }, + { + "n": 4, + "sel": "[data-slot-id=csv] .b03-file__file-info" + }, + { + "n": 5, + "sel": "[data-slot-id=csv] .b03-file__preview" + } + ] + }, + { + "name": "B03_05_lasfree_on", + "route": "#/b03-file-input", + "project": "road", + "viewport": [ + 1600, + 1500 + ], + "before": [ + { + "eval": "document.head.insertAdjacentHTML('beforeend','')" + }, + { + "wait": ".b03-file__lasfree" + }, + { + "click": ".b03-file__lasfree input" + }, + { + "wait_ms": 800 + }, + { + "eval": "(()=>{const q=[\".b03-file__control-panel\", \"[data-slot-id=las_laz]\"];const els=q.map(s=>[...document.querySelectorAll(s)].find(e=>e.getBoundingClientRect().width>0));const rs=els.map(e=>e.getBoundingClientRect());const L=Math.min(...rs.map(r=>r.left)),T=Math.min(...rs.map(r=>r.top)),R=Math.max(...rs.map(r=>r.right)),B=Math.max(...rs.map(r=>r.bottom));const d=document.createElement('div');d.id='__clip';d.style.cssText='position:absolute;pointer-events:none;left:'+(L+scrollX)+'px;top:'+(T+scrollY)+'px;width:'+(R-L)+'px;height:'+(B-T)+'px';document.body.appendChild(d);})()" + } + ], + "clip": "#__clip", + "clip_pad": 4, + "callouts": [ + { + "n": 1, + "sel": ".b03-file__lasfree" + }, + { + "n": 2, + "sel": "[data-slot-id=las_laz]" + } + ] + }, + { + "name": "B03_06_temp_modal", + "route": "#/b03-file-input", + "project": "road", + "before": [ + { + "eval": "document.head.insertAdjacentHTML('beforeend','')" + }, + { + "wait": ".b03-file__temp-picker .ui-btn" + }, + { + "click": ".b03-file__temp-picker .ui-btn" + }, + { + "wait": ".b03-file__temp-modal" + }, + { + "wait_ms": 800 + } + ], + "clip": ".b03-file__temp-modal", + "callouts": [ + { + "n": 1, + "sel": ".b03-file__temp-modal-actions" + } + ] + }, + { + "name": "B03_07_plan_import_modal", + "route": "#/b03-file-input", + "project": "road", + "before": [ + { + "eval": "document.head.insertAdjacentHTML('beforeend','')" + }, + { + "wait": ".b03-file__columns" + }, + { + "click": "button:has-text('예정노선에서 가져오기')" + }, + { + "wait_ms": 1200 + } + ], + "clip": ".ui-modal", + "callouts": [ + { + "n": 1, + "sel": ".ui-modal__body" + } + ] + }, + { + "name": "B03_08_left_panel", + "route": "#/b03-file-input", + "project": "road", + "viewport": [ + 1600, + 560 + ], + "before": [ + { + "eval": "document.head.insertAdjacentHTML('beforeend','')" + }, + { + "wait": ".ui-workflow-overlay__panel" + }, + { + "wait_ms": 1200 + } + ], + "clip": ".ui-workflow-overlay__panel", + "callouts": [ + { + "n": 1, + "sel": ".ui-workflow-overlay__title" + }, + { + "n": 2, + "sel": ".ui-workflow-overlay__handle--side" + }, + { + "n": 3, + "sel": ".ui-workflow-overlay__panel .ui-help-btn" + } + ] + } +] \ No newline at end of file diff --git a/A05_EduDetail/guide/B04/00_설명서.md b/A05_EduDetail/guide/B04/00_설명서.md index 399e4ea5f..2dafb8fc0 100644 --- a/A05_EduDetail/guide/B04/00_설명서.md +++ b/A05_EduDetail/guide/B04/00_설명서.md @@ -1,9 +1,38 @@ -# 전처리 설명서 +# 전처리 -## 이 화면에서 하는 일 +올린 라이다 점들에서 땅 모양(지표면 모델)을 만들고, 그 지형 위에서 물이 어디로 모이는지(배수유역)까지 확인한 뒤 모델을 확정. + +## 여는 길 + +- 파일입력의 분석이 끝나면 자동으로 열림. +- 이미 끝난 프로젝트는 대시보드 [프로젝트] 표의 단계 막대에서 「전처리」 누름. + +![화면 한눈에](B04_00_overview.webp) + +## 화면 구역 + +| 번호 | 구역 | 하는 일 | +| --- | --- | --- | +| 1 | 입력 포인트클라우드 | 분석할 라이다 파일 선택 · 좌표계 · 크기 · 점 개수 · 높이 범위 확인 | +| 2 | 지표면 분석 | 지면 필터 · 서피스 · 스무딩을 골라 지표면 모델 선택 | +| 3 | 모델 표시 옵션 | 축 · 서피스 · 등고선 켜고 끄기 · 등고선 간격 · 점 크기 · 밀도 | +| 4 | 뷰어 시점 제어 | 사시도 · 상단 · 정면 · 측면으로 시점 바꿈 | +| 5 | 단추 줄 | [?] 도움말 · [이 모델 확정] · [초기화] | +| 6 | 진행 띠 | 분석 진행률과 안내 글 | +| 7 | 입력 포인트클라우드 3D | 올린 점들을 3차원으로 봄 | +| 8 | 지표면 모델 3D | 만들어진 땅 모양과 등고선 · 계획선 | +| 9 | 도엽등고 3D 서피스 | 수치지형도 등고선으로 만든 지형 · 라이다 지형과 겹쳐 비교 | +| 10 | 2D 배경 지도 및 GIS 레이어 | 지도 위에 계획선 · 등고선 · 배수유역 겹쳐 보기 | ## 작업 순서 -## 버튼 +1. 입력 파일과 점 개수 확인 → [입력 포인트클라우드](B04/01_입력_포인트클라우드). +2. 지면 필터 · 서피스 · 스무딩을 골라 지표면 모델 선택 → [지표면 분석](B04/02_지표면_분석). +3. 3D 화면을 돌려 보며 표시 옵션 조정 → [3D 보기](B04/03_3D_보기). +4. 도엽등고 서피스로 라이다 모델과 비교 → [도엽등고 3D 서피스](B04/04_도엽등고_3D_서피스). +5. 2D 지도에서 배수유역 확인 → [2D 지도와 GIS 레이어](B04/05_2D_지도와_GIS_레이어) · [배수유역](B04/06_배수유역). +6. [이 모델 확정] → 노선 설계 화면으로 이동 → [모델 확정과 초기화](B04/07_모델_확정과_초기화). -## 주의할 점 +> 주의: 처음 보는 조합(아직 계산하지 않은 지면 필터 · 서피스)을 고르면 계산 여부를 묻고, 계산에 수 분이 걸릴 수 있음. + +> 참고: 이 화면에는 [저장] 단추가 없고, [이 모델 확정] 이 저장과 다음 단계 이동을 겸함. diff --git a/A05_EduDetail/guide/B04/01_입력_포인트클라우드.md b/A05_EduDetail/guide/B04/01_입력_포인트클라우드.md new file mode 100644 index 000000000..0436d62bb --- /dev/null +++ b/A05_EduDetail/guide/B04/01_입력_포인트클라우드.md @@ -0,0 +1,27 @@ +# 입력 포인트클라우드 + +분석에 쓸 라이다 파일을 고르고 파일 정보를 확인. + +## 여는 길 + +- 전처리 화면 왼쪽 패널 맨 위 [입력 포인트클라우드] 카드. + +![입력 포인트클라우드 카드](B04_01_input_cloud.webp) + +그림 번호 — ① 입력 LAS 선택 칸 · ② 파일 정보 줄. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 선택 칸에서 분석할 입력 LAS 선택 (대개 하나) | +| 2 | 아래 정보 줄 확인 | +| 3 | 오른쪽 위 3D 화면에서 점이 제대로 보이는지 확인 | + +## 보이는 것 + +- 정보 줄: 좌표계(EPSG 번호) · 크기(MB) · 포인트 수 · 표시 포인트 수 · 높이 범위(m). +- 포인트 수가 크면 화면에는 50만 개 정도로 솎아 보여 줌(「500,000개 점 표시 중」). +- 선택한 지면 필터에 따라 포인트 수가 달라짐(땅 점만 남기 때문). + +> 참고: 분석할 라이다 파일이 없으면 「분석 가능한 LAS/LAZ 파일이 없습니다.」 표시. [LAS 없이 설계] 로 올린 프로젝트는 도엽등고 서피스를 씀 → [B03 LAS 없이 설계](B03/05_LAS_없이_설계). diff --git a/A05_EduDetail/guide/B04/02_지표면_분석.md b/A05_EduDetail/guide/B04/02_지표면_분석.md new file mode 100644 index 000000000..3e57a52ca --- /dev/null +++ b/A05_EduDetail/guide/B04/02_지표면_분석.md @@ -0,0 +1,43 @@ +# 지표면 분석 + +지면 필터 · 서피스 · 스무딩 세 가지를 골라 지표면 모델을 정함. + +## 여는 길 + +- 전처리 화면 왼쪽 패널 [지표면 분석] 카드. + +![지표면 분석 카드](B04_02_analysis_card.webp) + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | [지면 필터] 선택 — 나무 · 건물 점을 걷어내고 땅 점만 고르는 방법 | +| 2 | [서피스] 선택 — 땅 점들을 면으로 만드는 방법 | +| 3 | [스무딩] 에서 적용 또는 미적용 | +| 4 | 오른쪽 위 3D 화면의 지표면 모델이 바뀌는지 확인 | + +그림 번호는 아래 표의 번호와 같음. + +| 번호 | 칸 | 선택지 | +| --- | --- | --- | +| 1 | 지면 필터 | CLASSIFICATION · GRID MIN Z · CSF · PMF | +| 2 | 서피스 | TIN · DTM · NURBS · IMPLICIT · MESHFREE | +| 3 | 스무딩 | 적용 · 미적용 | + +- CLASSIFICATION: 라이다 업체가 이미 분류해 둔 지면 점을 그대로 씀. +- GRID MIN Z: 격자마다 가장 낮은 점을 땅으로 봄. +- CSF: 지형을 뒤집어 가상의 천을 떨어뜨려 땅 점을 고름. +- PMF: 창 크기를 키워 가며 나무 · 구조물을 단계적으로 걷어냄. + +## 보이는 것 + +![계산 여부 확인 창](B04_03_build_confirm.webp) + +- 그림 ① 은 [서피스] 칸. 아직 계산하지 않은 조합을 고르면 「이 조합(…)은 아직 만들어지지 않았습니다. 지금 계산해 영구 저장할까요? 자료량에 따라 수 분이 걸립니다.」 확인 창이 뜸. +- [계산하기] 를 누르면 계산해 저장하고, [취소] 하면 이전 조합으로 돌아감. +- 서피스에 따라 스무딩이 안 되는 경우 「이 지표면 표현은 스무딩을 지원하지 않습니다.」 표시. + +> 주의: [계산하기] 는 오래 걸리고 창을 닫으면 안 됨 — 「지표면 모델 계산 중… 창을 닫지 마세요.」 표시 동안 기다림. + +> 참고: 이미 계산해 둔 조합은 바로 바뀜. 어느 조합이 가장 알맞은지 판단은 설계자가 정함. diff --git a/A05_EduDetail/guide/B04/03_3D_보기.md b/A05_EduDetail/guide/B04/03_3D_보기.md new file mode 100644 index 000000000..17fc21ffa --- /dev/null +++ b/A05_EduDetail/guide/B04/03_3D_보기.md @@ -0,0 +1,53 @@ +# 3D 보기 + +입력 포인트클라우드와 지표면 모델을 3차원으로 돌려 보고, 표시 옵션과 시점을 바꿈. + +## 여는 길 + +- 전처리 화면 위쪽 3D 화면 둘 · 왼쪽 패널의 [모델 표시 옵션] · [뷰어 시점 제어]. + +![3D 화면 둘](B04_07_two_viewers.webp) + +그림 번호 — ① 입력 포인트클라우드 아래 점 개수 글 · ② 축척 막대 · ③ 방위 표시 · ④ 등고선 라벨. + +## 단계 + +### 마우스로 보기 + +| 조작 | 하는 일 | +| --- | --- | +| 왼쪽 단추를 누른 채 끌기 | 가리킨 점을 중심으로 돌림 | +| 휠 | 가리킨 자리를 기준으로 가까이 · 멀리 | +| 가운데(휠) 단추를 누른 채 끌기 | 화면을 옮김 | + +### 표시 옵션 + +![모델 표시 옵션 카드](B04_04_display_options.webp) + +| 단계 | 할 일 | +| --- | --- | +| 1 | (그림 ① — 첫 단추 [축] 과 같은 줄의 [서피스] · [등고선]) 단추로 보이는 것을 켜고 끔 | +| 2 | (그림 ② ③) 등고선을 켠 뒤 [간격] 칸에 숫자(m)를 넣고 [적용] | +| 3 | (그림 ④) [점 크기] 슬라이더로 점의 굵기 조정 | +| 4 | (그림 ⑤) [밀도] 슬라이더로 보이는 점의 비율 조정 | + +### 시점 바꾸기 + +![뷰어 시점 제어 카드](B04_05_view_controls.webp) + +그림 번호는 아래 표 순서와 같음. + +| 단추 | 시점 | +| --- | --- | +| 사시도 | 비스듬히 내려다봄 | +| 상단 | 바로 위에서 봄 | +| 정면 | 앞쪽에서 봄 | +| 측면 | 옆에서 봄 | + +## 보이는 것 + +- 지표면 모델 화면에는 축척 막대 · 방위 표시 · 높이 색 범례 · 등고선 라벨(예: 850m) · 계획선이 함께 보임. +- 등고선을 처음 켜면 「등고선을 그리는 중…」 표시 후 나타남. +- 등고선 옵션 줄 아래에 현재 조합 요약(예: CLASSIFICATION · DTM · 등고선 1m)이 보임. + +> 참고: 점 크기와 밀도를 줄이면 오래된 컴퓨터에서 3D 화면이 부드러워짐. diff --git a/A05_EduDetail/guide/B04/04_도엽등고_3D_서피스.md b/A05_EduDetail/guide/B04/04_도엽등고_3D_서피스.md new file mode 100644 index 000000000..e3ce88205 --- /dev/null +++ b/A05_EduDetail/guide/B04/04_도엽등고_3D_서피스.md @@ -0,0 +1,33 @@ +# 도엽등고 3D 서피스 + +1:5,000 수치지형도(도엽)의 등고선만으로 만든 지형 모델. 라이다 모델과 비교하거나 라이다가 없을 때의 지형으로 씀. + +## 여는 길 + +- 전처리 화면 가운데 [도엽등고 3D 서피스] 구역(3D 화면 둘 바로 아래). + +![도엽등고 3D 서피스 구역](B04_08_sheet_surface.webp) + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 위쪽 단추 줄에서 만드는 방법 선택 — TIN(도엽선) · TIN 격자 · TPS(박판) · ANUDEM형 · 다중해상도 · 라플라스 | +| 2 | [스무딩] 에서 적용 또는 미적용 | +| 3 | [라이다 겹쳐 보기] 에 체크하면 라이다 지표면과 겹쳐 비교 | +| 4 | 3D 화면을 돌려 두 모델의 차이를 확인 | + +| 번호 | 칸 | 하는 일 | +| --- | --- | --- | +| 1 | 방법 단추 줄 | 도엽 등고선으로 면을 만드는 방법 선택 | +| 2 | 스무딩 | 면을 매끈하게 다듬음 | +| 3 | 라이다 겹쳐 보기 | 라이다 모델과 겹침 | + +## 보이는 것 + +- 위 그림은 현재 [라플라스] 가 진하게 표시된 모습. +- 흐리게 보이는 방법은 아직 만들어지지 않은 것. 누르면 계산할지 묻는 확인 창이 뜸. +- 지금 쓰는 방법은 진한 색으로 표시됨. +- 라이다 지표면 모델이 없으면 「겹쳐 볼 라이다 지표면 모델이 없습니다.」 표시. + +> 참고: 3D 보는 조작은 위의 3D 화면과 같음 → [3D 보기](B04/03_3D_보기). diff --git a/A05_EduDetail/guide/B04/05_2D_지도와_GIS_레이어.md b/A05_EduDetail/guide/B04/05_2D_지도와_GIS_레이어.md new file mode 100644 index 000000000..254484824 --- /dev/null +++ b/A05_EduDetail/guide/B04/05_2D_지도와_GIS_레이어.md @@ -0,0 +1,38 @@ +# 2D 지도와 GIS 레이어 + +배경 지도 위에 계획선 · 지적 · 행정구역 · 등고선 같은 국가 GIS 자료를 겹쳐 봄. + +## 여는 길 + +- 전처리 화면 맨 아래 [2D 배경 지도 및 GIS 레이어] 구역. + +![레이어 단추 줄](B04_09_map_layers.webp) + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | [배경 지도] 줄에서 백지도 · 위성 · 하이브리드 가운데 선택 | +| 2 | [국가 GIS 레이어] 줄에서 보고 싶은 층 단추를 눌러 켜고 끔 | +| 3 | 지도 위에서 휠로 확대 · 축소, 가운데 단추를 끌어 옮김 | +| 4 | 처음 모습으로 돌아가려면 [보기 초기화] | + +| 번호 | 줄 | 단추 | +| --- | --- | --- | +| 1 | 배경 지도 | 백지도 · 위성 · 하이브리드 | +| 2 | 국가 GIS 레이어 | 계획선 · 연속지적도 · 시군구 · 읍면동 · 등고선 · 도엽 등고선 · 세류(전체) · 표고점 · 성절토 · 옹벽석축 · 등고 라벨 | +| 3 | 배수유역 | 유역 분석 · 1차 유역 · 2차 유역 · 유역 방향 · 평균 흐름 · 흐름 강도 · 집중유역 · 상세유역 분석 · 세부유역 | +| 4 | 보기 초기화 | 확대와 위치를 처음으로 | + +## 보이는 것 + +![지도 화면](B04_10_map_view.webp) + +- 그림 ① 지도 오른쪽 아래 「○○개 객체 표시」 · ② 왼쪽 아래 축척 막대 · ③ 오른쪽 흐름 강도 색 범례 · ④ 위쪽 분석 결과 요약 글. +- 켠 단추는 색 테두리로 표시됨. +- 지도 오른쪽 아래에 「○○개 객체 표시」 · 왼쪽 아래에 축척 막대. +- 흐름 강도를 켜면 오른쪽에 색 범례 · 위쪽에 분석 결과 요약 글이 나옴. +- 지도를 불러오는 중에는 「지도 레이어를 불러오는 중입니다.」 · 실패하면 「지도 레이어를 불러오지 못했습니다.」 표시. +- 계획선은 파일입력에서 올린 노선. 올리지 않았으면 「B03에서 계획노선 파일을 올리면 표시됩니다.」 표시. + +> 참고: 마우스 왼쪽 단추는 지도 위 객체를 고르는 데만 쓰고, 지도 이동은 가운데 단추. diff --git a/A05_EduDetail/guide/B04/06_배수유역.md b/A05_EduDetail/guide/B04/06_배수유역.md new file mode 100644 index 000000000..60a43460c --- /dev/null +++ b/A05_EduDetail/guide/B04/06_배수유역.md @@ -0,0 +1,40 @@ +# 배수유역 + +계획선 둘레에서 물이 어디로 모여 흘러드는지 지도에서 분석해 보고, 관이 들어갈 자리를 정함. + +## 여는 길 + +- 전처리 화면 맨 아래 지도 구역의 [배수유역] 줄. + +![배수유역 줄과 지도](B04_10_map_view.webp) + +그림 번호 — ③ 흐름 강도 색 범례 · ④ 분석 결과 요약 글(자세한 번호는 [2D 지도와 GIS 레이어](B04/05_2D_지도와_GIS_레이어) 참고). + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | [유역 분석] 을 누름 — 30초 안팎 걸림 · 결과는 저장되어 다음에 열면 바로 보임 | +| 2 | [1차 유역] · [2차 유역] · [유역 방향] · [평균 흐름] 을 켜고 끄며 결과 확인 | +| 3 | [흐름 강도] 로 도로 1m마다 모이는 상류 면적을 색으로 확인 | +| 4 | [집중유역] 으로 물이 특히 많이 모이는 자리(마커) 확인 · 마커를 누르면 그 자리로 들어오는 면의 외곽선이 보임 | +| 5 | [상세유역 분석] 을 누르면 관 매설 지점을 기준으로 [세부유역] 을 나눔 | + +### 관 매설 지점 고르기 + +| 조작 | 하는 일 | +| --- | --- | +| 계획선 위에서 오른쪽 단추 | [관 매설 추가] | +| 마커 위에서 오른쪽 단추 | [관 매설 삭제] | +| 마커를 끌기 | 계획선을 따라 자리 옮김 | + +## 보이는 것 + +- 분석 중에는 「배수유역을 처음부터 다시 분석하는 중입니다. 30초 안팎 걸립니다…」 표시. +- 저장된 결과가 있으면 [저장분] 표시와 함께 면적 · 유하장 같은 요약 글. +- 관 요약 글 예: 「관 1개(기본 1 / 자동 0 / 수동 0) · 세부유역 2개」. +- 관끼리 너무 가까우면 「관끼리 최소 간격 ○○m 안에는 넣을 수 없습니다.」. + +> 주의: 관을 고친 뒤에는 [상세유역 분석] 을 다시 눌러야 세부유역이 새로 나뉨(「편집 중」 표시). + +> 참고: 분석 결과와 관 매설 지점은 [이 모델 확정] 때 함께 저장됨 → [모델 확정과 초기화](B04/07_모델_확정과_초기화). diff --git a/A05_EduDetail/guide/B04/07_모델_확정과_초기화.md b/A05_EduDetail/guide/B04/07_모델_확정과_초기화.md new file mode 100644 index 000000000..c33861710 --- /dev/null +++ b/A05_EduDetail/guide/B04/07_모델_확정과_초기화.md @@ -0,0 +1,31 @@ +# 모델 확정과 초기화 + +고른 지표면 모델과 표시 설정을 확정해 노선 설계로 넘어가거나, 화면 값을 확정된 상태로 되돌림. + +## 여는 길 + +- 전처리 화면 왼쪽 패널 맨 아래 단추 줄. + +![단추 줄](B04_06_confirm_reset.webp) + +그림 번호 — ① [?] · ② [이 모델 확정] · ③ [초기화]. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 지면 필터 · 서피스 · 스무딩과 등고선 간격을 정함 | +| 2 | 배수유역을 분석했다면 관 매설 지점을 확인 | +| 3 | [이 모델 확정] 누름 | +| 4 | 「모델을 확정했습니다. 필터: …, 기법: …」 알림과 함께 노선 설계 화면(B05)으로 이동 | +| 5 | 화면 값을 확정 상태로 되돌리려면 [초기화] | + +## 보이는 것 + +- 확정하면 선택한 모델 · 스무딩 · 등고선 간격과 관 매설 지점이 함께 저장됨. +- [초기화] 는 지면 필터 · 서피스를 기본으로 되돌리고 확정된 값을 다시 불러옴. +- 오류 시 「모델 확정에 실패했습니다.」 알림. + +> 주의: 확정하면 이전 확정 값이 새 값으로 바뀜. 누르기 전에 지면 필터 · 서피스 · 스무딩 선택을 한 번 더 확인. + +> 참고: [?] 는 이 화면의 도움말. diff --git a/A05_EduDetail/guide/B04/B04_00_overview.webp b/A05_EduDetail/guide/B04/B04_00_overview.webp new file mode 100644 index 000000000..a8049d8ad Binary files /dev/null and b/A05_EduDetail/guide/B04/B04_00_overview.webp differ diff --git a/A05_EduDetail/guide/B04/B04_01_input_cloud.webp b/A05_EduDetail/guide/B04/B04_01_input_cloud.webp new file mode 100644 index 000000000..e2057a634 Binary files /dev/null and b/A05_EduDetail/guide/B04/B04_01_input_cloud.webp differ diff --git a/A05_EduDetail/guide/B04/B04_02_analysis_card.webp b/A05_EduDetail/guide/B04/B04_02_analysis_card.webp new file mode 100644 index 000000000..93010404c Binary files /dev/null and b/A05_EduDetail/guide/B04/B04_02_analysis_card.webp differ diff --git a/A05_EduDetail/guide/B04/B04_03_build_confirm.webp b/A05_EduDetail/guide/B04/B04_03_build_confirm.webp new file mode 100644 index 000000000..b341e5c72 Binary files /dev/null and b/A05_EduDetail/guide/B04/B04_03_build_confirm.webp differ diff --git a/A05_EduDetail/guide/B04/B04_04_display_options.webp b/A05_EduDetail/guide/B04/B04_04_display_options.webp new file mode 100644 index 000000000..53662ab14 Binary files /dev/null and b/A05_EduDetail/guide/B04/B04_04_display_options.webp differ diff --git a/A05_EduDetail/guide/B04/B04_05_view_controls.webp b/A05_EduDetail/guide/B04/B04_05_view_controls.webp new file mode 100644 index 000000000..cbf0e98d4 Binary files /dev/null and b/A05_EduDetail/guide/B04/B04_05_view_controls.webp differ diff --git a/A05_EduDetail/guide/B04/B04_06_confirm_reset.webp b/A05_EduDetail/guide/B04/B04_06_confirm_reset.webp new file mode 100644 index 000000000..56ac79ba5 Binary files /dev/null and b/A05_EduDetail/guide/B04/B04_06_confirm_reset.webp differ diff --git a/A05_EduDetail/guide/B04/B04_07_two_viewers.webp b/A05_EduDetail/guide/B04/B04_07_two_viewers.webp new file mode 100644 index 000000000..1e14a6e7a Binary files /dev/null and b/A05_EduDetail/guide/B04/B04_07_two_viewers.webp differ diff --git a/A05_EduDetail/guide/B04/B04_08_sheet_surface.webp b/A05_EduDetail/guide/B04/B04_08_sheet_surface.webp new file mode 100644 index 000000000..72aba3361 Binary files /dev/null and b/A05_EduDetail/guide/B04/B04_08_sheet_surface.webp differ diff --git a/A05_EduDetail/guide/B04/B04_09_map_layers.webp b/A05_EduDetail/guide/B04/B04_09_map_layers.webp new file mode 100644 index 000000000..f381b9881 Binary files /dev/null and b/A05_EduDetail/guide/B04/B04_09_map_layers.webp differ diff --git a/A05_EduDetail/guide/B04/B04_10_map_view.webp b/A05_EduDetail/guide/B04/B04_10_map_view.webp new file mode 100644 index 000000000..c8fa1aeba Binary files /dev/null and b/A05_EduDetail/guide/B04/B04_10_map_view.webp differ diff --git a/A05_EduDetail/guide/B04/_scenes.json b/A05_EduDetail/guide/B04/_scenes.json new file mode 100644 index 000000000..e40cde8a8 --- /dev/null +++ b/A05_EduDetail/guide/B04/_scenes.json @@ -0,0 +1,404 @@ +[ + { + "name": "B04_00_overview", + "route": "#/b04-preprocess", + "project": "road", + "viewport": [ + 1600, + 2000 + ], + "before": [ + { + "eval": "document.head.insertAdjacentHTML('beforeend','')" + }, + { + "wait": ".b04-surface__viewers" + }, + { + "wait_ms": 2500 + } + ], + "settle_ms": 6000, + "clip": null, + "callouts": [ + { + "n": 1, + "sel": ".b04-surface__form .ui-sidebar-scroll > section:nth-child(1)" + }, + { + "n": 2, + "sel": ".b04-surface__form .ui-sidebar-scroll > section:nth-child(2)" + }, + { + "n": 3, + "sel": ".b04-surface__form .ui-sidebar-scroll > section:nth-child(3)" + }, + { + "n": 4, + "sel": ".b04-surface__form .ui-sidebar-scroll > section:nth-child(4)" + }, + { + "n": 5, + "sel": ".ui-sidebar-actions" + }, + { + "n": 6, + "sel": ".b04-surface__status" + }, + { + "n": 7, + "sel": ".point-viewer" + }, + { + "n": 8, + "sel": ".b04-surface__viewers > .terrain-model-group" + }, + { + "n": 9, + "sel": ".b04-surface__sheet-section" + }, + { + "n": 10, + "sel": ".b04-map" + } + ] + }, + { + "name": "B04_01_input_cloud", + "route": "#/b04-preprocess", + "project": "road", + "before": [ + { + "eval": "document.head.insertAdjacentHTML('beforeend','')" + }, + { + "wait": ".b04-surface__form" + } + ], + "settle_ms": 6000, + "clip": ".b04-surface__form .ui-sidebar-scroll > section:nth-child(1)", + "callouts": [ + { + "n": 1, + "sel": ".b04-surface__form .ui-sidebar-scroll > section:nth-child(1) select" + }, + { + "n": 2, + "sel": ".b04-surface__input-info" + } + ] + }, + { + "name": "B04_02_analysis_card", + "route": "#/b04-preprocess", + "project": "road", + "before": [ + { + "eval": "document.head.insertAdjacentHTML('beforeend','')" + }, + { + "wait": ".b04-surface__form" + } + ], + "settle_ms": 6000, + "clip": ".b04-surface__form .ui-sidebar-scroll > section:nth-child(2)", + "callouts": [ + { + "n": 1, + "sel": ".b04-surface__form .ui-sidebar-scroll > section:nth-child(2) .b04-surface__field:nth-of-type(1)" + }, + { + "n": 2, + "sel": ".b04-surface__form .ui-sidebar-scroll > section:nth-child(2) .b04-surface__field:nth-of-type(2)" + }, + { + "n": 3, + "sel": ".b04-surface__form .ui-sidebar-scroll > section:nth-child(2) .b04-surface__field:nth-of-type(3)" + } + ] + }, + { + "name": "B04_03_build_confirm", + "route": "#/b04-preprocess", + "project": "road", + "before": [ + { + "eval": "document.head.insertAdjacentHTML('beforeend','')" + }, + { + "wait": ".b04-surface__form" + }, + { + "select": ".b04-surface__form .ui-sidebar-scroll > section:nth-child(2) select >> nth=1", + "value": "NURBS" + }, + { + "wait_ms": 1500 + } + ], + "settle_ms": 6000, + "clip": null, + "callouts": [ + { + "n": 1, + "sel": ".b04-surface__form .ui-sidebar-scroll > section:nth-child(2) select >> nth=1" + } + ] + }, + { + "name": "B04_04_display_options", + "route": "#/b04-preprocess", + "project": "road", + "before": [ + { + "eval": "document.head.insertAdjacentHTML('beforeend','')" + }, + { + "wait": ".b04-surface__form" + } + ], + "settle_ms": 6000, + "clip": ".b04-surface__form .ui-sidebar-scroll > section:nth-child(3)", + "callouts": [ + { + "n": 1, + "sel": ".model-display-options > .toggle-button:nth-child(1)" + }, + { + "n": 2, + "sel": ".contour-interval-input" + }, + { + "n": 3, + "sel": ".contour-interval-submit" + }, + { + "n": 4, + "sel": ".viewer-option-row:nth-of-type(1)" + }, + { + "n": 5, + "sel": ".viewer-option-row:nth-of-type(2)" + } + ] + }, + { + "name": "B04_05_view_controls", + "route": "#/b04-preprocess", + "project": "road", + "viewport": [ + 1600, + 1100 + ], + "before": [ + { + "eval": "document.head.insertAdjacentHTML('beforeend','')" + }, + { + "wait": ".b04-surface__form" + } + ], + "settle_ms": 6000, + "clip": ".b04-surface__form .ui-sidebar-scroll > section:nth-child(4)", + "callouts": [ + { + "n": 1, + "sel": ".b04-surface__form .ui-sidebar-scroll > section:nth-child(4) button >> nth=0", + "pos": "bl" + }, + { + "n": 2, + "sel": ".b04-surface__form .ui-sidebar-scroll > section:nth-child(4) button >> nth=1", + "pos": "bl" + }, + { + "n": 3, + "sel": ".b04-surface__form .ui-sidebar-scroll > section:nth-child(4) button >> nth=2", + "pos": "bl" + }, + { + "n": 4, + "sel": ".b04-surface__form .ui-sidebar-scroll > section:nth-child(4) button >> nth=3", + "pos": "bl" + } + ] + }, + { + "name": "B04_06_confirm_reset", + "route": "#/b04-preprocess", + "project": "road", + "before": [ + { + "eval": "document.head.insertAdjacentHTML('beforeend','')" + }, + { + "wait": ".ui-sidebar-actions" + } + ], + "settle_ms": 6000, + "clip": ".ui-sidebar-actions", + "callouts": [ + { + "n": 1, + "sel": ".ui-sidebar-actions .ui-help-btn" + }, + { + "n": 2, + "sel": ".ui-sidebar-actions .ui-btn--filled" + }, + { + "n": 3, + "sel": ".b04-surface__reset" + } + ] + }, + { + "name": "B04_07_two_viewers", + "route": "#/b04-preprocess", + "project": "road", + "before": [ + { + "eval": "document.head.insertAdjacentHTML('beforeend','')" + }, + { + "wait": ".b04-surface__viewers" + }, + { + "wait_ms": 2500 + } + ], + "settle_ms": 6000, + "clip": ".b04-surface__viewers", + "callouts": [ + { + "n": 1, + "sel": ".point-viewer .b04-surface__status-info" + }, + { + "n": 2, + "sel": ".point-viewer .b04-surface__scale" + }, + { + "n": 3, + "sel": ".terrain-model-group .b04-surface__compass" + }, + { + "n": 4, + "sel": ".terrain-model-group .contour-label" + } + ] + }, + { + "name": "B04_08_sheet_surface", + "route": "#/b04-preprocess", + "project": "road", + "before": [ + { + "eval": "document.head.insertAdjacentHTML('beforeend','')" + }, + { + "wait": ".b04-surface__sheet-section" + }, + { + "scroll": ".b04-surface__sheet-section" + }, + { + "wait_ms": 2500 + } + ], + "settle_ms": 6000, + "clip": ".b04-surface__sheet-section", + "callouts": [ + { + "n": 1, + "sel": ".b04-surface__sheet-toolbar" + }, + { + "n": 2, + "sel": ".b04-surface__sheet-smoothing" + }, + { + "n": 3, + "sel": ".b04-surface__sheet-lidar" + } + ] + }, + { + "name": "B04_09_map_layers", + "route": "#/b04-preprocess", + "project": "road", + "before": [ + { + "eval": "document.head.insertAdjacentHTML('beforeend','')" + }, + { + "wait": ".b04-map" + }, + { + "scroll": ".b04-map" + }, + { + "wait_ms": 2500 + } + ], + "settle_ms": 6000, + "clip": ".b04-map__controls", + "callouts": [ + { + "n": 1, + "sel": ".b04-map__control-group:nth-child(1)" + }, + { + "n": 2, + "sel": ".b04-map__control-group:nth-child(2)" + }, + { + "n": 3, + "sel": ".b04-map__control-group:nth-child(3)" + }, + { + "n": 4, + "sel": ".b04-map__controls > button" + } + ] + }, + { + "name": "B04_10_map_view", + "route": "#/b04-preprocess", + "project": "road", + "before": [ + { + "eval": "document.head.insertAdjacentHTML('beforeend','')" + }, + { + "wait": ".b04-map" + }, + { + "scroll": ".b04-map" + }, + { + "wait_ms": 8000 + } + ], + "settle_ms": 6000, + "clip": ".b04-map", + "callouts": [ + { + "n": 1, + "sel": ".b04-map__status-corner" + }, + { + "n": 2, + "sel": ".b04-map__scale" + }, + { + "n": 3, + "sel": ".ui-flow-legend" + }, + { + "n": 4, + "sel": ".b04-map__watershed-status" + } + ] + } +] \ No newline at end of file diff --git a/A05_EduDetail/guide/B09/01_데이터_점검.md b/A05_EduDetail/guide/B09/01_데이터_점검.md index 01797f0f9..ffadbcf30 100644 --- a/A05_EduDetail/guide/B09/01_데이터_점검.md +++ b/A05_EduDetail/guide/B09/01_데이터_점검.md @@ -9,6 +9,8 @@ ![데이터 점검 카드](B09_01_check_card.webp) +그림 번호 — 1 [업데이트] · 2 연결 없음 곳 수 + ## 단계 ### 단가 새로 굳히기 @@ -35,6 +37,8 @@ ![연결 없음 목록](B09_03_check_list.webp) +그림 번호 — 1 연결 없음 곳 수 · 2 연결 없는 줄(누르면 그 탭의 그 줄로 이동) + ### 처음 상태로 되돌리기 | 단계 | 할 일 | @@ -45,6 +49,8 @@ ![초기화 확인 창](B09_04_reset_confirm.webp) +그림 번호 — 1 안내 글 · 2 [취소] · [초기화] + ### 하단 [?] [<] [>] | 단추 | 하는 일 | diff --git a/A05_EduDetail/guide/B09/03_박스보기와_호표보기.md b/A05_EduDetail/guide/B09/03_박스보기와_호표보기.md index 5619ef5fc..328303eab 100644 --- a/A05_EduDetail/guide/B09/03_박스보기와_호표보기.md +++ b/A05_EduDetail/guide/B09/03_박스보기와_호표보기.md @@ -10,6 +10,8 @@ ![좌측 하단 줄](B09_08_dock.webp) +그림 번호 — 1 박스보기 · 호표보기 스위치 · 2 하이퍼링크 · 팝업 스위치 · 3 [?] [<] [>] [초기화] + ## 단계 | 단계 | 할 일 | @@ -22,12 +24,6 @@ | 6 | 호표 하나의 모든 줄을 한 표로 보려면 좌측 하단 [호표보기] 를 누름. 같은 호표 줄 구간이 이어진 표로 나타남. | | 7 | 박스보기로 돌아가려면 [박스보기] 를 누름. | -![박스보기](B09_09_box_view.webp) - -![호표보기](B09_10_table_view.webp) - -![가로 열 수 단추](B09_11_box_columns.webp) - ### 줄 누르기와 키 - 박스 안 줄 또는 박스를 누르면 그 줄을 낸 탭으로 이동하거나 팝업이 뜸([하이퍼링크\|팝업] 스위치에 따름) → [04 하이퍼링크와 팝업](04_하이퍼링크와_팝업) diff --git a/A05_EduDetail/guide/B09/04_하이퍼링크와_팝업.md b/A05_EduDetail/guide/B09/04_하이퍼링크와_팝업.md index 0b72d1cd2..d0b446daf 100644 --- a/A05_EduDetail/guide/B09/04_하이퍼링크와_팝업.md +++ b/A05_EduDetail/guide/B09/04_하이퍼링크와_팝업.md @@ -23,8 +23,6 @@ | 6 | 창 오른쪽 위 [탭 이동] 을 누르면 창이 모두 닫히고 그 탭의 해당 줄로 옮겨 감. | | 7 | [×] 는 그 창과 그 위에 겹친 창만 닫음. 창 밖을 누르거나 Esc 를 누르면 모든 창이 닫힘. | -![팝업 창](B09_13_popup.webp) - ### 하이퍼링크로 보기 | 단계 | 할 일 | diff --git a/A05_EduDetail/guide/B09/05_설계내역서.md b/A05_EduDetail/guide/B09/05_설계내역서.md index c0da548dc..2b73d4540 100644 --- a/A05_EduDetail/guide/B09/05_설계내역서.md +++ b/A05_EduDetail/guide/B09/05_설계내역서.md @@ -9,6 +9,8 @@ ![설계내역서](B09_14_bill_table.webp) +그림 번호 — 1 위쪽 도구 줄 · 2 설계내역서 표 + ## 표의 칸 | 칸 | 내용 | @@ -66,6 +68,8 @@ ![레벨 단추](B09_15_bill_level_tools.webp) +그림 번호 — 1 [들여쓰기] · 2 [내어쓰기] · 3 [위로] · 4 [아래로] + 표 아래 안내 글: 「줄 누르고 버튼 · 방향키 ←→ 레벨 · ↑↓ 자리 · 줄 끌기 · 더블클릭 · Enter · F2 입력」 ### 줄 끌어 놓기 @@ -85,6 +89,8 @@ ![단가연결 램프](B09_17_bill_lamp.webp) +그림 번호 — 1 단가연결 램프(점) 열 + ## 보이는 것 - 직접 만든 줄은 자동 줄과 구분되는 줄 모양으로 표시됨. diff --git a/A05_EduDetail/guide/B09/06_단가연결과_운반_단가.md b/A05_EduDetail/guide/B09/06_단가연결과_운반_단가.md index 2e776b0d0..a32fc0681 100644 --- a/A05_EduDetail/guide/B09/06_단가연결과_운반_단가.md +++ b/A05_EduDetail/guide/B09/06_단가연결과_운반_단가.md @@ -10,6 +10,8 @@ ![단가연결 창](B09_18_price_link.webp) +그림 번호 — 1 이름 · 키 찾기 칸 · 2 마스터 · 회사 · 개인 고르기 · 3 [닫기] + ## 단가연결 창 창 제목은 「단가연결」 이고 닫기 단추가 있음. @@ -36,8 +38,6 @@ 운반공 줄(거리이정표 행 하나)의 단가를 거리와 작업 조건으로 맞추는 큰 창. 제목은 「운반 단가 — 줄 이름」. -![운반 단가 창](B09_19_haul_modal.webp) - ### 창 구성 | 구역 | 하는 일 | @@ -61,8 +61,6 @@ | 8 | 연결을 바꾸려면 [변경] → 단가연결 창에서 다른 항목을 고름. 오른쪽 계산 과정도 새 항목으로 바뀜. | | 9 | 마치면 [적용] 을 누름. 연결이 없는 채로 [적용] 하면 「연결할 것을 먼저 고르세요」 알림이 뜸. | -![사이클시간 칸](B09_20_haul_cycle.webp) - ### 조합을 연결한 경우 - 조합(구조물 조합 · 사전조합)은 담긴 로직 이름별로 입력 칸이 나뉘어 보임. diff --git a/A05_EduDetail/guide/B09/07_총괄과_공사원가계산서.md b/A05_EduDetail/guide/B09/07_총괄과_공사원가계산서.md index f15fb7e2f..be1aac5fa 100644 --- a/A05_EduDetail/guide/B09/07_총괄과_공사원가계산서.md +++ b/A05_EduDetail/guide/B09/07_총괄과_공사원가계산서.md @@ -47,6 +47,8 @@ ![요율과 손입력 칸](B09_22_total_rate_cells.webp) +그림 번호 — 1 요율(%) 열 머리 · 2 직접 적을 수 있는 칸 · 3 요율 출처 열 + ### 보이는 것 - 요율 칸이나 요율 출처 칸에 마우스를 올리면 「자동 근거 — … · 기준 이름」 풍선이 보임. diff --git a/A05_EduDetail/guide/B09/08_단가_근거_탭.md b/A05_EduDetail/guide/B09/08_단가_근거_탭.md index 1d7d566d3..4d28d515f 100644 --- a/A05_EduDetail/guide/B09/08_단가_근거_탭.md +++ b/A05_EduDetail/guide/B09/08_단가_근거_탭.md @@ -93,8 +93,6 @@ | 4 | 목록의 파일 이름(크기 KB) 단추를 누르면 내려받음. 옆 [삭제] 로 지움. | | 5 | [닫기] 로 창을 닫으면 표 칸의 파일 수가 반영되어 있음. | -![견적서 창](B09_26_quote_modal.webp) - > 참고: 견적서 파일은 올리는 즉시 저장되어 [초기화] 해도 남음. > 참고: 자재 단가를 바꾸면 이 자재를 쓰는 일위대가 · 단가산출 · 중기사용료 · 설계내역서 자재 줄의 금액이 모두 바뀜. diff --git a/A05_EduDetail/guide/B09/10_인쇄_미리보기.md b/A05_EduDetail/guide/B09/10_인쇄_미리보기.md new file mode 100644 index 000000000..8325e2f65 --- /dev/null +++ b/A05_EduDetail/guide/B09/10_인쇄_미리보기.md @@ -0,0 +1,45 @@ +# 인쇄 미리보기 + +도면 · 수량산출 · 원가계산을 PDF 로 미리 보고, PDF 와 엑셀로 내려받는 화면임. + +## 여는 길 + +- 원가계산 화면(B09)의 왼쪽 아래 [인쇄 미리보기] 단추를 누름. 고친 값을 먼저 저장한 뒤 이 화면으로 넘어옴. 저장이 안 되면 원가계산 화면에 머묾. +- 원가계산 화면의 [>] 단추로도 들어옴 (단계 6 완료 뒤). +- 현재 프로젝트가 열려 있어야 함. 프로젝트가 없으면 「현재 프로젝트가 없습니다.」 알림이 뜸. +- 되돌아갈 때 = 왼쪽 아래 [B09 복귀]. + +![원가계산 화면의 인쇄 미리보기 단추](B09_42_print_b09_entry.webp) + +그림 번호 — 1 [인쇄 미리보기] + +![화면 한눈에](B09_31_print_overview.webp) + +그림 번호 — 아래 구역 표와 같음 + +## 화면 구역 + +| 번호 | 구역 | 하는 일 | +| --- | --- | --- | +| 1 | 영역 카드 | [도면] [수량산출] [원가계산] 중 인쇄할 묶음을 고름 → [영역과 쪽 고르기](11_인쇄_영역과_쪽_고르기) | +| 2 | 쪽 목록 카드 | 고른 영역의 쪽 목록. 체크를 빼면 그 쪽은 PDF · 엑셀에서 빠짐 → [영역과 쪽 고르기](11_인쇄_영역과_쪽_고르기) | +| 3 | 상태 한 줄 | 만드는 중 · 쪽 수 · 오류 이유를 한 줄로 알려 줌 → [미리보기 보기](12_인쇄_미리보기_보기) | +| 4 | 미리보기 칸 | 고른 쪽들의 PDF 가 그대로 보임. 보이는 것이 곧 받는 파일임 → [미리보기 보기](12_인쇄_미리보기_보기) | +| 5 | 아래 단추 줄 | [PDF 다운로드](표 영역은 [엑셀 다운로드] 도), 그 아래 [?] [B09 복귀] → [내려받기](13_인쇄_내려받기) | + +> 참고: 전체 작업 단계는 왼쪽 위 ☰ 를 눌러 여는 진행 단계 판에서 봄. 지금은 마지막 단계(원가계산 다음)에 있음. + +## 작업 순서 + +1. 원가계산 화면에서 [인쇄 미리보기] 를 눌러 들어옴. +2. 영역 카드에서 [도면] [수량산출] [원가계산] 중 하나를 고름. +3. 쪽 목록에서 인쇄하지 않을 쪽의 체크를 뺌. +4. 미리보기 칸에서 PDF 를 확인함. 체크를 바꾸면 PDF 가 다시 만들어짐. +5. [PDF 다운로드] 로 PDF 를, 표 영역이면 [엑셀 다운로드] 로 엑셀을 받음. +6. 영역을 바꿔 가며 2~5 를 되풀이함. 끝나면 [B09 복귀]. + +> 참고: 이 화면은 보기와 내려받기 전용임. 값을 고치거나 저장하는 곳이 아님. 숫자를 바꾸려면 수량산출(B08) 또는 원가계산(B09) 화면에서 고치고 [저장] 한 뒤 다시 들어옴. + +> 참고: [수량산출] [원가계산] 쪽은 해당 화면에 지금 보이는 값 그대로 찍힘. 저장 전 값이면 화면에 보이는 그 값이 나옴. + +> 주의: 도면 영역은 PDF 만 받음. 엑셀 단추는 [도면] 을 고르면 숨음. diff --git a/A05_EduDetail/guide/B09/11_인쇄_영역과_쪽_고르기.md b/A05_EduDetail/guide/B09/11_인쇄_영역과_쪽_고르기.md new file mode 100644 index 000000000..af1ec88fe --- /dev/null +++ b/A05_EduDetail/guide/B09/11_인쇄_영역과_쪽_고르기.md @@ -0,0 +1,50 @@ +# 영역과 쪽 고르기 + +인쇄할 묶음(도면 · 수량산출 · 원가계산)을 고르고, 그 안에서 뺄 쪽을 체크로 정함. + +## 여는 길 + +- 인쇄 미리보기 화면의 왼쪽 패널 [영역] 카드와 [쪽 목록] 카드. +- 처음에는 카드가 접혀 있을 수 있음. 카드 제목을 누르면 펼쳐지고, 다시 누르면 접힘. +- 화면을 열면 [도면] 이 먼저 골라진 상태로 시작함. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 왼쪽 패널의 [영역] 제목을 눌러 펼침. 작은 단추 셋 [도면] [수량산출] [원가계산] 이 보임. | +| 2 | 인쇄할 영역 단추를 누름. 고른 단추는 색이 채워지고 나머지는 흐림. 같은 영역을 다시 누르면 아무 일도 없음. | +| 3 | 상태 줄에 「○○ 쪽 목록 읽는 중…」 이 뜨고, 곧 [쪽 목록] 카드에 쪽 이름이 한 줄씩 나타남. | +| 4 | [쪽 목록] 제목을 눌러 펼침. 쪽마다 앞에 체크 칸이 있고 처음에는 모두 체크됨. | +| 5 | 인쇄하지 않을 쪽의 체크를 뺌. 잠시(약 0.3초) 뒤 미리보기가 체크된 쪽만으로 다시 만들어짐. | +| 6 | 빼 놓은 쪽을 다시 넣으려면 체크를 다시 켬. | + +![영역 카드와 단추 셋](B09_32_print_area_buttons.webp) + +그림 번호 — 1 [도면] · 2 [수량산출] · 3 [원가계산] + +![수량산출 영역을 고른 모습](B09_33_print_area_quantity.webp) + +그림 번호 — 1 고른 영역 [수량산출] · 2 상태 줄(쪽 수가 보임) + +![쪽 목록과 체크 칸](B09_34_print_sheet_list.webp) + +그림 번호 — 1 쪽마다 앞에 있는 체크 칸 + +![체크를 하나 뺀 모습](B09_35_print_sheet_uncheck.webp) + +그림 번호 — 1 체크를 뺀 쪽 · 2 상태 줄 — 체크된 쪽만 다시 묶임 + +## 보이는 것 + +- 쪽 목록의 차례는 인쇄될 쪽 차례와 같음. 순서를 바꾸는 기능은 없음. +- 영역을 바꾸면 체크가 모두 처음(전부 체크)으로 돌아감. +- 체크를 모두 빼면 상태 줄에 「고른 쪽이 없습니다.」 가 뜨고 미리보기는 비어 있음. +- 쪽 목록이 아주 길면 목록 칸 안에서 스크롤됨. +- 영역에 쪽이 없으면 「○○ — 쪽이 없습니다.」 가 뜸. +- 영역이 아직 준비되지 않았으면 「○○ — 준비 중」 이 뜸. +- 목록을 못 읽으면 「○○ 목록을 못 읽었습니다 — 이유」 가 빨갛게 뜸. + +> 참고: 각 영역에 어떤 쪽이 들어 있는지는 [](12_인쇄_미리보기_보기) 의 「영역별 쪽 구성」 에 정리함. + +> 주의: 영역을 바꾸면 앞 영역에서 뺐던 체크는 기억되지 않음. 영역마다 따로 정리해서 내려받아야 함. diff --git a/A05_EduDetail/guide/B09/12_인쇄_미리보기_보기.md b/A05_EduDetail/guide/B09/12_인쇄_미리보기_보기.md new file mode 100644 index 000000000..f73102681 --- /dev/null +++ b/A05_EduDetail/guide/B09/12_인쇄_미리보기_보기.md @@ -0,0 +1,48 @@ +# 미리보기 보기 + +고른 쪽들이 PDF 로 만들어져 오른쪽 큰 칸에 그대로 보임. 보이는 것이 곧 내려받는 파일임. + +## 여는 길 + +- 영역을 고르거나 쪽 체크를 바꾸면 자동으로 PDF 를 만들어 오른쪽 본문에 띄움. +- 위쪽 한 줄은 상태 표시, 그 아래 큰 칸이 PDF 보기 칸. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 영역을 고르면 상태 줄에 「○○ PDF 만드는 중…」 이 뜸. 만드는 동안에도 다른 조작은 막히지 않음. | +| 2 | 만들어지면 PDF 가 본문 칸에 나타나고, 상태 줄이 「○○ · N장 묶음」 으로 바뀜. | +| 3 | PDF 보기 칸 안에서 스크롤하거나 보기 도구로 쪽을 넘기며 확인함. | +| 4 | 고치고 싶은 쪽이 있으면 쪽 목록 체크를 바꿈. 다시 만드는 중에 또 바꿔도 가장 마지막 선택만 화면에 남음. | + +![상태 한 줄](B09_36_print_status_line.webp) + +![PDF 미리보기 칸](B09_37_print_preview_frame.webp) + +## 영역별 쪽 구성 + +![원가계산 영역의 쪽 목록](B09_38_print_area_cost.webp) + +그림 번호 — 1 고른 영역 [원가계산] + +| 영역 | 들어 있는 쪽 | +| --- | --- | +| 도면 | 상세설계(B07)의 도면번호 차례대로 도면, 이어서 구조물 조합 도면. 도면번호마다 한 장씩 | +| 수량산출 | 구조물 집계표 → 자재(총괄자재수량집계표 · 콘크리트소요자재집계표 · 자재수량집계표) → 토공(토공집계표 · 토적표 · 평균운반거리 · 종방향 무대운반거리) → 수리집수면적표(배수지점마다 한 장) → 거리이정표(표 + 경로 지도 그림) | +| 원가계산 | 공사원가계산서 · 총괄설계내역서 · 설계내역서 · 일위대가목록표 · 일위대가표 · 단가산출근거목록표 · 단가산출근거 · 환율및기초자료 · 중기목록표 · 중기사용료 · 재료비목록표 · 노무비목록표 · 경비목록표 · 자재단가대비표 · 재료비수량금액집계표 · 노무비수량금액집계표 · 경비수량금액집계표 · 중기시간금액집계표 (18장) | + +## 보이는 것 + +- PDF 는 A4 용지. 표 영역은 쪽마다 위에 쪽 이름, 아래에 쪽 번호가 찍힘. 넓은 표는 용지 폭에 맞춰 줄어듦. +- 원가계산 쪽은 모두 가로 방향. 수량산출 쪽은 칸이 많은 표만 가로, 나머지는 세로. +- 도면 영역은 도면 PDF 를 서버에서 만든 그대로 보여 줌. 넣지 못한 그림이 있으면 상태 줄 끝에 「 · 못 넣은 그림 N개」 가 붙음. +- 수량산출 쪽 중 읽지 못한 자리는 그 자리에 「불러오지 못했습니다 — 이유」 한 장이 대신 들어가고 나머지는 그대로 만들어짐. +- 수량산출에서 값이 아직 없는 쪽은 안내 한 줄이 들어감. 예: 「놓인 구조물 · 배관이 없습니다.」 · 「측점 단면적이 아직 없습니다 — 횡단 설계를 먼저 마치세요.」 · 「저장된 배수지점(관 지점)이 없습니다 — 배수유역 · 종단에서 관을 저장하세요.」 +- 만들기에 실패하면 상태 줄이 빨갛게 「PDF 를 못 만들었습니다 — 이유」 로 바뀜. + +> 참고: 원가계산의 [공기집계] [공기산출] 같은 초안 탭은 내역서 차례에 없어 이 영역에 들어가지 않음. + +> 참고: 표의 [단가연결] 같은 화면 조작용 칸, 강조 표시, 고칠 칸 표시는 인쇄본에 나오지 않음. + +> 주의: 수량산출 · 원가계산 값은 화면 값이 바탕임. 숫자가 이상하면 B08 · B09 화면에서 먼저 확인함. diff --git a/A05_EduDetail/guide/B09/13_인쇄_내려받기.md b/A05_EduDetail/guide/B09/13_인쇄_내려받기.md new file mode 100644 index 000000000..d2b81bd22 --- /dev/null +++ b/A05_EduDetail/guide/B09/13_인쇄_내려받기.md @@ -0,0 +1,43 @@ +# 내려받기와 돌아가기 + +보고 있는 PDF 를 파일로 받거나, 표 영역을 엑셀로 받고, 원가계산 화면으로 돌아감. + +## 여는 길 + +- 왼쪽 패널 맨 아래 단추 두 줄. + - 윗줄: [PDF 다운로드] [엑셀 다운로드] + - 아랫줄: [?] [B09 복귀] + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 영역과 쪽을 고르고 미리보기가 만들어진 것을 확인함. | +| 2 | [PDF 다운로드] 를 누름. 지금 미리보기에 보이는 PDF 와 같은 파일이 받아짐. 파일 이름은 영역 이름임. 예: `수량산출.pdf` | +| 3 | 표 영역([수량산출] [원가계산])이면 [엑셀 다운로드] 도 누를 수 있음. 상태 줄에 「○○ 엑셀 만드는 중…」 이 뜬 뒤 「○○ 엑셀을 내려받았습니다.」 로 바뀜. 파일 이름 예: `원가계산.xlsx` | +| 4 | 다른 영역도 받으려면 영역을 바꿔 2~3 을 되풀이함. | +| 5 | 끝나면 [B09 복귀] 를 눌러 원가계산 화면으로 돌아감. | + +![다운로드 단추 줄](B09_39_print_buttons_row.webp) + +그림 번호 — 1 [PDF 다운로드] · 2 [엑셀 다운로드] · 3 [?] + +![도면 영역에서는 엑셀 단추가 숨음](B09_40_print_area_drawings.webp) + +그림 번호 — 1 [PDF 다운로드] — 도면 영역은 엑셀 단추가 없음 + +## 보이는 것 + +- 엑셀은 쪽마다 시트 하나. 쪽 이름이 시트 이름이 되며, 길이와 쓸 수 없는 글자는 엑셀 규칙에 맞게 바뀜. +- 엑셀은 쪽 목록에서 체크된 쪽만 담김. 머리 줄 굵게 · 칸 병합 · 숫자 칸 · 열 폭이 화면 표를 따라가고, A4 로 인쇄하기 좋게 쪽 설정이 들어 있음. +- 엑셀에는 그림(거리이정표의 경로 지도)이 들어가지 않음. 그림은 PDF 에만 있음. +- 고른 쪽이 없으면 [엑셀 다운로드] 는 아무 일도 하지 않음. +- 엑셀을 못 만들면 상태 줄이 빨갛게 「엑셀을 못 만들었습니다 — 이유」 로 바뀜. +- 미리보기가 아직 만들어지는 중에 [PDF 다운로드] 를 누르면 다 만들어진 뒤에 받아짐. +- 체크가 하나도 없거나 목록이 비어 있으면 [PDF 다운로드] 는 아무 일도 하지 않음. +- [?] 는 설명서 창을 엶. 이 화면에서는 B09 설명서가 열림. +- 이 화면에서는 [<] [>] 단계 이동 단추가 없음. + +> 주의: [PDF 다운로드] 는 보이는 PDF 를 그대로 저장하고, [엑셀 다운로드] 는 누를 때 새로 만듦. 누르기 전에 값이 바뀌었다면 B09 로 돌아가 확인함. + +> 참고: [B09 복귀] 는 원가계산 화면으로 돌아갈 뿐 아무것도 저장하지 않음. diff --git a/A05_EduDetail/guide/B09/B09_00_overview.webp b/A05_EduDetail/guide/B09/B09_00_overview.webp new file mode 100644 index 000000000..b3f73bf07 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_00_overview.webp differ diff --git a/A05_EduDetail/guide/B09/B09_01_check_card.webp b/A05_EduDetail/guide/B09/B09_01_check_card.webp new file mode 100644 index 000000000..54318f3cb Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_01_check_card.webp differ diff --git a/A05_EduDetail/guide/B09/B09_02_refresh_button.webp b/A05_EduDetail/guide/B09/B09_02_refresh_button.webp new file mode 100644 index 000000000..b3109847e Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_02_refresh_button.webp differ diff --git a/A05_EduDetail/guide/B09/B09_03_check_list.webp b/A05_EduDetail/guide/B09/B09_03_check_list.webp new file mode 100644 index 000000000..ab77815e3 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_03_check_list.webp differ diff --git a/A05_EduDetail/guide/B09/B09_04_reset_confirm.webp b/A05_EduDetail/guide/B09/B09_04_reset_confirm.webp new file mode 100644 index 000000000..6f07a4427 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_04_reset_confirm.webp differ diff --git a/A05_EduDetail/guide/B09/B09_05_top_tabs.webp b/A05_EduDetail/guide/B09/B09_05_top_tabs.webp new file mode 100644 index 000000000..baae28ae5 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_05_top_tabs.webp differ diff --git a/A05_EduDetail/guide/B09/B09_06_sub_tabs.webp b/A05_EduDetail/guide/B09/B09_06_sub_tabs.webp new file mode 100644 index 000000000..6233b3afe Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_06_sub_tabs.webp differ diff --git a/A05_EduDetail/guide/B09/B09_07_compare_table.webp b/A05_EduDetail/guide/B09/B09_07_compare_table.webp new file mode 100644 index 000000000..2a01642a1 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_07_compare_table.webp differ diff --git a/A05_EduDetail/guide/B09/B09_08_dock.webp b/A05_EduDetail/guide/B09/B09_08_dock.webp new file mode 100644 index 000000000..98d7fdcb1 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_08_dock.webp differ diff --git a/A05_EduDetail/guide/B09/B09_12_link_switch.webp b/A05_EduDetail/guide/B09/B09_12_link_switch.webp new file mode 100644 index 000000000..2a541251d Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_12_link_switch.webp differ diff --git a/A05_EduDetail/guide/B09/B09_14_bill_table.webp b/A05_EduDetail/guide/B09/B09_14_bill_table.webp new file mode 100644 index 000000000..f7ac16c73 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_14_bill_table.webp differ diff --git a/A05_EduDetail/guide/B09/B09_15_bill_level_tools.webp b/A05_EduDetail/guide/B09/B09_15_bill_level_tools.webp new file mode 100644 index 000000000..0b4665c9d Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_15_bill_level_tools.webp differ diff --git a/A05_EduDetail/guide/B09/B09_16_bill_menu.webp b/A05_EduDetail/guide/B09/B09_16_bill_menu.webp new file mode 100644 index 000000000..d72babef4 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_16_bill_menu.webp differ diff --git a/A05_EduDetail/guide/B09/B09_17_bill_lamp.webp b/A05_EduDetail/guide/B09/B09_17_bill_lamp.webp new file mode 100644 index 000000000..96ef4930b Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_17_bill_lamp.webp differ diff --git a/A05_EduDetail/guide/B09/B09_18_price_link.webp b/A05_EduDetail/guide/B09/B09_18_price_link.webp new file mode 100644 index 000000000..9facabdb1 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_18_price_link.webp differ diff --git a/A05_EduDetail/guide/B09/B09_21_total_tab.webp b/A05_EduDetail/guide/B09/B09_21_total_tab.webp new file mode 100644 index 000000000..cd32591c0 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_21_total_tab.webp differ diff --git a/A05_EduDetail/guide/B09/B09_22_total_rate_cells.webp b/A05_EduDetail/guide/B09/B09_22_total_rate_cells.webp new file mode 100644 index 000000000..14ab73e5a Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_22_total_rate_cells.webp differ diff --git a/A05_EduDetail/guide/B09/B09_23_cost_tab.webp b/A05_EduDetail/guide/B09/B09_23_cost_tab.webp new file mode 100644 index 000000000..d3ee47533 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_23_cost_tab.webp differ diff --git a/A05_EduDetail/guide/B09/B09_24_dg_list.webp b/A05_EduDetail/guide/B09/B09_24_dg_list.webp new file mode 100644 index 000000000..2d7a66675 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_24_dg_list.webp differ diff --git a/A05_EduDetail/guide/B09/B09_25_basis_tab.webp b/A05_EduDetail/guide/B09/B09_25_basis_tab.webp new file mode 100644 index 000000000..7578c2c89 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_25_basis_tab.webp differ diff --git a/A05_EduDetail/guide/B09/B09_27_sum_material.webp b/A05_EduDetail/guide/B09/B09_27_sum_material.webp new file mode 100644 index 000000000..a575b3d4a Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_27_sum_material.webp differ diff --git a/A05_EduDetail/guide/B09/B09_28_schedule_panel.webp b/A05_EduDetail/guide/B09/B09_28_schedule_panel.webp new file mode 100644 index 000000000..5f7539aa5 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_28_schedule_panel.webp differ diff --git a/A05_EduDetail/guide/B09/B09_29_schedule_sum.webp b/A05_EduDetail/guide/B09/B09_29_schedule_sum.webp new file mode 100644 index 000000000..df0b15352 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_29_schedule_sum.webp differ diff --git a/A05_EduDetail/guide/B09/B09_30_schedule_calc.webp b/A05_EduDetail/guide/B09/B09_30_schedule_calc.webp new file mode 100644 index 000000000..619096434 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_30_schedule_calc.webp differ diff --git a/A05_EduDetail/guide/B09/B09_31_print_overview.webp b/A05_EduDetail/guide/B09/B09_31_print_overview.webp new file mode 100644 index 000000000..d4cea3977 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_31_print_overview.webp differ diff --git a/A05_EduDetail/guide/B09/B09_32_print_area_buttons.webp b/A05_EduDetail/guide/B09/B09_32_print_area_buttons.webp new file mode 100644 index 000000000..01ed297ca Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_32_print_area_buttons.webp differ diff --git a/A05_EduDetail/guide/B09/B09_33_print_area_quantity.webp b/A05_EduDetail/guide/B09/B09_33_print_area_quantity.webp new file mode 100644 index 000000000..102eb4b60 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_33_print_area_quantity.webp differ diff --git a/A05_EduDetail/guide/B09/B09_34_print_sheet_list.webp b/A05_EduDetail/guide/B09/B09_34_print_sheet_list.webp new file mode 100644 index 000000000..6b6b88144 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_34_print_sheet_list.webp differ diff --git a/A05_EduDetail/guide/B09/B09_35_print_sheet_uncheck.webp b/A05_EduDetail/guide/B09/B09_35_print_sheet_uncheck.webp new file mode 100644 index 000000000..d8b39612a Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_35_print_sheet_uncheck.webp differ diff --git a/A05_EduDetail/guide/B09/B09_36_print_status_line.webp b/A05_EduDetail/guide/B09/B09_36_print_status_line.webp new file mode 100644 index 000000000..944e57d6c Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_36_print_status_line.webp differ diff --git a/A05_EduDetail/guide/B09/B09_37_print_preview_frame.webp b/A05_EduDetail/guide/B09/B09_37_print_preview_frame.webp new file mode 100644 index 000000000..13a13ec2b Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_37_print_preview_frame.webp differ diff --git a/A05_EduDetail/guide/B09/B09_38_print_area_cost.webp b/A05_EduDetail/guide/B09/B09_38_print_area_cost.webp new file mode 100644 index 000000000..3941397b3 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_38_print_area_cost.webp differ diff --git a/A05_EduDetail/guide/B09/B09_39_print_buttons_row.webp b/A05_EduDetail/guide/B09/B09_39_print_buttons_row.webp new file mode 100644 index 000000000..490725163 Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_39_print_buttons_row.webp differ diff --git a/A05_EduDetail/guide/B09/B09_40_print_area_drawings.webp b/A05_EduDetail/guide/B09/B09_40_print_area_drawings.webp new file mode 100644 index 000000000..e3ea64b4c Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_40_print_area_drawings.webp differ diff --git a/A05_EduDetail/guide/B09/B09_42_print_b09_entry.webp b/A05_EduDetail/guide/B09/B09_42_print_b09_entry.webp new file mode 100644 index 000000000..c1a50306c Binary files /dev/null and b/A05_EduDetail/guide/B09/B09_42_print_b09_entry.webp differ diff --git a/A05_EduDetail/guide/B09/_scenes.json b/A05_EduDetail/guide/B09/_scenes.json index bc85241eb..cf4b38efb 100644 --- a/A05_EduDetail/guide/B09/_scenes.json +++ b/A05_EduDetail/guide/B09/_scenes.json @@ -1,807 +1,37 @@ [ - { - "name": "B09_00_overview", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "wait": ".b09-estimation__panel .ui-data-table" - }, - { - "wait_ms": 800 - } - ], - "clip": null, - "callouts": [ - { - "n": 1, - "sel": ".b09-options > section:first-of-type" - }, - { - "n": 2, - "sel": "[data-b09-schedule-panel]" - }, - { - "n": 3, - "sel": ".b09-estimation__tabs:not(.ui-subtabs)" - }, - { - "n": 4, - "sel": ".b09-estimation__tabs.ui-subtabs" - }, - { - "n": 5, - "sel": ".b09-estimation__panel .ui-data-table" - }, - { - "n": 6, - "sel": ".b09-estimation__line-hint" - }, - { - "n": 7, - "sel": "[data-b09-switch=\"view\"]" - }, - { - "n": 8, - "sel": "[data-b09-switch=\"link\"]" - }, - { - "n": 9, - "sel": "[data-help-row]" - } - ] - }, - { - "name": "B09_01_check_card", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "wait": ".b09-options > section:first-of-type" - }, - { - "click": ".b09-options > section:first-of-type .ui-collapsible__title" - }, - { - "wait_ms": 800 - } - ], - "clip": ".b09-options > section:first-of-type", - "callouts": [ - { - "n": 1, - "sel": ".b09-options > section:first-of-type [data-b09-refresh]" - }, - { - "n": 2, - "sel": ".b09-check__head" - } - ] - }, - { - "name": "B09_02_refresh_button", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "wait": ".b09-options > section:first-of-type" - }, - { - "click": ".b09-options > section:first-of-type .ui-collapsible__title" - }, - { - "wait_ms": 800 - } - ], - "clip": "[data-b09-refresh]", - "callouts": [] - }, - { - "name": "B09_03_check_list", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "wait": ".b09-options > section:first-of-type" - }, - { - "click": ".b09-options > section:first-of-type .ui-collapsible__title" - }, - { - "wait_ms": 800 - }, - { - "wait": ".b09-check__head" - } - ], - "clip": ".b09-check", - "callouts": [ - { - "n": 1, - "sel": ".b09-check__head" - }, - { - "n": 2, - "sel": ".b09-check .ui-sidebar-row" - } - ] - }, - { - "name": "B09_04_reset_confirm", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-reset]" - }, - { - "wait": "?" - }, - { - "wait_ms": 800 - } - ], - "clip": "?", - "callouts": [ - { - "n": 1, - "sel": "?" - } - ] - }, - { - "name": "B09_05_top_tabs", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "wait": ".b09-estimation__tabs" - }, - { - "wait_ms": 800 - } - ], - "clip": ".b09-estimation__tabs:not(.ui-subtabs)", - "callouts": [] - }, - { - "name": "B09_06_sub_tabs", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"total\"]" - }, - { - "wait": "[data-b09-tab=\"bill\"]" - }, - { - "wait_ms": 800 - } - ], - "clip": ".b09-estimation__tabs.ui-subtabs", - "callouts": [] - }, - { - "name": "B09_07_compare_table", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"material\"]" - }, - { - "click": "[data-b09-tab=\"compare\"]" - }, - { - "wait": "[data-b09-table=\"compare\"]" - }, - { - "wait_ms": 800 - } - ], - "clip": ".b09-estimation__panel", - "callouts": [] - }, - { - "name": "B09_08_dock", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "wait": ".b09-dock" - }, - { - "wait_ms": 800 - } - ], - "clip": ".b09-dock", - "callouts": [ - { - "n": 7, - "sel": "[data-b09-switch=\"view\"]" - }, - { - "n": 8, - "sel": "[data-b09-switch=\"link\"]" - }, - { - "n": 9, - "sel": "[data-help-row]" - } - ] - }, - { - "name": "B09_09_box_view", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"dg_list\"]" - }, - { - "click": "[data-b09-tab=\"dg\"]" - }, - { - "wait": "[data-b09-table=\"dg\"]" - }, - { - "wait_ms": 800 - }, - { - "wait": ".ui-group-cards" - } - ], - "clip": ".b09-estimation__panel", - "callouts": [] - }, - { - "name": "B09_10_table_view", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"dg_list\"]" - }, - { - "click": "[data-b09-tab=\"dg\"]" - }, - { - "wait": "[data-b09-table=\"dg\"]" - }, - { - "wait_ms": 800 - }, - { - "click": "[data-b09-switch=\"view\"] [data-value=\"table\"]" - }, - { - "wait": "[data-b09-table=\"dg\"] tr[data-i]" - }, - { - "wait_ms": 800 - } - ], - "clip": ".b09-estimation__panel", - "callouts": [] - }, - { - "name": "B09_11_box_columns", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"dg_list\"]" - }, - { - "click": "[data-b09-tab=\"dg\"]" - }, - { - "wait": "[data-b09-table=\"dg\"]" - }, - { - "wait_ms": 800 - }, - { - "wait": ".ui-group-cards" - } - ], - "clip": ".b09-estimation__tools", - "callouts": [] - }, - { - "name": "B09_12_link_switch", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "wait": "[data-b09-switch=\"link\"]" - }, - { - "wait_ms": 800 - } - ], - "clip": "[data-b09-switch=\"link\"]", - "callouts": [] - }, - { - "name": "B09_13_popup", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"material\"]" - }, - { - "click": "[data-b09-tab=\"material\"]" - }, - { - "wait": "[data-b09-table=\"material\"]" - }, - { - "wait_ms": 800 - }, - { - "click": "[data-b09-table=\"material\"] tr[data-i=\"0\"] td:nth-child(2)" - }, - { - "wait": "[data-b09-popup]" - }, - { - "wait_ms": 800 - } - ], - "clip": "[data-b09-popup]", - "callouts": [] - }, - { - "name": "B09_14_bill_table", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"total\"]" - }, - { - "click": "[data-b09-tab=\"bill\"]" - }, - { - "wait": "[data-b09-table=\"bill\"]" - }, - { - "wait_ms": 800 - } - ], - "clip": ".b09-estimation__panel", - "callouts": [ - { - "n": 1, - "sel": ".b09-estimation__tools" - }, - { - "n": 2, - "sel": "[data-b09-table=\"bill\"]" - } - ] - }, - { - "name": "B09_15_bill_level_tools", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"total\"]" - }, - { - "click": "[data-b09-tab=\"bill\"]" - }, - { - "wait": "[data-b09-table=\"bill\"]" - }, - { - "wait_ms": 800 - }, - { - "click": "[data-b09-table=\"bill\"] tr[data-i=\"1\"] td:nth-child(2)" - }, - { - "wait_ms": 800 - } - ], - "clip": ".b09-estimation__tools", - "callouts": [ - { - "n": 1, - "sel": "[data-b09-level=\"들여쓰기 →\"]" - }, - { - "n": 2, - "sel": "[data-b09-level=\"내어쓰기 ←\"]" - }, - { - "n": 3, - "sel": "[data-b09-level=\"위로 ↑\"]" - }, - { - "n": 4, - "sel": "[data-b09-level=\"아래로 ↓\"]" - } - ] - }, - { - "name": "B09_16_bill_menu", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"total\"]" - }, - { - "click": "[data-b09-tab=\"bill\"]" - }, - { - "wait": "[data-b09-table=\"bill\"]" - }, - { - "wait_ms": 800 - }, - { - "contextmenu": "[data-b09-table=\"bill\"] tr[data-i=\"2\"]" - }, - { - "wait": ".ui-ctx-menu" - }, - { - "wait_ms": 800 - } - ], - "clip": ".ui-ctx-menu", - "callouts": [] - }, - { - "name": "B09_17_bill_lamp", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"total\"]" - }, - { - "click": "[data-b09-tab=\"bill\"]" - }, - { - "wait": "[data-b09-table=\"bill\"]" - }, - { - "wait_ms": 800 - } - ], - "clip": "[data-b09-table=\"bill\"]", - "callouts": [ - { - "n": 1, - "sel": "td.b09-bill__lamp" - } - ] - }, - { - "name": "B09_18_price_link", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"total\"]" - }, - { - "click": "[data-b09-tab=\"bill\"]" - }, - { - "wait": "[data-b09-table=\"bill\"]" - }, - { - "wait_ms": 800 - }, - { - "click": "td.b09-bill__lamp:not(.is-linked)" - }, - { - "wait": ".ui-modal" - }, - { - "wait_ms": 800 - } - ], - "clip": ".ui-modal", - "callouts": [] - }, - { - "name": "B09_19_haul_modal", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"total\"]" - }, - { - "click": "[data-b09-tab=\"bill\"]" - }, - { - "wait": "[data-b09-table=\"bill\"]" - }, - { - "wait_ms": 800 - }, - { - "click": "[data-b09-table=\"bill\"] tr[data-i=\"?\"] td.b09-bill__lamp" - }, - { - "wait": ".b09-haul-modal" - }, - { - "wait_ms": 800 - } - ], - "clip": ".b09-haul-modal", - "callouts": [ - { - "n": 1, - "sel": ".b09-haul-modal .m02-inputval__row" - }, - { - "n": 2, - "sel": ".b09-haulsteps" - } - ] - }, - { - "name": "B09_20_haul_cycle", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"total\"]" - }, - { - "click": "[data-b09-tab=\"bill\"]" - }, - { - "wait": "[data-b09-table=\"bill\"]" - }, - { - "wait_ms": 800 - }, - { - "click": "[data-b09-table=\"bill\"] tr[data-i=\"?\"] td.b09-bill__lamp" - }, - { - "wait": ".b09-haulstep" - }, - { - "wait_ms": 800 - } - ], - "clip": ".b09-haulsteps", - "callouts": [] - }, - { - "name": "B09_21_total_tab", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"total\"]" - }, - { - "click": "[data-b09-tab=\"total\"]" - }, - { - "wait": "[data-b09-table=\"total\"]" - }, - { - "wait_ms": 800 - } - ], - "clip": ".b09-estimation__panel", - "callouts": [] - }, - { - "name": "B09_22_total_rate_cells", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"total\"]" - }, - { - "click": "[data-b09-tab=\"total\"]" - }, - { - "wait": "[data-b09-table=\"total\"]" - }, - { - "wait_ms": 800 - } - ], - "clip": "[data-b09-table=\"total\"]", - "callouts": [ - { - "n": 1, - "sel": "?" - } - ] - }, - { - "name": "B09_23_cost_tab", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"cost\"]" - }, - { - "click": "[data-b09-tab=\"cost\"]" - }, - { - "wait": "[data-b09-table=\"cost\"]" - }, - { - "wait_ms": 800 - } - ], - "clip": ".b09-estimation__panel", - "callouts": [] - }, - { - "name": "B09_24_dg_list", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"dg_list\"]" - }, - { - "click": "[data-b09-tab=\"dg_list\"]" - }, - { - "wait": "[data-b09-table=\"dg_list\"]" - }, - { - "wait_ms": 800 - } - ], - "clip": ".b09-estimation__panel", - "callouts": [] - }, - { - "name": "B09_25_basis_tab", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"basis\"]" - }, - { - "click": "[data-b09-tab=\"basis\"]" - }, - { - "wait": "[data-b09-table=\"basis\"]" - }, - { - "wait_ms": 800 - } - ], - "clip": ".b09-estimation__panel", - "callouts": [] - }, - { - "name": "B09_26_quote_modal", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"material\"]" - }, - { - "click": "[data-b09-tab=\"compare\"]" - }, - { - "wait": "[data-b09-table=\"compare\"]" - }, - { - "wait_ms": 800 - }, - { - "click": "[data-b09-table=\"compare\"] tr[data-i=\"?\"] td[data-c=\"?\"]" - }, - { - "wait": ".ui-modal" - }, - { - "wait_ms": 800 - } - ], - "clip": ".ui-modal", - "callouts": [] - }, - { - "name": "B09_27_sum_material", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"material\"]" - }, - { - "click": "[data-b09-tab=\"sum_material\"]" - }, - { - "wait": "[data-b09-table=\"sum_material\"]" - }, - { - "wait_ms": 800 - } - ], - "clip": ".b09-estimation__panel", - "callouts": [] - }, - { - "name": "B09_28_schedule_panel", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "wait": "[data-b09-schedule-panel]" - }, - { - "click": "[data-b09-schedule-panel] .ui-collapsible__title" - }, - { - "wait_ms": 800 - } - ], - "clip": "[data-b09-schedule-panel]", - "callouts": [] - }, - { - "name": "B09_29_schedule_sum", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"schedule_sum\"]" - }, - { - "click": "[data-b09-tab=\"schedule_sum\"]" - }, - { - "wait": "[data-b09-table=\"schedule_sum\"]" - }, - { - "wait_ms": 800 - } - ], - "clip": ".b09-estimation__panel", - "callouts": [] - }, - { - "name": "B09_30_schedule_calc", - "route": "#/b09-estimation", - "project": "road", - "before": [ - { - "click": "[data-b09-group=\"schedule_sum\"]" - }, - { - "click": "[data-b09-tab=\"schedule_calc\"]" - }, - { - "wait": "[data-b09-table=\"schedule_calc\"]" - }, - { - "wait_ms": 800 - } - ], - "clip": ".b09-estimation__panel", - "callouts": [] - } -] \ No newline at end of file + {"name":"B09_00_overview","route":"#/b09-estimation","project":"road","before":[{"wait":".b09-estimation__panel .ui-data-table"},{"wait_ms":800}],"clip":null,"callouts":[{"n":1,"sel":".b09-options .ui-sidebar-scroll > section:first-of-type"},{"n":2,"sel":"[data-b09-schedule-panel]"},{"n":3,"sel":".b09-estimation__tabs:not(.ui-subtabs)"},{"n":4,"sel":".b09-estimation__tabs.ui-subtabs"},{"n":5,"sel":".b09-estimation__panel .ui-data-table"},{"n":6,"sel":".b09-estimation__line-hint"},{"n":7,"sel":"[data-b09-switch=\"view\"]"},{"n":8,"sel":"[data-b09-switch=\"link\"]"},{"n":9,"sel":"[data-help-row]"}]}, + {"name":"B09_01_check_card","route":"#/b09-estimation","project":"road","before":[{"wait":".b09-options .ui-sidebar-scroll > section:first-of-type"},{"click":".b09-options .ui-sidebar-scroll > section:first-of-type .ui-collapsible__title"},{"wait_ms":800}],"clip":".b09-options .ui-sidebar-scroll > section:first-of-type","callouts":[{"n":1,"sel":".b09-options .ui-sidebar-scroll > section:first-of-type [data-b09-refresh]"},{"n":2,"sel":".b09-check__head"}]}, + {"name":"B09_02_refresh_button","route":"#/b09-estimation","project":"road","before":[{"wait":".b09-options .ui-sidebar-scroll > section:first-of-type"},{"click":".b09-options .ui-sidebar-scroll > section:first-of-type .ui-collapsible__title"},{"wait_ms":800}],"clip":"[data-b09-refresh]","callouts":[]}, + {"name":"B09_03_check_list","route":"#/b09-estimation","project":"road","before":[{"wait":".b09-options .ui-sidebar-scroll > section:first-of-type"},{"click":".b09-options .ui-sidebar-scroll > section:first-of-type .ui-collapsible__title"},{"wait_ms":800},{"wait":".b09-check__head"}],"clip":".b09-check","callouts":[{"n":1,"sel":".b09-check__head"},{"n":2,"sel":".b09-check .ui-sidebar-row"}]}, + {"name":"B09_04_reset_confirm","route":"#/b09-estimation","project":"road","before":[{"wait":"[data-b09-reset]"},{"click":"[data-b09-reset]","confirm":true},{"wait":".ui-confirm__panel"},{"wait_ms":600}],"clip":".ui-confirm__panel","callouts":[{"n":1,"sel":".ui-confirm__message"},{"n":2,"sel":".ui-confirm__actions"}],"after":[{"click":"button:has-text(\"취소\")"}]}, + {"name":"B09_05_top_tabs","route":"#/b09-estimation","project":"road","before":[{"wait":".b09-estimation__tabs"},{"wait_ms":800}],"clip":".b09-estimation__tabs:not(.ui-subtabs)","callouts":[]}, + {"name":"B09_06_sub_tabs","route":"#/b09-estimation","project":"road","before":[{"click":"[data-b09-group=\"total\"]"},{"wait":"[data-b09-tab=\"bill\"]"},{"wait_ms":800}],"clip":".b09-estimation__tabs.ui-subtabs","callouts":[]}, + {"name":"B09_07_compare_table","route":"#/b09-estimation","project":"road","before":[{"click":"[data-b09-group=\"material\"]"},{"click":"[data-b09-tab=\"compare\"]"},{"wait":"[data-b09-table=\"compare\"]"},{"wait_ms":800}],"clip":".b09-estimation__panel","callouts":[]}, + {"name":"B09_08_dock","route":"#/b09-estimation","project":"road","before":[{"wait":".b09-dock"},{"wait_ms":800}],"clip":".b09-dock","callouts":[{"n":1,"sel":"[data-b09-switch=\"view\"]"},{"n":2,"sel":"[data-b09-switch=\"link\"]"},{"n":3,"sel":"[data-help-row]"}]}, + {"name":"B09_12_link_switch","route":"#/b09-estimation","project":"road","before":[{"wait":"[data-b09-switch=\"link\"]"},{"wait_ms":800}],"clip":"[data-b09-switch=\"link\"]","callouts":[]}, + {"name":"B09_14_bill_table","route":"#/b09-estimation","project":"road","before":[{"click":"[data-b09-group=\"total\"]"},{"click":"[data-b09-tab=\"bill\"]"},{"wait":"[data-b09-table=\"bill\"]"},{"wait_ms":800}],"clip":".b09-estimation__panel","callouts":[{"n":1,"sel":".b09-estimation__tools"},{"n":2,"sel":"[data-b09-table=\"bill\"]"}]}, + {"name":"B09_15_bill_level_tools","route":"#/b09-estimation","project":"road","before":[{"click":"[data-b09-group=\"total\"]"},{"click":"[data-b09-tab=\"bill\"]"},{"wait":"[data-b09-table=\"bill\"]"},{"wait_ms":800},{"click":"[data-b09-table=\"bill\"] tr[data-i=\"1\"] td:nth-child(2)"},{"wait_ms":800}],"clip":".b09-estimation__tools","callouts":[{"n":1,"sel":"[data-b09-level=\"들여쓰기 →\"]"},{"n":2,"sel":"[data-b09-level=\"내어쓰기 ←\"]"},{"n":3,"sel":"[data-b09-level=\"위로 ↑\"]"},{"n":4,"sel":"[data-b09-level=\"아래로 ↓\"]"}]}, + {"name":"B09_16_bill_menu","route":"#/b09-estimation","project":"road","before":[{"click":"[data-b09-group=\"total\"]"},{"click":"[data-b09-tab=\"bill\"]"},{"wait":"[data-b09-table=\"bill\"]"},{"wait_ms":800},{"contextmenu":"[data-b09-table=\"bill\"] tr[data-i=\"2\"]"},{"wait":".ui-ctx-menu"},{"wait_ms":800}],"clip":".ui-ctx-menu","callouts":[]}, + {"name":"B09_17_bill_lamp","route":"#/b09-estimation","project":"road","before":[{"click":"[data-b09-group=\"total\"]"},{"click":"[data-b09-tab=\"bill\"]"},{"wait":"[data-b09-table=\"bill\"]"},{"wait_ms":800}],"clip":"[data-b09-table=\"bill\"]","callouts":[{"n":1,"sel":"td.b09-bill__lamp"}]}, + {"name":"B09_18_price_link","route":"#/b09-estimation","project":"road","before":[{"click":"[data-b09-group=\"total\"]"},{"click":"[data-b09-tab=\"bill\"]"},{"wait":"[data-b09-table=\"bill\"]"},{"wait_ms":800},{"click":"td.b09-bill__lamp:not(.is-linked)"},{"wait":".m01-logic__pick"},{"wait_ms":800}],"clip":".m01-logic__pick","callouts":[{"n":1,"sel":".m01-logic__pick input"},{"n":2,"sel":".m01-logic__pick button:has-text(\"마스터\")"},{"n":3,"sel":".m01-logic__pick button:has-text(\"닫기\")","pos":"tr"}],"after":[{"click":".m01-logic__pick button:has-text(\"닫기\")"}]}, + {"name":"B09_21_total_tab","route":"#/b09-estimation","project":"road","before":[{"click":"[data-b09-group=\"total\"]"},{"click":"[data-b09-tab=\"total\"]"},{"wait":"[data-b09-table=\"total\"]"},{"wait_ms":800}],"clip":".b09-estimation__panel","callouts":[]}, + {"name":"B09_22_total_rate_cells","route":"#/b09-estimation","project":"road","before":[{"click":"[data-b09-group=\"total\"]"},{"click":"[data-b09-tab=\"total\"]"},{"wait":"[data-b09-table=\"total\"]"},{"wait_ms":800}],"clip":"[data-b09-table=\"total\"]","callouts":[{"n":1,"sel":"[data-b09-table=\"total\"] th:has-text(\"요율(%)\")"},{"n":2,"sel":"[data-b09-table=\"total\"] td.is-can-edit[data-c=\"6\"]"},{"n":3,"sel":"[data-b09-table=\"total\"] th:has-text(\"요율 출처\")"}]}, + {"name":"B09_23_cost_tab","route":"#/b09-estimation","project":"road","before":[{"click":"[data-b09-group=\"cost\"]"},{"click":"[data-b09-tab=\"cost\"]"},{"wait":"[data-b09-table=\"cost\"]"},{"wait_ms":800}],"clip":".b09-estimation__panel","callouts":[]}, + {"name":"B09_24_dg_list","route":"#/b09-estimation","project":"road","before":[{"click":"[data-b09-group=\"dg_list\"]"},{"wait":".b09-estimation__panel"},{"wait_ms":800}],"clip":".b09-estimation__panel","callouts":[]}, + {"name":"B09_25_basis_tab","route":"#/b09-estimation","project":"road","before":[{"click":"[data-b09-group=\"basis\"]"},{"click":"[data-b09-tab=\"basis\"]"},{"wait":"[data-b09-table=\"basis\"]"},{"wait_ms":800}],"clip":".b09-estimation__panel","callouts":[]}, + {"name":"B09_27_sum_material","route":"#/b09-estimation","project":"road","before":[{"click":"[data-b09-group=\"material\"]"},{"click":"[data-b09-tab=\"sum_material\"]"},{"wait":"[data-b09-table=\"sum_material\"]"},{"wait_ms":800}],"clip":".b09-estimation__panel","callouts":[]}, + {"name":"B09_28_schedule_panel","route":"#/b09-estimation","project":"road","before":[{"wait":"[data-b09-schedule-panel]"},{"click":"[data-b09-schedule-panel] .ui-collapsible__title"},{"wait_ms":800}],"clip":"[data-b09-schedule-panel]","callouts":[]}, + {"name":"B09_29_schedule_sum","route":"#/b09-estimation","project":"road","before":[{"click":"[data-b09-group=\"schedule_sum\"]"},{"click":"[data-b09-tab=\"schedule_sum\"]"},{"wait":"[data-b09-table=\"schedule_sum\"]"},{"wait_ms":800}],"clip":".b09-estimation__panel","callouts":[]}, + {"name":"B09_30_schedule_calc","route":"#/b09-estimation","project":"road","before":[{"click":"[data-b09-group=\"schedule_sum\"]"},{"click":"[data-b09-tab=\"schedule_calc\"]"},{"wait":"[data-b09-table=\"schedule_calc\"]"},{"wait_ms":800}],"clip":".b09-estimation__panel","callouts":[]}, + {"name":"B09_31_print_overview","route":"#/b09-print","project":"road","before":[{"wait":".b09-print__panel"},{"wait_ms":22000},{"click":".b09-print__panel .ui-collapsible__title:has-text(\"영역\")"},{"click":".b09-print__panel .ui-collapsible__title:has-text(\"쪽 목록\")"},{"wait_ms":800}],"clip":null,"callouts":[{"n":1,"sel":".b09-print__panel section.ui-collapsible:has([data-b09-print-area])"},{"n":2,"sel":".b09-print__panel section.ui-collapsible:has([data-b09-print-item])"},{"n":3,"sel":"[data-b09-print-status]"},{"n":4,"sel":".b09-print__frame"},{"n":5,"sel":".b09-print__actions"}],"allow_post":["/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/print/drawings-pdf","/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/print/table-pdf"]}, + {"name":"B09_32_print_area_buttons","route":"#/b09-print","project":"road","before":[{"wait":".b09-print__panel"},{"click":".b09-print__panel .ui-collapsible__title:has-text(\"영역\")"},{"wait_ms":600}],"clip":".b09-print__panel section.ui-collapsible:has([data-b09-print-area])","callouts":[{"n":1,"sel":"[data-b09-print-area=\"drawings\"]"},{"n":2,"sel":"[data-b09-print-area=\"quantity\"]"},{"n":3,"sel":"[data-b09-print-area=\"cost\"]"}],"allow_post":["/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/print/drawings-pdf","/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/print/table-pdf"]}, + {"name":"B09_33_print_area_quantity","route":"#/b09-print","project":"road","before":[{"wait":".b09-print__panel"},{"click":".b09-print__panel .ui-collapsible__title:has-text(\"영역\")"},{"click":"[data-b09-print-area=\"quantity\"]"},{"wait_ms":16000},{"click":".b09-print__panel .ui-collapsible__title:has-text(\"쪽 목록\")"},{"wait_ms":600}],"clip":null,"callouts":[{"n":1,"sel":"[data-b09-print-area=\"quantity\"]"},{"n":2,"sel":"[data-b09-print-status]"}],"allow_post":["/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/print/drawings-pdf","/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/print/table-pdf","/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/quantity/hydro/calc"]}, + {"name":"B09_34_print_sheet_list","route":"#/b09-print","project":"road","before":[{"wait":".b09-print__panel"},{"click":".b09-print__panel .ui-collapsible__title:has-text(\"영역\")"},{"click":"[data-b09-print-area=\"quantity\"]"},{"wait_ms":16000},{"click":".b09-print__panel .ui-collapsible__title:has-text(\"쪽 목록\")"},{"wait_ms":600}],"clip":".b09-print__panel section.ui-collapsible:has([data-b09-print-item])","callouts":[{"n":1,"sel":"[data-b09-print-item]"}],"allow_post":["/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/print/drawings-pdf","/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/print/table-pdf","/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/quantity/hydro/calc"]}, + {"name":"B09_35_print_sheet_uncheck","route":"#/b09-print","project":"road","before":[{"wait":".b09-print__panel"},{"click":".b09-print__panel .ui-collapsible__title:has-text(\"영역\")"},{"click":"[data-b09-print-area=\"quantity\"]"},{"wait_ms":16000},{"click":".b09-print__panel .ui-collapsible__title:has-text(\"쪽 목록\")"},{"click":"[data-b09-print-item]"},{"wait_ms":9000}],"clip":null,"callouts":[{"n":1,"sel":"[data-b09-print-item]"},{"n":2,"sel":"[data-b09-print-status]"}],"allow_post":["/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/print/drawings-pdf","/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/print/table-pdf","/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/quantity/hydro/calc"]}, + {"name":"B09_36_print_status_line","route":"#/b09-print","project":"road","before":[{"wait":".b09-print__panel"},{"wait_ms":22000}],"clip":"[data-b09-print-status]","callouts":[],"allow_post":["/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/print/drawings-pdf","/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/print/table-pdf"]}, + {"name":"B09_37_print_preview_frame","route":"#/b09-print","project":"road","before":[{"wait":".b09-print__panel"},{"wait_ms":22000}],"clip":".b09-print__frame","callouts":[],"allow_post":["/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/print/drawings-pdf","/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/print/table-pdf"]}, + {"name":"B09_38_print_area_cost","route":"#/b09-print","project":"road","before":[{"wait":".b09-print__panel"},{"click":".b09-print__panel .ui-collapsible__title:has-text(\"영역\")"},{"click":"[data-b09-print-area=\"cost\"]"},{"wait_ms":16000},{"click":".b09-print__panel .ui-collapsible__title:has-text(\"쪽 목록\")"},{"wait_ms":600}],"clip":".b09-print__panel","callouts":[{"n":1,"sel":"[data-b09-print-area=\"cost\"]"}],"allow_post":["/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/print/drawings-pdf","/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/print/table-pdf"]}, + {"name":"B09_39_print_buttons_row","route":"#/b09-print","project":"road","before":[{"wait":".b09-print__panel"},{"click":".b09-print__panel .ui-collapsible__title:has-text(\"영역\")"},{"click":"[data-b09-print-area=\"quantity\"]"},{"wait_ms":16000}],"clip":".b09-print__actions","callouts":[{"n":1,"sel":"[data-b09-print-pdf]"},{"n":2,"sel":"[data-b09-print-xlsx]"},{"n":3,"sel":".b09-print__actions .ui-help-btn"}],"allow_post":["/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/print/drawings-pdf","/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/print/table-pdf","/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/quantity/hydro/calc"]}, + {"name":"B09_40_print_area_drawings","route":"#/b09-print","project":"road","before":[{"wait":".b09-print__panel"},{"wait_ms":1500}],"clip":".b09-print__actions","callouts":[{"n":1,"sel":"[data-b09-print-pdf]"}],"allow_post":["/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/print/drawings-pdf","/api/projects/c2390e1c-ee66-42ef-8cd7-253ec00bf904/print/table-pdf"]}, + {"name":"B09_42_print_b09_entry","route":"#/b09-estimation","project":"road","before":[{"wait":"[data-b09-print]"},{"wait_ms":1200}],"clip":".b09-dock","callouts":[{"n":1,"sel":"[data-b09-print]"}]} +] diff --git a/A05_EduDetail/guide/D01/00_설명서.md b/A05_EduDetail/guide/D01/00_설명서.md index 0647091dd..773eb7182 100644 --- a/A05_EduDetail/guide/D01/00_설명서.md +++ b/A05_EduDetail/guide/D01/00_설명서.md @@ -1,35 +1,35 @@ -# 예정노선 등록 설명서 +# 예정노선 등록 -## 이 화면에서 하는 일 -- 여러 해에 걸친 예정노선의 기본 정보(사업 연도 · 지역 · 임도 종류 · 설계속도 · 이름)를 넣고 새 예정노선 프로젝트를 만드는 첫 화면임. -- 대시보드의 [+] 에서 「예정노선」 카드를 고르면 이 화면이 열림. -- 도면 관련 칸은 없음. 노선의 실제 위치는 만든 뒤 다음 화면(1단계 기준 지정)에서 정함. -- 예정노선은 **산림청만** 만들 수 있음. 산림청 = 시스템 관리자 또는 메일 주소가 `.go.kr` 로 끝나는 사용자임. +여러 해에 걸친 예정노선의 기본 정보(사업 연도 · 지역 · 임도 종류 · 설계속도 · 이름)를 넣고 새 예정노선 프로젝트를 만드는 첫 화면. + +## 여는 길 + +- 대시보드 프로젝트 줄 위의 [+]를 누르고 「새 프로젝트」 창에서 「예정노선」 카드를 고름. [새 프로젝트 여는 길](D01/01_새_프로젝트_여는_길) 참고. +- 예정노선은 **산림청만** 만들 수 있음. 산림청 = 시스템 관리자 또는 메일 주소가 `.go.kr` 로 끝나는 사용자. + +![화면 한눈에](D01_00_overview.webp) + +## 화면 구역 + +| 번호 | 구역 | 하는 일 | +| --- | --- | --- | +| 1 | 사업 연도 시작 · 끝 | 사업 기간을 넣음. 한 해짜리면 두 칸을 같은 해로 둠 | +| 2 | 사업 지역 | 사업이 있는 지역 이름을 적음. 꼭 넣어야 하는 칸 | +| 3 | 임도 종류 · 설계속도 | 임도 종류를 고르면 옆 설계속도 목록이 따라 바뀜 | +| 4 | 프로젝트명 | 위 칸을 채우면 이름이 저절로 만들어짐. 직접 고쳐도 됨 | +| 5 | 노선 누가거리 | 노선 시작 · 종료 누가거리(m). 비워 두어도 됨 | +| 6 | 단추 줄 | [?] 도움말 · [취소] 대시보드로 돌아감 · [등록] 프로젝트를 만듦 | ## 작업 순서 -1. 대시보드에서 [+] 를 누르고 「예정노선」 카드를 고름. 산림청이 아니면 카드가 흐리게 보이고 누르면 「예정노선은 산림청(시스템 관리자 · go.kr 메일)만 만들 수 있습니다.」 안내가 나옴. -2. 「사업 연도 시작」 · 「사업 연도 끝」 에 사업 기간을 넣음. 한 해짜리면 두 칸을 같은 해로 둠. -3. 「사업 지역」 을 적음. 필수 칸임. -4. 「임도 종류」 를 고르고, 그에 맞춰 「설계속도」 를 고름. -5. 「프로젝트명」 을 확인함. 위 칸을 채우면 자동으로 이름이 만들어지며, 직접 고쳐도 됨. -6. 필요하면 「노선 시작 누가거리 (m)」 · 「노선 종료 누가거리 (m)」 를 넣음. 비워 두어도 됨. -7. [등록] 을 누름. 칸에 문제가 있으면 해당 칸 아래에 빨간 안내가 나오고 등록되지 않음. -## 단추 -| 단추 | 하는 일 | -| --- | --- | -| [?] | 이 도움말을 엶 | -| [취소] | 등록하지 않고 대시보드로 돌아감 | -| [등록] | 입력한 값으로 예정노선 프로젝트를 만들고 곧바로 D02 「기준 지정」 화면으로 감 | +1. 대시보드 [+] → 「예정노선」 카드. [새 프로젝트 여는 길](D01/01_새_프로젝트_여는_길) 참고. +2. 사업 연도 시작 · 끝과 사업 지역을 넣음. [사업 연도 · 지역](D01/02_사업연도_지역) 참고. +3. 임도 종류와 설계속도를 고름. [임도 종류 · 설계속도](D01/03_임도종류_설계속도) 참고. +4. 프로젝트명을 확인함. [프로젝트명](D01/04_프로젝트명) 참고. +5. 필요하면 노선 시작 · 종료 누가거리를 넣음. [노선 누가거리](D01/05_누가거리) 참고. +6. [등록]을 누름. 문제가 있는 칸은 아래에 빨간 안내가 나옴. [입력 오류와 등록](D01/06_입력오류와_등록) 참고. +7. 등록되면 바로 다음 화면인 [기준 지정](D02/00_설명서)이 열림. -## 결과 읽는 법 -- 등록에 성공하면 「프로젝트를 만들었습니다.」 알림이 뜨고, 만든 프로젝트가 현재 프로젝트가 되어 「기준 지정」 화면(지도 화면)이 열림. -- 대시보드 프로젝트 표에도 종류 「예정노선」 으로 올라감. 표의 단계 막대(기준 지정 · 노선 분석 · 확정 · 내보내기)를 누르면 그 단계 화면으로 감. -- 실패하면 서버가 알려 준 까닭이 알림으로 뜨고 이 화면에 머묾. +> 주의: 등록 직후에는 노선 위치가 비어 있음. 지점을 정하고 저장해야 분석 단계로 갈 수 있음. -## 알아 둘 것 -- 칸마다 뜻과 기본값은 「칸 뜻」 문서에 있음. -- 임도 종류 · 설계속도는 임도설계(B 그룹)와 같은 기준을 씀. 등록 뒤 이 화면에서 고치는 방법은 코드에서 확인하지 못함. -- 누가거리(노선을 따라 잰 거리) 두 칸은 저장만 되며, 다음 화면들에서 쓰이는 곳은 확인하지 못함. 「분석 뒤 실제 누가와 다르면 차이 표시」 는 준비 중으로 봄. -- 등록 직후에는 노선 위치가 비어 있음. 지점을 정하고 저장해야 분석 단계로 갈 수 있음. -- 지정받은 다른 회사 구성원은 예정노선을 보기만 할 수 있고 만들거나 고칠 수 없음. +> 참고: 칸마다 뜻과 기본값은 [칸 뜻](D01/10_칸_뜻)에 있음. diff --git a/A05_EduDetail/guide/D01/01_새_프로젝트_여는_길.md b/A05_EduDetail/guide/D01/01_새_프로젝트_여는_길.md new file mode 100644 index 000000000..65bd86194 --- /dev/null +++ b/A05_EduDetail/guide/D01/01_새_프로젝트_여는_길.md @@ -0,0 +1,26 @@ +# 새 프로젝트 여는 길 + +대시보드 [+]에서 「예정노선」 카드를 골라 등록 화면으로 들어가는 길. + +## 여는 길 + +- 로그인 뒤 대시보드(프로젝트 목록 화면)에서 프로젝트 줄 위의 [+]를 누름. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | [+]를 누름. 「새 프로젝트」 창이 열림. | +| 2 | 카드 넷 가운데 「예정노선」을 누름. 창이 닫히고 예정노선 등록 화면이 열림. | +| 3 | 취소하려면 창 오른쪽 위 [닫기]를 누름. | + +![새 프로젝트 창](D01_01_dashboard_new.webp) + +그림 번호 — 1 「예정노선」 카드 + +## 보이는 것 + +- 카드 넷 = 예정노선 · 임도설계 · 사방설계 · 안정성평가. 사방설계는 「준비 중」 표시가 붙어 눌러도 열리지 않음. +- 산림청이 아닌 계정은 「예정노선」 카드가 흐리게 보임. 마우스를 올리면 까닭이 말풍선으로 보이고, 눌러도 「예정노선은 산림청(시스템 관리자 · go.kr 메일)만 만들 수 있습니다.」 안내만 나옴. + +> 참고: 이미 만든 예정노선은 대시보드 프로젝트 표에 「예정노선」 종류로 나옴. 표의 단계 막대(기준 지정 · 노선 분석 · 확정 · 내보내기)를 누르면 그 단계 화면으로 감. diff --git a/A05_EduDetail/guide/D01/02_사업연도_지역.md b/A05_EduDetail/guide/D01/02_사업연도_지역.md new file mode 100644 index 000000000..52c3ba8d9 --- /dev/null +++ b/A05_EduDetail/guide/D01/02_사업연도_지역.md @@ -0,0 +1,28 @@ +# 사업 연도 · 지역 + +사업 기간(시작 · 끝 연도)과 사업 지역을 넣는 칸. + +## 여는 길 + +- 예정노선 등록 화면 맨 위 줄 두 칸과 그 아래 「사업 지역」 칸. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 「사업 연도 시작」에 첫 해를 넣음. 처음에는 올해가 들어 있음. | +| 2 | 「사업 연도 끝」에 마지막 해를 넣음. 한 해짜리 사업이면 시작과 같은 해. | +| 3 | 「사업 지역」에 지역 이름을 적음(예: 울진군 금강송면). 100 글자까지. | +| 4 | 「종류」 칸은 「노선 계획」으로 고정이라 고칠 수 없음. | + +![사업 연도와 지역 입력](D01_02_year_region.webp) + +그림 번호 — 1 사업 연도 시작 · 2 사업 연도 끝 · 3 사업 지역 · 4 종류(고정) + +## 보이는 것 + +- 연도를 바꾸면 아래 「프로젝트명」이 바로 따라 바뀜(예: 2027~2029 울진군 금강송면 간선임도). +- 연도는 2000 ~ 2100 안의 정수만 받음. 끝 연도가 시작 연도보다 앞이면 [등록] 때 안내가 나옴. [입력 오류와 등록](D01/06_입력오류와_등록) 참고. +- 연도 수 + 1 개의 지점이 다음 화면에서 필요함. 2027 ~ 2029 세 해면 지점 네 개. + +> 주의: 사업 연도는 등록 뒤에 [기준 지정](D02/00_설명서) 화면에서 바꿀 수 없음. 등록 전에 확인. diff --git a/A05_EduDetail/guide/D01/03_임도종류_설계속도.md b/A05_EduDetail/guide/D01/03_임도종류_설계속도.md new file mode 100644 index 000000000..74546cc81 --- /dev/null +++ b/A05_EduDetail/guide/D01/03_임도종류_설계속도.md @@ -0,0 +1,32 @@ +# 임도 종류 · 설계속도 + +노선을 설계하는 기준이 되는 임도 종류와 속도를 고르는 칸. + +## 여는 길 + +- 예정노선 등록 화면 가운데 줄의 「임도 종류」 · 「설계속도」. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 「임도 종류」에서 간선임도 · 산불진화임도 · 작업임도 중 하나를 고름. | +| 2 | 옆 「설계속도」 목록이 종류에 맞게 바뀜. 원하는 속도를 고름. | + +![임도 종류와 설계속도](D01_03_type_speed.webp) + +그림 번호 — 1 임도 종류 · 2 설계속도(간선임도에서 40 km/h 를 고른 모습) + +## 보이는 것 + +| 임도 종류 | 고를 수 있는 설계속도 | +| --- | --- | +| 간선임도 | 20 · 30 · 40 km/h | +| 산불진화임도 | 20 · 30 · 40 km/h | +| 작업임도 | 20 km/h 만 | + +- 임도 종류를 바꾸면 설계속도가 가장 낮은 값(20 km/h)으로 돌아감. 종류를 먼저 정하고 속도를 고름. +- 임도 종류는 프로젝트명에도 들어감. +- 같은 기준을 임도설계(B 그룹)도 씀. 종류와 속도에 따라 분석 단계의 기울기 · 곡선 기준이 자동으로 정해짐. + +> 참고: 이 화면에서 기울기 상한 · 최소 곡선 반지름 같은 기준값을 따로 넣는 칸은 없음. diff --git a/A05_EduDetail/guide/D01/04_프로젝트명.md b/A05_EduDetail/guide/D01/04_프로젝트명.md new file mode 100644 index 000000000..7c0274e38 --- /dev/null +++ b/A05_EduDetail/guide/D01/04_프로젝트명.md @@ -0,0 +1,26 @@ +# 프로젝트명 + +대시보드와 표에 보이는 프로젝트 이름. 칸을 채우면 저절로 만들어짐. + +## 여는 길 + +- 예정노선 등록 화면 왼쪽 아래 「프로젝트명」 칸. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 사업 연도 · 사업 지역 · 임도 종류를 넣으면 이름이 저절로 채워짐. | +| 2 | 다른 이름을 쓰고 싶으면 칸을 눌러 직접 고침. 255 글자까지, 비워 둘 수 없음. | + +![프로젝트명 자동 채움](D01_04_name.webp) + +그림 번호 — 1 프로젝트명(사업 지역을 넣자 이름에 지역이 들어간 모습) + +## 보이는 것 + +- 이름 = 「사업 연도」 + 「사업 지역」 + 「임도 종류」를 띄어 이은 글. 연도가 여러 해이면 「2027~2029」 꼴, 한 해이면 해 하나만 들어감. +- 이름을 직접 고치기 전에는 위 칸을 바꿀 때마다 통째로 다시 만들어짐. +- 직접 고친 뒤에는 위 칸을 바꿔도 자동으로 만든 조각만 새 값으로 바뀌고, 직접 넣은 글은 그대로 남음. 직접 지운 조각은 되살아나지 않음. + +> 참고: 같은 이름 규칙을 임도설계 등록 화면도 씀. diff --git a/A05_EduDetail/guide/D01/05_누가거리.md b/A05_EduDetail/guide/D01/05_누가거리.md new file mode 100644 index 000000000..e43506999 --- /dev/null +++ b/A05_EduDetail/guide/D01/05_누가거리.md @@ -0,0 +1,27 @@ +# 노선 누가거리 + +노선 시작과 끝의 측점 값(누가거리, m)을 미리 정해 두는 칸. 비워 두어도 등록됨. + +## 여는 길 + +- 예정노선 등록 화면 맨 아래 「노선 시작 누가거리 (m)」 · 「노선 종료 누가거리 (m)」. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 노선 첫 지점의 측점 값을 「노선 시작 누가거리」에 넣음. 0 이상의 수. | +| 2 | 노선 끝에서 목표로 하는 거리를 「노선 종료 누가거리」에 넣음. 시작 값보다 커야 함. | +| 3 | 모르면 두 칸 모두 비워 둠. | + +![누가거리 입력](D01_05_chainage.webp) + +그림 번호 — 1 노선 시작 누가거리 · 2 노선 종료 누가거리 + +## 보이는 것 + +- 시작 값은 [노선 분석](D03/00_설명서) 화면의 측점 번호가 어디서부터 세는지를 정함. 비우면 0 부터. +- 종료 값은 분석을 마친 뒤 실제 이은 끝 누가와 비교해 「목표 · 차이」로 보임. +- 종료 값이 시작 값 이하이면 [등록] 때 「종료 누가거리는 시작보다 커야 합니다.」 안내가 나옴. + +> 참고: 누가거리 = 노선을 따라 잰 거리. diff --git a/A05_EduDetail/guide/D01/06_입력오류와_등록.md b/A05_EduDetail/guide/D01/06_입력오류와_등록.md new file mode 100644 index 000000000..f4555b654 --- /dev/null +++ b/A05_EduDetail/guide/D01/06_입력오류와_등록.md @@ -0,0 +1,38 @@ +# 입력 오류와 등록 + +[등록]을 눌렀을 때의 검사와 등록 뒤 이어지는 화면. + +## 여는 길 + +- 예정노선 등록 화면 맨 아래 단추 줄([?] · [취소] · [등록]). + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 칸을 모두 채운 뒤 [등록]을 누름. | +| 2 | 문제가 있으면 그 칸 아래에 빨간 안내가 나오고 등록되지 않음. 고친 뒤 다시 [등록]. | +| 3 | 문제가 없으면 프로젝트가 만들어지고 「프로젝트를 만들었습니다.」 알림과 함께 [기준 지정](D02/00_설명서) 화면이 열림. | +| 4 | 등록하지 않고 나가려면 [취소]를 누름. 대시보드로 돌아감. | + +![입력 오류 안내](D01_06_errors.webp) + +그림 번호 — 1 끝 연도가 시작 연도보다 앞 · 2 사업 지역 비어 있음 · 3 종료 누가거리가 시작 이하 + +![단추 줄](D01_07_buttons.webp) + +그림 번호 — 1 [?] 도움말 · 2 [취소] · 3 [등록] + +## 보이는 것 + +| 안내 | 뜻 | +| --- | --- | +| 숫자 범위 안내 | 시작 연도가 2000 ~ 2100 밖 | +| 「끝 연도는 시작 연도와 같거나 뒤여야 합니다.」 | 끝 연도가 시작 연도보다 앞 | +| 「필수 항목을 입력하세요.」 | 사업 지역 또는 프로젝트명이 빔 | +| 「종료 누가거리는 시작보다 커야 합니다.」 | 종료 값이 시작 값 이하 | + +- 산림청이 아닌 계정이거나 회사에 연결되지 않은 계정이면 서버가 「예정노선은 산림청만 만들 수 있습니다.」로 막고, 이 화면에 머묾. +- 등록에 실패하면 서버가 알려 준 까닭이 알림으로 뜸. + +> 주의: 등록한 프로젝트는 곧바로 현재 프로젝트가 됨. 대시보드 프로젝트 표에도 「예정노선」 종류로 올라감. diff --git a/A05_EduDetail/guide/D01/10_칸_뜻.md b/A05_EduDetail/guide/D01/10_칸_뜻.md index 692332260..d02b3e035 100644 --- a/A05_EduDetail/guide/D01/10_칸_뜻.md +++ b/A05_EduDetail/guide/D01/10_칸_뜻.md @@ -1,5 +1,9 @@ # 칸 뜻 +![등록 화면의 칸](D01_00_overview.webp) + +그림 번호는 [화면 한눈에](D01/00_설명서)의 번호 표와 같음. + | 칸 | 뜻 | 기본값 | 범위 · 규칙 | | --- | --- | --- | --- | | 사업 연도 시작 | 사업 첫 해 | 올해 | 2000 ~ 2100 의 정수 | diff --git a/A05_EduDetail/guide/D01/D01_00_overview.webp b/A05_EduDetail/guide/D01/D01_00_overview.webp new file mode 100644 index 000000000..615329ebf Binary files /dev/null and b/A05_EduDetail/guide/D01/D01_00_overview.webp differ diff --git a/A05_EduDetail/guide/D01/D01_01_dashboard_new.webp b/A05_EduDetail/guide/D01/D01_01_dashboard_new.webp new file mode 100644 index 000000000..d636f2aca Binary files /dev/null and b/A05_EduDetail/guide/D01/D01_01_dashboard_new.webp differ diff --git a/A05_EduDetail/guide/D01/D01_02_year_region.webp b/A05_EduDetail/guide/D01/D01_02_year_region.webp new file mode 100644 index 000000000..46953ef23 Binary files /dev/null and b/A05_EduDetail/guide/D01/D01_02_year_region.webp differ diff --git a/A05_EduDetail/guide/D01/D01_03_type_speed.webp b/A05_EduDetail/guide/D01/D01_03_type_speed.webp new file mode 100644 index 000000000..3a3d33e10 Binary files /dev/null and b/A05_EduDetail/guide/D01/D01_03_type_speed.webp differ diff --git a/A05_EduDetail/guide/D01/D01_04_name.webp b/A05_EduDetail/guide/D01/D01_04_name.webp new file mode 100644 index 000000000..fddea6e71 Binary files /dev/null and b/A05_EduDetail/guide/D01/D01_04_name.webp differ diff --git a/A05_EduDetail/guide/D01/D01_05_chainage.webp b/A05_EduDetail/guide/D01/D01_05_chainage.webp new file mode 100644 index 000000000..86c1473c3 Binary files /dev/null and b/A05_EduDetail/guide/D01/D01_05_chainage.webp differ diff --git a/A05_EduDetail/guide/D01/D01_06_errors.webp b/A05_EduDetail/guide/D01/D01_06_errors.webp new file mode 100644 index 000000000..a0e2b8659 Binary files /dev/null and b/A05_EduDetail/guide/D01/D01_06_errors.webp differ diff --git a/A05_EduDetail/guide/D01/D01_07_buttons.webp b/A05_EduDetail/guide/D01/D01_07_buttons.webp new file mode 100644 index 000000000..f6925946a Binary files /dev/null and b/A05_EduDetail/guide/D01/D01_07_buttons.webp differ diff --git a/A05_EduDetail/guide/D01/_scenes.json b/A05_EduDetail/guide/D01/_scenes.json new file mode 100644 index 000000000..0bfd377e1 --- /dev/null +++ b/A05_EduDetail/guide/D01/_scenes.json @@ -0,0 +1,10 @@ +[ + {"name":"D01_00_overview","route":"#/d01-plan-register","project":"none","before":[{"wait":".b02-proj__grid"},{"wait_ms":600}],"clip":null,"callouts":[{"n":1,"sel":".b02-proj__grid > .ui-field:nth-child(1)"},{"n":2,"sel":".b02-proj__grid > .ui-field:nth-child(3)"},{"n":3,"sel":".b02-proj__grid > .ui-field:nth-child(5)"},{"n":4,"sel":".b02-proj__grid > .ui-field:nth-child(7)"},{"n":5,"sel":".b02-proj__grid > .ui-field:nth-child(8)"},{"n":6,"sel":".b02-proj__actions","pos":"br"}]}, + {"name":"D01_01_dashboard_new","route":"#/b01-account","project":"none","before":[{"wait_ms":2500},{"eval":"[...document.querySelectorAll('button')].find(x=>x.textContent.trim()==='+'&&x.offsetParent).click()"},{"wait":".b01-new-project__grid"},{"wait_ms":600}],"clip":".b01-new-project","callouts":[{"n":1,"sel":"[data-new-project=\"plan\"]"}]}, + {"name":"D01_02_year_region","route":"#/d01-plan-register","project":"none","before":[{"wait":".b02-proj__grid"},{"fill":".b02-proj__grid > .ui-field:nth-child(1) input","value":"2027"},{"fill":".b02-proj__grid > .ui-field:nth-child(2) input","value":"2029"},{"fill":".b02-proj__grid > .ui-field:nth-child(3) input","value":"울진군 금강송면"},{"wait_ms":400}],"clip":".b02-proj__grid","callouts":[{"n":1,"sel":".b02-proj__grid > .ui-field:nth-child(1)"},{"n":2,"sel":".b02-proj__grid > .ui-field:nth-child(2)"},{"n":3,"sel":".b02-proj__grid > .ui-field:nth-child(3)"},{"n":4,"sel":".b02-proj__grid > .ui-field:nth-child(4)"}]}, + {"name":"D01_03_type_speed","route":"#/d01-plan-register","project":"none","before":[{"wait":".b02-proj__grid"},{"select":".b02-proj__grid > .ui-field:nth-child(6) select","value":"40"},{"wait_ms":400}],"clip":".b02-proj__grid","callouts":[{"n":1,"sel":".b02-proj__grid > .ui-field:nth-child(5)"},{"n":2,"sel":".b02-proj__grid > .ui-field:nth-child(6)"}]}, + {"name":"D01_04_name","route":"#/d01-plan-register","project":"none","before":[{"wait":".b02-proj__grid"},{"fill":".b02-proj__grid > .ui-field:nth-child(3) input","value":"울진군 금강송면"},{"wait_ms":400}],"clip":".b02-proj__grid","callouts":[{"n":1,"sel":".b02-proj__grid > .ui-field:nth-child(7)"}]}, + {"name":"D01_05_chainage","route":"#/d01-plan-register","project":"none","before":[{"wait":".b02-proj__grid"},{"fill":".b02-proj__grid > .ui-field:nth-child(8) input","value":"0"},{"fill":".b02-proj__grid > .ui-field:nth-child(9) input","value":"1100"},{"wait_ms":400}],"clip":".b02-proj__grid","callouts":[{"n":1,"sel":".b02-proj__grid > .ui-field:nth-child(8)"},{"n":2,"sel":".b02-proj__grid > .ui-field:nth-child(9)"}]}, + {"name":"D01_06_errors","route":"#/d01-plan-register","project":"none","before":[{"wait":".b02-proj__grid"},{"fill":".b02-proj__grid > .ui-field:nth-child(1) input","value":"2029"},{"fill":".b02-proj__grid > .ui-field:nth-child(2) input","value":"2027"},{"fill":".b02-proj__grid > .ui-field:nth-child(8) input","value":"500"},{"fill":".b02-proj__grid > .ui-field:nth-child(9) input","value":"100"},{"click":".b02-proj__actions button:last-child"},{"wait":".ui-field__error.is-visible"},{"wait_ms":400}],"clip":".b02-proj__grid","callouts":[{"n":1,"sel":".b02-proj__grid > .ui-field:nth-child(2)"},{"n":2,"sel":".b02-proj__grid > .ui-field:nth-child(3)"},{"n":3,"sel":".b02-proj__grid > .ui-field:nth-child(9)"}]}, + {"name":"D01_07_buttons","route":"#/d01-plan-register","project":"none","before":[{"wait":".b02-proj__actions"}],"clip":".b02-proj__actions","callouts":[{"n":1,"sel":".b02-proj__actions button:nth-child(1)"},{"n":2,"sel":".b02-proj__actions button:nth-child(2)"},{"n":3,"sel":".b02-proj__actions button:nth-child(3)"}]} +] diff --git a/A05_EduDetail/guide/D02/00_설명서.md b/A05_EduDetail/guide/D02/00_설명서.md index a8eda8d5a..c10ed9fbf 100644 --- a/A05_EduDetail/guide/D02/00_설명서.md +++ b/A05_EduDetail/guide/D02/00_설명서.md @@ -1,59 +1,34 @@ -# 기준 지정 설명서 +# 기준 지정 -## 이 화면에서 하는 일 -- 예정노선 1단계. 사업 연도마다 노선의 **시점**과 **종점**을 지도 위에 정하는 화면임. -- 가운데 = 카카오맵(지점과 연도별 선이 그려짐). 왼쪽 = 「연도 지점」 표(지점 이름 · 경도 · 위도 입력칸). -- 정한 지점은 다음 단계(노선 분석)가 길을 찾는 기준이 됨. -- 지점 저장은 산림청만 할 수 있음. 지정받은 다른 회사는 보기만 가능하며 저장하면 「예정노선 지점은 산림청만 고칠 수 있습니다.」 로 막힘. +예정노선 1단계. 사업 연도마다 노선의 시점과 종점을 지도 위에 정하는 화면. + +## 여는 길 + +- [예정노선 등록](D01/00_설명서)에서 [등록]을 누르면 바로 열림. +- 대시보드 프로젝트 표에서 예정노선 줄의 단계 막대 「기준 지정」을 눌러도 열림. +- 이미 만든 예정노선은 어느 단계 화면에서든 ☰ 에서 「기준 지정」을 골라 돌아옴. [단계 이동 메뉴](D02/05_단계_이동_메뉴) 참고. +- 지점 저장은 산림청만 할 수 있음. 지정받은 다른 회사는 보기만 가능하며 저장하면 「예정노선 지점은 산림청만 고칠 수 있습니다.」 안내로 막힘. + +![화면 한눈에](D02_00_overview.webp) + +## 화면 구역 + +| 번호 | 구역 | 하는 일 | +| --- | --- | --- | +| 1 | 제목 줄 | 단계 이름(기준 지정)과 프로젝트 이름. 왼쪽 ☰ 로 진행 단계 메뉴를 엶 | +| 2 | 「연도 지점」 표 | 지점마다 줄 하나. 📍 · 경도 · 위도 칸이 있음 | +| 3 | 안내 글 | 지점을 놓는 법 한 줄 안내 | +| 4 | 지도 | 지점 표지와 연도별 선이 그려짐. 지도를 눌러 지점을 놓고, 표지를 끌어 옮김 | +| 5 | 단추 줄 | [?] 가이드 · [<] 이전 · [>] 다음 · [저장] | ## 작업 순서 -1. 화면이 열리면 사업 연도 수 + 1 개의 지점 줄이 표에 나타남. 예: 2026 ~ 2027 두 해이면 「2026 시점」 · 「2026 종점 · 2027 시점」 · 「2027 종점」 세 줄. -2. 처음에는 비어 있는 첫 줄이 놓을 지점으로 잡혀 있음(줄이 강조되어 보임). -3. 지도를 눌러 그 지점을 놓음. 놓으면 다음 빈 지점이 자동으로 놓을 지점이 됨. -4. 놓은 뒤 고치려면 지도의 표지를 끌어 옮기거나, 표의 경도 · 위도 칸에 값을 직접 넣음. -5. 모든 줄이 채워지면 연도마다 다른 색의 선이 지점 사이를 이음. -6. [저장] 또는 [>] 를 누름. -## 지점 정하는 방법 -| 방법 | 하는 법 | 결과 | -| --- | --- | --- | -| 지도 누름 | 줄 옆 📍 로 놓을 지점을 고른 뒤 지도를 누름 | 그 자리에 표지가 놓임 | -| 표지 끌기 | 지도의 표지를 끌어 놓음 | 표의 값이 따라 바뀜 | -| 좌표 입력 | 경도 · 위도 두 칸에 값을 넣고 칸을 벗어남 | 값이 맞으면 표지가 옮겨짐 · 틀리면 칸이 빨갛게 표시됨 | +1. 화면이 열리면 지점 줄이 사업 연도 수 + 1 개 나타남. 예: 2027 ~ 2029 세 해이면 네 줄. [연도 지점 표](D02/01_연도_지점_표) 참고. +2. 놓을 지점이 줄에서 강조되어 있음. 지도를 눌러 그 지점을 놓음. [지도에서 지점 놓기](D02/02_지도에서_지점_놓기) 참고. +3. 놓은 뒤 고치려면 표지를 끌어 옮기거나 경도 · 위도 칸에 값을 직접 넣음. [좌표 직접 입력](D02/03_좌표_직접_입력) 참고. +4. 모든 줄이 채워지면 연도마다 다른 색의 선이 지점 사이를 이음. +5. [저장] 또는 [>]를 누름. [단추와 저장](D02/04_단추와_저장) 참고. -- 놓을 지점을 고르지 않고 지도를 누르면 「지도에 놓을 지점 고르기」 안내가 나옴. -- 다른 프로그램에서 구한 좌표는 경도 · 위도(WGS84, 소수 7 자리까지 반영)로 넣을 것. -- 경도는 120 ~ 135, 위도는 30 ~ 45 범위만 받음. +> 주의: 서버에는 [저장] 이나 [>]를 눌러야 반영됨. 자동 저장은 없음. -## 연도 표 읽는 법 -| 줄 이름 | 뜻 | -| --- | --- | -| 첫 연도 시점 | 노선 전체의 출발점 | -| 앞 연도 종점 · 다음 연도 시점 | 한 점이 두 역할. 앞 연도의 끝이자 다음 연도의 시작 | -| 마지막 연도 종점 | 노선 전체의 도착점 | - -- 직전 연도 종점과 다음 연도 시점은 항상 같은 점이며, 하나만 옮기면 두 연도의 선이 함께 움직임. -- 줄 색과 지도 선 색은 연도별로 대응함(6 색을 돌려 씀). - -## 단추 -| 단추 | 하는 일 | -| --- | --- | -| [?] | 이 도움말 | -| [<] | 이전 단계. 이 화면이 첫 단계라 흐림 | -| [>] | 지점 저장 뒤 다음 단계 「노선 분석」 으로 감 | -| [저장] | 지점을 저장하고 좌표계를 정함 | -| 📍 | 지도를 눌렀을 때 놓을 지점으로 이 줄을 고름 | -| 위 단계 막대 | 「기준 지정」 · 「노선 분석」 · 「확정 · 내보내기」 로 바로 이동 | - -## 결과 읽는 법 -- 저장하면 「지점을 저장했습니다.」 알림이 뜸. -- 표 아래 한 줄에 「저장 좌표계 EPSG:번호」 와 첫 연도 시점의 X · Y(m)가 나옴. 저장 전에는 「아직 저장 안 함」 이 나옴. -- 저장 전 고친 값은 이 화면을 다시 열어도 같은 브라우저 안에서는 남아 있음. 서버에는 [저장] 이나 [>] 를 눌러야 반영됨(자동 저장 없음). - -## 알아 둘 것 -- **[>] 와 수치지형도**: [>] 는 지점을 저장한 뒤 「노선 분석」 화면을 엶. 수치지형도(도엽) · 위성 사진 · 연도별 지형면 받기는 그 화면이 열릴 때 뒤에서 시작되며, 이미 받은 범위 안이면 건너뜀. 지점을 저장하지 못하면(예: 빈 지점) 이 화면에 머묾. -- 빈 지점이 남은 채 저장하면 「○○○○년 시점이 비었습니다.」 또는 「○○○○년 종점이 비었습니다.」 로 막힘. -- 연도 범위(시작 · 끝)는 등록 때 정해지며 이 화면에서 바꿀 수 없음. -- **이미 분석 · 확정한 연도의 지점을 옮기면** 그 연도의 분석 노선과 확정 상태가 비워지고 다시 분석해야 함. 1 mm 이내 변화는 같은 지점으로 보아 지우지 않음. -- 좌표계가 바뀌는 경우(「쓰인 방법과 근거」 문서의 좌표계 절)에는 모든 연도의 분석 노선이 비워짐. -- 지도는 카카오맵을 씀. 점이 하나도 없어도 우리나라 가운데쯤을 먼저 보여 줌. +> 참고: 저장하지 않고 고친 값은 같은 브라우저 탭 안에서는 화면을 다시 열어도 남아 있음. diff --git a/A05_EduDetail/guide/D02/01_연도_지점_표.md b/A05_EduDetail/guide/D02/01_연도_지점_표.md new file mode 100644 index 000000000..d8baae2e5 --- /dev/null +++ b/A05_EduDetail/guide/D02/01_연도_지점_표.md @@ -0,0 +1,33 @@ +# 연도 지점 표 + +왼쪽 패널의 「연도 지점」 카드. 지점마다 줄 하나로 이름 · 📍 · 경도 · 위도를 보여 줌. + +## 여는 길 + +- 기준 지정 화면 왼쪽 패널 맨 위의 「연도 지점」 카드. 제목 오른쪽 ▼ 를 누르면 접고 펼침. + +![연도 지점 표](D02_01_points_table.webp) + +그림 번호 — 1 안내 글 · 2 지점 한 줄 · 3 📍 단추 · 4 경도 칸 · 5 위도 칸 · 6 저장 좌표계 줄 + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 줄 이름으로 어느 지점인지 확인. 첫 줄 = 첫 연도 시점, 마지막 줄 = 마지막 연도 종점. | +| 2 | 줄 왼쪽 색 띠로 어느 연도 선인지 확인. 지도 선 색과 짝(6 색을 돌려 씀). | +| 3 | 사이 줄은 「앞 연도 종점 · 다음 연도 시점」 한 점. 하나만 옮기면 두 연도의 선이 함께 움직임. | +| 4 | 값을 고치는 방법은 [지도에서 지점 놓기](D02/02_지도에서_지점_놓기) · [좌표 직접 입력](D02/03_좌표_직접_입력) 참고. | + +## 보이는 것 + +| 줄 이름 | 뜻 | +| --- | --- | +| 첫 연도 시점 | 노선 전체의 출발점 | +| 앞 연도 종점 · 다음 연도 시점 | 한 점이 두 역할 | +| 마지막 연도 종점 | 노선 전체의 도착점 | + +- 표 아래 한 줄 = 저장 상태. 저장 전이면 「아직 저장 안 함」, 저장했으면 「저장 좌표계 EPSG:번호」와 첫 연도 시점의 X · Y(m). +- 산림청이 아닌 계정은 📍 단추가 안 보이고 칸이 잠겨 있음. 보기만 가능. + +> 참고: 칸마다 뜻과 규칙은 [칸 뜻](D02/10_칸_뜻)에 있음. 좌표계가 정해지는 방법은 [쓰인 방법과 근거](D02/20_쓰인_방법과_근거) 참고. diff --git a/A05_EduDetail/guide/D02/02_지도에서_지점_놓기.md b/A05_EduDetail/guide/D02/02_지도에서_지점_놓기.md new file mode 100644 index 000000000..ce7459eb2 --- /dev/null +++ b/A05_EduDetail/guide/D02/02_지도에서_지점_놓기.md @@ -0,0 +1,39 @@ +# 지도에서 지점 놓기 + +지도를 눌러 지점을 놓고, 놓은 표지를 끌어 옮기는 방법. + +## 여는 길 + +- 기준 지정 화면 가운데 지도와 왼쪽 「연도 지점」 표의 📍 단추. + +![연도별 선이 그려진 지도](D02_02_year_colors.webp) + +그림 번호 — 1 지도 위 안내 글 + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 놓을 지점을 고름. 화면이 열리면 비어 있는 첫 줄이 자동으로 골라져 강조됨. 다른 줄에 놓으려면 그 줄의 📍 를 누름. | +| 2 | 지도에서 놓을 자리를 누름. 그 자리에 표지가 놓이고 표의 경도 · 위도가 채워짐. | +| 3 | 놓고 나면 다음 빈 지점이 자동으로 놓을 지점이 됨. | +| 4 | 놓은 뒤 고치려면 표지를 마우스로 끌어 옮김. 표의 값이 따라 바뀜. | +| 5 | 지도는 빈 곳을 끌어 옮기고 휠로 확대 · 축소함. | + +![놓을 지점으로 고른 줄](D02_03_pick_point.webp) + +그림 번호 — 1 📍 단추 · 2 강조된 줄(놓을 지점) + +![지점을 고르지 않고 지도를 누른 모습](D02_04_map_toast.webp) + +그림 번호 — 1 「지도에 놓을 지점 고르기」 안내 + +## 보이는 것 + +- 지점이 모두 놓이면 연도마다 다른 색의 선이 지점 사이를 이음. 표지 위에는 지점 이름이 붙음. +- 놓을 지점을 고르지 않고 지도를 누르면 「지도에 놓을 지점 고르기」 안내가 나오고 아무것도 놓이지 않음. +- 지점이 하나도 없으면 우리나라 가운데쯤이 먼저 보임. 처음 한 점을 놓으면 그 점에 맞춰 보이고, 그 뒤로는 사용자가 맞춘 보기(중심 · 확대)를 그대로 둠. +- 지도는 카카오맵을 씀. +- 산림청이 아닌 계정은 지도를 눌러도 놓이지 않고 표지도 끌 수 없음. 지도 위 안내 글이 「보기 전용 — 지점은 산림청만 고칩니다.」로 바뀜. + +> 주의: 놓은 지점은 [저장] 이나 [>]를 누르기 전까지 서버에 남지 않음. [단추와 저장](D02/04_단추와_저장) 참고. diff --git a/A05_EduDetail/guide/D02/03_좌표_직접_입력.md b/A05_EduDetail/guide/D02/03_좌표_직접_입력.md new file mode 100644 index 000000000..149b302b7 --- /dev/null +++ b/A05_EduDetail/guide/D02/03_좌표_직접_입력.md @@ -0,0 +1,28 @@ +# 좌표 직접 입력 + +다른 프로그램에서 구한 좌표를 표의 경도 · 위도 칸에 직접 넣는 방법. + +## 여는 길 + +- 왼쪽 「연도 지점」 표의 줄마다 있는 경도 · 위도 두 칸. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 고칠 줄의 경도 칸에 값을 넣음. | +| 2 | 위도 칸에도 값을 넣고 칸 밖을 누르거나 Tab 키를 누름. | +| 3 | 두 값이 범위 안이면 지점이 옮겨지고 지도 표지가 따라 움직임. | +| 4 | 범위 밖이면 두 칸이 빨갛게 표시되고 반영되지 않음. 값을 고쳐 다시 넣음. | + +![범위 밖 값 안내](D02_05_coordinate_error.webp) + +그림 번호 — 1 경도 칸(범위 밖 값 200을 넣은 모습) · 2 위도 칸 + +## 보이는 것 + +- 경도는 120 ~ 135, 위도는 30 ~ 45 범위만 받음. +- 두 칸이 모두 범위 안일 때 반영됨. 한 칸만 넣으면 반영되지 않음. +- 반영될 때 소수 7 자리(약 1 cm)로 반올림됨. + +> 주의: 좌표는 경도 · 위도(WGS84)로 넣음. 평면좌표(X · Y)를 그대로 넣으면 범위 밖으로 처리됨. diff --git a/A05_EduDetail/guide/D02/04_단추와_저장.md b/A05_EduDetail/guide/D02/04_단추와_저장.md new file mode 100644 index 000000000..4464b370c --- /dev/null +++ b/A05_EduDetail/guide/D02/04_단추와_저장.md @@ -0,0 +1,33 @@ +# 단추와 저장 + +왼쪽 패널 맨 아래 단추 줄 — [?] · [<] · [>] · [저장]과 저장 때 일어나는 일. + +## 여는 길 + +- 기준 지정 화면 왼쪽 패널 맨 아래. + +![단추 줄](D02_06_buttons.webp) + +그림 번호 — 1 [?] 가이드 · 2 [<] 이전 단계(첫 단계라 흐림) · 3 [>] 다음 단계 · 4 [저장] + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 모든 지점 줄을 채움. | +| 2 | [저장]을 누름. 지점이 서버에 저장되고 「지점을 저장했습니다.」 알림이 뜸. | +| 3 | 바로 다음 단계로 가려면 [저장] 대신 [>]를 누름. 지점을 저장한 뒤 [노선 분석](D03/00_설명서) 화면이 열림. | +| 4 | 저장하지 못하면(예: 빈 지점) 이 화면에 머묾. | + +## 보이는 것 + +- 저장하면 표 아래 한 줄이 「저장 좌표계 EPSG:번호」와 첫 연도 시점의 X · Y(m)로 바뀜. +- 빈 지점이 남은 채 저장하면 「○○○○년 시점이 비었습니다.」 또는 「○○○○년 종점이 비었습니다.」로 막힘. +- 산림청이 아닌 계정은 [저장]이 안 보이고, [>]는 저장 없이 그냥 다음 화면으로 감. +- [>]는 지점 저장 뒤 [노선 분석](D03/00_설명서) 화면을 엶. 수치지형도(도엽) · 위성 사진 · 연도별 지형면 받기는 그 화면이 열릴 때 뒤에서 시작되며, 이미 받은 범위 안이면 건너뜀. + +> 주의: 이미 분석 · 확정한 연도의 지점을 옮기면 그 연도의 분석 노선과 확정 상태가 비워지고 다시 분석해야 함. 1 mm 이내 변화는 같은 지점으로 보아 지우지 않음. + +> 주의: 좌표계가 바뀌는 경우([쓰인 방법과 근거](D02/20_쓰인_방법과_근거) 참고)에는 모든 연도의 분석 노선이 비워짐. + +> 참고: 연도 범위(시작 · 끝)는 등록 때 정해지며 이 화면에서 바꿀 수 없음. diff --git a/A05_EduDetail/guide/D02/05_단계_이동_메뉴.md b/A05_EduDetail/guide/D02/05_단계_이동_메뉴.md new file mode 100644 index 000000000..5e2b919cb --- /dev/null +++ b/A05_EduDetail/guide/D02/05_단계_이동_메뉴.md @@ -0,0 +1,27 @@ +# 단계 이동 메뉴 + +☰ 로 진행 단계를 열어 대시보드나 다른 단계 화면으로 옮겨 가는 방법. + +## 여는 길 + +- 화면 왼쪽 위의 ☰ 를 누름. + +![진행 단계 메뉴](D02_07_steps_menu.webp) + +그림 번호 — 1 진행 단계 목록(대시보드 · 기준 지정 · 노선 분석 · 확정 · 내보내기) + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | ☰ 를 누르면 왼쪽에 메뉴가 열림. | +| 2 | 가야 할 단계를 누름. 지금 단계는 강조되어 있음. | +| 3 | 메뉴 밖 어두운 곳을 누르면 닫힘. | + +## 보이는 것 + +- 맨 위 「대시보드」 = 프로젝트 목록 화면으로 돌아감. +- 단계는 기준 지정 → 노선 분석 → 확정 · 내보내기 순. +- 메뉴 아래에는 홈페이지 바로가기 · 언어 · 테마 · 로그아웃이 같이 있음. + +> 주의: 지점을 고치고 저장하지 않은 채 다른 단계로 가면 서버에는 저장되지 않음. 먼저 [저장]을 누를 것. diff --git a/A05_EduDetail/guide/D02/10_칸_뜻.md b/A05_EduDetail/guide/D02/10_칸_뜻.md index 24a2720a4..2fb587514 100644 --- a/A05_EduDetail/guide/D02/10_칸_뜻.md +++ b/A05_EduDetail/guide/D02/10_칸_뜻.md @@ -1,5 +1,9 @@ # 칸 뜻 +![연도 지점 표](D02_01_points_table.webp) + +그림 번호는 [연도 지점 표](D02/01_연도_지점_표)와 같음. + ## 왼쪽 「연도 지점」 표 | 칸 | 뜻 | 규칙 | | --- | --- | --- | diff --git a/A05_EduDetail/guide/D02/D02_00_overview.webp b/A05_EduDetail/guide/D02/D02_00_overview.webp new file mode 100644 index 000000000..65d8a3f54 Binary files /dev/null and b/A05_EduDetail/guide/D02/D02_00_overview.webp differ diff --git a/A05_EduDetail/guide/D02/D02_01_points_table.webp b/A05_EduDetail/guide/D02/D02_01_points_table.webp new file mode 100644 index 000000000..7633737ee Binary files /dev/null and b/A05_EduDetail/guide/D02/D02_01_points_table.webp differ diff --git a/A05_EduDetail/guide/D02/D02_02_year_colors.webp b/A05_EduDetail/guide/D02/D02_02_year_colors.webp new file mode 100644 index 000000000..4860c5771 Binary files /dev/null and b/A05_EduDetail/guide/D02/D02_02_year_colors.webp differ diff --git a/A05_EduDetail/guide/D02/D02_03_pick_point.webp b/A05_EduDetail/guide/D02/D02_03_pick_point.webp new file mode 100644 index 000000000..fb536cf7b Binary files /dev/null and b/A05_EduDetail/guide/D02/D02_03_pick_point.webp differ diff --git a/A05_EduDetail/guide/D02/D02_04_map_toast.webp b/A05_EduDetail/guide/D02/D02_04_map_toast.webp new file mode 100644 index 000000000..b652fb599 Binary files /dev/null and b/A05_EduDetail/guide/D02/D02_04_map_toast.webp differ diff --git a/A05_EduDetail/guide/D02/D02_05_coordinate_error.webp b/A05_EduDetail/guide/D02/D02_05_coordinate_error.webp new file mode 100644 index 000000000..697fcf9de Binary files /dev/null and b/A05_EduDetail/guide/D02/D02_05_coordinate_error.webp differ diff --git a/A05_EduDetail/guide/D02/D02_06_buttons.webp b/A05_EduDetail/guide/D02/D02_06_buttons.webp new file mode 100644 index 000000000..f7cd4ddd9 Binary files /dev/null and b/A05_EduDetail/guide/D02/D02_06_buttons.webp differ diff --git a/A05_EduDetail/guide/D02/D02_07_steps_menu.webp b/A05_EduDetail/guide/D02/D02_07_steps_menu.webp new file mode 100644 index 000000000..dbeb348aa Binary files /dev/null and b/A05_EduDetail/guide/D02/D02_07_steps_menu.webp differ diff --git a/A05_EduDetail/guide/D02/_scenes.json b/A05_EduDetail/guide/D02/_scenes.json new file mode 100644 index 000000000..def1a74f5 --- /dev/null +++ b/A05_EduDetail/guide/D02/_scenes.json @@ -0,0 +1,10 @@ +[ + {"name":"D02_00_overview","route":"#/d02-plan-base","project":"plan","before":[{"wait":".d02-points__row"},{"wait":".ui-kakao-map__box"},{"wait_ms":3500}],"settle_ms":1500,"clip":null,"callouts":[{"n":1,"sel":".ui-workflow-overlay__header"},{"n":2,"sel":".d02-points"},{"n":3,"sel":".d02-info"},{"n":4,"sel":".d02-map","pos":"tr"},{"n":5,"sel":".ui-sidebar-actions","pos":"tr"}]}, + {"name":"D02_01_points_table","route":"#/d02-plan-base","project":"plan","before":[{"wait":".d02-points__row"},{"wait":".ui-kakao-map__box"},{"wait_ms":3500}],"settle_ms":1500,"clip":".d02-panel .ui-sidebar-card","callouts":[{"n":1,"sel":".d02-panel p.d02-info:first-of-type"},{"n":2,"sel":".d02-points__row:nth-child(1)","pos":"tr"},{"n":3,"sel":".d02-points__row:nth-child(1) button","pos":"bl"},{"n":4,"sel":".d02-points__row:nth-child(1) input[data-axis=lon]","pos":"br"},{"n":5,"sel":".d02-points__row:nth-child(1) input[data-axis=lat]","pos":"br"},{"n":6,"sel":".d02-points ~ p.d02-info"}]}, + {"name":"D02_02_year_colors","route":"#/d02-plan-base","project":"plan","before":[{"wait":".d02-points__row"},{"wait":".ui-kakao-map__box"},{"wait_ms":3500}],"settle_ms":1500,"clip":".d02-map","callouts":[{"n":1,"sel":".ui-kakao-map__hint"}]}, + {"name":"D02_03_pick_point","route":"#/d02-plan-base","project":"plan","before":[{"wait":".d02-points__row"},{"wait":".ui-kakao-map__box"},{"wait_ms":3500},{"click":".d02-points__row:nth-child(2) button"},{"wait":".d02-points__row:nth-child(2).is-active"},{"wait_ms":300}],"settle_ms":1500,"clip":".d02-panel .ui-sidebar-card","callouts":[{"n":1,"sel":".d02-points__row:nth-child(2) button"},{"n":2,"sel":".d02-points__row:nth-child(2)"}]}, + {"name":"D02_04_map_toast","route":"#/d02-plan-base","project":"plan","before":[{"wait":".d02-points__row"},{"wait":".ui-kakao-map__box"},{"wait_ms":3500},{"click":".ui-kakao-map__box"},{"wait":".ui-toast, .ui-toast-container, [class*=toast]"},{"wait_ms":400}],"settle_ms":1500,"clip":null,"callouts":[{"n":1,"sel":"[class*=toast]","pos":"tr"}]}, + {"name":"D02_05_coordinate_error","route":"#/d02-plan-base","project":"plan","before":[{"wait":".d02-points__row"},{"wait":".ui-kakao-map__box"},{"wait_ms":3500},{"fill":".d02-points__row:nth-child(1) input[data-axis=lon]","value":"200"},{"press":"Tab","sel":".d02-points__row:nth-child(1) input[data-axis=lon]"},{"wait":".d02-points__row:nth-child(1) input.is-invalid"},{"wait_ms":300}],"settle_ms":1500,"clip":".d02-panel .ui-sidebar-card","callouts":[{"n":1,"sel":".d02-points__row:nth-child(1) input[data-axis=lon]"},{"n":2,"sel":".d02-points__row:nth-child(1) input[data-axis=lat]"}]}, + {"name":"D02_06_buttons","route":"#/d02-plan-base","project":"plan","before":[{"wait":".d02-points__row"},{"wait":".ui-kakao-map__box"},{"wait_ms":3500}],"settle_ms":1500,"clip":".ui-sidebar-actions","callouts":[{"n":1,"sel":".ui-sidebar-actions > button:nth-child(1)"},{"n":2,"sel":".ui-sidebar-actions > button:nth-child(2)"},{"n":3,"sel":".ui-sidebar-actions > button:nth-child(3)"},{"n":4,"sel":".ui-sidebar-actions > button:nth-child(4)"}]}, + {"name":"D02_07_steps_menu","route":"#/d02-plan-base","project":"plan","before":[{"wait":".d02-points__row"},{"click":".app-burger"},{"wait":".app-drawer__steps .ui-workflow-layout__step"},{"wait_ms":700}],"settle_ms":1500,"clip":null,"callouts":[{"n":1,"sel":".app-drawer__steps","pos":"tr"}]} +] diff --git a/A05_EduDetail/guide/D03/00_설명서.md b/A05_EduDetail/guide/D03/00_설명서.md index f5c9fc505..0aaf90c85 100644 --- a/A05_EduDetail/guide/D03/00_설명서.md +++ b/A05_EduDetail/guide/D03/00_설명서.md @@ -1,80 +1,36 @@ -# 예정노선 2단계 분석 설명서 +# 노선 분석 -## 이 화면에서 하는 일 +예정노선 2단계. 1단계에서 정한 지점들을 연도 구간마다 이어 주는 노선 후보를 자동으로 찾아 연도별로 하나씩 고르는 화면. -- 1단계(기준 지정)에서 정한 지점들을 연도 구간마다 이어 주는 노선을 자동으로 찾아 줌. -- 연도마다 노선 후보 넷(영선 · 토공 최소 · 기울기 최소 · 비중 계산)을 만들어 보여 주고, 연도별로 하나씩 고름. -- 고른 후보를 이어 붙여 전체 예정노선 한 줄과 측점(20 m 간격)을 평면에 표시함. -- 측점을 누르면 그 자리 지반선 횡단을 아래에 보여 주고, [3D] 로 지형과 노선을 입체로 봄. -- 지점이 마음에 안 들면 평면에서 직접 끌어 옮긴 뒤 다시 분석 가능. -- 노선 후보를 찾는 엔진은 임도설계 노선 추천(B05)과 같은 엔진임. 이 화면에서는 시작점과 끝점만 정해진 두 지점 사이를 구간별로 한 번씩 찾음. +## 여는 길 -## 화면 구성 +- [기준 지정](D02/00_설명서) 화면에서 [>]를 누르면 지점을 저장하고 이 화면이 열림. +- 대시보드 프로젝트 표의 단계 막대 「노선 분석」을 누르거나, ☰ 에서 「노선 분석」을 골라도 열림. +- 지점이 비어 있으면 「N년 지점이 비었습니다 — 1단계(기준 지정)에서 정하세요.」 안내만 나오고 진행이 안 됨. -- 가운데 위 = 평면 지도. 위성 사진 위에 등고선, 지점, 노선, 측점이 겹쳐 보임. -- 가운데 아래 = 횡단 판. 측점을 누르면 채워지며, 제목 줄(「횡단」)을 누르면 접고 펼 수 있음. -- 왼쪽 = 「지형」 카드, 「연도별 노선」 카드, 아래쪽 단추 [분석] [저장] [3D]. +![화면 한눈에](D03_00_overview.webp) + +## 화면 구역 + +| 번호 | 구역 | 하는 일 | +| --- | --- | --- | +| 1 | 평면 지도 | 위성 사진 위에 등고선 · 지점 · 노선 · 측점이 겹쳐 보임. 측점을 누르면 아래 횡단이 채워짐 | +| 2 | 횡단 판 | 누른 측점의 지반선 횡단. 제목 줄(「횡단」)을 눌러 접고 펼침 | +| 3 | 「지형」 카드 | 지형 받기 · 분석 진행 상태와 받은 지형 범위 안내 | +| 4 | 「연도별 노선」 카드 | 연도마다 후보 넷. 하나를 눌러 고름 | +| 5 | 단추 줄 | [?] · [<] · [>] · [분석] · [저장] · [3D] | ## 작업 순서 -1. 화면을 열면 자동으로 지형을 확인함. 지점이 이미 받은 지형 범위 안이면 그대로 두고, 아니면 뒤에서 지형을 받기 시작함(왼쪽 「지형」 카드에 진행률 표시). -2. 지점 위치가 마음에 안 들면 평면에서 지점(원)을 끌어 옮김. 지점이 받은 지형 밖이면 [범위 밖 — 더 받기] 를 눌러 지형을 더 받음. -3. [분석] 을 누름. 연도 구간마다 후보 넷을 찾으며, 진행률이 「지형」 카드 자리에 표시됨. -4. 「연도별 노선」 카드에서 연도마다 후보 하나를 누름(눌린 카드가 강조됨). 평면의 노선과 누가(거리) 숫자가 곧바로 바뀜. -5. 평면의 측점 눈금을 눌러 횡단을 확인하고, 필요하면 [3D] 로 확인함. -6. 모든 연도에 노선이 있으면 [저장] 을 누름. 저장 중에는 화면 전체가 잠깐 잠김. -7. 다음 단계(확정 · 업체 · 내보내기)로 넘어감. +1. 화면을 열면 지형을 자동으로 확인함. 받은 지형 밖이면 뒤에서 지형을 받기 시작함. [지형 받기](D03/01_지형_받기) 참고. +2. [분석]을 누름. 연도 구간마다 후보 넷을 찾음. [분석 · 저장 · 3D 단추](D03/05_분석_저장_단추) 참고. +3. 「연도별 노선」 카드에서 연도마다 후보 하나를 고름. 평면의 노선이 바로 바뀜. [연도별 노선 고르기](D03/02_연도별_노선_고르기) 참고. +4. 평면 지도에서 노선 · 측점을 확인하고, 지점이 마음에 안 들면 끌어 옮긴 뒤 다시 [분석]. [평면 지도 읽기](D03/03_평면_지도_읽기) 참고. +5. 측점 눈금을 눌러 지반선 횡단을 확인함. [측점 횡단](D03/04_측점_횡단) 참고. +6. 필요하면 [3D]로 지형과 노선을 입체로 봄. [3D 보기](D03/06_3D_보기) 참고. +7. 모든 연도에 노선이 있으면 [저장]을 누름. 저장 중에는 화면 전체가 잠깐 잠김. +8. 다음 단계 [확정 · 내보내기](D04/00_설명서)로 넘어감. -## 단추 +> 주의: 노선 모양은 [분석]을 해야 생김. [분석]을 하지 않으면 [저장]이 눌리지 않음. -| 단추 | 하는 일 | -| --- | --- | -| 분석 | 연도 구간마다 노선 후보 넷을 찾음. 입력(지점 · 기준 · 지형)이 이전과 같으면 저장된 결과를 그대로 불러와 바로 끝남. 받은 지형 밖에 지점이 있으면 눌 수 없음 | -| 저장 | 연도별로 고른 후보를 정본으로 저장함. 끌어 옮긴 지점도 이때 함께 저장됨. 어느 연도든 노선이 없으면 눌 수 없음(마우스를 올리면 안내 문구 표시) | -| 3D | 지형과 노선을 입체로 보는 창을 엶. 노선이 하나라도 있어야 눌 수 있음 | -| 범위 밖 — 더 받기 | 지점이 받은 지형 밖일 때만 나타남. 지형(수치지형도 · 위성 · 연도별 높이 자료)을 더 받음 | - -- 산림청 소속이 아닌 사용자(지정받은 회사 등)에게는 [분석] [저장] [범위 밖 — 더 받기] 가 보이지 않으며 지점도 끌 수 없음. 보기만 가능. - -## 결과 읽는 법 - -- **평면의 선 모양** - - 굵은 선 = 연도별로 고른 후보를 이은 예정노선. - - 흰 점선(옅음) = 고르지 않은 다른 후보들. 분석 전에는 지점끼리 잇는 점선만 보임. - - 누른 측점 = 보라색 고리로 표시됨. -- **지점(마디) 색** - - 초록 = 첫 지점(시점), 빨강 = 마지막 지점(종점), 파랑 = 연도가 바뀌는 중간 지점. - - 지점 둘레에 빨간 고리와 점선 고리 = 그 지점이 받은 지형 밖이라는 뜻. 「지형」 카드에 「빨간 고리 지점이 받은 지형 밖입니다 — 더 받아야 분석합니다.」 가 나옴. -- **등고선** = 도엽(수치지형도) 등고선. 노란 점선과 노란 숫자(높이)로 보임. 지도를 확대하면 더 촘촘히 보임. -- **연도별 노선 카드** - - 윗줄 = 「연도 · 시작 측점 ~ 끝 측점 (연장 m)」. 분석 전에는 「분석 전 — [분석]을 누르세요」 가 보임. - - 후보 카드 한 장마다 「연장 · 최대 기울기(%) · 위반 개수」 를 보여 줌. 위반 = 기울기 기준을 지키지 못한 곳의 수. - - 「노선 없음」 으로 회색 처리된 카드 = 그 후보는 길을 찾지 못함. 마우스를 올리면 까닭 표시. 누를 수 없음. - - 고르지 않고 두면 네 후보 중 차례(영선 → 토공 최소 → 기울기 최소 → 비중 계산)대로 처음 성공한 후보가 자동으로 잡힘. -- **누가(측점 번호)** = 앞 연도 끝 = 다음 연도 시작으로 이어서 셈. 시작 값은 프로젝트 등록 때 정한 노선 시작 누가. 연도 경계는 꺾인 채 한 측점으로 표시됨. -- **횡단 판** = 누른 측점의 지반선 단면. 제목 줄에 「연도 · 측점 이름 · 중심 지반고」 표시. 좌우 20 m 범위의 지반만 보이며 설계선은 없음. - -## 보이는 것과 안 보이는 것 - -| 구분 | 내용 | -| --- | --- | -| 보임 | 위성 지도, 등고선, 지점, 노선 중심선, 측점 눈금과 이름, 지반선 횡단, 지형 + 중심선 3D | -| 안 보임 | 노견, 절토 · 성토선, 종단도, 배수유역, 구조물(3D 에도 없음) | -| 이 화면에 칸 없음 | 종단 기울기 상한 · 최소 곡선 반지름 등 기준값. 등록 때 정한 임도 종류와 설계속도로 자동 정해짐 | - -## 지점 끌기 - -- 지점(원) 위에서 마우스 왼쪽 단추를 누른 채 끌면 지점이 따라 움직임. 끝점은 이웃 연도의 시작점과 한 점으로 묶여 있어 함께 움직임. -- 지점을 옮기면 그 지점 앞 · 뒤 연도의 분석 결과가 비워지고 「지점을 옮겼습니다 — [분석] 뒤 측점을 누르세요.」 가 횡단 판에 나옴. 다시 [분석] 을 눌러야 함. -- 옮긴 위치는 [저장] 전까지 이 브라우저 탭에만 임시로 남아 있음(새로 고침해도 유지, 탭을 닫으면 사라짐). [저장] 을 눌러야 정본이 바뀜. -- 손이 조금 떨리는 정도(몇 픽셀)의 움직임은 끌기로 치지 않고 단순 누름으로 처리함. -- 지도 자체는 지점이 아닌 곳을 끌어 옮기고, 휠로 확대 · 축소함. - -## 알아 둘 것 - -- [저장] 은 노선 모양을 화면에서 받지 않고, 고른 후보 이름만 서버에 보냄. 서버가 저장된 분석 결과로 노선을 다시 이어 붙여 저장하므로, [분석] 을 하지 않은 상태에서는 저장할 수 없음(「분석 저장본이 없습니다 — [분석]을 먼저 하세요.」). -- 처음 열 때 지점이 비어 있으면 「N년 지점이 비었습니다 — 1단계(기준 지정)에서 정하세요.」 라는 문구만 나오고 진행이 안 됨. -- 지형 받기와 분석은 서버 뒤에서 도는 작업임. 화면을 닫았다 다시 열어도 도는 중이면 이어서 진행률을 보여 줌. -- 위성 사진은 못 받아도 지형 받기가 멈추지 않음. 위성이 없으면 어두운 바탕에 지점과 노선만 보임. -- 3D 창은 한 번에 한 연도씩 보며, 창 위쪽 선택칸으로 연도를 바꿈. 창을 닫으면 3D 화면 자원이 정리됨. -- 법 기준의 세부 수치와 사용자 확정 전 값은 「30_사용자_확정_전_값」 문서 참고. +> 참고: 노선 후보를 찾는 엔진은 임도설계 노선 추천(B05)과 같음. 이 화면에서는 시작점과 끝점만 정해진 두 지점 사이를 구간별로 한 번씩 찾음. 자세한 방법은 [쓰인 방법과 근거](D03/20_쓰인_방법과_근거) 참고. diff --git a/A05_EduDetail/guide/D03/01_지형_받기.md b/A05_EduDetail/guide/D03/01_지형_받기.md new file mode 100644 index 000000000..f04a006e6 --- /dev/null +++ b/A05_EduDetail/guide/D03/01_지형_받기.md @@ -0,0 +1,30 @@ +# 지형 받기 + +노선을 찾으려면 지점 둘레의 지형 자료가 필요함. 화면이 열리면 이 자료를 자동으로 확인하고 모자라면 받음. + +## 여는 길 + +- 노선 분석 화면 왼쪽 위 「지형」 카드. + +![지형 카드](D03_01_terrain_card.webp) + +그림 번호 — 1 지형 상태 한 줄(「받은 지형 안 · 연도 지형면 3/3」) + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 화면을 열고 「지형」 카드의 글을 확인함. 「받은 지형 안」이면 그대로 분석할 수 있음. | +| 2 | 지점이 받은 지형 밖이면 지형 받기가 뒤에서 시작되고 카드에 진행률(%)이 보임. 끝날 때까지 기다림. | +| 3 | 지점을 옮겨 범위 밖이 되면 [범위 밖 — 더 받기]가 나타남. 눌러서 지형을 더 받음. | +| 4 | 받기가 끝나면 지도 배경과 등고선이 새로 그려짐. | + +## 보이는 것 + +- 「받은 지형 안 · 연도 지형면 N/M」 = M 개 연도 중 N 개 연도의 높이 자료가 준비됨. +- 지점이 받은 지형 밖이면 지도에서 그 지점에 빨간 고리와 점선 고리가 보이고, 카드에 「빨간 고리 지점이 받은 지형 밖입니다 — 더 받아야 분석합니다.」가 나옴. 이때 [분석]은 눌리지 않음. +- 받기에는 수치지형도(도엽) · 위성 사진 · 연도별 높이 자료가 들어 있음. 위성 사진을 못 받아도 받기가 멈추지 않음. 위성이 없으면 어두운 바탕에 지점과 노선만 보임. +- 지형 받기와 분석은 서버 뒤에서 도는 일이라, 화면을 닫았다 다시 열어도 도는 중이면 이어서 진행률을 보여 줌. +- 산림청이 아닌 계정에는 [범위 밖 — 더 받기]가 보이지 않음. + +> 참고: [기준 지정](D02/00_설명서)에서 [>]로 넘어오면 지형 받기가 이미 시작되어 있을 수 있음. diff --git a/A05_EduDetail/guide/D03/02_연도별_노선_고르기.md b/A05_EduDetail/guide/D03/02_연도별_노선_고르기.md new file mode 100644 index 000000000..01779f8a0 --- /dev/null +++ b/A05_EduDetail/guide/D03/02_연도별_노선_고르기.md @@ -0,0 +1,41 @@ +# 연도별 노선 고르기 + +연도마다 찾은 후보 넷 가운데 하나를 골라 예정노선으로 삼는 카드. + +## 여는 길 + +- 노선 분석 화면 왼쪽 「연도별 노선」 카드. [분석]을 한 뒤 후보가 채워짐. + +![연도별 노선 카드](D03_02_year_cards.webp) + +그림 번호 — 1 연도 제목 줄 · 2 고른 후보(테두리가 진함) · 3 고르지 않은 후보 + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 연도 제목 줄에서 그 연도 구간의 시작 · 끝 측점과 연장을 확인함. | +| 2 | 후보 카드 넷의 연장 · 최대 기울기 · 위반 개수를 견줌. | +| 3 | 쓸 후보 카드를 누름. 눌린 카드가 강조되고 평면의 노선과 누가 숫자가 바로 바뀜. | +| 4 | 연도마다 같은 방법으로 고름. | + +![2028년 후보를 바꾼 모습](D03_03_pick_mode.webp) + +그림 번호 — 1 2028년 제목 줄(구간 길이가 바뀜) · 2 새로 고른 「기울기 최소」 · 3 바뀐 평면 노선 + +## 보이는 것 + +| 후보 | 고르는 기준 | +| --- | --- | +| 영선 | 목표 기울기로 등고선을 비스듬히 건너가는 일정한 기울기 선 | +| 토공 최소 | 절토 + 성토 + 반입 + 사토 물량이 가장 적은 길 | +| 기울기 최소 | 최대 종단 기울기가 가장 작은 길 | +| 비중 계산 | 예상 · 토공 · 기울기 비용을 섞어 한 번 찾은 길 | + +- 카드 글 = 「연장 · 최대 기울기(%) · 위반 개수」. 위반 = 기울기 기준을 지키지 못한 곳의 수. +- 제목 줄 = 「연도 · 시작 측점 ~ 끝 측점 (연장 m)」. 분석 전에는 「분석 전 — [분석]을 누르세요」가 보임. +- 「노선 없음」으로 회색인 카드 = 그 후보는 길을 찾지 못함. 누를 수 없고 마우스를 올리면 까닭이 보임. +- 고르지 않고 두면 영선 → 토공 최소 → 기울기 최소 → 비중 계산 차례로 처음 성공한 후보가 자동으로 잡힘. +- 모든 연도에 노선이 생기면 목록 끝에 「끝 … · 목표 … · 차이 …」 줄이 붙음. 등록 때 종료 누가거리를 넣었을 때만 나옴. [노선 누가거리](D01/05_누가거리) 참고. + +> 주의: 고름은 [저장]을 누르기 전까지 이 브라우저 탭에만 남음. 탭을 닫으면 사라짐. diff --git a/A05_EduDetail/guide/D03/03_평면_지도_읽기.md b/A05_EduDetail/guide/D03/03_평면_지도_읽기.md new file mode 100644 index 000000000..cf5b29ea9 --- /dev/null +++ b/A05_EduDetail/guide/D03/03_평면_지도_읽기.md @@ -0,0 +1,37 @@ +# 평면 지도 읽기 + +위성 사진 위에 지점 · 노선 · 측점을 겹쳐 보여 주는 가운데 지도. 지점을 끌어 옮길 수도 있음. + +## 여는 길 + +- 노선 분석 화면의 가운데 위쪽 큰 지도. + +![평면 지도](D03_04_plan_map.webp) + +그림 번호 — 1 평면 지도(2028년 20+0 측점을 누른 모습) + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 굵은 선(주황)으로 연도별로 고른 후보를 이은 예정노선을 확인함. | +| 2 | 선 위 눈금 글(0+0 · 5+0 · 10+0 …)로 측점(20 m 간격)을 읽음. | +| 3 | 지점이 마음에 안 들면 지점(원)을 마우스 왼쪽 단추로 누른 채 끌어 옮김. | +| 4 | 옮긴 뒤 [분석]을 다시 눌러 새 지점으로 노선을 찾음. | +| 5 | 지도 바탕을 끌어 옮기고 휠로 확대 · 축소함. | + +## 보이는 것 + +- **지점(원)의 색** — 초록 = 첫 지점(시점) · 빨강 = 마지막 지점(종점) · 파랑 = 연도가 바뀌는 중간 지점. +- **선** — 굵은 선 = 고른 후보. 흰 점선(옅음) = 고르지 않은 다른 후보. 분석 전에는 지점끼리 잇는 점선만 보임. +- **등고선** = 도엽(수치지형도) 등고선. 노란 선과 노란 숫자(높이). 확대하면 더 촘촘히 보임. +- 누른 측점은 보라색 고리로 표시됨. +- **누가** = 측점 번호. 앞 연도 끝 = 다음 연도 시작으로 이어서 셈. 시작 값은 등록 때 정한 노선 시작 누가거리. +- 끌기를 마치면 그 지점 앞 · 뒤 연도의 분석 결과가 비워지고 횡단 판에 「지점을 옮겼습니다 — [분석] 뒤 측점을 누르세요.」가 나옴. +- 끝점은 이웃 연도의 시작점과 한 점으로 묶여 있어 함께 움직임. +- 손이 조금 떨리는 정도(몇 픽셀)의 움직임은 끌기로 치지 않고 단순 누름으로 처리함. +- 산림청이 아닌 계정은 지점을 끌 수 없음. 보기만 가능. + +> 주의: 옮긴 위치는 [저장] 전까지 이 브라우저 탭에만 임시로 남음(새로 고침해도 유지, 탭을 닫으면 사라짐). [저장]을 눌러야 정본이 바뀜. + +> 참고: 평면에는 노견 · 절토 · 성토선 · 종단도 · 배수유역 · 구조물이 없음. 지반 · 노선 중심선 · 측점만 보임. diff --git a/A05_EduDetail/guide/D03/04_측점_횡단.md b/A05_EduDetail/guide/D03/04_측점_횡단.md new file mode 100644 index 000000000..d12155019 --- /dev/null +++ b/A05_EduDetail/guide/D03/04_측점_횡단.md @@ -0,0 +1,34 @@ +# 측점 횡단 + +평면에서 측점을 누르면 그 자리의 지반선 횡단이 아래 판에 그려짐. + +## 여는 길 + +- 노선 분석 화면 아래쪽 「횡단」 판. 평면 지도의 측점 눈금을 누르면 채워짐. + +![측점 횡단](D03_05_station_cross.webp) + +그림 번호 — 1 제목 줄(연도 · 측점 이름 · 중심 지반고) · 2 지반선 그림 + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 평면 지도에서 확인할 측점 눈금(예: 20+0)을 누름. | +| 2 | 아래 판의 제목 줄에서 연도 · 측점 · 중심 지반고를 읽음. | +| 3 | 그림에서 좌우 20 m 범위의 지반선을 확인함. | +| 4 | 판 위쪽 「횡단」 줄을 누르면 판이 접히고, 다시 누르면 펼쳐짐. | + +![접힌 횡단 판](D03_06_cross_fold.webp) + +그림 번호 — 1 「횡단」 줄(접힌 상태) + +## 보이는 것 + +- 제목 줄 = 「연도 · 측점 이름 · 중심 지반고」. +- 그림 = 노선 중심에서 좌우 20 m 안의 지반. 설계선(노면 · 절토 · 성토)은 없음. +- 아직 측점을 누르지 않았으면 「평면에서 측점을 누르면 그 자리 지반선 횡단이 보입니다.」가 보임. +- 노선이 없는 연도의 측점은 누를 수 없음. 지점을 옮긴 뒤에는 다시 [분석]을 해야 함. +- 이 측점 횡단은 지형 자료의 평활본에서 읽은 값이라 실제 측량 단면과 다를 수 있음. + +> 참고: 횡단 판을 접으면 평면 지도가 아래까지 넓어짐. diff --git a/A05_EduDetail/guide/D03/05_분석_저장_단추.md b/A05_EduDetail/guide/D03/05_분석_저장_단추.md new file mode 100644 index 000000000..5f281eb19 --- /dev/null +++ b/A05_EduDetail/guide/D03/05_분석_저장_단추.md @@ -0,0 +1,38 @@ +# 분석 · 저장 · 3D 단추 + +왼쪽 패널 맨 아래 단추 줄. 노선 찾기([분석]) · 확정 저장([저장]) · 입체 보기([3D])를 함. + +## 여는 길 + +- 노선 분석 화면 왼쪽 패널 맨 아래. + +![단추 줄](D03_07_buttons.webp) + +그림 번호 — 1 [?] 가이드 · 2 [<] 이전 단계 · 3 [>] 다음 단계 · 4 [분석] · 5 [저장] · 6 [3D] + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | [분석]을 누름. 연도 구간마다 후보 넷을 찾으며 진행률이 「지형」 카드 자리에 보임. | +| 2 | 입력(지점 · 기준 · 지형)이 이전과 같으면 저장된 결과를 그대로 불러와 바로 끝남. | +| 3 | [연도별 노선 고르기](D03/02_연도별_노선_고르기)로 연도마다 후보를 고름. | +| 4 | 모든 연도에 노선이 있으면 [저장]을 누름. | +| 5 | [3D]로 입체로 확인함. [3D 보기](D03/06_3D_보기) 참고. | +| 6 | 다음 단계로 가려면 [>]를 누름. | + +## 보이는 것 + +| 단추 | 하는 일 | +| --- | --- | +| [분석] | 연도 구간마다 노선 후보 넷을 찾음. 받은 지형 밖에 지점이 있으면 눌 수 없음 | +| [저장] | 연도별로 고른 후보를 정본으로 저장함. 끌어 옮긴 지점도 이때 함께 저장됨. 어느 연도든 노선이 없으면 눌 수 없고 마우스를 올리면 안내가 보임 | +| [3D] | 지형과 노선을 입체로 보는 창을 엶. 노선이 하나라도 있어야 눌 수 있음 | + +- 저장하면 「예정노선을 저장했습니다.」 알림이 뜸. +- [저장]은 노선 모양을 화면에서 받지 않고 고른 후보 이름만 서버에 보냄. 서버가 저장된 분석 결과로 노선을 다시 이어 붙여 저장하므로, [분석]을 하지 않으면 「분석 저장본이 없습니다 — [분석]을 먼저 하세요.」로 막힘. +- 산림청이 아닌 계정에는 [분석] · [저장]이 보이지 않음. 보기만 가능. + +> 주의: 저장 중에는 화면 전체가 잠깐 잠김. 끝날 때까지 기다림. + +> 참고: [분석]에 쓰는 기준값(기울기 상한 · 최소 곡선 반지름 등)은 등록 때 정한 임도 종류와 설계속도로 자동 정해짐. 이 화면에 칸은 없음. [사용자 확정 전 값](D03/30_사용자_확정_전_값) 참고. diff --git a/A05_EduDetail/guide/D03/06_3D_보기.md b/A05_EduDetail/guide/D03/06_3D_보기.md new file mode 100644 index 000000000..2df921eb8 --- /dev/null +++ b/A05_EduDetail/guide/D03/06_3D_보기.md @@ -0,0 +1,29 @@ +# 3D 보기 + +지형과 연도별 노선을 입체로 보는 창. + +## 여는 길 + +- 노선 분석 화면 왼쪽 패널 맨 아래 [3D]. 노선이 하나라도 있어야 눌림. + +![3D 보기 창](D03_08_3d_modal.webp) + +그림 번호 — 1 연도 고르는 칸 · 2 3D 화면 + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | [3D]를 누름. 「3D 보기 — 지형 + 노선」 창이 열리고 지형을 불러오는 동안 진행 표시가 돎. | +| 2 | 창 위쪽 연도 칸으로 볼 연도를 바꿈. 한 번에 한 연도씩 보임. | +| 3 | 마우스로 돌리고 휠로 확대 · 축소해 노선 둘레를 살핌. | +| 4 | 다 보았으면 창 오른쪽 위 [닫기]를 누름. | + +## 보이는 것 + +- 그 연도의 지형(높이에 따라 색이 달라짐)과 고른 후보의 노선, 측점 막대가 보임. 지형 위의 가는 하늘색 선이 노선. +- 노견 · 절토 · 성토면 · 구조물은 3D 에도 없음. +- 평면에서 측점을 눌러 둔 연도가 있으면 그 연도가 먼저 열림. +- 창을 닫으면 3D 화면에 쓰던 자원이 정리됨. + +> 참고: 지형이 노선보다 훨씬 넓게 받아져 있어 노선이 작게 보일 수 있음. 확대해서 볼 것. diff --git a/A05_EduDetail/guide/D03/20_쓰인_방법과_근거.md b/A05_EduDetail/guide/D03/20_쓰인_방법과_근거.md index 5f6a760a7..95a08e0e0 100644 --- a/A05_EduDetail/guide/D03/20_쓰인_방법과_근거.md +++ b/A05_EduDetail/guide/D03/20_쓰인_방법과_근거.md @@ -1,5 +1,7 @@ # 쓰인 방법과 근거 +![분석 결과 화면](D03_00_overview.webp) + ## 노선을 찾는 방법 - 연도마다 그 연도의 시점과 종점 두 점 사이를 한 번씩 찾음. 연도 사이의 경계점은 옮기지 않으므로 앞 연도 끝과 다음 연도 시작이 정확히 맞물림. diff --git a/A05_EduDetail/guide/D03/30_사용자_확정_전_값.md b/A05_EduDetail/guide/D03/30_사용자_확정_전_값.md index 8933630b4..2afa9b65c 100644 --- a/A05_EduDetail/guide/D03/30_사용자_확정_전_값.md +++ b/A05_EduDetail/guide/D03/30_사용자_확정_전_값.md @@ -1,5 +1,9 @@ # 사용자 확정 전 값 +![연도별 노선 카드](D03_02_year_cards.webp) + +그림 번호는 [연도별 노선 고르기](D03/02_연도별_노선_고르기)와 같음. + 아래 값은 코드에 기본값으로 들어 있으나 사용자가 최종 확정한 값이 아님. 바꾸려면 개발 담당에게 요청. | 값 | 지금 기본값 | 출처 | 상태 | diff --git a/A05_EduDetail/guide/D03/D03_00_overview.webp b/A05_EduDetail/guide/D03/D03_00_overview.webp new file mode 100644 index 000000000..bfaad2480 Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_00_overview.webp differ diff --git a/A05_EduDetail/guide/D03/D03_01_terrain_card.webp b/A05_EduDetail/guide/D03/D03_01_terrain_card.webp new file mode 100644 index 000000000..caacd69c6 Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_01_terrain_card.webp differ diff --git a/A05_EduDetail/guide/D03/D03_02_year_cards.webp b/A05_EduDetail/guide/D03/D03_02_year_cards.webp new file mode 100644 index 000000000..68b86a1f9 Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_02_year_cards.webp differ diff --git a/A05_EduDetail/guide/D03/D03_03_pick_mode.webp b/A05_EduDetail/guide/D03/D03_03_pick_mode.webp new file mode 100644 index 000000000..e39d4154d Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_03_pick_mode.webp differ diff --git a/A05_EduDetail/guide/D03/D03_04_plan_map.webp b/A05_EduDetail/guide/D03/D03_04_plan_map.webp new file mode 100644 index 000000000..0d0b2d4ce Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_04_plan_map.webp differ diff --git a/A05_EduDetail/guide/D03/D03_05_station_cross.webp b/A05_EduDetail/guide/D03/D03_05_station_cross.webp new file mode 100644 index 000000000..4b1373eb4 Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_05_station_cross.webp differ diff --git a/A05_EduDetail/guide/D03/D03_06_cross_fold.webp b/A05_EduDetail/guide/D03/D03_06_cross_fold.webp new file mode 100644 index 000000000..7c30de39f Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_06_cross_fold.webp differ diff --git a/A05_EduDetail/guide/D03/D03_07_buttons.webp b/A05_EduDetail/guide/D03/D03_07_buttons.webp new file mode 100644 index 000000000..c94cfd0b9 Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_07_buttons.webp differ diff --git a/A05_EduDetail/guide/D03/D03_08_3d_modal.webp b/A05_EduDetail/guide/D03/D03_08_3d_modal.webp new file mode 100644 index 000000000..e2a218683 Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_08_3d_modal.webp differ diff --git a/A05_EduDetail/guide/D03/_scenes.json b/A05_EduDetail/guide/D03/_scenes.json new file mode 100644 index 000000000..9eccfb985 --- /dev/null +++ b/A05_EduDetail/guide/D03/_scenes.json @@ -0,0 +1,11 @@ +[ + {"name":"D03_00_overview","route":"#/d03-plan-analysis","project":"plan","viewport":[1600,1250],"before":[{"wait":".d03-plan__map canvas"},{"wait":".d03-plan__mode"},{"wait_ms":4000},{"eval":"window.__d03Plan.pick(400)"},{"wait":".d03-plan__cross-body svg"},{"wait_ms":600}],"settle_ms":2000,"clip":null,"callouts":[{"n":1,"sel":".d03-plan__map","pos":"tr"},{"n":2,"sel":".d03-plan__cross","pos":"tr"},{"n":3,"sel":".d03-plan__hint"},{"n":4,"sel":".d03-plan__years"},{"n":5,"sel":".ui-sidebar-actions","pos":"tr"}]}, + {"name":"D03_01_terrain_card","route":"#/d03-plan-analysis","project":"plan","viewport":[1600,1250],"before":[{"wait":".d03-plan__map canvas"},{"wait":".d03-plan__mode"},{"wait_ms":4000}],"settle_ms":2000,"clip":".ui-sidebar-scroll > .ui-sidebar-card:nth-child(1)","callouts":[{"n":1,"sel":".d03-plan__hint"}]}, + {"name":"D03_02_year_cards","route":"#/d03-plan-analysis","project":"plan","viewport":[1600,1250],"before":[{"wait":".d03-plan__map canvas"},{"wait":".d03-plan__mode"},{"wait_ms":4000}],"settle_ms":2000,"clip":".ui-sidebar-scroll > .ui-sidebar-card:nth-child(2)","callouts":[{"n":1,"sel":".d03-plan__year-head"},{"n":2,"sel":".d03-plan__mode.is-picked","pos":"tr"},{"n":3,"sel":".d03-plan__mode:not(.is-picked)","pos":"tr"}]}, + {"name":"D03_03_pick_mode","route":"#/d03-plan-analysis","project":"plan","viewport":[1600,1250],"before":[{"wait":".d03-plan__map canvas"},{"wait":".d03-plan__mode"},{"wait_ms":4000},{"click":".d03-plan__year[data-year=\"2028\"] .d03-plan__mode[data-mode=\"gentle\"]"},{"wait":".d03-plan__year[data-year=\"2028\"] .d03-plan__mode[data-mode=\"gentle\"].is-picked"},{"wait_ms":800}],"settle_ms":2000,"clip":null,"callouts":[{"n":1,"sel":".d03-plan__year[data-year=\"2028\"] .d03-plan__year-head"},{"n":2,"sel":".d03-plan__year[data-year=\"2028\"] .d03-plan__mode.is-picked","pos":"tr"},{"n":3,"sel":".d03-plan__map","pos":"tr"}]}, + {"name":"D03_04_plan_map","route":"#/d03-plan-analysis","project":"plan","viewport":[1600,1250],"before":[{"wait":".d03-plan__map canvas"},{"wait":".d03-plan__mode"},{"wait_ms":4000},{"eval":"window.__d03Plan.pick(400)"},{"wait":".d03-plan__cross-body svg"},{"wait_ms":600}],"settle_ms":2000,"clip":".d03-plan__map","callouts":[{"n":1,"sel":".d03-plan__map","pos":"tr"}]}, + {"name":"D03_05_station_cross","route":"#/d03-plan-analysis","project":"plan","viewport":[1600,1250],"before":[{"wait":".d03-plan__map canvas"},{"wait":".d03-plan__mode"},{"wait_ms":4000},{"eval":"window.__d03Plan.pick(400)"},{"wait":".d03-plan__cross-body svg"},{"wait_ms":600}],"settle_ms":2000,"clip":".d03-plan__cross","callouts":[{"n":1,"sel":".d03-plan__cross-head"},{"n":2,"sel":".d03-plan__cross-body"}]}, + {"name":"D03_06_cross_fold","route":"#/d03-plan-analysis","project":"plan","viewport":[1600,900],"before":[{"wait":".d03-plan__map canvas"},{"wait":".d03-plan__mode"},{"wait_ms":4000},{"eval":"window.__d03Plan.pick(400)"},{"wait":".d03-plan__cross-body svg"},{"wait_ms":600},{"click":".d03-plan__cross .ui-workflow-overlay__handle"},{"wait_ms":800}],"settle_ms":2000,"clip":null,"callouts":[{"n":1,"sel":".d03-plan__cross .ui-workflow-overlay__handle","pos":"tr"}]}, + {"name":"D03_07_buttons","route":"#/d03-plan-analysis","project":"plan","viewport":[1600,1250],"before":[{"wait":".d03-plan__map canvas"},{"wait":".d03-plan__mode"},{"wait_ms":4000}],"settle_ms":2000,"clip":".ui-sidebar-actions","callouts":[{"n":1,"sel":".ui-sidebar-actions > button:nth-child(1)"},{"n":2,"sel":".ui-sidebar-actions > button:nth-child(2)"},{"n":3,"sel":".ui-sidebar-actions > button:nth-child(3)"},{"n":4,"sel":".ui-sidebar-actions > button:nth-child(4)"},{"n":5,"sel":".ui-sidebar-actions > button:nth-child(5)"},{"n":6,"sel":".ui-sidebar-actions > button:nth-child(6)"}]}, + {"name":"D03_08_3d_modal","route":"#/d03-plan-analysis","project":"plan","viewport":[1600,1250],"before":[{"wait":".d03-plan__map canvas"},{"wait":".d03-plan__mode"},{"wait_ms":4000},{"click":".ui-sidebar-actions > button:nth-child(6)"},{"wait":".b05-route__3d-modal"},{"wait_ms":9000}],"settle_ms":2000,"clip":null,"callouts":[{"n":1,"sel":".d03-plan__3d-year"},{"n":2,"sel":".b05-route__3d-body","pos":"tr"}]} +] diff --git a/A05_EduDetail/guide/D04/00_설명서.md b/A05_EduDetail/guide/D04/00_설명서.md index 8127e7330..9b9d5fe30 100644 --- a/A05_EduDetail/guide/D04/00_설명서.md +++ b/A05_EduDetail/guide/D04/00_설명서.md @@ -1,81 +1,31 @@ -# 예정노선 확정 · 업체 · 내보내기 설명서 +# 확정 · 내보내기 -## 이 화면에서 하는 일 +예정노선 3단계. 분석에서 저장한 연도별 노선을 확인하고, 연도마다 일을 맡길 업체를 지정한 뒤 확정하고 내보내는 화면. -- 2단계(분석)에서 저장한 연도별 노선을 한눈에 확인함(연장 · 시점 · 종점 · 누가 · 확정 여부). -- 연도마다 일을 맡길 업체를 지정함. 아이슬로에 등록된 회사를 고르거나, 업체명과 메일 주소를 직접 적는 수기 지정 중 선택. 한 연도에 업체 여럿 지정 가능. -- [확정] 으로 연도 노선을 확정하고, 지정 업체에 노선 파일이 든 압축 파일(zip)을 메일로 보냄. -- [내보내기] 로 노선 파일 묶음을 내려받음. -- 업체 쪽에서는 받은 예정노선을 자기 임도 프로젝트로 연결해 설계를 이어 감(아래 「받은 업체의 임도 연결」 참고). +## 여는 길 -## 화면 구성 +- [노선 분석](D03/00_설명서) 화면에서 [저장]을 한 뒤 [>]를 누르면 열림. +- 대시보드 프로젝트 표의 단계 막대 「확정 · 내보내기」를 누르거나, ☰ 에서 「확정 · 내보내기」를 골라도 열림. +- 지정받은 다른 회사는 대시보드 「받은 예정노선」 구역의 [보기]로 이 화면을 보기만 가능한 상태로 엶. [받은 업체의 임도 연결](D04/06_받은_업체_연결) 참고. -- 가운데 = 연도 표. 프로젝트 이름이 위에 크게 나오고, 표 열은 연도 · 연장(m) · 시점(위도, 경도) · 종점(위도, 경도) · 누가(m) · 확정 · 지정 업체. -- 왼쪽 위 = 「확정할 연도」 카드. 분석 [저장] 이 된 연도마다 선택 상자가 있음. 아직 확정하지 않은 연도는 처음부터 선택되어 있음. -- 왼쪽 아래 = 단추 [내보내기] [확정] [저장]. +![화면 한눈에](D04_00_overview.webp) + +## 화면 구역 + +| 번호 | 구역 | 하는 일 | +| --- | --- | --- | +| 1 | 연도 표 | 연도마다 연장 · 시점 · 종점 · 누가 · 확정 시각 · 지정 업체를 한 줄로 보여 줌. 업체를 여기서 추가 · 삭제함 | +| 2 | 「확정할 연도」 카드 | 확정할 연도를 고름. 분석 [저장]이 된 연도만 나옴 | +| 3 | 단추 줄 | [?] · [<] · [>] · [내보내기] · [확정] · [저장] | ## 작업 순서 -1. 연도 표에서 연도마다 연장과 누가를 확인함. 분석을 저장하지 않은 연도는 누가 칸에 「노선 분석 [저장] 전」 이 나오며, 확정할 연도 목록에도 나타나지 않음. -2. 지정 업체 칸에서 업체를 추가함. - - 등록 회사: 「업체(등록 회사 찾기 또는 이름)」 칸에 글자를 입력하면 가입된 회사 이름이 목록으로 뜸. 목록에서 고르면 등록 회사로 지정됨. 메일 칸을 비우면 그 회사의 대표 메일이 쓰임. - - 수기 지정: 업체명과 메일 주소(@ 포함)를 둘 다 적음. 없으면 「등록 회사가 아니면 업체명과 메일이 필요합니다.」 안내가 나오고 추가되지 않음. - - [추가] 를 누르면 그 연도 칸에 업체 이름 + 메일이 표시됨. 같은 업체를 두 번 넣어도 한 번만 들어감. - - 잘못 넣은 업체는 업체 옆 [×] 로 뺌. -3. [저장] 을 누르면 지정 업체가 서버에 저장됨(「지정 업체를 저장했습니다.」). 저장 전에는 표 위에 「저장 안 된 변경이 있습니다.」 가 표시됨. -4. 「확정할 연도」 에서 확정할 연도를 고르고 [확정] 을 누름. 확인 창(「고른 연도를 확정하고 지정 업체에 노선 묶음을 메일로 보냅니다. 진행할까요?」)에서 진행을 누르면 확정과 메일 발송이 이뤄짐. 저장하지 않은 업체 변경이 있으면 자동으로 먼저 저장됨. -5. 필요하면 [내보내기] 로 파일을 내려받아 보관함. +1. 연도 표에서 연도마다 연장과 누가를 확인함. [연도 표](D04/01_연도_표) 참고. +2. 지정 업체 칸에서 업체를 추가함. 등록 회사는 이름을 찾아 고르고, 아니면 업체명과 메일을 직접 적음. [지정 업체](D04/02_지정_업체) · [업체 직접 추가](D04/03_업체_직접_추가) 참고. +3. [저장]을 눌러 지정 업체를 서버에 저장함. [단추와 확정할 연도](D04/04_단추와_확정할_연도) 참고. +4. 「확정할 연도」에서 확정할 연도를 고르고 [확정]을 누름. 확인 창에서 진행을 누르면 확정과 메일 발송이 이뤄짐. [확정과 메일](D04/05_확정과_메일) 참고. +5. 필요하면 [내보내기]로 노선 파일 묶음을 내려받아 보관함. 파일 구성은 [내보내기 파일 구성](D04/10_내보내기_파일_구성) 참고. -## 단추 +> 주의: [저장] · [확정]은 산림청 소속 사용자만 할 수 있음. 그 밖의 사용자가 누르면 「산림청만 예정노선을 확정 · 지정할 수 있습니다.」 안내가 나옴. -| 단추 | 하는 일 | -| --- | --- | -| 내보내기 | 「프로젝트이름_예정노선.zip」 을 내려받음. 산림청은 모든 연도와 전체 노선을 받음. 지정받은 회사는 확정된 자기 연도만 받음 | -| 확정 | 고른 연도를 확정 처리하고 지정 업체에 메일을 보냄. 고른 연도가 없으면 「확정할 연도를 고르세요.」 안내 | -| 저장 | 연도별 지정 업체 목록을 서버에 저장함 | - -- 업체 추가와 삭제는 [저장] 을 누르기 전까지 이 브라우저 탭에만 임시로 남음. 탭을 닫으면 사라지므로 [저장] 을 누를 것. -- [저장] [확정] 은 산림청 소속 사용자만 가능. 그 밖의 사용자가 누르면 「산림청만 예정노선을 확정 · 지정할 수 있습니다.」 안내가 나옴. - -## 결과 읽는 법 - -- **확정 열** = 확정한 날짜와 시각(한국 시간). 비어 있으면 아직 확정 전. -- **지정 업체 열의 표시** - - 「Aislo」 = 아이슬로 등록 회사로 지정된 업체. - - 「메일 보냄」 = 확정 때 메일이 나갔다는 표시. 같은 업체에는 다시 확정해도 중복 발송하지 않음. - - 「연결됨」 = 그 업체가 이 연도 노선을 자기 임도 프로젝트로 가져가 연결했다는 표시. -- **[확정] 후 안내 문구** = 「확정 — 메일 sent 2 · already_sent 1」 꼴로 업체별 처리 결과를 개수로 보여 줌. - -| 결과 이름 | 뜻 | -| --- | --- | -| sent | 메일 발송 성공 | -| already_sent | 이미 보낸 업체여서 다시 보내지 않음 | -| no_email | 메일 주소가 없어 보내지 못함(등록 회사의 대표 메일이 비어 있는 경우 등) | -| failed | 메일 발송 실패 | - -## 보내지는 메일 - -- 제목: 「[예정노선 확정] 프로젝트이름 N년」. -- 본문: 프로젝트 · 사업 지역 · 연도 · 연장(km 와 m) 요약과 첨부 파일 목록, 압축을 풀면 노선 입력에 바로 올릴 수 있다는 안내 문구. -- 첨부: 그 업체의 연도 한 해 분량 zip 1개(파일 이름 「프로젝트이름_예정노선_연도.zip」). 내용은 「10_내보내기_파일_구성」 참고. - -## 받은 업체의 임도 연결 - -- 지정받은 등록 회사는 대시보드의 「받은 예정노선」 구역에서 확정된 연도를 봄. 열은 예정노선 · 연도 · 확정 · 연결 상태(연결됨 / 미연결 / 업데이트 있음) · 작업. -- [보기] = 예정노선 화면을 보기만 가능한 상태로 엶. -- [연결] = 모달에서 두 가지 중 선택. - - 「새 임도 프로젝트로」: 예정노선 이름 + 연도로 임도 프로젝트를 새로 만들고 노선 입력 단계(B03)로 이동. 예정노선의 설계속도(20 · 30 · 40 km/h)가 새 프로젝트의 설계속도 기본값으로 들어감. - - 「기존 프로젝트에 연결」: 우리 회사의 임도 프로젝트를 골라 그 프로젝트에 연결. 임도 프로젝트가 없으면 「우리 회사 임도 프로젝트가 없습니다.」 표시. -- 연결하면 그 연도 노선(shapefile 한 벌)이 노선 입력 단계의 입력 파일로 들어감. 파일을 직접 올린 것과 같은 길이라 이후 처리도 같음. 지형 자료는 업체가 따로 올려야 함. -- 이미 분석 결과가 있는 임도 프로젝트에 연결하면 기존 결과를 지워도 되는지 묻는 확인 창이 먼저 나옴. 취소하면 아무것도 바뀌지 않음. -- 임도 프로젝트 노선 입력 화면의 [예정노선에서 가져오기] 단추로도 같은 일을 할 수 있음. 지정받은 연도를 고르면 노선이 입력됨. -- 연결 시점의 노선이 복사되므로, 산림청이 뒤에 노선을 바꿔도 임도 프로젝트는 자동으로 바뀌지 않음. 대신 「업데이트 있음」 표시가 뜨며, 노선 입력 화면 위쪽 띠에서 [다시 가져오기] 로 직접 반영 여부를 결정함. -- 한 임도 프로젝트는 한 연도에만 연결됨. 다른 연도로 다시 연결하면 앞의 연결은 풀림. - -## 알아 둘 것 - -- 확정 시각은 [확정] 을 누를 때마다 새로 기록됨. 이미 메일을 보낸 업체에는 다시 보내지 않음(다시 보내는 단추는 화면에 없음). -- 확정은 분석 [저장] 이 된 연도만 가능. 저장하지 않은 연도를 억지로 확정하려 하면 「분석 [저장]이 안 된 연도입니다」 오류가 나옴. -- [저장] 은 표에 있는 모든 연도의 지정 업체를 화면 내용대로 맞춤. 업체를 모두 뺀 연도는 지정이 비워짐. -- 같은 업체 판정: 등록 회사는 회사 번호, 수기 업체는 메일 주소(대소문자 구분 없음). -- 내보내기는 서버에 저장된 노선만 사용함. 2단계에서 [저장] 하지 않은 변경은 반영되지 않음. +> 참고: 업체 쪽에서는 받은 예정노선을 자기 임도 프로젝트로 연결해 설계를 이어 감. [받은 업체의 임도 연결](D04/06_받은_업체_연결) 참고. diff --git a/A05_EduDetail/guide/D04/01_연도_표.md b/A05_EduDetail/guide/D04/01_연도_표.md new file mode 100644 index 000000000..d58975f1d --- /dev/null +++ b/A05_EduDetail/guide/D04/01_연도_표.md @@ -0,0 +1,29 @@ +# 연도 표 + +분석에서 저장한 연도별 노선을 한눈에 확인하는 표. + +## 여는 길 + +- 확정 · 내보내기 화면 가운데의 큰 표. 위에 프로젝트 이름이 크게 나옴. + +![연도 표](D04_01_year_table.webp) + +그림 번호 — 1 연장(m) · 2 시점(위도, 경도) · 3 누가(m) · 4 확정 시각 · 5 지정 업체 + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 연도 열과 연장(m)으로 연도별 노선 길이를 확인함. | +| 2 | 시점 · 종점(위도, 경도)으로 노선 양 끝 위치를 확인함. | +| 3 | 누가(m) 열로 그 연도 노선이 전체 노선의 어디부터 어디까지인지 확인함. | +| 4 | 확정 열이 비어 있으면 아직 확정 전. 날짜와 시각이 있으면 확정이 끝난 연도. | +| 5 | 지정 업체 열은 [지정 업체](D04/02_지정_업체) 참고. | + +## 보이는 것 + +- 분석을 저장하지 않은 연도는 누가 칸에 「노선 분석 [저장] 전」이 나옴. 「확정할 연도」 목록에도 나타나지 않음. +- 확정 열 = 확정한 날짜와 시각(한국 시간). 비어 있으면 아직 확정 전. +- 시점 · 종점은 위도 · 경도 순서로 소수 6 자리까지 보임. + +> 참고: 연장이 서로 다르게 보이면 [노선 분석](D03/00_설명서)에서 후보를 다시 고르고 [저장]한 뒤 돌아옴. diff --git a/A05_EduDetail/guide/D04/02_지정_업체.md b/A05_EduDetail/guide/D04/02_지정_업체.md new file mode 100644 index 000000000..1359641f0 --- /dev/null +++ b/A05_EduDetail/guide/D04/02_지정_업체.md @@ -0,0 +1,31 @@ +# 지정 업체 + +연도마다 일을 맡길 업체를 지정하는 열. + +## 여는 길 + +- 연도 표의 맨 오른쪽 「지정 업체」 열. 연도 한 줄마다 업체 목록과 추가 칸이 있음. + +![지정 업체 열](D04_02_assigned_firms.webp) + +그림 번호 — 1 지정된 업체 한 건 · 2 표시 딱지(Aislo) · 3 [×] 빼기 단추 · 4 업체 추가 칸 + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 연도 줄의 지정 업체 목록에서 이미 지정된 업체를 확인함. 한 연도에 업체 여럿을 지정할 수 있음. | +| 2 | 업체를 더하려면 아래 추가 칸을 씀. [업체 직접 추가](D04/03_업체_직접_추가) 참고. | +| 3 | 잘못 넣은 업체는 업체 옆 [×]로 뺌. | +| 4 | 다 끝나면 왼쪽 아래 [저장]을 눌러 서버에 남김. | + +## 보이는 것 + +- 업체 한 건 = 「업체명 · 메일」 글 + 딱지. +- 딱지 「Aislo」 = 아이슬로에 등록된 회사로 지정된 업체. +- 딱지 「메일 보냄」 = 확정 때 메일이 나갔다는 표시. 같은 업체에는 다시 확정해도 중복 발송하지 않음. +- 딱지 「연결됨」 = 그 업체가 이 연도 노선을 자기 임도 프로젝트로 가져가 연결했다는 표시. +- 같은 업체 판정: 등록 회사는 회사 번호, 직접 적은 업체는 메일 주소(대소문자 구분 없음). 같은 업체를 두 번 넣어도 한 번만 들어감. +- 산림청이 아닌 계정은 추가 칸과 [×]가 보이지 않음. 보기만 가능. + +> 참고: 이 그림의 업체명과 메일은 가이드용 견본임. diff --git a/A05_EduDetail/guide/D04/03_업체_직접_추가.md b/A05_EduDetail/guide/D04/03_업체_직접_추가.md new file mode 100644 index 000000000..51fd72ee7 --- /dev/null +++ b/A05_EduDetail/guide/D04/03_업체_직접_추가.md @@ -0,0 +1,34 @@ +# 업체 직접 추가 + +등록 회사를 찾아 고르거나, 업체명과 메일을 직접 적어 지정 업체로 더하는 방법. + +## 여는 길 + +- 연도 표 「지정 업체」 열의 추가 칸(업체 칸 · 메일 칸 · [추가]). + +![업체명과 메일을 적은 모습](D04_03_add_manual.webp) + +그림 번호 — 1 업체 칸 · 2 메일 칸 · 3 [추가] 단추 + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 등록 회사로 지정하려면 업체 칸에 회사 이름 글자를 넣음. 가입된 회사 이름이 목록으로 뜨면 하나를 고름. | +| 2 | 메일 칸을 비우면 그 회사의 대표 메일이 쓰임. 다른 메일로 받으려면 메일 칸에 적음. | +| 3 | 등록 회사가 아니면(수기 지정) 업체 칸에 업체명, 메일 칸에 메일(@ 포함)을 둘 다 적음. | +| 4 | [추가]를 누름. 그 연도 칸에 업체 이름 + 메일이 표시됨. | + +![저장 안 된 변경 안내](D04_04_unsaved_note.webp) + +그림 번호 — 1 「저장 안 된 변경이 있습니다.」 안내 · 2 추가된 업체 + +## 보이는 것 + +- 추가하면 표 위에 「저장 안 된 변경이 있습니다.」가 나옴. 왼쪽 아래 [저장]을 누르면 사라짐. +- 수기 지정에서 업체명이나 메일이 비면 「등록 회사가 아니면 업체명과 메일이 필요합니다.」 안내가 나오고 추가되지 않음. +- 업체 추가와 삭제는 [저장]을 누르기 전까지 이 브라우저 탭에만 임시로 남음. 탭을 닫으면 사라짐. + +> 주의: [저장]은 표에 있는 모든 연도의 지정 업체를 화면 내용대로 맞춤. 업체를 모두 뺀 연도는 지정이 비워짐. + +> 참고: 이 그림의 업체명과 메일은 가이드용 견본임. diff --git a/A05_EduDetail/guide/D04/04_단추와_확정할_연도.md b/A05_EduDetail/guide/D04/04_단추와_확정할_연도.md new file mode 100644 index 000000000..0599b74fa --- /dev/null +++ b/A05_EduDetail/guide/D04/04_단추와_확정할_연도.md @@ -0,0 +1,38 @@ +# 단추와 확정할 연도 + +왼쪽 패널의 「확정할 연도」 카드와 아래 단추 줄. + +## 여는 길 + +- 확정 · 내보내기 화면 왼쪽 패널. + +![확정할 연도 카드](D04_05_pick_years.webp) + +그림 번호 — 1 확정할 연도 목록(선택 상자) + +![단추 줄](D04_06_buttons.webp) + +그림 번호 — 1 [?] 가이드 · 2 [<] 이전 단계 · 3 [>] 다음 단계(마지막 단계라 흐림) · 4 [내보내기] · 5 [확정] · 6 [저장] + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 「확정할 연도」에서 확정할 연도의 선택 상자를 켬. 아직 확정하지 않은 연도는 처음부터 켜져 있음. | +| 2 | 지정 업체를 바꿨으면 [저장]을 눌러 서버에 남김. 「지정 업체를 저장했습니다.」 알림이 뜸. | +| 3 | [확정]은 [확정과 메일](D04/05_확정과_메일) 참고. | +| 4 | 노선 파일이 필요하면 [내보내기]를 누름. | + +## 보이는 것 + +| 단추 | 하는 일 | +| --- | --- | +| [내보내기] | 「프로젝트이름_예정노선.zip」을 내려받음. 산림청은 모든 연도와 전체 노선을 받음. 지정받은 회사는 확정된 자기 연도만 받음 | +| [확정] | 고른 연도를 확정하고 지정 업체에 메일을 보냄. 고른 연도가 없으면 「확정할 연도를 고르세요.」 안내 | +| [저장] | 연도별 지정 업체 목록을 서버에 저장함 | + +- 분석 [저장]이 된 연도만 목록에 나옴. +- 산림청이 아닌 계정은 「확정할 연도」 카드와 [확정] · [저장]이 보이지 않고 [내보내기]만 있음. +- 내보내기는 서버에 저장된 노선만 사용함. [노선 분석](D03/00_설명서)에서 [저장]하지 않은 변경은 반영되지 않음. + +> 참고: 파일 안의 구성은 [내보내기 파일 구성](D04/10_내보내기_파일_구성) 참고. diff --git a/A05_EduDetail/guide/D04/05_확정과_메일.md b/A05_EduDetail/guide/D04/05_확정과_메일.md new file mode 100644 index 000000000..cc9546b01 --- /dev/null +++ b/A05_EduDetail/guide/D04/05_확정과_메일.md @@ -0,0 +1,39 @@ +# 확정과 메일 + +고른 연도를 확정하고 지정 업체에 노선 파일을 메일로 보내는 과정. + +## 여는 길 + +- 확정 · 내보내기 화면 왼쪽 아래 [확정]. + +![확정 확인 창](D04_07_finalize_ask.webp) + +그림 번호 — 1 확인 문구 · 2 [취소] · 3 [확정] + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 지정 업체를 모두 넣고 [저장]을 눌러 둠. 저장하지 않은 변경이 있으면 [확정] 때 먼저 저장됨. | +| 2 | 「확정할 연도」에서 연도를 고름. | +| 3 | [확정]을 누르면 확인 창이 열림. 「고른 연도를 확정하고 지정 업체에 노선 묶음을 메일로 보냅니다. 진행할까요?」 | +| 4 | 진행하려면 창의 [확정]을 누름. 그만두려면 [취소]를 누름. | +| 5 | 끝나면 「확정 — 메일 sent 2 · already_sent 1」 꼴로 업체별 처리 결과가 개수로 나옴. | + +## 보이는 것 + +| 결과 이름 | 뜻 | +| --- | --- | +| sent | 메일 발송 성공 | +| already_sent | 이미 보낸 업체여서 다시 보내지 않음 | +| no_email | 메일 주소가 없어 보내지 못함(등록 회사의 대표 메일이 비어 있는 경우 등) | +| failed | 메일 발송 실패 | + +- 확정하면 연도 표의 확정 열에 날짜와 시각이 찍히고, 지정 업체에 「메일 보냄」 딱지가 붙음. +- 보내지는 메일의 제목은 「[예정노선 확정] 프로젝트이름 N년」. +- 본문에는 프로젝트 · 사업 지역 · 연도 · 연장(km 와 m) 요약과 첨부 파일 목록, 압축을 풀면 노선 입력에 바로 올릴 수 있다는 안내가 있음. +- 첨부 = 그 업체의 연도 한 해 분량 zip 1개(파일 이름 「프로젝트이름_예정노선_연도.zip」). 내용은 [내보내기 파일 구성](D04/10_내보내기_파일_구성) 참고. + +> 주의: 확정은 분석 [저장]이 된 연도만 가능함. 저장하지 않은 연도를 억지로 확정하려 하면 「분석 [저장]이 안 된 연도입니다」 오류가 나옴. + +> 주의: 확정 시각은 [확정]을 누를 때마다 새로 기록됨. 이미 메일을 보낸 업체에는 다시 보내지 않으며, 다시 보내는 단추는 화면에 없음. diff --git a/A05_EduDetail/guide/D04/06_받은_업체_연결.md b/A05_EduDetail/guide/D04/06_받은_업체_연결.md new file mode 100644 index 000000000..3653466e0 --- /dev/null +++ b/A05_EduDetail/guide/D04/06_받은_업체_연결.md @@ -0,0 +1,27 @@ +# 받은 업체의 임도 연결 + +확정된 예정노선을 받은 업체가 자기 임도 프로젝트로 가져가 설계를 이어 가는 방법. + +## 여는 길 + +- 지정받은 등록 회사는 대시보드의 「받은 예정노선」 구역에서 확정된 연도를 봄. +- 열 = 예정노선 · 연도 · 확정 · 연결 상태(연결됨 / 미연결 / 업데이트 있음) · 작업. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 「받은 예정노선」에서 연도 줄의 [보기]를 누르면 예정노선 화면이 보기만 가능한 상태로 열림. | +| 2 | [연결]을 누르면 모달이 열려 두 가지 중 하나를 고름. | +| 3 | 「새 임도 프로젝트로」 = 예정노선 이름 + 연도로 임도 프로젝트를 새로 만들고 노선 입력 단계(B03)로 이동. 예정노선의 설계속도(20 · 30 · 40 km/h)가 새 프로젝트의 설계속도 기본값으로 들어감. | +| 4 | 「기존 프로젝트에 연결」 = 우리 회사의 임도 프로젝트를 골라 그 프로젝트에 연결. 임도 프로젝트가 없으면 「우리 회사 임도 프로젝트가 없습니다.」가 보임. | +| 5 | 임도 프로젝트 노선 입력 화면의 [예정노선에서 가져오기]로도 같은 일을 할 수 있음. 지정받은 연도를 고르면 노선이 입력됨. | + +## 보이는 것 + +- 연결하면 그 연도 노선(shapefile 한 벌)이 노선 입력 단계의 입력 파일로 들어감. 파일을 직접 올린 것과 같은 길이라 이후 처리도 같음. 지형 자료는 업체가 따로 올려야 함. +- 이미 분석 결과가 있는 임도 프로젝트에 연결하면 기존 결과를 지워도 되는지 묻는 확인 창이 먼저 나옴. 취소하면 아무것도 바뀌지 않음. +- 연결 시점의 노선이 복사되므로, 산림청이 뒤에 노선을 바꿔도 임도 프로젝트는 자동으로 바뀌지 않음. 대신 「업데이트 있음」 표시가 뜨며, 노선 입력 화면 위쪽 띠에서 [다시 가져오기]로 직접 반영 여부를 결정함. +- 한 임도 프로젝트는 한 연도에만 연결됨. 다른 연도로 다시 연결하면 앞의 연결은 풀림. + +> 참고: 임도 프로젝트 쪽 화면은 [임도설계 가이드](B03/00_설명서)를 참고. 산림청 쪽에서 연결된 연도에는 연도 표의 지정 업체에 「연결됨」 딱지가 붙음. diff --git a/A05_EduDetail/guide/D04/10_내보내기_파일_구성.md b/A05_EduDetail/guide/D04/10_내보내기_파일_구성.md index edfcf1655..e4f4a968d 100644 --- a/A05_EduDetail/guide/D04/10_내보내기_파일_구성.md +++ b/A05_EduDetail/guide/D04/10_내보내기_파일_구성.md @@ -1,5 +1,9 @@ # 내보내기 파일 구성 +![내보내기 단추 줄](D04_06_buttons.webp) + +[내보내기] 단추는 왼쪽 아래 단추 줄에 있음. + ## 한눈에 - 내려받는 파일 이름 = 「프로젝트이름_예정노선.zip」. 이름에 쓸 수 없는 글자는 밑줄(_)로 바뀜. diff --git a/A05_EduDetail/guide/D04/30_사용자_확정_전_값.md b/A05_EduDetail/guide/D04/30_사용자_확정_전_값.md index 4e12a87dd..2b72d3ac3 100644 --- a/A05_EduDetail/guide/D04/30_사용자_확정_전_값.md +++ b/A05_EduDetail/guide/D04/30_사용자_확정_전_값.md @@ -1,5 +1,7 @@ # 사용자 확정 전 값 +![연도 표](D04_01_year_table.webp) + 아래 항목은 코드의 현재 동작이며, 바꾸려면 개발 담당에게 요청. | 값 | 지금 기본값 | 출처 | 상태 | diff --git a/A05_EduDetail/guide/D04/D04_00_overview.webp b/A05_EduDetail/guide/D04/D04_00_overview.webp new file mode 100644 index 000000000..244fdb9b7 Binary files /dev/null and b/A05_EduDetail/guide/D04/D04_00_overview.webp differ diff --git a/A05_EduDetail/guide/D04/D04_01_year_table.webp b/A05_EduDetail/guide/D04/D04_01_year_table.webp new file mode 100644 index 000000000..daea15aea Binary files /dev/null and b/A05_EduDetail/guide/D04/D04_01_year_table.webp differ diff --git a/A05_EduDetail/guide/D04/D04_02_assigned_firms.webp b/A05_EduDetail/guide/D04/D04_02_assigned_firms.webp new file mode 100644 index 000000000..9290679d0 Binary files /dev/null and b/A05_EduDetail/guide/D04/D04_02_assigned_firms.webp differ diff --git a/A05_EduDetail/guide/D04/D04_03_add_manual.webp b/A05_EduDetail/guide/D04/D04_03_add_manual.webp new file mode 100644 index 000000000..822449792 Binary files /dev/null and b/A05_EduDetail/guide/D04/D04_03_add_manual.webp differ diff --git a/A05_EduDetail/guide/D04/D04_04_unsaved_note.webp b/A05_EduDetail/guide/D04/D04_04_unsaved_note.webp new file mode 100644 index 000000000..aef7924b8 Binary files /dev/null and b/A05_EduDetail/guide/D04/D04_04_unsaved_note.webp differ diff --git a/A05_EduDetail/guide/D04/D04_05_pick_years.webp b/A05_EduDetail/guide/D04/D04_05_pick_years.webp new file mode 100644 index 000000000..05c320fe0 Binary files /dev/null and b/A05_EduDetail/guide/D04/D04_05_pick_years.webp differ diff --git a/A05_EduDetail/guide/D04/D04_06_buttons.webp b/A05_EduDetail/guide/D04/D04_06_buttons.webp new file mode 100644 index 000000000..bb4aad76c Binary files /dev/null and b/A05_EduDetail/guide/D04/D04_06_buttons.webp differ diff --git a/A05_EduDetail/guide/D04/D04_07_finalize_ask.webp b/A05_EduDetail/guide/D04/D04_07_finalize_ask.webp new file mode 100644 index 000000000..0591a25af Binary files /dev/null and b/A05_EduDetail/guide/D04/D04_07_finalize_ask.webp differ diff --git a/A05_EduDetail/guide/D04/_scenes.json b/A05_EduDetail/guide/D04/_scenes.json new file mode 100644 index 000000000..4c6b65a86 --- /dev/null +++ b/A05_EduDetail/guide/D04/_scenes.json @@ -0,0 +1,10 @@ +[ + {"name":"D04_00_overview","route":"#/d04-plan-confirm","project":"plan","before":[{"wait":".d04-confirm__firm"},{"wait_ms":800},{"eval":"[...document.querySelectorAll('[class*=\"__firm\"] > span:first-child')].forEach((s,i)=>{ if(!/example\\./.test(s.textContent)) s.textContent=['예시건설','예시산업','예시토건'][i%3]+' · guide-sample'+(i||'')+'@example.com' })"},{"wait_ms":300}],"settle_ms":600,"clip":null,"callouts":[{"n":1,"sel":".d04-confirm__table","pos":"tr"},{"n":2,"sel":".d04-confirm__panel .ui-collapsible"},{"n":3,"sel":".ui-sidebar-actions","pos":"tr"}]}, + {"name":"D04_01_year_table","route":"#/d04-plan-confirm","project":"plan","before":[{"wait":".d04-confirm__firm"},{"wait_ms":800},{"eval":"[...document.querySelectorAll('[class*=\"__firm\"] > span:first-child')].forEach((s,i)=>{ if(!/example\\./.test(s.textContent)) s.textContent=['예시건설','예시산업','예시토건'][i%3]+' · guide-sample'+(i||'')+'@example.com' })"},{"wait_ms":300}],"settle_ms":600,"clip":".d04-confirm__table","callouts":[{"n":1,"sel":".d04-confirm__table tbody tr:nth-child(1) td:nth-child(2)"},{"n":2,"sel":".d04-confirm__table tbody tr:nth-child(1) td:nth-child(3)"},{"n":3,"sel":".d04-confirm__table tbody tr:nth-child(1) td:nth-child(5)"},{"n":4,"sel":".d04-confirm__table tbody tr:nth-child(1) td:nth-child(6)"},{"n":5,"sel":".d04-confirm__table tbody tr:nth-child(1) td:nth-child(7)","pos":"tr"}]}, + {"name":"D04_02_assigned_firms","route":"#/d04-plan-confirm","project":"plan","before":[{"wait":".d04-confirm__firm"},{"wait_ms":800},{"eval":"[...document.querySelectorAll('[class*=\"__firm\"] > span:first-child')].forEach((s,i)=>{ if(!/example\\./.test(s.textContent)) s.textContent=['예시건설','예시산업','예시토건'][i%3]+' · guide-sample'+(i||'')+'@example.com' })"},{"wait_ms":300}],"settle_ms":600,"clip":".d04-confirm__table tbody tr:nth-child(1)","callouts":[{"n":1,"sel":".d04-confirm__table tbody tr:nth-child(1) .d04-confirm__firm"},{"n":2,"sel":".d04-confirm__table tbody tr:nth-child(1) .d04-confirm__firm > span:nth-child(2)","pos":"tr"},{"n":3,"sel":".d04-confirm__table tbody tr:nth-child(1) .d04-confirm__firm > button","pos":"tr"},{"n":4,"sel":".d04-confirm__table tbody tr:nth-child(1) .d04-confirm__add","pos":"br"}]}, + {"name":"D04_03_add_manual","route":"#/d04-plan-confirm","project":"plan","before":[{"wait":".d04-confirm__firm"},{"wait_ms":800},{"fill":".d04-confirm__table tbody tr:nth-child(3) .d04-confirm__add input:nth-child(1)","value":"예시토건"},{"fill":".d04-confirm__table tbody tr:nth-child(3) .d04-confirm__add input:nth-child(2)","value":"guide-sample@example.org"},{"wait_ms":300},{"eval":"[...document.querySelectorAll('[class*=\"__firm\"] > span:first-child')].forEach((s,i)=>{ if(!/example\\./.test(s.textContent)) s.textContent=['예시건설','예시산업','예시토건'][i%3]+' · guide-sample'+(i||'')+'@example.com' })"}],"settle_ms":600,"clip":".d04-confirm__table tbody tr:nth-child(3)","callouts":[{"n":1,"sel":".d04-confirm__table tbody tr:nth-child(3) .d04-confirm__add input:nth-child(1)"},{"n":2,"sel":".d04-confirm__table tbody tr:nth-child(3) .d04-confirm__add input:nth-child(2)"},{"n":3,"sel":".d04-confirm__table tbody tr:nth-child(3) .d04-confirm__add button","pos":"tr"}]}, + {"name":"D04_04_unsaved_note","route":"#/d04-plan-confirm","project":"plan","before":[{"wait":".d04-confirm__firm"},{"wait_ms":800},{"fill":".d04-confirm__table tbody tr:nth-child(3) .d04-confirm__add input:nth-child(1)","value":"예시토건"},{"fill":".d04-confirm__table tbody tr:nth-child(3) .d04-confirm__add input:nth-child(2)","value":"guide-sample@example.org"},{"click":"[class*=\"__table\"] tbody tr:nth-child(3) [class*=\"__add\"] button"},{"wait":".d04-confirm__dirty"},{"wait_ms":300},{"eval":"[...document.querySelectorAll('[class*=\"__firm\"] > span:first-child')].forEach((s,i)=>{ if(!/example\\./.test(s.textContent)) s.textContent=['예시건설','예시산업','예시토건'][i%3]+' · guide-sample'+(i||'')+'@example.com' })"}],"settle_ms":600,"clip":".d04-confirm","callouts":[{"n":1,"sel":".d04-confirm__dirty"},{"n":2,"sel":".d04-confirm__table tbody tr:nth-child(3) td:nth-child(7)","pos":"tr"}]}, + {"name":"D04_05_pick_years","route":"#/d04-plan-confirm","project":"plan","before":[{"wait":".d04-confirm__firm"},{"wait_ms":800},{"eval":"[...document.querySelectorAll('[class*=\"__firm\"] > span:first-child')].forEach((s,i)=>{ if(!/example\\./.test(s.textContent)) s.textContent=['예시건설','예시산업','예시토건'][i%3]+' · guide-sample'+(i||'')+'@example.com' })"},{"wait_ms":300}],"settle_ms":600,"clip":".d04-confirm__panel .ui-collapsible","callouts":[{"n":1,"sel":".d04-confirm__picks"}]}, + {"name":"D04_06_buttons","route":"#/d04-plan-confirm","project":"plan","before":[{"wait":".d04-confirm__firm"},{"wait_ms":800},{"eval":"[...document.querySelectorAll('[class*=\"__firm\"] > span:first-child')].forEach((s,i)=>{ if(!/example\\./.test(s.textContent)) s.textContent=['예시건설','예시산업','예시토건'][i%3]+' · guide-sample'+(i||'')+'@example.com' })"},{"wait_ms":300}],"settle_ms":600,"clip":".ui-sidebar-actions","callouts":[{"n":1,"sel":".ui-sidebar-actions > button:nth-child(1)"},{"n":2,"sel":".ui-sidebar-actions > button:nth-child(2)"},{"n":3,"sel":".ui-sidebar-actions > button:nth-child(3)"},{"n":4,"sel":".ui-sidebar-actions > button:nth-child(4)"},{"n":5,"sel":".ui-sidebar-actions > button:nth-child(5)"},{"n":6,"sel":".ui-sidebar-actions > button:nth-child(6)"}]}, + {"name":"D04_07_finalize_ask","route":"#/d04-plan-confirm","project":"plan","before":[{"wait":".d04-confirm__firm"},{"wait_ms":800},{"eval":"[...document.querySelectorAll('[class*=\"__firm\"] > span:first-child')].forEach((s,i)=>{ if(!/example\\./.test(s.textContent)) s.textContent=['예시건설','예시산업','예시토건'][i%3]+' · guide-sample'+(i||'')+'@example.com' })"},{"wait_ms":300},{"click":".ui-sidebar-actions > button:nth-child(5)","confirm":true},{"wait":".ui-confirm__panel"},{"wait_ms":400}],"settle_ms":600,"clip":null,"callouts":[{"n":1,"sel":".ui-confirm__message"},{"n":2,"sel":".ui-confirm__actions button:first-child","pos":"bl"},{"n":3,"sel":".ui-confirm__actions button:last-child","pos":"br"}],"after":[{"click":"[class*=\"ui-conf\"][class*=\"__actions\"] button:first-child"}]} +] diff --git a/A05_EduDetail/guide/E05/00_설명서.md b/A05_EduDetail/guide/E05/00_설명서.md index 5342c10a1..ee929a84b 100644 --- a/A05_EduDetail/guide/E05/00_설명서.md +++ b/A05_EduDetail/guide/E05/00_설명서.md @@ -1,55 +1,51 @@ -# 보고서 설명서 +# 보고서 -## 이 화면에서 하는 일 +E02~E07 해석 결과를 모아 「비탈면 안정성 검토 보고서」 엑셀을 화면에서 바로 보고 고치고, 엑셀 · PDF 파일로 내려받는 화면. -- E02~E04 · E07 · E03 보강 검토 결과를 모아 비탈면 안정성 검토 보고서를 엑셀 꼴로 만듦. -- 가운데 = 내장 엑셀(시트 탭 · 그림 · 쪽 나눔 점선)로 보고서를 바로 보고 고침. -- 왼쪽 = 안내 글 · 상태 줄 · 내보내기 단추 · 저장 단추. -- 내보내기 = 엑셀(xlsx) · PDF 파일. -- 처음 들어오면 서버가 보고서를 한 번 만듦(2D 해석 결과가 있을 때만). 그 첫 판이 [초기화] 의 되돌림 기준이 됨. +## 여는 길 + +- 왼쪽 위 **[☰]** 을 눌러 열리는 서랍의 「진행단계」 목록에서 **보고서** 를 누름. +- E03 **2D 해석** 에서 [해석] 을 끝낸 프로젝트일 때만 보고서가 뜸. 아직이면 가운데에 「2D 해석 결과가 없습니다 — E03 에서 [해석] 뒤 만드세요.」 안내만 보임. +- 처음 들어오면 서버가 보고서를 한 번 만들어 둠. 이 첫 판이 [초기화] 때 되돌아가는 기준. + +![화면 한눈에](E05_00_overview.webp) + +## 화면 구역 + +| 번호 | 구역 | 하는 일 | +| --- | --- | --- | +| 1 | [☰] 서랍 | 안정성평가 단계(지반 조건 · 2D 해석 · 3D 해석 · 보고서 · 암반 해석 · 광역 위험) 사이를 오감 | +| 2 | 안내 글 · 상태 줄 | 표지 · 개요는 사용자 몫이라는 안내 · 「저장 안 된 변경이 있습니다.」 · 보고서 만든 때 | +| 3 | 위 단추 줄 | [?] 설명서 · [<] [>] 앞뒤 단계 · [엑셀] · [PDF] · [PDF 미리보기] | +| 4 | 아래 단추 줄 | [보고서 갱신] · [초기화] · [저장] | +| 5 | 「해석 결과가 바뀜」 띠 | 해석을 다시 했을 때만 뜸 · 띠의 [보고서 갱신] 으로 새 결과를 반영 | +| 6 | 보고서 | 내장 엑셀 — 시트를 보고 사용자 몫 칸을 고침 | +| 7 | 시트 탭 | 표지 · 목차 · 개요 · 입력조건 · 측점표 · 대표단면 · 3D요약 · 광역요약 · 암반검토 · 부록_절편 전환 | + +![진행단계 서랍](E05_14_drawer.webp) + +![왼쪽 패널 단추](E05_01_left_panel.webp) + +| 번호 | 단추 | 하는 일 | +| --- | --- | --- | +| 1 | [?] | 설명서를 엶 | +| 2 · 3 | [<] · [>] | 앞 · 뒤 단계 화면으로 이동 | +| 4 | [엑셀] | 엑셀 파일로 내려받음 | +| 5 | [PDF] | PDF 파일로 내려받음 | +| 6 | [PDF 미리보기] | 화면 안에 PDF 모양을 띄움 | +| 7 | [보고서 갱신] | 프로그램 몫 시트를 새 해석 결과로 다시 씀 | +| 8 | [초기화] | 처음 만든 보고서로 되돌림 | +| 9 | [저장] | 고친 보고서를 저장함 | ## 작업 순서 -1. E03 측점 해석에서 **[해석]** 을 먼저 끝냄(없으면 가운데에 「2D 해석 결과가 없습니다 — E03 에서 [해석] 뒤 만드세요.」). -2. 필요하면 E04 3D 해석 · E07 광역 해석 · E03 보강 검토도 끝냄(하지 않은 부분은 시트에 「… 전」 으로 남음). -3. E05 를 열면 보고서가 뜸. 아래 시트 탭(표지 · 개요 · 입력조건 · 측점표 · 대표단면 · 3D요약 · 광역요약 · 보강검토)을 눌러 차례로 확인함. -4. **표지** 의 발주처 · 작성자 칸, **개요** 의 「4. 의견」 칸에 글을 씀. -5. 왼쪽 **[저장]** 을 누름(「저장했습니다.」). -6. 해석을 다시 했으면 가운데 위 주의 색 띠 「해석 결과가 바뀜 —」 옆 **[보고서 갱신]** 을 누름. -7. **[PDF 미리보기]** 로 인쇄 모양을 보고, **[엑셀]** 또는 **[PDF]** 로 내려받음. +1. E03 **2D 해석** 에서 [해석] 을 끝냄. 필요하면 E04 3D 해석 · E06 암반 해석 · E07 광역 위험 · E03 보강 검토도 끝냄(안 한 부분은 시트에 「… 전」 으로 남음). +2. **보고서** 를 열어 시트 탭을 차례로 눌러 확인함 → [시트 보기와 고치기](E05/01_시트_보기와_고치기). +3. **표지** 의 발주처 · 작성자 칸과 **개요** 의 「4. 의견」 칸에 글을 씀. +4. 왼쪽 아래 **[저장]** 을 누름. +5. 해석을 다시 했으면 「해석 결과가 바뀜」 띠의 **[보고서 갱신]** 을 누름 → [갱신 · 저장 · 초기화](E05/02_갱신_저장_초기화). +6. **[PDF 미리보기]** 로 인쇄 모양을 확인하고 **[엑셀]** 또는 **[PDF]** 로 내려받음 → [내보내기](E05/03_내보내기). -## 단추 +> 주의: 보고서의 지반 물성치는 문헌 · 기준값을 쓴 추정치이며 현장 시험 값이 아님. 표지 · 입력조건 시트에 같은 글이 고정으로 들어 있음. -| 자리 | 단추 | 하는 일 | -| --- | --- | --- | -| 왼쪽 위 줄 | **[엑셀]** | 지금 화면의 보고서를 `안정성평가_보고서.xlsx` 로 내려받음 · 저장은 안 함 | -| 왼쪽 위 줄 | **[PDF]** | 지금 화면의 보고서를 `안정성평가_보고서.pdf` 로 내려받음 · 저장은 안 함 | -| 왼쪽 위 줄 | **[PDF 미리보기]** | PDF 를 화면 안 창으로 띄움 · **[닫기]** 로 닫음 | -| 왼쪽 아래 줄 | **[보고서 갱신]** | 프로그램 몫 시트 · 그림만 지금 해석 결과로 다시 씀 · 표지 · 개요 · 사용자가 더한 시트는 그대로 | -| 왼쪽 아래 줄 | **[초기화]** | 처음 만든 보고서로 되돌림 · 확인 창 「처음 만든 보고서로 되돌립니다. 고친 내용 · 갱신이 모두 사라집니다.」 | -| 왼쪽 아래 줄 | **[저장]** | 고친 보고서를 서버에 저장 · 고친 것이 있을 때만 켜짐 · 수식은 서버가 다시 풂 | -| 가운데 위 띠 | **[보고서 갱신]** | 왼쪽 같은 이름 단추와 같음 · 해석 결과가 바뀐 때만 띠가 뜸 | - -- 저장 안 한 고침이 있는데 [보고서 갱신] 을 누르면 「저장 안 한 고침이 있습니다. 저장한 뒤 갱신할까요?」 → **[저장]** 을 고르면 저장 뒤 갱신함. -- 시트 탭 줄 끝 **+** = 빈 시트 추가 · 탭 오른쪽 누름 메뉴 = 이름 바꾸기 · 복사 · 숨기기 · 삭제. - -## 결과 읽는 법 - -- 상태 줄(왼쪽): 「저장 안 된 변경이 있습니다.」 · 「만드는 중…」 · 「보고서 만든 때 날짜 시각」. -- 판정 칸 `O.K` = 초록 채움 · `N.G` = 빨강 채움. -- 개요의 측점 수 · 최소 안전율 · 종합 판정 · 판정 글은 측점표 · 입력조건 시트를 가리키는 수식이라 갱신하면 같이 바뀜. -- 시트마다 새 쪽에서 시작. 긴 표(측점표 등)는 자동으로 쪽이 나뉘고 머리 줄이 쪽마다 되풀이됨. 쪽 나눔은 화면에 점선으로 보임. -- 시트별 내용은 「시트 구성」 문서 참고. - -## 알아 둘 것 - -- **문헌 추정치 · 현장 시험 없음** — 표지 · 입력조건 시트에 고정 글로 들어 있음. 지반 물성치는 문헌 · 기준값을 적용한 추정치이며 현장 조사 · 시험 성과를 반영하지 않았음. 입력조건 물성 표 「출처」 열 = 기본값 그대로면 「문헌 추정치(기본값)」 · 바꿨으면 「사용자 입력」. -- **사용자 몫** = 표지 · 개요 — 처음 만들 때만 채우고 [보고서 갱신] 때 건드리지 않음. **프로그램 몫** = 입력조건 · 측점표 · 대표단면 · 3D요약 · 광역요약 · 보강검토 — 갱신 때 통째로 다시 씀. -- 프로그램 몫 시트를 손으로 고쳤다면 갱신 때 덮임. 이때 「고친 내용이 덮인 시트 — 옛 판은 _지난/ 에 보관: 시트 이름」 알림이 뜨고 옛 판은 서버에 보관됨. 오래 남길 글은 개요 의견 칸이나 새 시트에 쓸 것. -- 프로그램 몫 시트를 지웠어도 갱신하면 끝에 다시 생김. 보강검토 시트는 E03 보강 검토 결과가 있을 때만 생김. -- 고친 내용은 [저장] 전까지 이 브라우저 탭에만 남음(자동 저장 없음). 탭을 닫기 전 [저장] 할 것. -- [엑셀] · [PDF] 는 화면에 지금 보이는 판(저장 안 한 고침 포함)으로 만듦. 보기만 허용된 프로젝트는 서버에 저장된 판으로 만듦. -- 다른 곳에서 먼저 저장했으면 「다른 곳에서 보고서가 바뀌었습니다 — 다시 여세요.」 → 화면을 다시 열 것. -- 보기만 허용된 프로젝트에서는 「보기만 허용된 프로젝트입니다.」 가 뜨고 [저장] · [초기화] · [보고서 갱신] 이 꺼짐(내보내기는 됨). -- 왼쪽 안내 글은 입력조건 · 측점표 · 대표단면 · 3D요약만 적고 있으나, 광역요약 · 보강검토도 갱신 때 다시 씀. -- **「사용자 확정 전」 표기** — E07 광역 화면에는 뿌리 점착 1 kPa · 측점 등급 문턱 5 % · 20 % 가 「사용자 확정 전」 으로 적혀 있으나, 보고서 광역요약 시트에는 그 줄이 아직 없음(준비 중). 값 자체는 광역요약 「토층 물성」 줄 · 「위험 측점」 제목에 들어감. +> 참고: 시트별 내용은 [시트 구성](E05/10_시트_구성) 참고. diff --git a/A05_EduDetail/guide/E05/01_시트_보기와_고치기.md b/A05_EduDetail/guide/E05/01_시트_보기와_고치기.md new file mode 100644 index 000000000..7c356c2e5 --- /dev/null +++ b/A05_EduDetail/guide/E05/01_시트_보기와_고치기.md @@ -0,0 +1,39 @@ +# 시트 보기와 고치기 + +가운데 내장 엑셀에서 시트를 넘겨 보고, 사용자 몫 칸에 글을 쓰는 방법. + +## 여는 길 + +- **보고서** 화면 가운데가 곧 엑셀 화면. 아래쪽 시트 탭 줄에서 시트를 고름. 위쪽에는 엑셀 도구줄(글꼴 · 정렬 · 병합 · 테두리 등)이 있음. + +![시트 영역](E05_02_sheet_area.webp) + +| 번호 | 구역 | 하는 일 | +| --- | --- | --- | +| 1 | 엑셀 도구줄 | 글꼴 · 맞춤 · 병합 · 테두리 · 단위 등 서식 | +| 2 | 시트 칸 | 숫자 · 글이 든 엑셀 칸 | +| 3 | 시트 탭 줄 | 시트를 바꿈 · 끝의 **+** 로 빈 시트 추가 | +- 보기만 허용된 프로젝트는 고칠 수 없고 보기만 됨. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 가운데 엑셀 아래 시트 탭(표지 · 목차 · 개요 · 입력조건 · 측점표 · 대표단면 · 3D요약 · 광역요약 · 암반검토 · 부록_절편)을 눌러 시트를 바꿈. ![엑셀 도구줄](E05_03_sheet_toolbar.webp) | +| 2 | **표지** 시트에서 발주처 · 작성자 칸을 눌러 글을 씀. 사업명 · 노선명 · 작성일은 자동으로 채워져 있음. ![표지 시트](E05_07_sheet_cover.webp) | +| 3 | **개요** 시트에서 「4. 의견」 칸에 글을 씀. 측점 수 · 최소 안전율 · 종합 판정은 수식이라 직접 고치지 않음. ![개요 시트](E05_08_sheet_summary.webp) | +| 4 | 나머지 시트(목차 · 입력조건 · 측점표 · 대표단면 · 3D요약 · 광역요약 · 암반검토 · 부록_절편)는 눈으로 확인. 판정 칸 `O.K` = 초록 · `N.G` = 빨강. ![측점표 시트](E05_10_sheet_stations.webp) | +| 5 | 고친 뒤 왼쪽 아래 [저장] 을 누름 → [갱신 · 저장 · 초기화](E05/02_갱신_저장_초기화). | + +## 보이는 것 + +- 시트마다 새 쪽에서 시작. 긴 표는 쪽이 자동으로 나뉘고 머리 줄이 쪽마다 되풀이되며, 쪽 나눔은 점선으로 보임. +- 대표단면 시트에는 단면 그림(지반선 · 설계면 · 암선 · 노면 · 임계 활동면)이 들어 있음. ![대표단면 시트](E05_11_sheet_section.webp) +- 3D요약 시트에는 평면 위험 띠 그림이 들어 있음. ![3D요약 시트](E05_12_sheet_3d.webp) +- 탭을 오른쪽 누르면 이름 바꾸기 · 복사 · 삭제 · 숨기기 메뉴가 열림. 탭 줄 끝 **+** = 빈 시트 추가. + +> 주의: 표지 · 개요는 **사용자 몫** — [보고서 갱신] 때 그대로 남음. 목차 · 입력조건 · 측점표 · 대표단면 · 3D요약 · 광역요약 · 암반검토 · 부록_절편(있으면 보강검토 · 확률해석도)은 **프로그램 몫** — 갱신 때 통째로 다시 써서 손으로 고친 것이 덮임. 오래 남길 글은 개요 의견 칸이나 새로 더한 시트에 쓸 것. + +> 주의: 고친 내용은 [저장] 전까지 이 브라우저 탭에만 남음(자동 저장 없음). 탭을 닫기 전에 [저장] 할 것. + +> 참고: 보강검토 시트는 E03 보강 검토 결과가 있을 때만 생김. 광역요약은 E07 해석 결과가 있을 때만 채워짐. 암반검토는 E06 해석 결과를 가져옴. diff --git a/A05_EduDetail/guide/E05/02_갱신_저장_초기화.md b/A05_EduDetail/guide/E05/02_갱신_저장_초기화.md new file mode 100644 index 000000000..807dbec47 --- /dev/null +++ b/A05_EduDetail/guide/E05/02_갱신_저장_초기화.md @@ -0,0 +1,30 @@ +# 갱신 · 저장 · 초기화 + +해석을 다시 한 뒤 보고서를 새 결과로 맞추고, 고친 것을 저장하거나 처음 판으로 되돌리는 방법. + +## 여는 길 + +- 왼쪽 아래 단추 줄의 **[보고서 갱신]** · **[초기화]** · **[저장]**. +- E02~E07 에서 해석을 다시 하면 가운데 위에 「해석 결과가 바뀜 —」 띠와 **[보고서 갱신]** 이 따라 뜸. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 가운데 위 띠 「해석 결과가 바뀜 —」 가 보이면 해석을 다시 했다는 뜻. ![해석 결과가 바뀜 띠](E05_04_stale_bar.webp) | +| 2 | **[보고서 갱신]** 을 누름. 목차 · 입력조건 · 측점표 · 대표단면 · 3D요약 · 광역요약 · 암반검토 · 부록_절편(있으면 보강검토 · 확률해석도)만 새 결과로 다시 쓰고 표지 · 개요 · 사용자가 더한 시트는 그대로 둠. | +| 3 | 저장 안 한 고침이 있으면 「저장 안 한 고침이 있습니다. 저장한 뒤 갱신할까요?」 가 뜸 → **[저장]** 을 고르면 저장한 뒤 갱신함. | +| 4 | 갱신 뒤 「보고서를 갱신했습니다.」 알림. 손으로 고친 프로그램 몫 시트가 덮였으면 「고친 내용이 덮인 시트 — 옛 판은 _지난/ 에 보관: 시트 이름」 알림이 뜸. | +| 5 | 고친 내용을 남기려면 왼쪽 아래 **[저장]** 을 누름. 고친 것이 있을 때만 켜지고 「저장했습니다.」 알림이 뜸. | +| 6 | 처음 만든 보고서로 돌아가려면 **[초기화]** 를 누르고 확인 창 「처음 만든 보고서로 되돌립니다. 고친 내용 · 갱신이 모두 사라집니다.」 에서 **[초기화]** 를 한 번 더 누름. 그만두려면 **[취소]**. ![초기화 확인 창](E05_05_reset_confirm.webp) | + +## 보이는 것 + +- 상태 줄 — 「만드는 중…」 · 「저장 안 된 변경이 있습니다.」 · 「보고서 만든 때 날짜 시각」. +- 개요의 측점 수 · 최소 안전율 · 종합 판정 · 판정 글은 갱신하면 같이 바뀜. + +> 주의: [초기화] 는 되돌릴 수 없음. 고친 내용 · 갱신이 모두 사라지고 처음 만든 판이 됨. + +> 주의: 다른 곳에서 먼저 저장했으면 「다른 곳에서 보고서가 바뀌었습니다 — 다시 여세요.」 가 뜸. 화면을 다시 열 것. + +> 참고: 보기만 허용된 프로젝트에서는 [저장] · [초기화] · [보고서 갱신] 이 꺼짐(내보내기는 됨). diff --git a/A05_EduDetail/guide/E05/03_내보내기.md b/A05_EduDetail/guide/E05/03_내보내기.md new file mode 100644 index 000000000..be890cb91 --- /dev/null +++ b/A05_EduDetail/guide/E05/03_내보내기.md @@ -0,0 +1,23 @@ +# 내보내기 + +지금 화면의 보고서를 엑셀 · PDF 파일로 받거나 PDF 모양을 먼저 미리 봄. + +## 여는 길 + +- 왼쪽 아래 두 줄 가운데 위 줄의 **[엑셀]** · **[PDF]** · **[PDF 미리보기]**. +- 보고서가 뜬 뒤에 켜짐. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | **[PDF 미리보기]** 를 누름 → 화면 안에 PDF 창이 떠 인쇄 모양(쪽 나눔 · 머리 줄)을 확인함. 쪽 수가 많으면 몇 초 걸림. ![왼쪽 단추 줄](E05_01_left_panel.webp) | +| 2 | 확인이 끝나면 창 위 **[닫기]** 를 누름. | +| 3 | **[엑셀]** 을 누르면 `안정성평가_보고서.xlsx`, **[PDF]** 를 누르면 `안정성평가_보고서.pdf` 가 내려받아짐. | + +## 보이는 것 + +- 내려받은 파일은 화면에 지금 보이는 판(저장 안 한 고침 포함)으로 만든 것. 수식은 서버가 다시 풀어 담음. +- 보기만 허용된 프로젝트는 서버에 저장된 판으로 만듦. + +> 주의: [엑셀] · [PDF] 는 파일만 내려받고 보고서를 저장하지 않음. 저장은 [저장] 으로 따로 할 것. diff --git a/A05_EduDetail/guide/E05/10_시트_구성.md b/A05_EduDetail/guide/E05/10_시트_구성.md index e49665421..6f55cceac 100644 --- a/A05_EduDetail/guide/E05/10_시트_구성.md +++ b/A05_EduDetail/guide/E05/10_시트_구성.md @@ -3,22 +3,31 @@ | 차례 | 시트 | 몫 | 용지 | 내용 출처 | | --- | --- | --- | --- | --- | | 1 | 표지 | 사용자 | A4 세로 | 처음 만들 때 사업명 · 노선명 · 작성일만 채움 | -| 2 | 개요 | 사용자 | A4 세로 | 수식이 측점표 · 입력조건을 따라감 | -| 3 | 입력조건 | 프로그램 | A4 세로 | E02 지반 조건 · 해석 방법 | -| 4 | 측점표 | 프로그램 | A4 가로 | E03 측점 해석 | -| 5 | 대표단면 | 프로그램 | A4 세로 | E03 대표 단면 · 그림 | -| 6 | 3D요약 | 프로그램 | A4 세로 | E04 3D 해석 · 평면 위험 띠 그림 | -| 7 | 광역요약 | 프로그램 | A4 세로 | E07 광역 해석 | -| 8 | 보강검토 | 프로그램 | A4 세로 | E03 보강 검토(있을 때만) | +| 2 | 목차 | 프로그램 | A4 세로 | 장 · 내용 · 쪽 | +| 3 | 개요 | 사용자 | A4 세로 | 수식이 측점표 · 입력조건을 따라감 | +| 4 | 입력조건 | 프로그램 | A4 세로 | E02 지반 조건 · 해석 방법 | +| 5 | 측점표 | 프로그램 | A4 가로 | E03 측점 해석 | +| 6 | 대표단면 | 프로그램 | A4 세로 | E03 대표 단면 · 그림 | +| 7 | 3D요약 | 프로그램 | A4 세로 | E04 3D 해석 · 평면 위험 띠 그림 | +| 8 | 광역요약 | 프로그램 | A4 세로 | E07 광역 해석 | +| 9 | 보강검토 | 프로그램 | A4 세로 | E03 보강 검토(있을 때만) | +| 10 | 암반검토 | 프로그램 | A4 세로 | E06 암반 해석(평사투영 · 한계평형) | +| 11 | 부록_절편 | 프로그램 | A4 세로 | 대표 단면 절편 계산표 | + +> 참고: 화면의 탭 차례는 표지 · 목차 · 개요 · 입력조건 · 측점표 · 대표단면 · 3D요약 · 광역요약 · (보강검토) · 암반검토 · 부록_절편. 확률 해석 결과가 있으면 확률해석 시트도 더해짐. ## 1. 표지 +![표지 시트](E05_07_sheet_cover.webp) + - 제목 「비탈면 안정성 검토 보고서」 · 부제 「임도 노선 비탈면 안정해석 결과」. - 사업명 · 노선명(지역 · 임도 종류) · 작성일 = 자동 · 발주처 · 작성자 = 사용자가 씀. - 「문헌 추정치 · 현장 시험 없음」 과 주의 글 「※ 지반 물성치는 문헌 · 기준값을 적용한 추정치이며 현장 조사 · 시험 성과를 반영하지 않았음.」 고정. ## 2. 개요 +![개요 시트](E05_08_sheet_summary.webp) + - 1. 해석 대상 — 대상 측점 수(개소) · 해석 구간 연장(m). - 2. 조건별 최소 안전율 — 건기 · 우기 · 지진마다 최소 안전율 · 기준 안전율 · 판정 · 최소 안전율 측점. 지진을 안 쓰면 「-」. - 3. 종합 판정 — 기준 미달(N.G) 측점 수 · 종합 판정 · 판정 글(예: 「대상 측점 57개소 중 3개소가 기준 안전율에 미달함. 미달 구간은 보강 대책 검토가 필요함.」). @@ -26,6 +35,8 @@ ## 3. 입력조건 +![입력조건 시트](E05_09_sheet_conditions.webp) + - 1. 해석 방법 — 해석 기법(Bishop 간편법 기본 · Janbu 보정 · Fellenius 비교) · 활동면 탐색(원호 + 비원호 · 좌우 비탈 따로) · 3D 해석(Hungr 3D Bishop(+Janbu 보정) · 구 · 타원체 탐색, 3D 를 안 했으면 「3D 해석 전」) · 적용 기준(KDS 11 70 05). - 2. 기준 안전율 — 건기 · 우기 · 지진 값 = 깎기 · 쌓기 중 엄한 쪽 · 비고에 둘 다 적음. - 3. 지하수 규칙 — 건기 · 우기(토사 · 풍화암 / 암반) · 지진 시. @@ -34,11 +45,15 @@ ## 4. 측점표 +![측점표 시트](E05_10_sheet_stations.webp) + - 측점 하나 = 한 줄 · 측점 · 누가거리 · 구분(깎기 · 쌓기 중 기준 대비 가장 낮은 쪽) · 건기 · 우기 · 지진 안전율 · 기준 안전율 · 판정. - 판정 = 모든 조건이 기준 이상이면 O.K · 하나라도 미달이면 N.G. ## 5. 대표단면 +![대표단면 시트](E05_11_sheet_section.webp) + - 단면 하나 = 한 쪽 · 제목(대표 단면 ① — 측점 · 깎기/쌓기 · 높이) · 선정 사유 · 단면 그림(지반선 · 설계면 · 암선 · 노면 · 비탈 높이 · 조건별 임계 활동면). - 선정 사유 = 「쌓기 높이 10 m 이상」 · 「깎기 높이 15 m 이상」 · 「최소 안전율 하위 5」 · 「사용자 지정」(E03 대표 단면 켬). - 조건별 해석 방법 · 안전율 · 기준 · 판정 · 활동면 반경 R · 중심 x · y · 비고(원호 · 비원호 · 지반 · 토층 두께). @@ -46,6 +61,8 @@ ## 6. 3D요약 +![3D요약 시트](E05_12_sheet_3d.webp) + - 1. 평면 위험 띠 그림 — 노선 · 측점 2D 판정 색 · 3D 구간 띠(O.K · N.G). 3D 를 안 했으면 「3D 해석 전」. - 2. 구간별 3D 안전율 — 구간 · 시작 측점 · 끝 측점 · 3D 최소 Fs · 2D 최소 Fs · 3D/2D 비(수식) · 임계 체적(m³) · 판정. - 2D 최소 Fs = 그 구간 측점들의 **같은 조건**(3D 를 셈한 건기 또는 우기) 최소값. 판정 · 기준은 E04 값을 그대로 씀. @@ -53,6 +70,8 @@ ## 7. 광역요약 +![광역요약 시트](E05_13_sheet_area_risk.webp) + - 1. 해석 조건 — 노선 띠(중심선 ± m · 격자) · 토층 물성(γt · γsat · c · φ · 뿌리 점착 · 토층 두께) · 시나리오(표준 SINMAP 습윤지수 또는 최악 완전 포화) · 해석 때. - 2. 등급별 면적 — 안정 · 보통 안정 · 준안정 · 위험 하한 · 위험 상한 · 불안정의 SI 범위 · 면적(m²) · 비율(%) · 합계, 옆에 측점 등급(낮음 · 보통 · 높음)별 측점 수. - 3. 위험 측점 — 보통 · 높음 측점만 한 줄씩 · 최소 Fs · 최소 SI · 등급(SI<1 비율) · 위험 면적 · 최대 경사. 없으면 「위험 측점 없음」. @@ -64,3 +83,25 @@ - 1. 비탈 완화 · 소단 가정 — 측점 · 비탈 · 가정(1:n 전 → 후 · 소단 · 최소 완화) · 조건 · 전 Fs · 후 Fs · 기준 · 전 판정 · 후 판정. - 2. 벽 외적 안정 — 측점 · 벽 · 평상시/지진 시 · 토압법 · 배면 수위 · 활동 · 전도 · 지지력 Fs와 기준(KDS 11 80 05) · 판정. - E03 보강 검토 결과가 없으면 시트 자체가 빠짐. + +## 9. 목차 + +![목차 시트](E05_06_sheet_toc.webp) + +- 장 · 내용 · 쪽 표 — 개요 · 입력조건 · 측점표 · 대표단면 · 3D · 광역 · 암반 · 부록의 시작 쪽. +- [보고서 갱신] 때 프로그램이 다시 씀. + +## 10. 암반검토 + +![암반검토 시트](E05_15_sheet_rock.webp) + +- 1. 해석 조건 · 판정 요약 — 투영 · 측방 한계 · 암 단위중량 · 우기 지하수 · 판정 요약. +- 2. 절리군 — 경사방향 · 경사 · φj · cj · 지속성 · 적용 구간(E06 에서 넣은 값). +- 3. 측점별 판정 — 측점 · 비탈 · 파괴 형태 · 조건 · Fs · 기준 · 판정 · 비고. +- E06 에 해석 결과가 없으면 「암반 해석 전」 안내. + +## 11. 부록_절편 + +![부록 절편 시트](E05_16_sheet_appendix.webp) + +- 대표 단면의 절편(조각)마다 폭 · 높이 · 무게 · 간극수압 · 점착력 · 마찰각 · 구동력 · 저항력을 나열한 계산표. diff --git a/A05_EduDetail/guide/E05/E05_00_overview.webp b/A05_EduDetail/guide/E05/E05_00_overview.webp new file mode 100644 index 000000000..b127ede30 Binary files /dev/null and b/A05_EduDetail/guide/E05/E05_00_overview.webp differ diff --git a/A05_EduDetail/guide/E05/E05_01_left_panel.webp b/A05_EduDetail/guide/E05/E05_01_left_panel.webp new file mode 100644 index 000000000..eaf56863b Binary files /dev/null and b/A05_EduDetail/guide/E05/E05_01_left_panel.webp differ diff --git a/A05_EduDetail/guide/E05/E05_02_sheet_area.webp b/A05_EduDetail/guide/E05/E05_02_sheet_area.webp new file mode 100644 index 000000000..1cb24c9da Binary files /dev/null and b/A05_EduDetail/guide/E05/E05_02_sheet_area.webp differ diff --git a/A05_EduDetail/guide/E05/E05_03_sheet_toolbar.webp b/A05_EduDetail/guide/E05/E05_03_sheet_toolbar.webp new file mode 100644 index 000000000..ae07fbc6c Binary files /dev/null and b/A05_EduDetail/guide/E05/E05_03_sheet_toolbar.webp differ diff --git a/A05_EduDetail/guide/E05/E05_04_stale_bar.webp b/A05_EduDetail/guide/E05/E05_04_stale_bar.webp new file mode 100644 index 000000000..fcdd38abd Binary files /dev/null and b/A05_EduDetail/guide/E05/E05_04_stale_bar.webp differ diff --git a/A05_EduDetail/guide/E05/E05_05_reset_confirm.webp b/A05_EduDetail/guide/E05/E05_05_reset_confirm.webp new file mode 100644 index 000000000..a34552bce Binary files /dev/null and b/A05_EduDetail/guide/E05/E05_05_reset_confirm.webp differ diff --git a/A05_EduDetail/guide/E05/E05_06_sheet_toc.webp b/A05_EduDetail/guide/E05/E05_06_sheet_toc.webp new file mode 100644 index 000000000..d6cd7e7d5 Binary files /dev/null and b/A05_EduDetail/guide/E05/E05_06_sheet_toc.webp differ diff --git a/A05_EduDetail/guide/E05/E05_07_sheet_cover.webp b/A05_EduDetail/guide/E05/E05_07_sheet_cover.webp new file mode 100644 index 000000000..de5177d7b Binary files /dev/null and b/A05_EduDetail/guide/E05/E05_07_sheet_cover.webp differ diff --git a/A05_EduDetail/guide/E05/E05_08_sheet_summary.webp b/A05_EduDetail/guide/E05/E05_08_sheet_summary.webp new file mode 100644 index 000000000..471ad730f Binary files /dev/null and b/A05_EduDetail/guide/E05/E05_08_sheet_summary.webp differ diff --git a/A05_EduDetail/guide/E05/E05_09_sheet_conditions.webp b/A05_EduDetail/guide/E05/E05_09_sheet_conditions.webp new file mode 100644 index 000000000..5e53f7ea7 Binary files /dev/null and b/A05_EduDetail/guide/E05/E05_09_sheet_conditions.webp differ diff --git a/A05_EduDetail/guide/E05/E05_10_sheet_stations.webp b/A05_EduDetail/guide/E05/E05_10_sheet_stations.webp new file mode 100644 index 000000000..aeb0b1b9e Binary files /dev/null and b/A05_EduDetail/guide/E05/E05_10_sheet_stations.webp differ diff --git a/A05_EduDetail/guide/E05/E05_11_sheet_section.webp b/A05_EduDetail/guide/E05/E05_11_sheet_section.webp new file mode 100644 index 000000000..2aff4b418 Binary files /dev/null and b/A05_EduDetail/guide/E05/E05_11_sheet_section.webp differ diff --git a/A05_EduDetail/guide/E05/E05_12_sheet_3d.webp b/A05_EduDetail/guide/E05/E05_12_sheet_3d.webp new file mode 100644 index 000000000..bfd05486f Binary files /dev/null and b/A05_EduDetail/guide/E05/E05_12_sheet_3d.webp differ diff --git a/A05_EduDetail/guide/E05/E05_13_sheet_area_risk.webp b/A05_EduDetail/guide/E05/E05_13_sheet_area_risk.webp new file mode 100644 index 000000000..8a18658e2 Binary files /dev/null and b/A05_EduDetail/guide/E05/E05_13_sheet_area_risk.webp differ diff --git a/A05_EduDetail/guide/E05/E05_14_drawer.webp b/A05_EduDetail/guide/E05/E05_14_drawer.webp new file mode 100644 index 000000000..739257dfe Binary files /dev/null and b/A05_EduDetail/guide/E05/E05_14_drawer.webp differ diff --git a/A05_EduDetail/guide/E05/E05_15_sheet_rock.webp b/A05_EduDetail/guide/E05/E05_15_sheet_rock.webp new file mode 100644 index 000000000..5df96c1c6 Binary files /dev/null and b/A05_EduDetail/guide/E05/E05_15_sheet_rock.webp differ diff --git a/A05_EduDetail/guide/E05/E05_16_sheet_appendix.webp b/A05_EduDetail/guide/E05/E05_16_sheet_appendix.webp new file mode 100644 index 000000000..e5952b409 Binary files /dev/null and b/A05_EduDetail/guide/E05/E05_16_sheet_appendix.webp differ diff --git a/A05_EduDetail/guide/E05/_scenes.json b/A05_EduDetail/guide/E05/_scenes.json new file mode 100644 index 000000000..297707ba9 --- /dev/null +++ b/A05_EduDetail/guide/E05/_scenes.json @@ -0,0 +1,416 @@ +[ + { + "name": "E05_00_overview", + "route": "#/e05-stab-report", + "project": "stab", + "before": [ + { + "wait": ".e05-sheet .ss-tabs" + }, + { + "wait_ms": 800 + } + ], + "clip": null, + "callouts": [ + { + "n": 1, + "sel": ".app-burger" + }, + { + "n": 2, + "sel": ".e05-panel .ui-sidebar-scroll" + }, + { + "n": 3, + "sel": ".e05-panel > .ui-sidebar-actions:nth-of-type(2)" + }, + { + "n": 4, + "sel": ".e05-panel > .ui-sidebar-actions:nth-of-type(3)" + }, + { + "n": 5, + "sel": ".e05-stale", + "pos": "tr" + }, + { + "n": 6, + "sel": ".e05-sheet .ss-grid-host" + }, + { + "n": 7, + "sel": ".e05-sheet .ss-tabs" + } + ] + }, + { + "name": "E05_01_left_panel", + "route": "#/e05-stab-report", + "project": "stab", + "before": [ + { + "wait": ".e05-sheet .ss-tabs" + }, + { + "wait_ms": 800 + } + ], + "clip": ".ui-workflow-overlay__panel--title", + "callouts": [ + { + "n": 1, + "sel": ".e05-panel > .ui-sidebar-actions:nth-of-type(2) .ui-btn:nth-child(1)" + }, + { + "n": 2, + "sel": ".e05-panel > .ui-sidebar-actions:nth-of-type(2) .ui-btn:nth-child(2)" + }, + { + "n": 3, + "sel": ".e05-panel > .ui-sidebar-actions:nth-of-type(2) .ui-btn:nth-child(3)" + }, + { + "n": 4, + "sel": ".e05-panel > .ui-sidebar-actions:nth-of-type(2) .ui-btn:nth-child(4)" + }, + { + "n": 5, + "sel": ".e05-panel > .ui-sidebar-actions:nth-of-type(2) .ui-btn:nth-child(5)" + }, + { + "n": 6, + "sel": ".e05-panel > .ui-sidebar-actions:nth-of-type(2) .ui-btn:nth-child(6)" + }, + { + "n": 7, + "sel": ".e05-panel > .ui-sidebar-actions:nth-of-type(3) .ui-btn:nth-child(1)" + }, + { + "n": 8, + "sel": ".e05-panel > .ui-sidebar-actions:nth-of-type(3) .ui-btn:nth-child(2)" + }, + { + "n": 9, + "sel": ".e05-panel > .ui-sidebar-actions:nth-of-type(3) .ui-btn:nth-child(3)" + } + ], + "viewport": [ + 1600, + 380 + ] + }, + { + "name": "E05_02_sheet_area", + "route": "#/e05-stab-report", + "project": "stab", + "before": [ + { + "wait": ".e05-sheet .ss-tabs" + }, + { + "wait_ms": 800 + } + ], + "clip": ".e05-sheet", + "callouts": [ + { + "n": 1, + "sel": ".e05-sheet .ss-toolbar" + }, + { + "n": 2, + "sel": ".e05-sheet .ss-grid-host" + }, + { + "n": 3, + "sel": ".e05-sheet .ss-tabs" + } + ] + }, + { + "name": "E05_03_sheet_toolbar", + "route": "#/e05-stab-report", + "project": "stab", + "before": [ + { + "wait": ".e05-sheet .ss-tabs" + }, + { + "wait_ms": 800 + } + ], + "clip": ".e05-sheet .ss-toolbar", + "callouts": [ + { + "n": 1, + "sel": ".e05-sheet .ss-toolbar" + } + ], + "clip_pad": 10 + }, + { + "name": "E05_04_stale_bar", + "route": "#/e05-stab-report", + "project": "stab", + "before": [ + { + "wait": ".e05-sheet .ss-tabs" + }, + { + "wait_ms": 800 + } + ], + "clip": ".e05-stale", + "callouts": [ + { + "n": 1, + "sel": ".e05-stale .ui-btn" + } + ] + }, + { + "name": "E05_05_reset_confirm", + "route": "#/e05-stab-report", + "project": "stab", + "before": [ + { + "wait": ".e05-sheet .ss-tabs" + }, + { + "wait_ms": 800 + }, + { + "click": ".e05-panel > .ui-sidebar-actions:nth-of-type(3) .ui-btn--danger-ghost", + "confirm": true + }, + { + "wait": ".ui-confirm__panel" + } + ], + "clip": ".ui-confirm__panel", + "after": [ + { + "click": ".ui-confirm__panel button:has-text(\"취소\")" + } + ], + "callouts": [ + { + "n": 1, + "sel": ".ui-confirm__actions .ui-btn--ghost" + }, + { + "n": 2, + "sel": ".ui-confirm__actions .ui-btn--danger" + } + ] + }, + { + "name": "E05_06_sheet_toc", + "route": "#/e05-stab-report", + "project": "stab", + "before": [ + { + "wait": ".e05-sheet .ss-tabs" + }, + { + "click": ".e05-sheet .ss-tabs__tab:has-text(\"목차\")" + }, + { + "wait_ms": 900 + } + ], + "clip": ".e05-sheet", + "callouts": [] + }, + { + "name": "E05_07_sheet_cover", + "route": "#/e05-stab-report", + "project": "stab", + "before": [ + { + "wait": ".e05-sheet .ss-tabs" + }, + { + "click": ".e05-sheet .ss-tabs__tab:has-text(\"표지\")" + }, + { + "wait_ms": 800 + } + ], + "clip": ".e05-sheet", + "callouts": [] + }, + { + "name": "E05_08_sheet_summary", + "route": "#/e05-stab-report", + "project": "stab", + "before": [ + { + "wait": ".e05-sheet .ss-tabs" + }, + { + "click": ".e05-sheet .ss-tabs__tab:has-text(\"개요\")" + }, + { + "wait_ms": 800 + } + ], + "clip": ".e05-sheet", + "callouts": [] + }, + { + "name": "E05_09_sheet_conditions", + "route": "#/e05-stab-report", + "project": "stab", + "before": [ + { + "wait": ".e05-sheet .ss-tabs" + }, + { + "click": ".e05-sheet .ss-tabs__tab:has-text(\"입력조건\")" + }, + { + "wait_ms": 800 + } + ], + "clip": ".e05-sheet", + "callouts": [] + }, + { + "name": "E05_10_sheet_stations", + "route": "#/e05-stab-report", + "project": "stab", + "before": [ + { + "wait": ".e05-sheet .ss-tabs" + }, + { + "click": ".e05-sheet .ss-tabs__tab:has-text(\"측점표\")" + }, + { + "wait_ms": 800 + } + ], + "clip": ".e05-sheet", + "callouts": [] + }, + { + "name": "E05_11_sheet_section", + "route": "#/e05-stab-report", + "project": "stab", + "before": [ + { + "wait": ".e05-sheet .ss-tabs" + }, + { + "click": ".e05-sheet .ss-tabs__tab:has-text(\"대표단면\")" + }, + { + "wait_ms": 800 + } + ], + "clip": ".e05-sheet", + "callouts": [] + }, + { + "name": "E05_12_sheet_3d", + "route": "#/e05-stab-report", + "project": "stab", + "before": [ + { + "wait": ".e05-sheet .ss-tabs" + }, + { + "click": ".e05-sheet .ss-tabs__tab:has-text(\"3D요약\")" + }, + { + "wait_ms": 800 + } + ], + "clip": ".e05-sheet", + "callouts": [] + }, + { + "name": "E05_13_sheet_area_risk", + "route": "#/e05-stab-report", + "project": "stab", + "before": [ + { + "wait": ".e05-sheet .ss-tabs" + }, + { + "click": ".e05-sheet .ss-tabs__tab:has-text(\"광역요약\")" + }, + { + "wait_ms": 800 + } + ], + "clip": ".e05-sheet", + "callouts": [] + }, + { + "name": "E05_14_drawer", + "route": "#/e05-stab-report", + "project": "stab", + "before": [ + { + "wait": ".e05-sheet .ss-tabs" + }, + { + "click": ".app-burger" + }, + { + "wait_ms": 900 + } + ], + "clip": ".app-drawer", + "clip_pad": 8, + "callouts": [ + { + "n": 1, + "sel": ".app-drawer__steps" + } + ], + "viewport": [ + 1600, + 640 + ] + }, + { + "name": "E05_15_sheet_rock", + "route": "#/e05-stab-report", + "project": "stab", + "before": [ + { + "wait": ".e05-sheet .ss-tabs" + }, + { + "click": ".e05-sheet .ss-tabs__tab:has-text(\"암반검토\")" + }, + { + "wait_ms": 900 + } + ], + "clip": ".e05-sheet", + "callouts": [] + }, + { + "name": "E05_16_sheet_appendix", + "route": "#/e05-stab-report", + "project": "stab", + "before": [ + { + "wait": ".e05-sheet .ss-tabs" + }, + { + "click": ".e05-sheet .ss-tabs__tab:has-text(\"부록_절편\")" + }, + { + "wait_ms": 900 + } + ], + "clip": ".e05-sheet", + "callouts": [] + } +] \ No newline at end of file diff --git a/A05_EduDetail/guide/E06/00_설명서.md b/A05_EduDetail/guide/E06/00_설명서.md index 89e38d24a..919c00c31 100644 --- a/A05_EduDetail/guide/E06/00_설명서.md +++ b/A05_EduDetail/guide/E06/00_설명서.md @@ -1,72 +1,37 @@ -# 암반 해석 설명서 +# 암반 해석 -## 이 화면에서 하는 일 +암 측점(리핑암 · 발파암) 깎기 비탈이 절리(암반 틈) 때문에 무너질 수 있는지, 현장에서 잰 절리 방향으로 판정하고 안전율을 셈하는 화면. -암 측점(리핑암 · 발파암)의 깎기 비탈이 절리(암반 틈) 때문에 무너질 수 있는지 봄. -현장에서 조사한 절리 방향을 넣으면 측점마다 두 가지를 셈. +## 여는 길 -- **Markland 판정** — 절리 방향만 보고 평면 · 쐐기 · 전도 가운데 어떤 무너짐이 생길 수 있는지 가림. -- **Hoek-Bray 안전율** — 평면 · 쐐기로 판정된 것만 건기 · 우기(· 지진) 안전율을 셈. 전도는 판정만 함. +- 왼쪽 위 **[☰]** 서랍의 「진행단계」 목록에서 **암반 해석** 을 누름(E02 지반 조건과 복사본 횡단이 먼저 있어야 함). +- 암 측점이 없는 노선이면 「암 측점 깎기 비탈이 없습니다.」 안내만 보임. -사면 방향 · 경사 · 높이는 복사본 횡단에서, 물성 · 지진 · 기준 안전율은 지반 조건(E02)에서 가져옴. +![화면 한눈에](E06_00_overview.webp) + +## 화면 구역 + +| 번호 | 구역 | 하는 일 | +| --- | --- | --- | +| 1 | [☰] 서랍 | 안정성평가 단계(지반 조건 · 2D 해석 · 3D 해석 · 보고서 · 암반 해석 · 광역 위험) 사이를 오감 | +| 2 | 왼쪽 카드(절리군 · 해석 설정) | 현장 절리 방향을 넣고 해석 조건을 고침 | +| 3 | 왼쪽 아래 단추 줄 | [초기화] · [저장] · [해석] | +| 4 | 위험 띠 | 누가거리 축에 측점마다 가장 나쁜 판정 색 · 누르면 그 측점이 열림 · 위에 「다시 [해석]」 띠가 뜰 때가 있음 | +| 5 | 스테레오넷 | 고른 측점의 사면과 절리를 그린 원형 그림 · [등각] [등면적] · [전체] [평면] [쐐기] [전도] | +| 6 | 측점 결과(오른쪽) | 측점 표 · 고른 측점의 사면 줄 · 위험 모드 · 안전율 표 | + +> 참고: 해석 뒤 절리 · 지반 조건이 바뀌면 가운데 위에 「절리 · 지반 조건이 해석 뒤 바뀌었습니다 — [해석] 을 다시 누르세요.」 띠가 뜸. + +![진행단계 서랍](E06_14_drawer.webp) ## 작업 순서 -1. 좌측 **절리군** 카드에서 [+ 절리군] 을 눌러 줄을 늘림. -2. 줄마다 이름 · 구간(시작 · 끝, m) · 경사방향 · 경사 · φj · cj · 지속성을 넣음. 칸 뜻은 `10_칸_뜻` 참고. -3. 필요하면 **해석 설정** 카드(측방 한계 · 암 단위중량 · 우기 수위 비 · 인장균열 · 볼트)를 고침. -4. [저장] 을 누름. 빨간 칸이 있으면 저장되지 않음. -5. [해석] 을 누름. 저장 안 한 고침이 있으면 먼저 저장한 뒤 셈. -6. 가운데 **위험 띠** 나 우측 **측점 결과** 표에서 측점을 눌러 스테레오넷 · 안전율 표를 봄. +1. 왼쪽 **절리군** 카드에서 [+ 절리군] 으로 줄을 늘려 현장 절리 방향을 넣음 → [절리군 넣기](E06/01_절리군_넣기). +2. 필요하면 **해석 설정** 카드를 고침 → [해석 설정](E06/02_해석_설정). +3. [저장] 뒤 [해석] 을 누름. 빨간 칸이 있으면 저장되지 않음 → [저장 · 해석 · 초기화](E06/03_저장_해석_초기화). +4. **위험 띠** 나 오른쪽 **측점 결과** 표에서 측점을 눌러 결과를 봄 → [위험 띠와 측점 결과](E06/04_위험_띠와_측점_결과). +5. 스테레오넷으로 어떤 절리가 위험한지 확인 → [스테레오넷 보기](E06/05_스테레오넷_보기). -## 단추 +> 주의: 절리 방향은 반드시 현장 조사값을 넣을 것. 절리가 없으면 해석할 것이 없음. 절리면 φj · cj · 암 단위중량 기본값은 문헌 추정치이며 현장 시험 값이 아님. -| 단추 | 자리 | 하는 일 | -| --- | --- | --- | -| [+ 절리군] | 좌 · 절리군 카드 | 새 줄 추가(구간 = 0 m ~ 마지막 암 측점 · 경사방향 0° · 경사 45° · φj 30° · cj 0 kPa) | -| [×] | 좌 · 절리군 줄 끝 | 그 줄 지움 | -| [초기화] | 좌 아래 | 확인 창 뒤 절리군 · 설정을 처음 상태(절리 없음 · 기본 설정)로 되돌림 | -| [저장] | 좌 아래 | 절리군 · 설정을 작업본에 씀 | -| [해석] | 좌 아래 | 암 측점 × 깎기 쪽을 모두 셈 · 입력이 지난번과 같으면 지난 결과를 씀 | -| [등각] [등면적] | 가운데 위 | 스테레오넷 투영 바꿈(보기만 · 저장 안 됨) | -| [전체] [평면] [쐐기] [전도] | 가운데 위 | 스테레오넷에 그 모드 위험 영역만 보임 | - -- 칸을 고치기만 하면 이 탭 안에만 남음(자동 저장 없음). 「저장 안 된 변경이 있습니다.」가 뜨면 [저장] 할 것. -- 보기만 허용된 프로젝트는 칸 · 단추가 잠김. - -## 결과 읽는 법 - -**가운데 위 · 위험 띠** — 누가거리 축에 측점마다 가장 나쁜 판정 색. 띠 조각을 누르면 그 측점이 열림. 왼쪽에 판정별 측점 수. - -**가운데 · 스테레오넷** — 하반구 투영. 그림 보는 법은 `20_쓰인_방법과_근거` 의 스테레오넷 절 참고. - -- 굵은 선 · 네모 = 사면 대원 · 사면 극점 -- 점 + 이름 = 절리 극점(평면 · 전도 보기) · 세모 + 이름 = 두 절리 교선(쐐기 보기) -- 테두리가 강조된 점 · 세모 = 이 측점에서 위험으로 판정된 것 -- 원 = 마찰원 φ · 색 영역 = 평면 · 쐐기 · 전도 위험 영역 · 선 = 일광 엔벨로프(평면) - -**우측 · 측점 결과 표** — 측점 · 쪽(좌 · 우) · 평 · 쐐 · 전(위험 모드 수) · 최소 Fs · 판정. - -| 판정 | 뜻 | -| --- | --- | -| N.G | 안전율이 기준보다 낮은 경우가 하나라도 있음 | -| 검토 | 전도 위험이 있음, 또는 위험 판정은 났으나 블록이 안 생겨 안전율을 못 셈 | -| O.K | 위험 모드는 있으나 모든 안전율이 기준 이상 | -| 위험 없음 | Markland 판정에서 위험 모드 없음 | - -**우측 아래 · 고른 측점** — 사면 경사방향 / 경사 · 높이 · 윗면 경사 · 암 단위중량 한 줄, 모드별 위험 절리, 안전율 표(모드 · 절리 · 조건 · Fs · 기준 · 판정). - -- Fs 옆 「(블록 안 생김)」 = 그 조건에서 덩이가 만들어지지 않음. -- Fs 옆 「(지속성 < 활동면)」 = 절리 길이가 활동면보다 짧음 · 실제로는 덩이가 덜 생길 수 있음. -- 기준 = 지반 조건(E02)의 깎기 기준 안전율(기본 건기 1.5 · 우기 1.2 · 지진 1.1). - -## 알아 둘 것 - -- **문헌 추정치 · 현장 시험 없음.** 절리면 φj · cj · 암 단위중량 기본값은 문헌 값임. 현장 조사 · 시험 값으로 바꿀 것. -- 절리 방향은 반드시 현장 조사값을 넣을 것. 절리가 없으면 해석할 것이 없음. -- 주향으로 적은 야장은 경사방향 = 주향 + 90°(오른손 법칙)로 바꿔 넣을 것. 주향 입력 칸은 없음. -- 대상 = 암 측점의 깎기 쪽 중 높이 1 m 이상만. 토사 측점 · 쌓기 쪽은 2D 해석(E03)에서 봄. -- 지진 조건은 지반 조건(E02)에서 지진을 켠 때만 셈. -- 절리 · 지반 조건이 해석 뒤 바뀌면 가운데 위에 「[해석] 을 다시 누르세요」 띠가 뜸. -- 전도는 기하 판정만 함. 블록 전도 안전율은 별도 정밀 검토 몫. -- 보고서(E05)에 암반 결과 시트는 **준비 중**. +> 참고: 대상은 암 측점의 깎기 쪽 중 높이 1 m 이상. 토사 측점 · 쌓기 쪽은 [2D 해석](E03/00_설명서)에서 봄. 칸 뜻은 [칸 뜻](E06/10_칸_뜻), 계산 방법은 [쓰인 방법과 근거](E06/20_쓰인_방법과_근거) 참고. diff --git a/A05_EduDetail/guide/E06/01_절리군_넣기.md b/A05_EduDetail/guide/E06/01_절리군_넣기.md new file mode 100644 index 000000000..7c61304db --- /dev/null +++ b/A05_EduDetail/guide/E06/01_절리군_넣기.md @@ -0,0 +1,30 @@ +# 절리군 넣기 + +현장에서 조사한 절리 방향을 줄 하나씩 넣는 방법. 한 줄 = 방향이 비슷한 절리 무리 하나. + +## 여는 길 + +- 왼쪽 패널 위 **절리군** 카드(처음부터 펼쳐져 있음). +- 카드 제목을 누르면 접고 펼 수 있음. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | **[+ 절리군]** 을 누름 → 표에 새 줄이 생김(구간 = 0 m ~ 마지막 암 측점 · 경사방향 0° · 경사 45° · φj 30° · cj 0 kPa). ![절리군 카드](E06_01_joints_card.webp) | +| 2 | **이름** 칸에 절리군 이름을 씀(J1 · J2 처럼). | +| 3 | **시작 · 끝** 칸에 이 절리군을 쓸 누가거리 구간(m)을 씀. 구간 안 측점에만 적용됨. | +| 4 | **경사방향**(0~360°, 북 0° · 시계 방향) · **경사**(0~90°) · **φj**(절리면 마찰각) · **cj**(절리면 점착력) 를 씀. | +| 5 | **지속성** 은 절리가 이어지는 길이(m). 모르면 비워 둠(끝없이 이어진다고 봄). | +| 6 | 줄을 지우려면 줄 끝 **[×]** 를 누름. 표가 카드보다 넓어 옆으로 밀어서 봄. | +| 7 | 끝나면 아래 [저장] 을 누름 → [저장 · 해석 · 초기화](E06/03_저장_해석_초기화). | + +## 보이는 것 + +- 범위 밖 값 · 빈 필수 칸은 빨갛게 되고 마우스를 올리면 「범위 밖 (아래 ~ 위)」 가 보임. 상태 줄에 「틀린 칸 N」 이 뜸. +- 한 측점에 구간이 겹치는 절리군이 여럿이면 모두 함께 봄(쐐기는 두 절리군 짝마다). +- 줄이 하나도 없으면 「절리군이 없습니다 — [+ 절리군] 으로 넣으세요.」 가 보임. + +> 주의: 주향으로 적은 야장은 경사방향 = 주향 + 90°(오른손 법칙)로 바꿔서 넣을 것. 주향을 넣는 칸은 없음. + +> 참고: 칸을 고치기만 하면 이 브라우저 탭에만 남음(자동 저장 없음). 칸별 뜻 · 범위는 [칸 뜻](E06/10_칸_뜻) 참고. diff --git a/A05_EduDetail/guide/E06/02_해석_설정.md b/A05_EduDetail/guide/E06/02_해석_설정.md new file mode 100644 index 000000000..4980ef0e3 --- /dev/null +++ b/A05_EduDetail/guide/E06/02_해석_설정.md @@ -0,0 +1,29 @@ +# 해석 설정 + +무너짐 후보를 가르는 각도 · 암 무게 · 물 · 균열 · 볼트 같은 해석 조건을 고치는 방법. 기본값으로도 해석은 됨. + +## 여는 길 + +- 왼쪽 패널 **해석 설정** 카드. 처음에는 접혀 있어 제목을 눌러 펼침. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | **해석 설정** 카드 제목을 눌러 펼침. ![해석 설정 카드](E06_02_settings_card.webp) | +| 2 | **평면 측방 한계 · 전도 측방 한계** — 사면과 절리 방향 차이가 이 각 안이면 무너짐 후보로 봄(기본 20°). | +| 3 | **암 단위중량** — 비우면 지반 조건(E02)의 그 측점 암 물성을 씀. | +| 4 | **우기 수위 비** — 0 = 마름 · 1 = 가득 참(기본 0.5). | +| 5 | **최소 블록 크기** — 이보다 작은 블록은 판정에서 빼고 「소규모 · 낙석 관리」 로 표시함(기본 0.1 m³). 값을 바꾼 뒤 **[기본값]** 을 누르면 되돌아감. | +| 6 | **인장균열** 을 고름 — 없음 · 임계(최소 안전율 자리) · 깊이 지정. | +| 7 | 「깊이 지정」 을 고르면 **균열 깊이 (m)** 칸이 나타남. ![균열 깊이 칸](E06_03_crack_depth.webp) | +| 8 | **볼트 힘 · 볼트 경사** 를 넣으면 보강 효과를 반영함(0 이면 보강 없음). | + +## 보이는 것 + +- 카드 아래에 측방 한계 · 우기 · 볼트에 대한 안내 글과 최소 블록 크기 안내 글이 보임. +- 칸이 범위를 벗어나면 빨갛게 됨. + +> 참고: 측방 한계 기본 20° 는 상용 Dips 기본값이고 최소 블록 크기 0.1 m³ 는 사용자 확정 전 값. 둘 다 사용자가 바꿀 수 있음. + +> 참고: 칸별 범위 · 뜻은 [칸 뜻](E06/10_칸_뜻) 참고. 기준 안전율 · 지진은 [지반 조건](E02/00_설명서)에서 가져옴. diff --git a/A05_EduDetail/guide/E06/03_저장_해석_초기화.md b/A05_EduDetail/guide/E06/03_저장_해석_초기화.md new file mode 100644 index 000000000..350beb7f8 --- /dev/null +++ b/A05_EduDetail/guide/E06/03_저장_해석_초기화.md @@ -0,0 +1,27 @@ +# 저장 · 해석 · 초기화 + +넣은 절리군과 설정을 저장하고, 해석을 돌리고, 필요하면 처음 상태로 되돌리는 방법. + +## 여는 길 + +- 왼쪽 아래 단추 줄의 **[초기화]** · **[저장]** · **[해석]**. +- 절리군이 하나도 없어도 단추는 켜져 있으나, 절리가 없으면 해석할 것이 없음. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 절리군 · 설정을 다 넣었으면 **[저장]** 을 누름. 빨간 칸이 하나라도 있으면 「틀린 칸 N」 이 뜨고 저장되지 않음. | +| 2 | 저장되면 「저장했습니다.」 알림. | +| 3 | **[해석]** 을 누름. 저장 안 한 고침이 있으면 먼저 저장한 뒤 셈함. ![단추 줄](E06_04_actions.webp) | +| 4 | 해석 중에는 「해석 중…」 이 뜨고 끝나면 「암반 해석을 마쳤습니다.」 알림. 입력이 지난번과 같으면 「입력이 같아 지난 결과를 씁니다.」 가 뜸. | +| 5 | 처음으로 돌리려면 **[초기화]** → 확인 창 「절리군 · 설정을 초기값(절리 없음)으로 되돌릴까요?」 에서 **[초기화]** 를 누름. 그만두려면 **[취소]**. ![초기화 확인 창](E06_05_reset_confirm.webp) | + +## 보이는 것 + +- 절리나 지반 조건이 해석 뒤에 바뀌면 가운데 위에 「절리 · 지반 조건이 해석 뒤 바뀌었습니다 — [해석] 을 다시 누르세요.」 띠가 뜸. ![다시 해석 띠](E06_06_stale_bar.webp) +- 상태 줄 — 「저장 안 된 변경이 있습니다.」 · 「틀린 칸 N」 · 「보기만 허용된 프로젝트입니다.」. + +> 주의: [초기화] 는 절리군을 모두 지우고 설정을 기본값으로 되돌림. 저장한 내용도 사라짐. + +> 참고: 보기만 허용된 프로젝트는 칸과 단추가 잠김. 해석 결과는 [위험 띠와 측점 결과](E06/04_위험_띠와_측점_결과)에서 봄. diff --git a/A05_EduDetail/guide/E06/04_위험_띠와_측점_결과.md b/A05_EduDetail/guide/E06/04_위험_띠와_측점_결과.md new file mode 100644 index 000000000..96d8cd127 --- /dev/null +++ b/A05_EduDetail/guide/E06/04_위험_띠와_측점_결과.md @@ -0,0 +1,33 @@ +# 위험 띠와 측점 결과 + +해석이 끝난 뒤 어느 측점이 위험한지 한눈에 보고, 한 측점의 안전율을 자세히 읽는 방법. + +## 여는 길 + +- 가운데 위 **위험 띠** 와 오른쪽 **측점 결과** 패널. [해석] 이 끝나면 자동으로 채워짐. +- 처음에는 N.G 측점(없으면 첫 측점)이 자동으로 열려 있음. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | **위험 띠** 를 봄. 누가거리 축에 측점마다 가장 나쁜 판정 색이 칠해지고 왼쪽에 판정별 측점 수가 보임. ![위험 띠](E06_07_band.webp) | +| 2 | 띠 조각을 누르면 그 측점이 열림. | +| 3 | 오른쪽 **측점 결과** 표에서도 줄을 눌러 측점을 고를 수 있음. 열은 측점 · 쪽(좌 · 우) · 평 · 쐐 · 전(위험 모드 수) · 최소 Fs · 판정. ![측점 결과 표](E06_08_station_list.webp) | +| 4 | 표 아래 **고른 측점** 에서 사면 줄 · 모드별 위험 절리 · 안전율 표(모드 · 절리 · 조건 · Fs · 기준 · 판정)를 읽음. ![고른 측점 안전율 표](E06_09_station_detail.webp) | + +## 보이는 것 + +| 판정 | 뜻 | +| --- | --- | +| N.G | 안전율이 기준보다 낮은 경우가 하나라도 있음 | +| 검토 | 전도 위험이 있음, 또는 위험 판정은 났으나 블록이 안 생겨 안전율을 못 셈 | +| O.K | 위험 모드는 있으나 모든 안전율이 기준 이상 | +| 위험 없음 | Markland 판정에서 위험 모드 없음 | + +- Fs 옆 「(블록 안 생김)」 = 그 조건에서 덩이가 만들어지지 않음. 「(지속성 < 활동면)」 = 절리 길이가 활동면보다 짧아 실제로는 덩이가 덜 생길 수 있음. +- 기준 = 지반 조건(E02)의 깎기 기준 안전율(기본 건기 1.5 · 우기 1.2 · 지진 1.1). + +> 주의: 전도는 기하 판정만 함. 블록 전도 안전율은 별도 정밀 검토 몫. + +> 참고: 지진 조건은 지반 조건(E02)에서 지진을 켠 때만 셈. 해석 결과는 [보고서](E05/00_설명서)의 「암반검토」 시트에도 들어감. diff --git a/A05_EduDetail/guide/E06/05_스테레오넷_보기.md b/A05_EduDetail/guide/E06/05_스테레오넷_보기.md new file mode 100644 index 000000000..a4e4a68f4 --- /dev/null +++ b/A05_EduDetail/guide/E06/05_스테레오넷_보기.md @@ -0,0 +1,26 @@ +# 스테레오넷 보기 + +고른 측점의 사면과 절리를 하반구 투영 그림 한 장으로 보고, 어떤 절리가 위험 영역에 들어 있는지 확인하는 방법. + +## 여는 길 + +- 가운데 아래 **스테레오넷**. 위험 띠나 측점 표에서 측점을 고르면 그려짐(고르기 전에는 「측점을 고르세요.」). +- 그림 위 줄에 측점 이름 · 쪽 · φ 와 [등각] [등면적] · [전체] [평면] [쐐기] [전도] 단추가 있음. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 측점을 고름. 굵은 선 · 네모 = 사면 대원 · 사면 극점, 점 + 이름 = 절리 극점, 세모 + 이름 = 두 절리 교선. ![전체 보기](E06_10_net_all.webp) | +| 2 | **[평면]** 을 누르면 평면 무너짐 위험 영역(색 칠한 부분)과 일광 엔벨로프(선)만 보임. 위험 영역 안 극점이 평면 후보. ![평면 보기](E06_11_net_planar.webp) | +| 3 | **[쐐기]** 를 누르면 쐐기 위험 영역과 교선만 보임. ![쐐기 보기](E06_12_net_wedge.webp) | +| 4 | **[전도]** 를 누르면 전도 위험 영역만 보임. 돌아오려면 **[전체]**. | +| 5 | **[등각]** · **[등면적]** 으로 투영 방식을 바꿈. 보기만 바뀌고 저장되지 않음. ![등면적 투영](E06_13_net_equal_area.webp) | + +## 보이는 것 + +- 테두리가 강조된 점 · 세모 = 이 측점에서 위험으로 판정된 것. +- 원 = 마찰원 φ. 그림 아래 범례가 지금 보기에 해당하는 것만 보임. +- 그림 읽는 법의 원리는 [쓰인 방법과 근거](E06/20_쓰인_방법과_근거)의 스테레오넷 절 참고. + +> 참고: 평면 · 쐐기 · 전도 보기와 등각 · 등면적은 서로 겹쳐 고를 수 있음(예: 등면적 + 쐐기). diff --git a/A05_EduDetail/guide/E06/10_칸_뜻.md b/A05_EduDetail/guide/E06/10_칸_뜻.md index a341c55e0..01ad9c986 100644 --- a/A05_EduDetail/guide/E06/10_칸_뜻.md +++ b/A05_EduDetail/guide/E06/10_칸_뜻.md @@ -4,6 +4,8 @@ ## 절리군 표 (좌 · 절리군 카드) +![절리군 카드](E06_01_joints_card.webp) + 한 줄 = 방향이 비슷한 절리 무리 하나. 현장 조사값을 넣음. | 칸 | 뜻 | 단위 | 범위 | 새 줄 기본 | @@ -22,6 +24,8 @@ ## 해석 설정 (좌 · 해석 설정 카드) +![해석 설정 카드](E06_02_settings_card.webp) + | 칸 | 뜻 | 범위 | 기본 | | --- | --- | --- | --- | | 평면 측방 한계 (°) | 사면과 절리 경사방향 차이가 이 각 안이면 평면 무너짐 후보 | 5 ~ 45 | 20 | @@ -42,6 +46,8 @@ ## 결과 칸 (우측) +![고른 측점 안전율 표](E06_09_station_detail.webp) + | 칸 | 뜻 | | --- | --- | | 쪽 | 노선 좌 · 우 깎기 비탈 | diff --git a/A05_EduDetail/guide/E06/20_쓰인_방법과_근거.md b/A05_EduDetail/guide/E06/20_쓰인_방법과_근거.md index d9763ab61..ff60bc4d5 100644 --- a/A05_EduDetail/guide/E06/20_쓰인_방법과_근거.md +++ b/A05_EduDetail/guide/E06/20_쓰인_방법과_근거.md @@ -52,6 +52,8 @@ ## 스테레오넷 읽는 법 +![스테레오넷](E06_10_net_all.webp) + - 구를 아래 반쪽만 보고(하반구) 평면에 펼친 그림. 위 = 북 · 가장자리 = 수평 · 가운데 = 연직. - 등각 = 각도 모양이 바르게 보임 · 등면적 = 넓이 비율이 바르게 보임. 판정 결과는 같음. - **마찰원** = 마찰각 φ 원. 그림의 φ = 그 측점 절리 중 가장 작은 φj(제목 줄에 표시) · 표 판정은 절리마다 제 φj 를 씀 — φj 가 서로 다르면 그림과 표가 조금 다를 수 있음. diff --git a/A05_EduDetail/guide/E06/E06_00_overview.webp b/A05_EduDetail/guide/E06/E06_00_overview.webp new file mode 100644 index 000000000..7b563903e Binary files /dev/null and b/A05_EduDetail/guide/E06/E06_00_overview.webp differ diff --git a/A05_EduDetail/guide/E06/E06_01_joints_card.webp b/A05_EduDetail/guide/E06/E06_01_joints_card.webp new file mode 100644 index 000000000..9b670c671 Binary files /dev/null and b/A05_EduDetail/guide/E06/E06_01_joints_card.webp differ diff --git a/A05_EduDetail/guide/E06/E06_02_settings_card.webp b/A05_EduDetail/guide/E06/E06_02_settings_card.webp new file mode 100644 index 000000000..76ddc3ed5 Binary files /dev/null and b/A05_EduDetail/guide/E06/E06_02_settings_card.webp differ diff --git a/A05_EduDetail/guide/E06/E06_03_crack_depth.webp b/A05_EduDetail/guide/E06/E06_03_crack_depth.webp new file mode 100644 index 000000000..50f72429d Binary files /dev/null and b/A05_EduDetail/guide/E06/E06_03_crack_depth.webp differ diff --git a/A05_EduDetail/guide/E06/E06_04_actions.webp b/A05_EduDetail/guide/E06/E06_04_actions.webp new file mode 100644 index 000000000..9723947fd Binary files /dev/null and b/A05_EduDetail/guide/E06/E06_04_actions.webp differ diff --git a/A05_EduDetail/guide/E06/E06_05_reset_confirm.webp b/A05_EduDetail/guide/E06/E06_05_reset_confirm.webp new file mode 100644 index 000000000..b5fd3e595 Binary files /dev/null and b/A05_EduDetail/guide/E06/E06_05_reset_confirm.webp differ diff --git a/A05_EduDetail/guide/E06/E06_06_stale_bar.webp b/A05_EduDetail/guide/E06/E06_06_stale_bar.webp new file mode 100644 index 000000000..8e05a69a1 Binary files /dev/null and b/A05_EduDetail/guide/E06/E06_06_stale_bar.webp differ diff --git a/A05_EduDetail/guide/E06/E06_07_band.webp b/A05_EduDetail/guide/E06/E06_07_band.webp new file mode 100644 index 000000000..d84ecd3ac Binary files /dev/null and b/A05_EduDetail/guide/E06/E06_07_band.webp differ diff --git a/A05_EduDetail/guide/E06/E06_08_station_list.webp b/A05_EduDetail/guide/E06/E06_08_station_list.webp new file mode 100644 index 000000000..9277aa55b Binary files /dev/null and b/A05_EduDetail/guide/E06/E06_08_station_list.webp differ diff --git a/A05_EduDetail/guide/E06/E06_09_station_detail.webp b/A05_EduDetail/guide/E06/E06_09_station_detail.webp new file mode 100644 index 000000000..539577b6e Binary files /dev/null and b/A05_EduDetail/guide/E06/E06_09_station_detail.webp differ diff --git a/A05_EduDetail/guide/E06/E06_10_net_all.webp b/A05_EduDetail/guide/E06/E06_10_net_all.webp new file mode 100644 index 000000000..926209135 Binary files /dev/null and b/A05_EduDetail/guide/E06/E06_10_net_all.webp differ diff --git a/A05_EduDetail/guide/E06/E06_11_net_planar.webp b/A05_EduDetail/guide/E06/E06_11_net_planar.webp new file mode 100644 index 000000000..61b876148 Binary files /dev/null and b/A05_EduDetail/guide/E06/E06_11_net_planar.webp differ diff --git a/A05_EduDetail/guide/E06/E06_12_net_wedge.webp b/A05_EduDetail/guide/E06/E06_12_net_wedge.webp new file mode 100644 index 000000000..7a50cbfc2 Binary files /dev/null and b/A05_EduDetail/guide/E06/E06_12_net_wedge.webp differ diff --git a/A05_EduDetail/guide/E06/E06_13_net_equal_area.webp b/A05_EduDetail/guide/E06/E06_13_net_equal_area.webp new file mode 100644 index 000000000..6e2d9f670 Binary files /dev/null and b/A05_EduDetail/guide/E06/E06_13_net_equal_area.webp differ diff --git a/A05_EduDetail/guide/E06/E06_14_drawer.webp b/A05_EduDetail/guide/E06/E06_14_drawer.webp new file mode 100644 index 000000000..2b095a1d1 Binary files /dev/null and b/A05_EduDetail/guide/E06/E06_14_drawer.webp differ diff --git a/A05_EduDetail/guide/E06/_scenes.json b/A05_EduDetail/guide/E06/_scenes.json new file mode 100644 index 000000000..455fce273 --- /dev/null +++ b/A05_EduDetail/guide/E06/_scenes.json @@ -0,0 +1,507 @@ +[ + { + "name": "E06_00_overview", + "route": "#/e06-stab-rock", + "project": "stab", + "before": [ + { + "wait": ".e06-band, .e06-empty" + }, + { + "wait_ms": 1200 + } + ], + "clip": null, + "callouts": [ + { + "n": 1, + "sel": ".app-burger" + }, + { + "n": 2, + "sel": ".e06-cards" + }, + { + "n": 3, + "sel": ".e06-panel > .ui-sidebar-actions" + }, + { + "n": 4, + "sel": ".e06-band" + }, + { + "n": 5, + "sel": ".e06-stage" + }, + { + "n": 6, + "sel": ".ui-side-panels__panel[data-panel=\"result\"]" + } + ] + }, + { + "name": "E06_01_joints_card", + "route": "#/e06-stab-rock", + "project": "stab", + "before": [ + { + "wait": ".e06-band, .e06-empty" + }, + { + "wait_ms": 1200 + } + ], + "clip": ".e06-cards > section:nth-child(1)", + "callouts": [ + { + "n": 1, + "sel": ".e06-cards > section:nth-child(1) .e06-table-wrap" + }, + { + "n": 2, + "sel": ".e06-cards > section:nth-child(1) .e06-row-actions .ui-btn" + } + ] + }, + { + "name": "E06_02_settings_card", + "route": "#/e06-stab-rock", + "project": "stab", + "before": [ + { + "wait": ".e06-band, .e06-empty" + }, + { + "wait_ms": 1200 + }, + { + "click": ".e06-cards > section:nth-child(2) .ui-collapsible__title" + }, + { + "wait_ms": 400 + } + ], + "clip": ".e06-cards > section:nth-child(2)", + "callouts": [ + { + "n": 1, + "sel": ".e06-cards > section:nth-child(2) .ui-field:nth-of-type(1), .e06-cards > section:nth-child(2) .e06-setting:nth-of-type(1)" + }, + { + "n": 2, + "sel": ".e06-cards > section:nth-child(2) .e06-setting__ctl" + } + ] + }, + { + "name": "E06_03_crack_depth", + "route": "#/e06-stab-rock", + "project": "stab", + "before": [ + { + "wait": ".e06-band, .e06-empty" + }, + { + "wait_ms": 1200 + }, + { + "click": ".e06-cards > section:nth-child(2) .ui-collapsible__title" + }, + { + "select": ".e06-cards > section:nth-child(2) select[data-path=\"settings.crack.mode\"]", + "value": "depth" + }, + { + "wait_ms": 400 + } + ], + "clip": ".e06-cards > section:nth-child(2)", + "callouts": [ + { + "n": 1, + "sel": ".e06-cards > section:nth-child(2) select[data-path=\"settings.crack.mode\"]" + }, + { + "n": 2, + "sel": ".e06-cards > section:nth-child(2) input[data-path=\"settings.crack.z\"]" + } + ] + }, + { + "name": "E06_04_actions", + "route": "#/e06-stab-rock", + "project": "stab", + "before": [ + { + "wait": ".e06-band, .e06-empty" + }, + { + "wait_ms": 1200 + } + ], + "clip": ".e06-panel > .ui-sidebar-actions", + "callouts": [ + { + "n": 1, + "sel": ".e06-panel > .ui-sidebar-actions .ui-btn:nth-child(1)" + }, + { + "n": 2, + "sel": ".e06-panel > .ui-sidebar-actions .ui-btn:nth-child(2)" + }, + { + "n": 3, + "sel": ".e06-panel > .ui-sidebar-actions .ui-btn:nth-child(3)" + } + ] + }, + { + "name": "E06_05_reset_confirm", + "route": "#/e06-stab-rock", + "project": "stab", + "before": [ + { + "wait": ".e06-band, .e06-empty" + }, + { + "wait_ms": 1200 + }, + { + "click": ".e06-panel > .ui-sidebar-actions .ui-btn--danger-ghost", + "confirm": true + }, + { + "wait": ".ui-confirm__panel" + } + ], + "clip": ".ui-confirm__panel", + "callouts": [ + { + "n": 1, + "sel": ".ui-confirm__actions .ui-btn--ghost" + }, + { + "n": 2, + "sel": ".ui-confirm__actions .ui-btn--danger" + } + ], + "after": [ + { + "click": ".ui-confirm__panel button:has-text(\"취소\")" + } + ] + }, + { + "name": "E06_06_stale_bar", + "route": "#/e06-stab-rock", + "project": "stab", + "before": [ + { + "wait": ".e06-band, .e06-empty" + }, + { + "wait_ms": 1200 + } + ], + "clip": ".e06-stale", + "callouts": [] + }, + { + "name": "E06_07_band", + "route": "#/e06-stab-rock", + "project": "stab", + "before": [ + { + "wait": ".e06-band, .e06-empty" + }, + { + "wait_ms": 1200 + } + ], + "clip": ".e06-band", + "callouts": [ + { + "n": 1, + "sel": ".e06-band__legend" + }, + { + "n": 2, + "sel": ".e06-band__strip" + }, + { + "n": 3, + "sel": ".e06-band__ticks" + } + ] + }, + { + "name": "E06_08_station_list", + "route": "#/e06-stab-rock", + "project": "stab", + "before": [ + { + "wait": ".e06-band, .e06-empty" + }, + { + "wait_ms": 1200 + }, + { + "wait": ".e06-list tbody tr" + }, + { + "click": ".e06-list tbody tr:nth-child(1)" + }, + { + "wait": "[data-role=\"stereonet\"]" + }, + { + "wait_ms": 600 + } + ], + "clip": ".ui-side-panels__panel[data-panel=\"result\"] .e06-list-slot", + "callouts": [ + { + "n": 1, + "sel": ".e06-list thead" + }, + { + "n": 2, + "sel": ".e06-list tbody tr.is-active" + } + ] + }, + { + "name": "E06_09_station_detail", + "route": "#/e06-stab-rock", + "project": "stab", + "before": [ + { + "wait": ".e06-band, .e06-empty" + }, + { + "wait_ms": 1200 + }, + { + "wait": ".e06-list tbody tr" + }, + { + "click": ".e06-list tbody tr:nth-child(1)" + }, + { + "wait": "[data-role=\"stereonet\"]" + }, + { + "wait_ms": 600 + } + ], + "clip": ".e06-detail", + "callouts": [ + { + "n": 1, + "sel": ".e06-detail .e06-hint" + }, + { + "n": 2, + "sel": ".e06-detail .e06-kin" + }, + { + "n": 3, + "sel": ".e06-detail .e06-cases" + } + ] + }, + { + "name": "E06_10_net_all", + "route": "#/e06-stab-rock", + "project": "stab", + "before": [ + { + "wait": ".e06-band, .e06-empty" + }, + { + "wait_ms": 1200 + }, + { + "wait": ".e06-list tbody tr" + }, + { + "click": ".e06-list tbody tr:nth-child(1)" + }, + { + "wait": "[data-role=\"stereonet\"]" + }, + { + "wait_ms": 600 + } + ], + "clip": ".e06-stage", + "callouts": [ + { + "n": 1, + "sel": ".e06-toolbar" + }, + { + "n": 2, + "sel": "[data-role=\"stereonet\"]" + }, + { + "n": 3, + "sel": ".e06-legend" + } + ] + }, + { + "name": "E06_11_net_planar", + "route": "#/e06-stab-rock", + "project": "stab", + "before": [ + { + "wait": ".e06-band, .e06-empty" + }, + { + "wait_ms": 1200 + }, + { + "wait": ".e06-list tbody tr" + }, + { + "click": ".e06-list tbody tr:nth-child(1)" + }, + { + "wait": "[data-role=\"stereonet\"]" + }, + { + "wait_ms": 600 + }, + { + "click": ".e06-toolbar .e06-toggle button[data-value=\"planar\"]" + }, + { + "wait_ms": 400 + } + ], + "clip": ".e06-stage", + "callouts": [ + { + "n": 1, + "sel": ".e06-toolbar .e06-toggle button[data-value=\"planar\"]" + }, + { + "n": 2, + "sel": "[data-role=\"stereonet\"]" + } + ] + }, + { + "name": "E06_12_net_wedge", + "route": "#/e06-stab-rock", + "project": "stab", + "before": [ + { + "wait": ".e06-band, .e06-empty" + }, + { + "wait_ms": 1200 + }, + { + "wait": ".e06-list tbody tr" + }, + { + "click": ".e06-list tbody tr:nth-child(1)" + }, + { + "wait": "[data-role=\"stereonet\"]" + }, + { + "wait_ms": 600 + }, + { + "click": ".e06-toolbar .e06-toggle button[data-value=\"wedge\"]" + }, + { + "wait_ms": 400 + } + ], + "clip": ".e06-stage", + "callouts": [ + { + "n": 1, + "sel": ".e06-toolbar .e06-toggle button[data-value=\"wedge\"]" + }, + { + "n": 2, + "sel": "[data-role=\"stereonet\"]" + } + ] + }, + { + "name": "E06_13_net_equal_area", + "route": "#/e06-stab-rock", + "project": "stab", + "before": [ + { + "wait": ".e06-band, .e06-empty" + }, + { + "wait_ms": 1200 + }, + { + "wait": ".e06-list tbody tr" + }, + { + "click": ".e06-list tbody tr:nth-child(1)" + }, + { + "wait": "[data-role=\"stereonet\"]" + }, + { + "wait_ms": 600 + }, + { + "click": ".e06-toolbar .e06-toggle button[data-value=\"equal_area\"]" + }, + { + "wait_ms": 400 + } + ], + "clip": ".e06-stage", + "callouts": [ + { + "n": 1, + "sel": ".e06-toolbar .e06-toggle button[data-value=\"equal_area\"]" + }, + { + "n": 2, + "sel": "[data-role=\"stereonet\"]" + } + ] + }, + { + "name": "E06_14_drawer", + "route": "#/e06-stab-rock", + "project": "stab", + "viewport": [ + 1600, + 640 + ], + "before": [ + { + "wait": ".e06-band, .e06-empty" + }, + { + "click": ".app-burger" + }, + { + "wait_ms": 900 + } + ], + "clip": ".app-drawer", + "clip_pad": 8, + "callouts": [ + { + "n": 1, + "sel": ".app-drawer__steps" + } + ] + } +] \ No newline at end of file diff --git a/A05_EduDetail/guide/E07/00_설명서.md b/A05_EduDetail/guide/E07/00_설명서.md index ed45bdf69..254ee60d8 100644 --- a/A05_EduDetail/guide/E07/00_설명서.md +++ b/A05_EduDetail/guide/E07/00_설명서.md @@ -1,76 +1,39 @@ -# 광역 위험 설명서 +# 광역 위험 -## 이 화면에서 하는 일 +노선 띠(중심선 좌우 일정 폭) 안 자연 비탈의 얕은 산사태(표층 붕괴) 위험을 지도로 그리고 측점마다 위험 정도를 매기는 화면. -노선 띠(중심선 좌우 일정 폭) 안 자연 비탈의 얕은 산사태(표층 붕괴) 위험을 지도로 그림. -지형 격자 칸마다 **무한사면 안전율 Fs** 와 **SINMAP 안정 지수 SI** 를 셈 → SI 로 여섯 등급 색칠 → 측점마다 위험 정도(낮음 · 보통 · 높음)를 매김. +## 여는 길 -- 지형 = 복사한 원지형(노선 공사 전 땅). 노선 위 · 아래 자연 비탈을 봄. -- 깎기 · 쌓기 비탈 자체는 2D 해석(E03) · 암반 해석(E06) 몫. +- 왼쪽 위 **[☰]** 서랍의 「진행단계」 목록에서 **광역 위험** 을 누름(맨 끝 단계). +- 지형은 안정성평가 프로젝트에 복사해 둔 원지형(공사 전 땅)을 씀. + +![화면 한눈에](E07_00_overview.webp) + +## 화면 구역 + +| 번호 | 구역 | 하는 일 | +| --- | --- | --- | +| 1 | [☰] 서랍 | 안정성평가 단계(지반 조건 · 2D 해석 · 3D 해석 · 보고서 · 암반 해석 · 광역 위험) 사이를 오감 | +| 2 | 토층 물성 카드 | 흙의 무게 · 강도 · 뿌리 점착 · 두께를 정함 | +| 3 | 시나리오 · 포화 카드 | 표준 · 최악 시나리오와 T/R 를 정함 | +| 4 | 노선 띠 · 격자 · 측점 등급 카드 | 띠 폭 · 격자 크기 · 측점 등급 문턱을 정함 | +| 5 | 왼쪽 아래 단추 줄 | [기본값] · [다시 해석] · [해석] | +| 6 | 보기 바꿈 단추 | [등급 (SI)] · [안전율 Fs] — 지도 색 기준 바꿈 | +| 7 | 지도 | 노선 띠 · 중심선 · 측점 · 칸마다 색 | +| 8 | 범례 | 지도 색이 뜻하는 등급 · 안전율 | +| 9 | 광역 결과(오른쪽) | 요약 · 등급별 면적 · 측점별 위험 표 | + +![진행단계 서랍](E07_15_drawer.webp) ## 작업 순서 -1. 좌측 **토층 물성** 카드에서 물성(E02 지반 조건)을 고름. 고르면 γt · γsat · c · φ 칸이 채워짐(기본 = 붕적토). -2. 필요하면 뿌리 점착 · 토층 두께를 고침. -3. **시나리오 · 포화** 카드에서 시나리오를 고름 — 표준(SINMAP 습윤지수) 또는 최악(완전 포화). -4. **노선 띠 · 격자 · 측점 등급** 카드에서 띠 폭 · 격자 · 측점 문턱 둘을 확인함. -5. [해석] 을 누름. 진행 막대가 끝나면 지도 · 결과가 나옴. -6. 우측 **측점별 위험** 표에서 측점을 누르면 지도가 그 측점으로 옮겨 감. +1. **토층 물성** 카드에서 E02 물성을 고르고 뿌리 점착 · 토층 두께를 확인함 → [토층 물성](E07/01_토층_물성). +2. **시나리오 · 포화** 카드에서 표준 · 최악을 고름 → [시나리오와 포화](E07/02_시나리오와_포화). +3. **노선 띠 · 격자 · 측점 등급** 카드에서 띠 폭 · 격자 · 문턱을 확인함 → [노선 띠 · 격자 · 측점 등급](E07/03_노선_띠_격자_등급). +4. **[해석]** 을 누르고 진행 막대가 끝나기를 기다림 → [해석 실행](E07/04_해석_실행). +5. 지도 색을 읽고 → [지도 읽기](E07/05_지도_읽기), 오른쪽 결과와 측점 표를 봄 → [광역 결과](E07/06_광역_결과). +6. 보고서에 넣으려면 [보고서](E05/00_설명서)에서 [보고서 갱신] 을 누름. -## 단추 +> 주의: 이 지도는 넓은 범위에서 「어디를 먼저 볼지」 고르는 용도. 측점 단면 안전율([2D 해석](E03/00_설명서))을 대신하지 않음. -| 단추 | 자리 | 하는 일 | -| --- | --- | --- | -| [기본값] | 좌 아래 | 모든 칸을 기본값으로 되돌림(해석은 안 함) | -| [다시 해석] | 좌 아래 | 같은 조건이라도 처음부터 다시 셈 | -| [해석] | 좌 아래 | 조건이 지난 결과와 같으면 「같은 조건의 결과가 있습니다.」 뒤 그 결과를 보임 · 다르면 새로 셈 | -| [등급 (SI)] [안전율 Fs] | 가운데 위 | 지도 색을 SI 등급 · 안전율로 바꿈 | - -- 칸 값은 이 탭 안에만 기억됨. 저장되는 것은 [해석] 한 결과(조건 포함) 하나뿐 — 새로 해석하면 지난 결과를 덮음. -- 보기만 허용된 프로젝트는 [해석] 이 잠김. - -## 결과 읽는 법 - -**가운데 · 지도** — 휠 = 확대 · 끌기 = 옮김 · 두 번 누름 = 전체 맞춤. 옅은 띠 = 노선 띠 · 굵은 선 = 중심선 · 점 = 측점 · 오른쪽 위 = 북 · 오른쪽 아래 = 축척. -칸 위에 마우스를 올리면 등급 · SI · Fs · 경사 · 포화비 m · 가까운 측점이 보임. - -**범례 (등급 SI)** — 밑에 해석한 시나리오 이름이 붙음. - -| 색 | 등급 | SI | -| --- | --- | --- | -| 진초록 | 안정 | 1.5 이상 | -| 연두 | 보통 안정 | 1.25 ~ 1.5 | -| 연노랑 | 준안정 | 1.0 ~ 1.25 | -| 노랑 | 위험 하한 | 0.5 ~ 1.0 | -| 주황 | 위험 상한 | 0 초과 ~ 0.5 | -| 빨강 | 불안정 | 0 | - -- 위험 = 위험 하한 · 위험 상한 · 불안정(SI < 1). - -**범례 (안전율 Fs)** — 빨강 1.0 미만 · 주황 1.0 ~ 1.2 · 노랑 1.2 ~ 1.5 · 연두 1.5 ~ 2.0 · 초록 2.0 이상. 가장 나쁜 쪽(c · φ 아래 · 가장 젖음) 값임. - -**우측 · 광역 결과** - -- 요약 — 시나리오 · 띠 안 최소 Fs · 위험 면적(SI < 1) · 측점 등급(낮음 · 보통 · 높음 수 / 전체 측점) · 지형 있는 띠 / 띠 면적 · 해석 걸린 시간과 때. -- 등급별 면적 — 여섯 등급 면적(m²) · 비율(%). -- 측점별 위험 — 측점 · 최소 Fs · SI<1 비율(%) · 측점 등급 · 위험 m². 높음 줄은 강조됨. - -**측점 등급** — 측점 앞뒤 ½ 간격 × 띠 폭(영향 구역) 안 칸 중 SI < 1 칸 비율. - -| 측점 등급 | 기본 문턱 | -| --- | --- | -| 낮음 | 5 % 미만 | -| 보통 | 5 % 이상 20 % 미만 | -| 높음 | 20 % 이상 | - -문턱 둘은 좌측 「측점 보통 문턱」 · 「측점 높음 문턱」 칸에서 바꿈. - -**보고서(E05) 광역요약 시트** — E05 [보고서 갱신] 때 이 화면 저장 결과로 채움: 해석 조건(띠 · 물성 · 시나리오 · 해석 때) · 등급별 면적 · 측점 등급 표 · 보통 · 높음 측점 줄(측점 · 누가거리 · 최소 Fs · 최소 SI · 등급과 비율 · 위험 면적 · 최대 경사). 결과가 없으면 「광역 해석 전」. - -## 알아 둘 것 - -- **문헌 추정치 · 현장 시험 없음.** 물성 · T/R · 뿌리 점착 · 토층 두께 · 측점 문턱은 근거 후보 값임. 사용자 확정 전 값은 `30_사용자_확정_전_값` 참고. -- 위험 지도는 넓은 범위에서 「어디를 먼저 볼지」 고르는 용도임. 측점 단면 안전율(E03)을 대신하지 않음. -- 지형 격자 끝 밖 상류는 집수면적에 안 들어감 — 띠 가장자리는 실제보다 마르게(안전하게) 나올 수 있음. -- 「엔진이 바뀌어 결과가 옛것입니다」가 뜨면 [다시 해석] 할 것. -- 최악(완전 포화)은 모든 칸이 물에 찬 극한 강우 가정 — 대부분 측점이 높음으로 나옴. 비교용으로 쓸 것. +> 참고: 물성 · T/R · 뿌리 점착 · 토층 두께 · 측점 문턱은 문헌 근거 후보 값이며 현장 시험 값이 아님. [사용자 확정 전 값](E07/30_사용자_확정_전_값) 참고. diff --git a/A05_EduDetail/guide/E07/01_토층_물성.md b/A05_EduDetail/guide/E07/01_토층_물성.md new file mode 100644 index 000000000..70d2ce083 --- /dev/null +++ b/A05_EduDetail/guide/E07/01_토층_물성.md @@ -0,0 +1,24 @@ +# 토층 물성 + +기반암 위에 덮인 흙의 무게 · 강도 · 두께를 정하는 방법. 무한사면 계산이 쓰는 값. + +## 여는 길 + +- 왼쪽 패널 첫 카드 **토층 물성**(처음부터 펼쳐져 있음). + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | **물성(E02 지반 조건)** 에서 물성을 고름(기본 붕적토). 고르면 γt · γsat · c · φ 칸이 채워짐. ![토층 물성 카드](E07_01_soil_card.webp) | +| 2 | 필요하면 **γt** · **γsat**(흙 단위중량)을 직접 고침. | +| 3 | **c 아래 · c 위** · **φ 아래 · φ 위** 는 점착력 · 내부 마찰각의 범위. 안전율은 아래 끝(보수 쪽)으로, 안정 지수 SI 는 범위로 셈. | +| 4 | **뿌리 점착** 을 넣음(기본 1 kPa). 나지 · 절성토면은 0. | +| 5 | **토층 두께** 를 넣음(기본 1.5 m). 지표에서 수직으로 잰 미끄러질 수 있는 흙 두께. | + +## 보이는 것 + +- 칸을 바꾸면 이 탭 안에만 기억됨. 저장되는 것은 [해석] 한 결과 하나뿐. +- 범위를 벗어난 값으로 [해석] 을 누르면 까닭이 알림으로 뜨고 해석하지 않음. 「위」 칸은 「아래」 칸보다 작으면 안 됨. + +> 참고: 칸별 범위는 [칸 뜻](E07/10_칸_뜻) 참고. 물성 목록은 [지반 조건](E02/00_설명서)에서 가져옴. diff --git a/A05_EduDetail/guide/E07/02_시나리오와_포화.md b/A05_EduDetail/guide/E07/02_시나리오와_포화.md new file mode 100644 index 000000000..f3bd1be90 --- /dev/null +++ b/A05_EduDetail/guide/E07/02_시나리오와_포화.md @@ -0,0 +1,23 @@ +# 시나리오와 포화 + +비탈 흙이 얼마나 젖는다고 볼지 정하는 방법. + +## 여는 길 + +- 왼쪽 패널 두 번째 카드 **시나리오 · 포화**. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | **시나리오** 를 고름. 「표준 — SINMAP 습윤지수 (T/R 범위)」 는 비탈마다 물이 모이는 정도를 따짐. 「최악 — 완전 포화」 는 모든 칸이 물에 찬 극한 강우를 가정함. ![시나리오 카드](E07_02_rain_card.webp) | +| 2 | 표준을 고른 때만 **T/R 아래 · T/R 위** 칸이 보임. 작을수록 물이 잘 고임(기본 2,000 ~ 3,000 m). | +| 3 | 최악으로 바꾸면 T/R 칸이 숨음. ![최악 시나리오](E07_14_scenario_saturated.webp) | + +## 보이는 것 + +- 해석 결과의 범례 밑 · 요약 첫 줄에 해석한 시나리오 이름이 붙음. + +> 주의: 최악(완전 포화)은 대부분 측점이 「높음」 으로 나옴. 표준과 견주어 볼 때만 쓸 것. + +> 참고: T/R 기본값은 SINMAP 설명서 기본 보정 범위이며 사용자 확정 전 값. diff --git a/A05_EduDetail/guide/E07/03_노선_띠_격자_등급.md b/A05_EduDetail/guide/E07/03_노선_띠_격자_등급.md new file mode 100644 index 000000000..95a422017 --- /dev/null +++ b/A05_EduDetail/guide/E07/03_노선_띠_격자_등급.md @@ -0,0 +1,23 @@ +# 노선 띠 · 격자 · 측점 등급 + +볼 범위(띠 폭)와 계산 칸 크기, 측점 위험 등급 문턱을 정하는 방법. + +## 여는 길 + +- 왼쪽 패널 세 번째 카드 **노선 띠 · 격자 · 측점 등급**. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | **띠 폭 ± (m)** 을 넣음(기본 100). 중심선에서 좌우로 볼 거리이며 지도의 옅은 띠가 바로 바뀜. ![노선 띠 카드](E07_03_band_card.webp) | +| 2 | **격자 (m)** 를 넣음(기본 2). 계산 칸 한 변이며 작을수록 촘촘하지만 오래 걸림. | +| 3 | **측점 보통 문턱** 을 넣음(기본 5 %). 영향 구역 안 SI < 1 칸 비율이 이 값 이상이면 「보통」. | +| 4 | **측점 높음 문턱** 을 넣음(기본 20 %). 이 값 이상이면 「높음」. 보통 문턱보다 작으면 안 됨. | + +## 보이는 것 + +- 지도 띠가 폭에 맞게 바로 바뀜. +- 측점 등급 = 측점 앞뒤 ½ 간격 × 띠 폭(영향 구역) 안 칸 중 SI < 1 칸 비율. + +> 참고: 문턱 5 % · 20 % 는 사용자 확정 전 값. [사용자 확정 전 값](E07/30_사용자_확정_전_값) 참고. diff --git a/A05_EduDetail/guide/E07/04_해석_실행.md b/A05_EduDetail/guide/E07/04_해석_실행.md new file mode 100644 index 000000000..bc701fc98 --- /dev/null +++ b/A05_EduDetail/guide/E07/04_해석_실행.md @@ -0,0 +1,24 @@ +# 해석 실행 + +값을 정한 뒤 해석을 돌리거나 다시 돌리고, 기본값으로 되돌리는 방법. + +## 여는 길 + +- 왼쪽 아래 단추 줄의 **[기본값]** · **[다시 해석]** · **[해석]**. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 세 카드 값을 확인함. 처음부터 다시 맞추려면 **[기본값]** 을 눌러 모든 칸을 기본값으로 되돌림(해석은 안 함). ![단추 줄](E07_04_actions.webp) | +| 2 | **[해석]** 을 누름. 같은 조건의 결과가 이미 있으면 「같은 조건의 결과가 있습니다.」 뒤 그 결과를 보임. 다르면 새로 셈. | +| 3 | 진행 막대와 「해석 중」 글이 뜨고, 끝나면 「광역 해석을 마쳤습니다.」 알림과 함께 지도 · 결과가 나옴. ![해석 진행 막대](E07_05_progress.webp) | +| 4 | 같은 조건이라도 처음부터 다시 셈하려면 **[다시 해석]**. | + +## 보이는 것 + +- 저장되는 것은 [해석] 한 결과(조건 포함) 하나뿐. 새로 해석하면 지난 결과를 덮음. +- 「엔진이 바뀌어 결과가 옛것입니다」 가 뜨면 [다시 해석] 을 누름. +- 보기만 허용된 프로젝트는 [해석] · [다시 해석] 이 꺼짐. + +> 주의: 해석 중에 화면을 닫지 말 것. 격자를 작게 하면 오래 걸림. diff --git a/A05_EduDetail/guide/E07/05_지도_읽기.md b/A05_EduDetail/guide/E07/05_지도_읽기.md new file mode 100644 index 000000000..e7b9541d1 --- /dev/null +++ b/A05_EduDetail/guide/E07/05_지도_읽기.md @@ -0,0 +1,34 @@ +# 지도 읽기 + +가운데 지도에서 칸마다 색으로 위험을 읽고, 색 기준을 바꾸는 방법. + +## 여는 길 + +- 가운데 **지도**. [해석] 이 끝나면 색이 칠해지고, 그 전에는 「[해석] 을 누르면 위험 지도가 나옵니다.」 안내만 보임. +- 지도 위 **[등급 (SI)]** · **[안전율 Fs]** 단추로 색 기준을 바꿈. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 지도를 봄. 옅은 띠 = 노선 띠 · 굵은 선 = 중심선 · 점 = 측점 · 오른쪽 위 = 북 · 오른쪽 아래 = 축척. ![등급 지도](E07_06_map_class.webp) | +| 2 | 마우스 휠로 확대 · 축소, 끌어서 옮기고, 두 번 누르면 전체 맞춤. | +| 3 | 칸 위에 마우스를 올리면 등급 · SI · Fs · 경사 · 포화비 m · 가까운 측점이 보임. ![칸 정보 풍선](E07_08_map_tip.webp) | +| 4 | **[안전율 Fs]** 를 누르면 같은 지도가 안전율 색으로 바뀜. **[등급 (SI)]** 로 돌아옴. ![안전율 지도](E07_07_map_fs.webp) | +| 5 | 아래 범례로 색 뜻을 확인함. ![범례](E07_09_legend_class.webp) | + +## 보이는 것 + +| 색 | 등급 | SI | +| --- | --- | --- | +| 진초록 | 안정 | 1.5 이상 | +| 연두 | 보통 안정 | 1.25 ~ 1.5 | +| 연노랑 | 준안정 | 1.0 ~ 1.25 | +| 노랑 | 위험 하한 | 0.5 ~ 1.0 | +| 주황 | 위험 상한 | 0 초과 ~ 0.5 | +| 빨강 | 불안정 | 0 | + +- 위험 = 위험 하한 · 위험 상한 · 불안정(SI < 1). +- 안전율 범례 — 빨강 1.0 미만 · 주황 1.0 ~ 1.2 · 노랑 1.2 ~ 1.5 · 연두 1.5 ~ 2.0 · 초록 2.0 이상. 가장 나쁜 쪽(c · φ 아래 · 가장 젖음) 값. + +> 참고: 지형 격자 끝 밖 상류는 집수면적에 안 들어가 띠 가장자리는 실제보다 마르게(안전하게) 나올 수 있음. diff --git a/A05_EduDetail/guide/E07/06_광역_결과.md b/A05_EduDetail/guide/E07/06_광역_결과.md new file mode 100644 index 000000000..c6850c458 --- /dev/null +++ b/A05_EduDetail/guide/E07/06_광역_결과.md @@ -0,0 +1,29 @@ +# 광역 결과 + +해석 요약 · 등급별 면적 · 측점별 위험을 오른쪽 패널에서 읽는 방법. + +## 여는 길 + +- 오른쪽 **광역 결과** 패널. 해석 전에는 「아직 해석 결과가 없습니다.」 가 보임. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 맨 위 요약을 읽음 — 시나리오 · 띠 안 최소 Fs · 위험 면적(SI < 1) · 측점 등급 수(낮음 · 보통 · 높음 / 전체) · 지형 있는 띠 / 띠 면적 · 해석 걸린 시간과 때. ![결과 요약](E07_10_result_summary.webp) | +| 2 | **등급별 면적** 표에서 여섯 등급의 면적(m²)과 비율(%)을 봄. ![등급별 면적](E07_11_result_areas.webp) | +| 3 | **측점별 위험** 표에서 측점 · 최소 Fs · SI < 1 비율(%) · 측점 등급 · 위험 m² 를 봄. 「높음」 줄은 강조됨. ![측점별 위험 표](E07_12_result_stations.webp) | +| 4 | 표에서 측점 줄을 누르면 지도가 그 측점으로 옮겨 감. ![측점을 눌러 지도로](E07_13_station_pick.webp) | + +## 보이는 것 + +| 측점 등급 | 기본 문턱 | +| --- | --- | +| 낮음 | 5 % 미만 | +| 보통 | 5 % 이상 20 % 미만 | +| 높음 | 20 % 이상 | + +- 영향 구역에 지형이 없는 측점은 값이 「-」. +- 결과 맨 아래에 계산 방법을 요약한 안내 글이 붙음. 엔진이 바뀐 뒤라면 「엔진이 바뀌어 결과가 옛것입니다 — [다시 해석].」 경고도 보임. + +> 참고: 보고서 광역요약 시트는 [보고서 갱신] 때 이 화면의 저장 결과로 채워짐. 결과가 없으면 「광역 해석 전」 으로 보임. diff --git a/A05_EduDetail/guide/E07/10_칸_뜻.md b/A05_EduDetail/guide/E07/10_칸_뜻.md index 4f1a8a36a..727b256e5 100644 --- a/A05_EduDetail/guide/E07/10_칸_뜻.md +++ b/A05_EduDetail/guide/E07/10_칸_뜻.md @@ -4,6 +4,8 @@ ## 토층 물성 (좌 · 첫 카드) +![토층 물성 카드](E07_01_soil_card.webp) + 토층 = 기반암 위에 덮인 흙. 무한사면 식이 쓰는 값. | 칸 | 뜻 | 범위 | 기본 | @@ -22,6 +24,8 @@ ## 시나리오 · 포화 (좌 · 둘째 카드) +![시나리오 카드](E07_02_rain_card.webp) + | 칸 | 뜻 | 범위 | 기본 | | --- | --- | --- | --- | | 시나리오 | 표준 — SINMAP 습윤지수 (T/R 범위) · 최악 — 완전 포화 (m = 1 · 강우 극한) | - | 표준 | @@ -33,6 +37,8 @@ ## 노선 띠 · 격자 · 측점 등급 (좌 · 셋째 카드) +![노선 띠 카드](E07_03_band_card.webp) + | 칸 | 뜻 | 범위 | 기본 | | --- | --- | --- | --- | | 띠 폭 ± (m) | 중심선에서 좌우로 볼 거리 · 지도 옅은 띠가 바로 바뀜 | 10 ~ 500 | 100 | @@ -42,6 +48,8 @@ ## 결과 칸 (우측) +![결과 요약](E07_10_result_summary.webp) + | 칸 | 뜻 | | --- | --- | | 띠 안 최소 Fs | 띠 안 모든 칸 중 가장 낮은 안전율 | diff --git a/A05_EduDetail/guide/E07/E07_00_overview.webp b/A05_EduDetail/guide/E07/E07_00_overview.webp new file mode 100644 index 000000000..95d41b917 Binary files /dev/null and b/A05_EduDetail/guide/E07/E07_00_overview.webp differ diff --git a/A05_EduDetail/guide/E07/E07_01_soil_card.webp b/A05_EduDetail/guide/E07/E07_01_soil_card.webp new file mode 100644 index 000000000..5b97a9f24 Binary files /dev/null and b/A05_EduDetail/guide/E07/E07_01_soil_card.webp differ diff --git a/A05_EduDetail/guide/E07/E07_02_rain_card.webp b/A05_EduDetail/guide/E07/E07_02_rain_card.webp new file mode 100644 index 000000000..c637a52ef Binary files /dev/null and b/A05_EduDetail/guide/E07/E07_02_rain_card.webp differ diff --git a/A05_EduDetail/guide/E07/E07_03_band_card.webp b/A05_EduDetail/guide/E07/E07_03_band_card.webp new file mode 100644 index 000000000..2b15d1528 Binary files /dev/null and b/A05_EduDetail/guide/E07/E07_03_band_card.webp differ diff --git a/A05_EduDetail/guide/E07/E07_04_actions.webp b/A05_EduDetail/guide/E07/E07_04_actions.webp new file mode 100644 index 000000000..1c5618cf3 Binary files /dev/null and b/A05_EduDetail/guide/E07/E07_04_actions.webp differ diff --git a/A05_EduDetail/guide/E07/E07_05_progress.webp b/A05_EduDetail/guide/E07/E07_05_progress.webp new file mode 100644 index 000000000..0867a65bc Binary files /dev/null and b/A05_EduDetail/guide/E07/E07_05_progress.webp differ diff --git a/A05_EduDetail/guide/E07/E07_06_map_class.webp b/A05_EduDetail/guide/E07/E07_06_map_class.webp new file mode 100644 index 000000000..ef58b2059 Binary files /dev/null and b/A05_EduDetail/guide/E07/E07_06_map_class.webp differ diff --git a/A05_EduDetail/guide/E07/E07_07_map_fs.webp b/A05_EduDetail/guide/E07/E07_07_map_fs.webp new file mode 100644 index 000000000..07f0dcb94 Binary files /dev/null and b/A05_EduDetail/guide/E07/E07_07_map_fs.webp differ diff --git a/A05_EduDetail/guide/E07/E07_08_map_tip.webp b/A05_EduDetail/guide/E07/E07_08_map_tip.webp new file mode 100644 index 000000000..4e721ac1b Binary files /dev/null and b/A05_EduDetail/guide/E07/E07_08_map_tip.webp differ diff --git a/A05_EduDetail/guide/E07/E07_09_legend_class.webp b/A05_EduDetail/guide/E07/E07_09_legend_class.webp new file mode 100644 index 000000000..9bc76b6a9 Binary files /dev/null and b/A05_EduDetail/guide/E07/E07_09_legend_class.webp differ diff --git a/A05_EduDetail/guide/E07/E07_10_result_summary.webp b/A05_EduDetail/guide/E07/E07_10_result_summary.webp new file mode 100644 index 000000000..ce26c990b Binary files /dev/null and b/A05_EduDetail/guide/E07/E07_10_result_summary.webp differ diff --git a/A05_EduDetail/guide/E07/E07_11_result_areas.webp b/A05_EduDetail/guide/E07/E07_11_result_areas.webp new file mode 100644 index 000000000..a94e87b6e Binary files /dev/null and b/A05_EduDetail/guide/E07/E07_11_result_areas.webp differ diff --git a/A05_EduDetail/guide/E07/E07_12_result_stations.webp b/A05_EduDetail/guide/E07/E07_12_result_stations.webp new file mode 100644 index 000000000..4db5195a3 Binary files /dev/null and b/A05_EduDetail/guide/E07/E07_12_result_stations.webp differ diff --git a/A05_EduDetail/guide/E07/E07_13_station_pick.webp b/A05_EduDetail/guide/E07/E07_13_station_pick.webp new file mode 100644 index 000000000..b110523b1 Binary files /dev/null and b/A05_EduDetail/guide/E07/E07_13_station_pick.webp differ diff --git a/A05_EduDetail/guide/E07/E07_14_scenario_saturated.webp b/A05_EduDetail/guide/E07/E07_14_scenario_saturated.webp new file mode 100644 index 000000000..ebf5f95e7 Binary files /dev/null and b/A05_EduDetail/guide/E07/E07_14_scenario_saturated.webp differ diff --git a/A05_EduDetail/guide/E07/E07_15_drawer.webp b/A05_EduDetail/guide/E07/E07_15_drawer.webp new file mode 100644 index 000000000..39d524233 Binary files /dev/null and b/A05_EduDetail/guide/E07/E07_15_drawer.webp differ diff --git a/A05_EduDetail/guide/E07/_scenes.json b/A05_EduDetail/guide/E07/_scenes.json new file mode 100644 index 000000000..dbddd98fe --- /dev/null +++ b/A05_EduDetail/guide/E07/_scenes.json @@ -0,0 +1,445 @@ +[ + { + "name": "E07_00_overview", + "route": "#/e07-stab-area", + "project": "stab", + "before": [ + { + "wait": ".e07-map__canvas" + }, + { + "wait_ms": 1500 + } + ], + "clip": null, + "callouts": [ + { + "n": 1, + "sel": ".app-burger" + }, + { + "n": 2, + "sel": ".e07-panel > section:nth-of-type(1)", + "pos": "tr" + }, + { + "n": 3, + "sel": ".e07-panel > section:nth-of-type(2)" + }, + { + "n": 4, + "sel": ".e07-panel > section:nth-of-type(3)" + }, + { + "n": 5, + "sel": ".e07-panel > .ui-sidebar-actions" + }, + { + "n": 6, + "sel": ".e07-toggle" + }, + { + "n": 7, + "sel": ".e07-map", + "pos": "br" + }, + { + "n": 8, + "sel": ".e07-legend-slot" + }, + { + "n": 9, + "sel": ".ui-side-panels__panel[data-panel=\"result\"]" + } + ], + "viewport": [ + 1600, + 1260 + ] + }, + { + "name": "E07_01_soil_card", + "route": "#/e07-stab-area", + "project": "stab", + "before": [ + { + "wait": ".e07-map__canvas" + }, + { + "wait_ms": 1500 + } + ], + "clip": ".e07-panel > section:nth-of-type(1)", + "callouts": [ + { + "n": 1, + "sel": ".e07-panel > section:nth-of-type(1) select" + }, + { + "n": 2, + "sel": ".e07-panel > section:nth-of-type(1) input[data-key=\"c_root\"]" + }, + { + "n": 3, + "sel": ".e07-panel > section:nth-of-type(1) input[data-key=\"soil_depth_m\"]" + } + ] + }, + { + "name": "E07_02_rain_card", + "route": "#/e07-stab-area", + "project": "stab", + "before": [ + { + "wait": ".e07-map__canvas" + }, + { + "wait_ms": 1500 + } + ], + "clip": ".e07-panel > section:nth-of-type(2)", + "callouts": [ + { + "n": 1, + "sel": ".e07-panel > section:nth-of-type(2) select" + }, + { + "n": 2, + "sel": ".e07-panel > section:nth-of-type(2) input[data-key=\"tr_lo\"]" + } + ] + }, + { + "name": "E07_03_band_card", + "route": "#/e07-stab-area", + "project": "stab", + "before": [ + { + "wait": ".e07-map__canvas" + }, + { + "wait_ms": 1500 + } + ], + "clip": ".e07-panel > section:nth-of-type(3)", + "callouts": [ + { + "n": 1, + "sel": ".e07-panel > section:nth-of-type(3) input[data-key=\"band_m\"]" + }, + { + "n": 2, + "sel": ".e07-panel > section:nth-of-type(3) input[data-key=\"cell_m\"]" + }, + { + "n": 3, + "sel": ".e07-panel > section:nth-of-type(3) input[data-key=\"level_lo_pct\"]" + }, + { + "n": 4, + "sel": ".e07-panel > section:nth-of-type(3) input[data-key=\"level_hi_pct\"]" + } + ] + }, + { + "name": "E07_04_actions", + "route": "#/e07-stab-area", + "project": "stab", + "before": [ + { + "wait": ".e07-map__canvas" + }, + { + "wait_ms": 1500 + } + ], + "clip": ".e07-panel > .ui-sidebar-actions", + "callouts": [ + { + "n": 1, + "sel": ".e07-panel > .ui-sidebar-actions .ui-btn:nth-child(1)" + }, + { + "n": 2, + "sel": ".e07-panel > .ui-sidebar-actions .ui-btn:nth-child(2)" + }, + { + "n": 3, + "sel": ".e07-panel > .ui-sidebar-actions .ui-btn:nth-child(3)" + } + ] + }, + { + "name": "E07_05_progress", + "route": "#/e07-stab-area", + "project": "stab", + "before": [ + { + "wait": ".e07-map__canvas" + }, + { + "wait_ms": 1500 + }, + { + "eval": "(() => { const b = document.querySelector('.e07-progress-box'); b.hidden = false; b.querySelector('progress').value = 60; b.querySelector('.e07-progress__text').textContent = '해석 중 60%'; })()" + }, + { + "wait_ms": 300 + } + ], + "clip": ".e07-progress-box", + "callouts": [] + }, + { + "name": "E07_06_map_class", + "route": "#/e07-stab-area", + "project": "stab", + "before": [ + { + "wait": ".e07-map__canvas" + }, + { + "wait_ms": 1500 + } + ], + "clip": ".e07-center", + "callouts": [ + { + "n": 1, + "sel": ".e07-toggle .ui-btn[data-value=\"cls\"]" + }, + { + "n": 2, + "sel": ".e07-map__canvas" + }, + { + "n": 3, + "sel": ".e07-legend" + } + ] + }, + { + "name": "E07_07_map_fs", + "route": "#/e07-stab-area", + "project": "stab", + "before": [ + { + "wait": ".e07-map__canvas" + }, + { + "wait_ms": 1500 + }, + { + "click": ".e07-toggle .ui-btn[data-value=\"fs\"]" + }, + { + "wait_ms": 600 + } + ], + "clip": ".e07-center", + "callouts": [ + { + "n": 1, + "sel": ".e07-toggle .ui-btn[data-value=\"fs\"]" + }, + { + "n": 2, + "sel": ".e07-legend" + } + ] + }, + { + "name": "E07_08_map_tip", + "route": "#/e07-stab-area", + "project": "stab", + "before": [ + { + "wait": ".e07-map__canvas" + }, + { + "wait_ms": 1500 + }, + { + "hover": ".e07-map__canvas" + }, + { + "wait": ".e07-map__tip:not([hidden])" + } + ], + "clip": ".e07-map", + "callouts": [ + { + "n": 1, + "sel": ".e07-map__tip" + } + ] + }, + { + "name": "E07_09_legend_class", + "route": "#/e07-stab-area", + "project": "stab", + "before": [ + { + "wait": ".e07-map__canvas" + }, + { + "wait_ms": 1500 + } + ], + "clip": ".e07-legend-slot", + "callouts": [] + }, + { + "name": "E07_10_result_summary", + "route": "#/e07-stab-area", + "project": "stab", + "before": [ + { + "wait": ".e07-map__canvas" + }, + { + "wait_ms": 1500 + } + ], + "clip": ".e07-result .e07-summary", + "callouts": [ + { + "n": 1, + "sel": ".e07-summary dd[data-field=\"E07_Sum_FsMin\"]" + }, + { + "n": 2, + "sel": ".e07-summary dd[data-field=\"E07_Sum_Risk\"]" + }, + { + "n": 3, + "sel": ".e07-summary dd[data-field=\"E07_Sum_Levels\"]" + } + ] + }, + { + "name": "E07_11_result_areas", + "route": "#/e07-stab-area", + "project": "stab", + "before": [ + { + "wait": ".e07-map__canvas" + }, + { + "wait_ms": 1500 + } + ], + "clip": ".e07-areas", + "callouts": [ + { + "n": 1, + "sel": ".e07-areas tr:nth-child(2)" + } + ] + }, + { + "name": "E07_12_result_stations", + "route": "#/e07-stab-area", + "project": "stab", + "before": [ + { + "wait": ".e07-map__canvas" + }, + { + "wait_ms": 1500 + } + ], + "clip": ".e07-stations", + "callouts": [ + { + "n": 1, + "sel": ".e07-stations tr:nth-child(1)" + } + ] + }, + { + "name": "E07_13_station_pick", + "route": "#/e07-stab-area", + "project": "stab", + "before": [ + { + "wait": ".e07-map__canvas" + }, + { + "wait_ms": 1500 + }, + { + "click": ".e07-stations tr:nth-child(3)" + }, + { + "wait_ms": 700 + } + ], + "clip": ".e07-row", + "callouts": [ + { + "n": 1, + "sel": ".e07-stations tr.is-on" + }, + { + "n": 2, + "sel": ".e07-map__canvas" + } + ] + }, + { + "name": "E07_14_scenario_saturated", + "route": "#/e07-stab-area", + "project": "stab", + "before": [ + { + "wait": ".e07-map__canvas" + }, + { + "wait_ms": 1500 + }, + { + "select": ".e07-panel > section:nth-of-type(2) select", + "value": "saturated" + }, + { + "wait_ms": 400 + } + ], + "clip": ".e07-panel > section:nth-of-type(2)", + "callouts": [ + { + "n": 1, + "sel": ".e07-panel > section:nth-of-type(2) select" + } + ] + }, + { + "name": "E07_15_drawer", + "route": "#/e07-stab-area", + "project": "stab", + "viewport": [ + 1600, + 640 + ], + "before": [ + { + "wait": ".e07-map__canvas" + }, + { + "click": ".app-burger" + }, + { + "wait_ms": 900 + } + ], + "clip": ".app-drawer", + "clip_pad": 8, + "callouts": [ + { + "n": 1, + "sel": ".app-drawer__steps" + } + ] + } +] \ No newline at end of file