diff --git a/A05_EduDetail/guide/D01/00_설명서.md b/A05_EduDetail/guide/D01/00_설명서.md index aeaea5a69..d77fbd4ae 100644 --- a/A05_EduDetail/guide/D01/00_설명서.md +++ b/A05_EduDetail/guide/D01/00_설명서.md @@ -1,6 +1,6 @@ # 예정노선 등록 -여러 해에 걸친 예정노선의 기본 정보(사업 연도 · 지역 · 임도 종류 · 설계속도 · 이름)를 넣고 새 예정노선 프로젝트를 만드는 첫 화면. +여러 해에 걸친 예정노선의 새 프로젝트를 만드는 첫 화면. 시작 연도 · 사업 지역 · 이름 세 칸만 넣음. ## 여는 길 @@ -13,23 +13,19 @@ | 번호 | 구역 | 하는 일 | | --- | --- | --- | -| 1 | 사업 연도 시작 · 끝 | 사업 기간을 넣음. 한 해짜리면 두 칸을 같은 해로 둠 | -| 2 | 사업 지역 | 사업이 있는 지역 이름을 적음. 꼭 넣어야 하는 칸 | -| 3 | 임도 종류 · 설계속도 | 임도 종류를 고르면 옆 설계속도 목록이 따라 바뀜 | -| 4 | 프로젝트명 | 위 칸을 채우면 이름이 저절로 만들어짐. 직접 고쳐도 됨 | -| 5 | 노선 시작 · 종료 측점 | 거리(누가거리 m)로 넣으면 옆에 측점(`61+14.5`)이 보임. 비워 두어도 됨 | -| 6 | 단추 줄 | [?] 도움말 · [취소] 대시보드로 돌아감 · [등록] 프로젝트를 만듦 | +| 1 | 사업 연도 시작 | 사업 첫 해. 처음에는 올해가 들어 있음 | +| 2 | 사업 지역 | 사업이 있는 지역 이름. 꼭 넣어야 하는 칸 | +| 3 | 프로젝트명 | 위 두 칸을 채우면 「<시작 연도> <사업 지역> 노선 계획」으로 저절로 만들어짐. 직접 고쳐도 됨 | +| 4 | 단추 줄 | [?] 도움말 · [취소] 대시보드로 돌아감 · [등록] 프로젝트를 만듦 | ## 작업 순서 1. 대시보드 [+] → 「예정노선」 카드. [새 프로젝트 여는 길](D01/01_새_프로젝트_여는_길) 참고. -2. 사업 연도 시작 · 끝과 사업 지역을 넣음. [사업 연도 · 지역](D01/02_사업연도_지역) 참고. -3. 임도 종류와 설계속도를 고름. [임도 종류 · 설계속도](D01/03_임도종류_설계속도) 참고. -4. 프로젝트명을 확인함. [프로젝트명](D01/04_프로젝트명) 참고. -5. 필요하면 노선 시작 · 종료 측점을 넣음. [노선 시작 · 종료 측점](D01/05_누가거리) 참고. -6. [등록]을 누름. 문제가 있는 칸은 아래에 빨간 안내가 나옴. [입력 오류와 등록](D01/06_입력오류와_등록) 참고. -7. 등록되면 바로 다음 화면인 [기준 지정](D02/00_설명서)이 열림. +2. 시작 연도와 사업 지역을 넣음. [사업 연도 · 지역](D01/02_사업연도_지역) 참고. +3. 프로젝트명을 확인함. [프로젝트명](D01/03_프로젝트명) 참고. +4. [등록]을 누름. 문제가 있는 칸은 아래에 빨간 안내가 나옴. [입력 오류와 등록](D01/04_입력오류와_등록) 참고. +5. 등록되면 바로 다음 화면인 [기준 지정](D02/00_설명서)이 열림. -> 주의: 등록 직후에는 노선 위치가 비어 있음. 지점을 정하고 저장해야 분석 단계로 갈 수 있음. +> 주의: 등록 직후에는 시점 · 종점이 비어 있음. 두 점을 정하고 저장해야 노선 분석 단계로 갈 수 있음. -> 참고: 칸마다 뜻과 기본값은 [칸 뜻](D01/10_칸_뜻)에 있음. +> 참고: 사업 연도 끝 · 임도 종류 · 설계속도 · 측점은 이 화면에서 받지 않음. 끝 연도는 [노선 분석](D03/00_설명서)에서 구역마다 연도를 정하고 [저장]할 때 저절로 정해짐. 칸마다 뜻은 [칸 뜻](D01/10_칸_뜻)에 있음. diff --git a/A05_EduDetail/guide/D01/02_사업연도_지역.md b/A05_EduDetail/guide/D01/02_사업연도_지역.md index 52c3ba8d9..510599152 100644 --- a/A05_EduDetail/guide/D01/02_사업연도_지역.md +++ b/A05_EduDetail/guide/D01/02_사업연도_지역.md @@ -1,28 +1,26 @@ # 사업 연도 · 지역 -사업 기간(시작 · 끝 연도)과 사업 지역을 넣는 칸. +사업을 시작하는 해와 사업 지역을 넣는 칸. ## 여는 길 -- 예정노선 등록 화면 맨 위 줄 두 칸과 그 아래 「사업 지역」 칸. +- 예정노선 등록 화면 맨 위 「사업 연도 시작」과 그 옆 「사업 지역」 칸. ## 단계 | 단계 | 할 일 | | --- | --- | -| 1 | 「사업 연도 시작」에 첫 해를 넣음. 처음에는 올해가 들어 있음. | -| 2 | 「사업 연도 끝」에 마지막 해를 넣음. 한 해짜리 사업이면 시작과 같은 해. | -| 3 | 「사업 지역」에 지역 이름을 적음(예: 울진군 금강송면). 100 글자까지. | -| 4 | 「종류」 칸은 「노선 계획」으로 고정이라 고칠 수 없음. | +| 1 | 「사업 연도 시작」에 사업 첫 해를 넣음. 처음에는 올해가 들어 있음. | +| 2 | 「사업 지역」에 지역 이름을 적음(예: 울진군 금강송면). 100 글자까지. | -![사업 연도와 지역 입력](D01_02_year_region.webp) +![시작 연도와 사업 지역 입력](D01_02_year_region.webp) -그림 번호 — 1 사업 연도 시작 · 2 사업 연도 끝 · 3 사업 지역 · 4 종류(고정) +그림 번호 — 1 사업 연도 시작 · 2 사업 지역 ## 보이는 것 -- 연도를 바꾸면 아래 「프로젝트명」이 바로 따라 바뀜(예: 2027~2029 울진군 금강송면 간선임도). -- 연도는 2000 ~ 2100 안의 정수만 받음. 끝 연도가 시작 연도보다 앞이면 [등록] 때 안내가 나옴. [입력 오류와 등록](D01/06_입력오류와_등록) 참고. -- 연도 수 + 1 개의 지점이 다음 화면에서 필요함. 2027 ~ 2029 세 해면 지점 네 개. +- 두 칸을 바꾸면 아래 「프로젝트명」이 바로 따라 바뀜(예: 2027 울진군 금강송면 노선 계획). +- 연도는 2000 ~ 2100 안의 정수만 받음. +- 사업 연도 끝은 묻지 않음. 노선 분석에서 구역마다 연도를 고르고 [저장]하면 가장 늦은 연도가 끝 연도가 됨. -> 주의: 사업 연도는 등록 뒤에 [기준 지정](D02/00_설명서) 화면에서 바꿀 수 없음. 등록 전에 확인. +> 주의: 시작 연도는 등록 뒤에 바꾸는 화면이 없음. 등록 전에 확인. diff --git a/A05_EduDetail/guide/D01/03_임도종류_설계속도.md b/A05_EduDetail/guide/D01/03_임도종류_설계속도.md deleted file mode 100644 index 74546cc81..000000000 --- a/A05_EduDetail/guide/D01/03_임도종류_설계속도.md +++ /dev/null @@ -1,32 +0,0 @@ -# 임도 종류 · 설계속도 - -노선을 설계하는 기준이 되는 임도 종류와 속도를 고르는 칸. - -## 여는 길 - -- 예정노선 등록 화면 가운데 줄의 「임도 종류」 · 「설계속도」. - -## 단계 - -| 단계 | 할 일 | -| --- | --- | -| 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/03_프로젝트명.md similarity index 54% rename from A05_EduDetail/guide/D01/04_프로젝트명.md rename to A05_EduDetail/guide/D01/03_프로젝트명.md index 7c0274e38..80337789d 100644 --- a/A05_EduDetail/guide/D01/04_프로젝트명.md +++ b/A05_EduDetail/guide/D01/03_프로젝트명.md @@ -1,6 +1,6 @@ # 프로젝트명 -대시보드와 표에 보이는 프로젝트 이름. 칸을 채우면 저절로 만들어짐. +대시보드와 표에 보이는 프로젝트 이름. 시작 연도와 사업 지역을 넣으면 저절로 만들어짐. ## 여는 길 @@ -10,16 +10,16 @@ | 단계 | 할 일 | | --- | --- | -| 1 | 사업 연도 · 사업 지역 · 임도 종류를 넣으면 이름이 저절로 채워짐. | +| 1 | 시작 연도 · 사업 지역을 넣으면 이름이 저절로 채워짐. | | 2 | 다른 이름을 쓰고 싶으면 칸을 눌러 직접 고침. 255 글자까지, 비워 둘 수 없음. | -![프로젝트명 자동 채움](D01_04_name.webp) +![프로젝트명 자동 채움](D01_03_name.webp) -그림 번호 — 1 프로젝트명(사업 지역을 넣자 이름에 지역이 들어간 모습) +그림 번호 — 1 프로젝트명(시작 연도와 지역이 들어간 모습) ## 보이는 것 -- 이름 = 「사업 연도」 + 「사업 지역」 + 「임도 종류」를 띄어 이은 글. 연도가 여러 해이면 「2027~2029」 꼴, 한 해이면 해 하나만 들어감. +- 이름 = 「<시작 연도> <사업 지역> 노선 계획」. 예: 2027 울진군 금강송면 노선 계획. - 이름을 직접 고치기 전에는 위 칸을 바꿀 때마다 통째로 다시 만들어짐. - 직접 고친 뒤에는 위 칸을 바꿔도 자동으로 만든 조각만 새 값으로 바뀌고, 직접 넣은 글은 그대로 남음. 직접 지운 조각은 되살아나지 않음. diff --git a/A05_EduDetail/guide/D01/06_입력오류와_등록.md b/A05_EduDetail/guide/D01/04_입력오류와_등록.md similarity index 73% rename from A05_EduDetail/guide/D01/06_입력오류와_등록.md rename to A05_EduDetail/guide/D01/04_입력오류와_등록.md index 68395dbf4..55b314b88 100644 --- a/A05_EduDetail/guide/D01/06_입력오류와_등록.md +++ b/A05_EduDetail/guide/D01/04_입력오류와_등록.md @@ -15,11 +15,11 @@ | 3 | 문제가 없으면 프로젝트가 만들어지고 「프로젝트를 만들었습니다.」 알림과 함께 [기준 지정](D02/00_설명서) 화면이 열림. | | 4 | 등록하지 않고 나가려면 [취소]를 누름. 대시보드로 돌아감. | -![입력 오류 안내](D01_06_errors.webp) +![입력 오류 안내](D01_04_errors.webp) -그림 번호 — 1 끝 연도가 시작 연도보다 앞 · 2 사업 지역 비어 있음 · 3 종료 측점이 시작 이하 +그림 번호 — 1 시작 연도가 범위 밖 · 2 사업 지역 비어 있음 · 3 프로젝트명 비어 있음 -![단추 줄](D01_07_buttons.webp) +![단추 줄](D01_05_buttons.webp) 그림 번호 — 1 [?] 도움말 · 2 [취소] · 3 [등록] @@ -27,10 +27,8 @@ | 안내 | 뜻 | | --- | --- | -| 숫자 범위 안내 | 시작 연도가 2000 ~ 2100 밖 | -| 「끝 연도는 시작 연도와 같거나 뒤여야 합니다.」 | 끝 연도가 시작 연도보다 앞 | +| 「숫자 범위를 벗어났습니다」 | 시작 연도가 2000 ~ 2100 밖 | | 「필수 항목을 입력하세요.」 | 사업 지역 또는 프로젝트명이 빔 | -| 「종료 측점은 시작보다 커야 합니다.」 | 종료 값이 시작 값 이하 | - 산림청이 아닌 계정이거나 회사에 연결되지 않은 계정이면 서버가 「예정노선은 산림청만 만들 수 있습니다.」로 막고, 이 화면에 머묾. - 등록에 실패하면 서버가 알려 준 까닭이 알림으로 뜸. diff --git a/A05_EduDetail/guide/D01/05_누가거리.md b/A05_EduDetail/guide/D01/05_누가거리.md deleted file mode 100644 index 8b0622744..000000000 --- a/A05_EduDetail/guide/D01/05_누가거리.md +++ /dev/null @@ -1,27 +0,0 @@ -# 노선 시작 · 종료 측점 - -노선 시작과 끝의 측점을 미리 정해 두는 칸. 거리(누가거리, m)로 넣으면 칸 옆에 측점(No.+거리, 예 `61+14.5`)이 바로 보임. 비워 두어도 등록됨. - -## 여는 길 - -- 예정노선 등록 화면 맨 아래 「노선 시작 측점 (누가거리 m 입력)」 · 「노선 종료 측점 (누가거리 m 입력)」. - -## 단계 - -| 단계 | 할 일 | -| --- | --- | -| 1 | 노선 첫 지점의 거리(m)를 「노선 시작 측점」 칸에 넣음. 0 이상의 수. 칸 옆에 `= 측점` 이 바로 나옴. | -| 2 | 노선 끝에서 목표로 하는 거리(m)를 「노선 종료 측점」 칸에 넣음. 시작 값보다 커야 함. | -| 3 | 모르면 두 칸 모두 비워 둠. | - -![누가거리 입력](D01_05_chainage.webp) - -그림 번호 — 1 노선 시작 측점 · 2 노선 종료 측점 - -## 보이는 것 - -- 시작 값은 [노선 분석](D03/00_설명서) 화면의 측점 번호가 어디서부터 세는지를 정함. 비우면 0 부터. -- 종료 값은 분석을 마친 뒤 실제 이은 끝 누가와 비교해 「목표 · 차이」로 보임. -- 종료 값이 시작 값 이하이면 [등록] 때 「종료 측점은 시작보다 커야 합니다.」 안내가 나옴. - -> 참고: 누가거리 = 노선을 따라 잰 거리(m). 측점 = 20 m 마다 번호(No.)를 매기고 남는 거리를 더한 표기(1234.5 m = `61+14.5`). 저장되는 값은 m 그대로. diff --git a/A05_EduDetail/guide/D01/10_칸_뜻.md b/A05_EduDetail/guide/D01/10_칸_뜻.md index bc58a4a28..2085c6b31 100644 --- a/A05_EduDetail/guide/D01/10_칸_뜻.md +++ b/A05_EduDetail/guide/D01/10_칸_뜻.md @@ -7,34 +7,26 @@ | 칸 | 뜻 | 기본값 | 범위 · 규칙 | | --- | --- | --- | --- | | 사업 연도 시작 | 사업 첫 해 | 올해 | 2000 ~ 2100 의 정수 | -| 사업 연도 끝 | 사업 마지막 해 | 올해 | 시작 연도와 같거나 뒤여야 함 · 2100 까지 | | 사업 지역 | 사업이 있는 지역 이름 | 비어 있음 | 필수 · 글자 100 자까지 · 예: 울진군 금강송면 | -| 종류 | 프로젝트 종류 | 「노선 계획」 | 고정 · 고칠 수 없음 | -| 임도 종류 | 간선임도 · 산불진화임도 · 작업임도 중 하나 | 간선임도(목록 맨 위) | 설계속도 선택지와 이름 조합에 쓰임 | -| 설계속도 | 노선을 설계하는 기준 속도 | 20 km/h | 아래 표 참조 | -| 프로젝트명 | 대시보드에 보이는 이름 | 자동 조합 | 필수 · 글자 255 자까지 | -| 노선 시작 측점 (누가거리 m 입력) | 노선 첫 지점의 거리(m) · 옆에 측점 표기 | 비어 있음 | 0 이상 · 선택 | -| 노선 종료 측점 (누가거리 m 입력) | 노선 끝 지점의 계획 목표 거리(m) · 옆에 측점 표기 | 비어 있음 | 시작 값보다 커야 함 · 선택 | +| 프로젝트명 | 대시보드에 보이는 이름 | 「<시작 연도> <사업 지역> 노선 계획」 자동 | 필수 · 글자 255 자까지 | -## 설계속도 선택지 -| 임도 종류 | 고를 수 있는 값 | +## 이 화면에서 받지 않는 값 + +| 값 | 어디서 정해지나 | | --- | --- | -| 간선임도 | 20 · 30 · 40 km/h | -| 산불진화임도 | 20 · 30 · 40 km/h | -| 작업임도 | 20 km/h 만 | - -- 임도 종류를 바꾸면 설계속도 목록이 바뀌고 값이 가장 낮은 값(20 km/h)으로 돌아감. -- 임도설계(B 그룹)와 같은 기준이며, 허용되지 않는 값이 서버에 오면 20 km/h 로 처리함. +| 사업 연도 끝 | [노선 분석](D03/00_설명서)에서 구역마다 연도를 고르고 [저장]하면 가장 늦은 연도로 정해짐 | +| 임도 종류 · 설계속도 | 받지 않음. [확정 · 내보내기](D04/00_설명서) 뒤 업체가 임도 프로젝트로 연결하면 임도설계 기본값(작업임도 · 20 km/h)으로 시작하고, 임도 프로젝트에서 바꿈 | +| 노선 시작 · 종료 측점 | 받지 않음. 측점은 선마다 No.0 부터 새로 셈 | +| 시점 · 종점 | [기준 지정](D02/00_설명서)에서 지도로 정함 | ## 프로젝트명 자동 조합 -- 「사업 연도」 · 「사업 지역」 · 「임도 종류」 를 띄어 이어 붙임. 예: 2026~2028 울진군 금강송면 간선임도 -- 연도가 여러 해이면 「시작~끝」 꼴이고, 한 해이면 해 하나만 들어감. + +- 「시작 연도」 · 「사업 지역」을 띄어 이어 붙이고 뒤에 「노선 계획」을 붙임. 예: 2027 울진군 금강송면 노선 계획. - 이름을 직접 고치기 전에는 위 칸을 바꿀 때마다 통째로 다시 만들어짐. - 이름을 고친 뒤에는 위 칸이 바뀌어도 자동 조각이 차지한 부분만 새 값으로 바뀌고, 직접 넣은 글은 그대로 남음. 직접 지운 조각은 되살아나지 않음. ## 입력 오류 안내 + - 시작 연도가 2000 ~ 2100 밖이면 숫자 범위 안내가 나옴. -- 끝 연도가 시작보다 앞이면 「끝 연도는 시작 연도와 같거나 뒤여야 합니다.」 가 나옴. - 지역이나 이름이 비면 필수 입력 안내가 나옴. -- 종료 측점이 시작 이하이면 「종료 측점은 시작보다 커야 합니다.」 가 나옴. - 산림청이 아닌 계정으로 등록하면 서버가 「예정노선은 산림청만 만들 수 있습니다.」 로 막음. 회사에 연결되지 않은 계정도 막힘. diff --git a/A05_EduDetail/guide/D01/D01_00_overview.webp b/A05_EduDetail/guide/D01/D01_00_overview.webp index 9707fa0a9..bfcf39614 100644 Binary files a/A05_EduDetail/guide/D01/D01_00_overview.webp 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 index 21d20e014..8c1972cfe 100644 Binary files a/A05_EduDetail/guide/D01/D01_01_dashboard_new.webp 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 index cc953138b..bf692ba5e 100644 Binary files a/A05_EduDetail/guide/D01/D01_02_year_region.webp and b/A05_EduDetail/guide/D01/D01_02_year_region.webp differ diff --git a/A05_EduDetail/guide/D01/D01_03_name.webp b/A05_EduDetail/guide/D01/D01_03_name.webp new file mode 100644 index 000000000..f7e763d9c Binary files /dev/null and b/A05_EduDetail/guide/D01/D01_03_name.webp differ diff --git a/A05_EduDetail/guide/D01/D01_03_type_speed.webp b/A05_EduDetail/guide/D01/D01_03_type_speed.webp deleted file mode 100644 index 586198f38..000000000 Binary files a/A05_EduDetail/guide/D01/D01_03_type_speed.webp and /dev/null differ diff --git a/A05_EduDetail/guide/D01/D01_04_errors.webp b/A05_EduDetail/guide/D01/D01_04_errors.webp new file mode 100644 index 000000000..4c0494fd7 Binary files /dev/null and b/A05_EduDetail/guide/D01/D01_04_errors.webp differ diff --git a/A05_EduDetail/guide/D01/D01_04_name.webp b/A05_EduDetail/guide/D01/D01_04_name.webp deleted file mode 100644 index db412ca72..000000000 Binary files a/A05_EduDetail/guide/D01/D01_04_name.webp and /dev/null differ diff --git a/A05_EduDetail/guide/D01/D01_05_buttons.webp b/A05_EduDetail/guide/D01/D01_05_buttons.webp new file mode 100644 index 000000000..e5c9a06e6 Binary files /dev/null and b/A05_EduDetail/guide/D01/D01_05_buttons.webp differ diff --git a/A05_EduDetail/guide/D01/D01_05_chainage.webp b/A05_EduDetail/guide/D01/D01_05_chainage.webp deleted file mode 100644 index 72828e43f..000000000 Binary files a/A05_EduDetail/guide/D01/D01_05_chainage.webp and /dev/null differ diff --git a/A05_EduDetail/guide/D01/D01_06_errors.webp b/A05_EduDetail/guide/D01/D01_06_errors.webp deleted file mode 100644 index f5bd3b8fe..000000000 Binary files a/A05_EduDetail/guide/D01/D01_06_errors.webp and /dev/null differ diff --git a/A05_EduDetail/guide/D01/D01_07_buttons.webp b/A05_EduDetail/guide/D01/D01_07_buttons.webp deleted file mode 100644 index cd0e9b624..000000000 Binary files a/A05_EduDetail/guide/D01/D01_07_buttons.webp and /dev/null differ diff --git a/A05_EduDetail/guide/D01/_scenes.json b/A05_EduDetail/guide/D01/_scenes.json index 020ba9eeb..565de0e68 100644 --- a/A05_EduDetail/guide/D01/_scenes.json +++ b/A05_EduDetail/guide/D01/_scenes.json @@ -1,10 +1,8 @@ [ - {"name":"D01_00_overview","route":"#/d01-plan-register","project":"none","before":[{"wait":".ui-form-grid"},{"wait_ms":600}],"clip":null,"callouts":[{"n":1,"sel":".ui-form-grid > .ui-field:nth-child(1)"},{"n":2,"sel":".ui-form-grid > .ui-field:nth-child(3)"},{"n":3,"sel":".ui-form-grid > .ui-field:nth-child(5)"},{"n":4,"sel":".ui-form-grid > .ui-field:nth-child(7)"},{"n":5,"sel":".ui-form-grid > .ui-field:nth-child(8)"},{"n":6,"sel":".ui-general-block__actions--end","pos":"br"}]}, + {"name":"D01_00_overview","route":"#/d01-plan-register","project":"none","before":[{"wait":".ui-form-grid"},{"wait_ms":500}],"clip":".ui-card--raised","callouts":[{"n":1,"sel":".ui-form-grid > .ui-field:nth-child(1)"},{"n":2,"sel":".ui-form-grid > .ui-field:nth-child(2)"},{"n":3,"sel":".ui-form-grid > .ui-field:nth-child(3)"},{"n":4,"sel":".ui-general-block__actions--end","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":".ui-form-grid"},{"fill":".ui-form-grid > .ui-field:nth-child(1) input","value":"2027"},{"fill":".ui-form-grid > .ui-field:nth-child(2) input","value":"2029"},{"fill":".ui-form-grid > .ui-field:nth-child(3) input","value":"울진군 금강송면"},{"wait_ms":400}],"clip":".ui-form-grid","callouts":[{"n":1,"sel":".ui-form-grid > .ui-field:nth-child(1)"},{"n":2,"sel":".ui-form-grid > .ui-field:nth-child(2)"},{"n":3,"sel":".ui-form-grid > .ui-field:nth-child(3)"},{"n":4,"sel":".ui-form-grid > .ui-field:nth-child(4)"}]}, - {"name":"D01_03_type_speed","route":"#/d01-plan-register","project":"none","before":[{"wait":".ui-form-grid"},{"select":".ui-form-grid > .ui-field:nth-child(6) select","value":"40"},{"wait_ms":400}],"clip":".ui-form-grid","callouts":[{"n":1,"sel":".ui-form-grid > .ui-field:nth-child(5)"},{"n":2,"sel":".ui-form-grid > .ui-field:nth-child(6)"}]}, - {"name":"D01_04_name","route":"#/d01-plan-register","project":"none","before":[{"wait":".ui-form-grid"},{"fill":".ui-form-grid > .ui-field:nth-child(3) input","value":"울진군 금강송면"},{"wait_ms":400}],"clip":".ui-form-grid","callouts":[{"n":1,"sel":".ui-form-grid > .ui-field:nth-child(7)"}]}, - {"name":"D01_05_chainage","route":"#/d01-plan-register","project":"none","before":[{"wait":".ui-form-grid"},{"fill":".ui-form-grid > .ui-field:nth-child(8) input","value":"0"},{"fill":".ui-form-grid > .ui-field:nth-child(9) input","value":"1100"},{"wait_ms":400}],"clip":".ui-form-grid","callouts":[{"n":1,"sel":".ui-form-grid > .ui-field:nth-child(8)"},{"n":2,"sel":".ui-form-grid > .ui-field:nth-child(9)"}]}, - {"name":"D01_06_errors","route":"#/d01-plan-register","project":"none","before":[{"wait":".ui-form-grid"},{"fill":".ui-form-grid > .ui-field:nth-child(1) input","value":"2029"},{"fill":".ui-form-grid > .ui-field:nth-child(2) input","value":"2027"},{"fill":".ui-form-grid > .ui-field:nth-child(8) input","value":"500"},{"fill":".ui-form-grid > .ui-field:nth-child(9) input","value":"100"},{"click":".ui-general-block__actions--end button:last-child"},{"wait":".ui-field__error.is-visible"},{"wait_ms":400}],"clip":".ui-form-grid","callouts":[{"n":1,"sel":".ui-form-grid > .ui-field:nth-child(2)"},{"n":2,"sel":".ui-form-grid > .ui-field:nth-child(3)"},{"n":3,"sel":".ui-form-grid > .ui-field:nth-child(9)"}]}, - {"name":"D01_07_buttons","route":"#/d01-plan-register","project":"none","before":[{"wait":".ui-general-block__actions--end"}],"clip":".ui-general-block__actions--end","callouts":[{"n":1,"sel":".ui-general-block__actions--end button:nth-child(1)"},{"n":2,"sel":".ui-general-block__actions--end button:nth-child(2)"},{"n":3,"sel":".ui-general-block__actions--end button:nth-child(3)"}]} + {"name":"D01_02_year_region","route":"#/d01-plan-register","project":"none","before":[{"wait":".ui-form-grid"},{"wait_ms":500},{"fill":".ui-form-grid > .ui-field:nth-child(1) input","value":"2027"},{"fill":".ui-form-grid > .ui-field:nth-child(2) input","value":"울진군 금강송면"},{"wait_ms":400}],"clip":".ui-form-grid","callouts":[{"n":1,"sel":".ui-form-grid > .ui-field:nth-child(1)"},{"n":2,"sel":".ui-form-grid > .ui-field:nth-child(2)"}]}, + {"name":"D01_03_name","route":"#/d01-plan-register","project":"none","before":[{"wait":".ui-form-grid"},{"wait_ms":500},{"fill":".ui-form-grid > .ui-field:nth-child(1) input","value":"2027"},{"fill":".ui-form-grid > .ui-field:nth-child(2) input","value":"울진군 금강송면"},{"wait_ms":400}],"clip":".ui-form-grid","callouts":[{"n":1,"sel":".ui-form-grid > .ui-field:nth-child(3)"}]}, + {"name":"D01_04_errors","route":"#/d01-plan-register","project":"none","before":[{"wait":".ui-form-grid"},{"wait_ms":500},{"fill":".ui-form-grid > .ui-field:nth-child(1) input","value":"1999"},{"fill":".ui-form-grid > .ui-field:nth-child(3) input","value":""},{"click":".ui-general-block__actions--end button:last-child"},{"wait":".ui-field__error.is-visible"},{"wait_ms":400}],"clip":".ui-form-grid","callouts":[{"n":1,"sel":".ui-form-grid > .ui-field:nth-child(1)"},{"n":2,"sel":".ui-form-grid > .ui-field:nth-child(2)"},{"n":3,"sel":".ui-form-grid > .ui-field:nth-child(3)"}]}, + {"name":"D01_05_buttons","route":"#/d01-plan-register","project":"none","before":[{"wait":".ui-general-block__actions--end"}],"clip":".ui-general-block__actions--end","callouts":[{"n":1,"sel":".ui-general-block__actions--end button:nth-child(1)"},{"n":2,"sel":".ui-general-block__actions--end button:nth-child(2)"},{"n":3,"sel":".ui-general-block__actions--end button:nth-child(3)"}]} ] diff --git a/A05_EduDetail/guide/D02/00_설명서.md b/A05_EduDetail/guide/D02/00_설명서.md index c10ed9fbf..994708646 100644 --- a/A05_EduDetail/guide/D02/00_설명서.md +++ b/A05_EduDetail/guide/D02/00_설명서.md @@ -1,13 +1,13 @@ # 기준 지정 -예정노선 1단계. 사업 연도마다 노선의 시점과 종점을 지도 위에 정하는 화면. +예정노선 1단계. 사업 전체의 시점과 종점, 두 점을 지도 위에 정하는 화면. 연도는 나누지 않음. ## 여는 길 - [예정노선 등록](D01/00_설명서)에서 [등록]을 누르면 바로 열림. - 대시보드 프로젝트 표에서 예정노선 줄의 단계 막대 「기준 지정」을 눌러도 열림. -- 이미 만든 예정노선은 어느 단계 화면에서든 ☰ 에서 「기준 지정」을 골라 돌아옴. [단계 이동 메뉴](D02/05_단계_이동_메뉴) 참고. -- 지점 저장은 산림청만 할 수 있음. 지정받은 다른 회사는 보기만 가능하며 저장하면 「예정노선 지점은 산림청만 고칠 수 있습니다.」 안내로 막힘. +- 이미 만든 예정노선은 어느 단계 화면에서든 ☰ 에서 「기준 지정」을 골라 돌아옴. [단계 이동 메뉴](D02/06_단계_이동_메뉴) 참고. +- 두 점 저장은 산림청만 할 수 있음. 지정받은 다른 회사는 보기만 가능함. ![화면 한눈에](D02_00_overview.webp) @@ -15,20 +15,20 @@ | 번호 | 구역 | 하는 일 | | --- | --- | --- | -| 1 | 제목 줄 | 단계 이름(기준 지정)과 프로젝트 이름. 왼쪽 ☰ 로 진행 단계 메뉴를 엶 | -| 2 | 「연도 지점」 표 | 지점마다 줄 하나. 📍 · 경도 · 위도 칸이 있음 | -| 3 | 안내 글 | 지점을 놓는 법 한 줄 안내 | -| 4 | 지도 | 지점 표지와 연도별 선이 그려짐. 지도를 눌러 지점을 놓고, 표지를 끌어 옮김 | -| 5 | 단추 줄 | [?] 가이드 · [<] 이전 · [>] 다음 · [저장] | +| 1 | 「전체 시점 · 종점」 카드 | 시점 · 종점 두 줄. 📍 · 경도 · 위도 칸이 있음 | +| 2 | [일반] [위성] 단추 | 바탕 지도를 바꿈. 고른 값은 기억됨 | +| 3 | 지도 | 시점 · 종점 표지와 둘을 잇는 선이 보임. 지도를 눌러 점을 놓고, 표지를 끌어 옮김 | +| 4 | 단추 줄 | [?] 가이드 · [<] 이전 · [>] 다음 · [저장] | ## 작업 순서 -1. 화면이 열리면 지점 줄이 사업 연도 수 + 1 개 나타남. 예: 2027 ~ 2029 세 해이면 네 줄. [연도 지점 표](D02/01_연도_지점_표) 참고. -2. 놓을 지점이 줄에서 강조되어 있음. 지도를 눌러 그 지점을 놓음. [지도에서 지점 놓기](D02/02_지도에서_지점_놓기) 참고. +1. 화면이 열리면 시점과 종점 두 줄이 있음. 비어 있는 첫 줄이 놓을 점으로 강조됨. [시점 · 종점 표](D02/01_시점_종점_표) 참고. +2. 지도에서 시점이 될 자리를 누름. 다음으로 종점 자리를 누름. [지도에서 지점 놓기](D02/02_지도에서_지점_놓기) 참고. 3. 놓은 뒤 고치려면 표지를 끌어 옮기거나 경도 · 위도 칸에 값을 직접 넣음. [좌표 직접 입력](D02/03_좌표_직접_입력) 참고. -4. 모든 줄이 채워지면 연도마다 다른 색의 선이 지점 사이를 이음. -5. [저장] 또는 [>]를 누름. [단추와 저장](D02/04_단추와_저장) 참고. +4. 지형이 헷갈리면 [위성]으로 바꿔 봄. [일반 · 위성 지도](D02/04_일반_위성) 참고. +5. [저장] 또는 [>]를 누름. [단추와 저장](D02/05_단추와_저장) 참고. +6. 노선 분석 화면이 열리면 이 두 점 사이를 직접 그어 감. [노선 분석](D03/00_설명서) 참고. -> 주의: 서버에는 [저장] 이나 [>]를 눌러야 반영됨. 자동 저장은 없음. +> 주의: 서버에는 [저장]이나 [>]를 눌러 저장하거나, 다른 단계로 옮겨 갈 때 저장되어야 반영됨. 화면 안에서 점을 놓기만 해서는 서버에 남지 않음. -> 참고: 저장하지 않고 고친 값은 같은 브라우저 탭 안에서는 화면을 다시 열어도 남아 있음. +> 참고: 연도는 이 화면에서 나누지 않음. 노선 분석에서 그은 선에 구역을 나누고 구역마다 연도를 고름. diff --git a/A05_EduDetail/guide/D02/01_시점_종점_표.md b/A05_EduDetail/guide/D02/01_시점_종점_표.md new file mode 100644 index 000000000..29fabd0dd --- /dev/null +++ b/A05_EduDetail/guide/D02/01_시점_종점_표.md @@ -0,0 +1,32 @@ +# 시점 · 종점 표 + +왼쪽 패널의 「전체 시점 · 종점」 카드. 점마다 줄 하나로 이름 · 📍 · 경도 · 위도를 보여 줌. + +## 여는 길 + +- 기준 지정 화면 왼쪽 패널 맨 위의 「전체 시점 · 종점」 카드. 제목 오른쪽 ▼ 를 누르면 접고 펼침. + +![시점 · 종점 표](D02_01_points_table.webp) + +그림 번호 — 1 안내 글 · 2 시점 줄 · 3 📍 단추 · 4 경도 칸 · 5 위도 칸 · 6 저장 좌표계 줄 + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 두 줄 중 「시점」이 노선 전체의 출발점, 「종점」이 도착점. | +| 2 | 줄 왼쪽 띠로 지금 놓을 점인지 확인. 📍 를 누른 줄이 강조됨. | +| 3 | 값을 고치는 방법은 [지도에서 지점 놓기](D02/02_지도에서_지점_놓기) · [좌표 직접 입력](D02/03_좌표_직접_입력) 참고. | + +## 보이는 것 + +| 줄 이름 | 뜻 | +| --- | --- | +| 시점 | 노선 전체의 출발점. 노선 분석에서 첫 점을 이 자리에서 시작함 | +| 종점 | 노선 전체의 도착점. 노선 분석에서 이 점 가까이 가면 선이 종점에 붙음 | + +- 표 아래 한 줄 = 저장 상태. 저장 전이면 「아직 저장 안 함」, 저장했으면 「저장 좌표계 EPSG:번호」와 시점의 X · Y(m). +- 산림청이 아닌 계정은 📍 단추가 안 보이고 칸이 잠겨 있음. 보기만 가능. +- 옛 프로젝트처럼 두 점이 비어 있어도 연도별 지점이 있었다면 첫 연도 시점과 마지막 연도 종점을 이어 두 점으로 접어 보여 줌. + +> 참고: 칸마다 뜻과 규칙은 [칸 뜻](D02/10_칸_뜻)에 있음. 좌표계가 정해지는 방법은 [쓰인 방법과 근거](D02/20_쓰인_방법과_근거) 참고. diff --git a/A05_EduDetail/guide/D02/01_연도_지점_표.md b/A05_EduDetail/guide/D02/01_연도_지점_표.md deleted file mode 100644 index d8baae2e5..000000000 --- a/A05_EduDetail/guide/D02/01_연도_지점_표.md +++ /dev/null @@ -1,33 +0,0 @@ -# 연도 지점 표 - -왼쪽 패널의 「연도 지점」 카드. 지점마다 줄 하나로 이름 · 📍 · 경도 · 위도를 보여 줌. - -## 여는 길 - -- 기준 지정 화면 왼쪽 패널 맨 위의 「연도 지점」 카드. 제목 오른쪽 ▼ 를 누르면 접고 펼침. - -![연도 지점 표](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 index ce7459eb2..441bb7b67 100644 --- a/A05_EduDetail/guide/D02/02_지도에서_지점_놓기.md +++ b/A05_EduDetail/guide/D02/02_지도에서_지점_놓기.md @@ -1,12 +1,12 @@ # 지도에서 지점 놓기 -지도를 눌러 지점을 놓고, 놓은 표지를 끌어 옮기는 방법. +지도를 눌러 시점 · 종점을 놓고, 놓은 표지를 끌어 옮기는 방법. ## 여는 길 -- 기준 지정 화면 가운데 지도와 왼쪽 「연도 지점」 표의 📍 단추. +- 기준 지정 화면 가운데 지도와 왼쪽 「전체 시점 · 종점」 카드의 📍 단추. -![연도별 선이 그려진 지도](D02_02_year_colors.webp) +![시점과 종점을 이은 지도](D02_02_map.webp) 그림 번호 — 1 지도 위 안내 글 @@ -14,26 +14,26 @@ | 단계 | 할 일 | | --- | --- | -| 1 | 놓을 지점을 고름. 화면이 열리면 비어 있는 첫 줄이 자동으로 골라져 강조됨. 다른 줄에 놓으려면 그 줄의 📍 를 누름. | +| 1 | 놓을 점을 고름. 화면이 열리면 비어 있는 첫 줄이 자동으로 골라져 강조됨. 다른 줄에 놓으려면 그 줄의 📍 를 누름. | | 2 | 지도에서 놓을 자리를 누름. 그 자리에 표지가 놓이고 표의 경도 · 위도가 채워짐. | -| 3 | 놓고 나면 다음 빈 지점이 자동으로 놓을 지점이 됨. | +| 3 | 놓고 나면 다음 빈 점이 자동으로 놓을 점이 됨. | | 4 | 놓은 뒤 고치려면 표지를 마우스로 끌어 옮김. 표의 값이 따라 바뀜. | | 5 | 지도는 빈 곳을 끌어 옮기고 휠로 확대 · 축소함. | ![놓을 지점으로 고른 줄](D02_03_pick_point.webp) -그림 번호 — 1 📍 단추 · 2 강조된 줄(놓을 지점) +그림 번호 — 1 📍 단추 · 2 강조된 줄(놓을 점) -![지점을 고르지 않고 지도를 누른 모습](D02_04_map_toast.webp) +![점을 고르지 않고 지도를 누른 모습](D02_04_map_toast.webp) 그림 번호 — 1 「지도에 놓을 지점 고르기」 안내 ## 보이는 것 -- 지점이 모두 놓이면 연도마다 다른 색의 선이 지점 사이를 이음. 표지 위에는 지점 이름이 붙음. -- 놓을 지점을 고르지 않고 지도를 누르면 「지도에 놓을 지점 고르기」 안내가 나오고 아무것도 놓이지 않음. -- 지점이 하나도 없으면 우리나라 가운데쯤이 먼저 보임. 처음 한 점을 놓으면 그 점에 맞춰 보이고, 그 뒤로는 사용자가 맞춘 보기(중심 · 확대)를 그대로 둠. +- 두 점이 모두 놓이면 둘 사이에 선이 이어짐. 표지 위에는 「시점」 · 「종점」 이름이 붙음. +- 놓을 점을 고르지 않고 지도를 누르면 「지도에 놓을 지점 고르기」 안내가 나오고 아무것도 놓이지 않음. +- 점이 하나도 없으면 우리나라 가운데쯤이 먼저 보임. 처음 점을 놓으면 그 점에 맞춰 보이고, 그 뒤로는 사용자가 맞춘 보기(중심 · 확대)를 그대로 둠. - 지도는 카카오맵을 씀. - 산림청이 아닌 계정은 지도를 눌러도 놓이지 않고 표지도 끌 수 없음. 지도 위 안내 글이 「보기 전용 — 지점은 산림청만 고칩니다.」로 바뀜. -> 주의: 놓은 지점은 [저장] 이나 [>]를 누르기 전까지 서버에 남지 않음. [단추와 저장](D02/04_단추와_저장) 참고. +> 주의: 놓은 점은 [저장]이나 [>]를 누르거나 다른 단계로 옮겨 가기 전까지 서버에 남지 않음. [단추와 저장](D02/05_단추와_저장) 참고. diff --git a/A05_EduDetail/guide/D02/03_좌표_직접_입력.md b/A05_EduDetail/guide/D02/03_좌표_직접_입력.md index 149b302b7..e93bedc3b 100644 --- a/A05_EduDetail/guide/D02/03_좌표_직접_입력.md +++ b/A05_EduDetail/guide/D02/03_좌표_직접_입력.md @@ -4,7 +4,7 @@ ## 여는 길 -- 왼쪽 「연도 지점」 표의 줄마다 있는 경도 · 위도 두 칸. +- 왼쪽 「전체 시점 · 종점」 카드의 줄마다 있는 경도 · 위도 두 칸. ## 단계 @@ -12,7 +12,7 @@ | --- | --- | | 1 | 고칠 줄의 경도 칸에 값을 넣음. | | 2 | 위도 칸에도 값을 넣고 칸 밖을 누르거나 Tab 키를 누름. | -| 3 | 두 값이 범위 안이면 지점이 옮겨지고 지도 표지가 따라 움직임. | +| 3 | 두 값이 범위 안이면 점이 옮겨지고 지도 표지가 따라 움직임. | | 4 | 범위 밖이면 두 칸이 빨갛게 표시되고 반영되지 않음. 값을 고쳐 다시 넣음. | ![범위 밖 값 안내](D02_05_coordinate_error.webp) diff --git a/A05_EduDetail/guide/D02/04_단추와_저장.md b/A05_EduDetail/guide/D02/04_단추와_저장.md deleted file mode 100644 index 4464b370c..000000000 --- a/A05_EduDetail/guide/D02/04_단추와_저장.md +++ /dev/null @@ -1,33 +0,0 @@ -# 단추와 저장 - -왼쪽 패널 맨 아래 단추 줄 — [?] · [<] · [>] · [저장]과 저장 때 일어나는 일. - -## 여는 길 - -- 기준 지정 화면 왼쪽 패널 맨 아래. - -![단추 줄](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/04_일반_위성.md b/A05_EduDetail/guide/D02/04_일반_위성.md new file mode 100644 index 000000000..2f47abb63 --- /dev/null +++ b/A05_EduDetail/guide/D02/04_일반_위성.md @@ -0,0 +1,27 @@ +# 일반 · 위성 지도 + +지도 오른쪽 위 [일반] [위성] 단추로 바탕 지도를 바꾸는 방법. + +## 여는 길 + +- 기준 지정 화면 지도 오른쪽 위 두 칸짜리 단추. + +![일반 · 위성 단추](D02_08_map_type.webp) + +그림 번호 — 1 [일반] [위성] 단추(위성을 고른 모습) + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | [위성]을 누르면 위성 사진 위에 지명이 겹쳐 보이는 지도로 바뀜. | +| 2 | 도로 · 하천 이름을 보고 싶으면 [일반]을 누름. | +| 3 | 바꿔도 놓은 점 · 선은 그대로 있음. | + +## 보이는 것 + +- 고른 값은 이 컴퓨터의 화면 취향으로 기억되어, 다음에 열어도 같은 지도로 열림. +- 두 지도 모두 카카오맵이며, 위성은 지명이 함께 나오는 종류임. +- 바탕 지도는 점을 놓는 데 도움을 주는 용도이며 저장되는 값과는 상관 없음. + +> 참고: 노선 분석 화면의 바탕은 이 지도가 아니라 받은 위성 사진과 등고선임. [노선 분석](D03/00_설명서) 참고. diff --git a/A05_EduDetail/guide/D02/05_단추와_저장.md b/A05_EduDetail/guide/D02/05_단추와_저장.md new file mode 100644 index 000000000..e9bea838e --- /dev/null +++ b/A05_EduDetail/guide/D02/05_단추와_저장.md @@ -0,0 +1,31 @@ +# 단추와 저장 + +왼쪽 패널 맨 아래 단추 줄 — [?] · [<] · [>] · [저장]과 저장 때 일어나는 일. + +## 여는 길 + +- 기준 지정 화면 왼쪽 패널 맨 아래. + +![단추 줄](D02_06_buttons.webp) + +그림 번호 — 1 [?] 가이드 · 2 [<] 이전 단계(첫 단계라 흐림) · 3 [>] 다음 단계 · 4 [저장] + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 시점과 종점을 모두 채움. | +| 2 | [저장]을 누름. 두 점이 서버에 저장되고 「지점을 저장했습니다.」 알림이 뜸. | +| 3 | 바로 다음 단계로 가려면 [>]를 누름. 바뀐 것이 있으면 저장한 뒤 [노선 분석](D03/00_설명서) 화면이 열림. | +| 4 | 저장하지 못하면(예: 점이 비어 있음) 이 화면에 머묾. | + +## 보이는 것 + +- 저장하면 표 아래 한 줄이 「저장 좌표계 EPSG:번호」와 시점의 X · Y(m)로 바뀜. +- 다른 단계로 옮길 때(단계 아이콘 · [<] · [>] · 머리 ☰ 메뉴 · 브라우저 뒤로) 고친 것이 있으면 묻지 않고 저장한 뒤 옮겨 감. 저장이 실패하면 옮기지 않고 머묾. +- 산림청이 아닌 계정은 [저장]이 안 보이고, [>]는 저장 없이 그냥 다음 화면으로 감. +- 이미 노선 분석에서 그은 선은 두 점을 옮겨 저장해도 지우지 않음. + +> 주의: 두 점의 평균 경도가 126° 나 128° 선을 넘게 옮기면 저장 좌표계가 바뀜. 자세한 내용은 [쓰인 방법과 근거](D02/20_쓰인_방법과_근거) 참고. + +> 참고: 연도 범위는 이 화면에서 다루지 않음. 노선 분석에서 구역마다 연도를 고름. diff --git a/A05_EduDetail/guide/D02/05_단계_이동_메뉴.md b/A05_EduDetail/guide/D02/06_단계_이동_메뉴.md similarity index 83% rename from A05_EduDetail/guide/D02/05_단계_이동_메뉴.md rename to A05_EduDetail/guide/D02/06_단계_이동_메뉴.md index 5e2b919cb..3535ccd54 100644 --- a/A05_EduDetail/guide/D02/05_단계_이동_메뉴.md +++ b/A05_EduDetail/guide/D02/06_단계_이동_메뉴.md @@ -24,4 +24,4 @@ - 단계는 기준 지정 → 노선 분석 → 확정 · 내보내기 순. - 메뉴 아래에는 홈페이지 바로가기 · 언어 · 테마 · 로그아웃이 같이 있음. -> 주의: 지점을 고치고 저장하지 않은 채 다른 단계로 가면 서버에는 저장되지 않음. 먼저 [저장]을 누를 것. +> 참고: 기준 지정에서 점을 고친 채 메뉴로 다른 단계에 가도 묻지 않고 저장한 뒤 옮겨 감. 저장이 실패하면 이 화면에 머묾. diff --git a/A05_EduDetail/guide/D02/10_칸_뜻.md b/A05_EduDetail/guide/D02/10_칸_뜻.md index 2fb587514..a7d3eb0ff 100644 --- a/A05_EduDetail/guide/D02/10_칸_뜻.md +++ b/A05_EduDetail/guide/D02/10_칸_뜻.md @@ -1,14 +1,14 @@ # 칸 뜻 -![연도 지점 표](D02_01_points_table.webp) +![시점 · 종점 표](D02_01_points_table.webp) -그림 번호는 [연도 지점 표](D02/01_연도_지점_표)와 같음. +그림 번호는 [시점 · 종점 표](D02/01_시점_종점_표)와 같음. -## 왼쪽 「연도 지점」 표 +## 왼쪽 「전체 시점 · 종점」 카드 | 칸 | 뜻 | 규칙 | | --- | --- | --- | -| 지점 이름 | 어느 연도의 시점 · 종점인지 | 예: 「2026 시점」 · 「2026 종점 · 2027 시점」 | -| 📍 | 지도 누름이 놓을 지점으로 고름 | 고른 줄이 강조됨 | +| 이름 | 「시점」 · 「종점」 | 고정. 줄은 두 개뿐 | +| 📍 | 지도 누름이 놓을 점으로 고름 | 고른 줄이 강조됨 | | 경도 | 동서 위치(도) | 120 ~ 135 · 소수 가능 | | 위도 | 남북 위치(도) | 30 ~ 45 · 소수 가능 | @@ -17,13 +17,14 @@ - 범위 밖 값은 두 칸이 모두 빨갛게 표시되고 반영되지 않음. ## 지도 위 -- 표지 하나 = 지점 하나. 마우스로 끌어 옮길 수 있음. -- 선 하나 = 연도 하나(그 해의 시점에서 종점까지). 색은 연도별로 다름. -- 지점이 하나도 없으면 우리나라 가운데쯤이 먼저 보임. 지점을 놓으면 처음 한 번만 그 지점에 맞춰 보이고, 그 뒤로는 사용자가 맞춘 보기(중심 · 확대)를 그대로 둠. -- 지도 아래 안내문 = 「지도를 눌러 지점을 놓습니다.」 +- 표지 하나 = 점 하나. 마우스로 끌어 옮길 수 있음. +- 시점과 종점이 모두 놓이면 둘을 잇는 선 하나가 보임. 노선 분석에서 그을 실제 선이 아니라 두 점 사이를 보여 주는 참고선임. +- 점이 하나도 없으면 우리나라 가운데쯤이 먼저 보임. 점을 놓으면 처음 한 번만 그 점에 맞춰 보이고, 그 뒤로는 사용자가 맞춘 보기(중심 · 확대)를 그대로 둠. +- 지도 위 안내문 = 「지도를 눌러 지점을 놓습니다.」 +- 오른쪽 위 [일반] [위성] = 바탕 지도 바꿈. [일반 · 위성 지도](D02/04_일반_위성) 참고. ## 표 아래 한 줄 | 표시 | 뜻 | | --- | --- | -| 아직 저장 안 함 | 서버에 지점이 한 번도 저장되지 않음 | -| 저장 좌표계 EPSG:번호 · 연도 X · Y | 저장된 좌표계와 첫 연도 시점의 평면좌표(m, 소수 3 자리) | +| 아직 저장 안 함 | 서버에 두 점이 한 번도 저장되지 않음 | +| 저장 좌표계 EPSG:번호 · X · Y | 저장된 좌표계와 시점의 평면좌표(m, 소수 3 자리) | diff --git a/A05_EduDetail/guide/D02/20_쓰인_방법과_근거.md b/A05_EduDetail/guide/D02/20_쓰인_방법과_근거.md index 712ba6ee5..9d6a23b22 100644 --- a/A05_EduDetail/guide/D02/20_쓰인_방법과_근거.md +++ b/A05_EduDetail/guide/D02/20_쓰인_방법과_근거.md @@ -2,8 +2,8 @@ ## 좌표계 처리 - 사용자가 넣는 값은 모두 경도 · 위도(WGS84)임. 지도(카카오맵)도 이 값으로 그려짐. -- 저장할 때 서버가 모든 지점의 **평균 경도**를 보고 한국 평면좌표(TM) 띠 하나를 고른 뒤, 모든 지점을 그 한 가지 좌표계의 X(동쪽) · Y(북쪽) 미터 값으로 바꿔 저장함. -- 분석과 지형 받기는 이 평면좌표를 씀. 사용자가 변환을 따로 할 필요는 없음. +- 저장할 때 서버가 두 점의 **평균 경도**를 보고 한국 평면좌표(TM) 띠 하나를 고른 뒤, 두 점을 그 좌표계의 X(동쪽) · Y(북쪽) 미터 값으로 바꿔 저장함. +- 노선 분석의 지형 받기 · 선 길이 · 기울기는 이 평면좌표를 씀. 사용자가 변환을 따로 할 필요는 없음. | 평균 경도 | 좌표계 | 이름 | | --- | --- | --- | @@ -11,24 +11,21 @@ | 126° 이상 128° 미만 | EPSG:5186 | 중부 | | 128° 이상 | EPSG:5187 | 동부 | -- 한 노선은 연도가 달라도 항상 같은 좌표계 한 벌을 씀(연도마다 띠를 따로 쓰지 않음). +- 한 프로젝트는 항상 같은 좌표계 한 벌을 씀. - 동해(5188)는 쓰지 않음. -- 지점을 옮겨 평균 경도가 126° 나 128° 선을 넘으면 좌표계가 바뀌고, 그러면 모든 연도가 다시 저장되며 분석 노선이 비워짐. - 내보내기 때의 좌표계(5179)는 확정 · 내보내기 단계에서 다룸. 이 화면에서는 쓰지 않음. -## 직전 연도 종점 = 다음 연도 시점 -- 화면: 점 하나를 두 연도가 함께 쓰는 지점 목록(연도 수 + 1 개)으로 다룸. -- 서버: 저장할 때 첫 연도는 보낸 시점을 쓰고, 이후 연도의 시점은 항상 직전 연도의 종점으로 맞춤. 따로 다른 값을 보내도 무시됨. -- 사업 연도 밖의 연도가 오거나 같은 연도가 두 번 오면 거절됨. -- 비어 있는 시점 · 종점이 있으면 「○○○○년 시점(종점)이 비었습니다.」 로 거절됨. - ## 저장 규칙 -- 바뀐 연도만 새로 쓰고, 안 바뀐 연도(1 mm 이내)는 그대로 둠. -- 바뀐 연도는 이미 있던 분석 노선과 확정 시각을 지움. 한 묶음으로 처리되어 일부만 저장되는 일은 없음. -- 사업 연도 밖으로 남아 있던 연도 행은 함께 지움. -- 저장은 산림청 계정만 가능함(시스템 관리자 또는 `.go.kr` 메일). +- 두 점은 프로젝트 한 칸(`plan_base_json`)에 한꺼번에 저장됨. 연도별로 나누어 저장하지 않음. +- 저장은 산림청 계정만 가능함(시스템 관리자 또는 `.go.kr` 메일). 그 밖의 계정이 저장하면 「예정노선 지점은 산림청만 고칠 수 있습니다.」로 막힘. +- 두 점을 옮겨도 이미 그은 선 · 갈래 · 구역은 지우지 않음. +- 두 점이 비어 있는 옛 예정노선(연도별 지점으로 만든 것)은 첫 연도 시점과 마지막 연도 종점을 이어 두 점으로 보여 줌. 저장하면 이 두 점이 정본이 됨. + +## 화면 이동 때 저장 +- 단계 아이콘 · [<] · [>] · 머리 ☰ 메뉴 · 브라우저 뒤로로 화면을 떠날 때 고친 것이 있으면 저장한 뒤 이동함. 저장이 실패하면 이동하지 않고 머묾. +- 저장하지 않고 고친 값은 같은 브라우저 탭 안에서는 화면을 다시 열어도 남아 있음. 서버에 저장된 값이 그사이 바뀌었으면(노선 분석에서 시점을 고친 경우) 서버 값을 우선함. ## 한계 - 좌표 입력은 경위도만 받음. 평면좌표(X · Y)를 직접 넣는 칸은 없음. - 지도 위 위치는 카카오맵 화면 기준이며, 정밀한 측량 값이 필요하면 좌표 입력으로 넣을 것. -- 지형 받기와 분석에 관한 설명은 「노선 분석」 화면의 도움말을 볼 것. +- 지형 받기와 선 긋기에 관한 설명은 [노선 분석](D03/00_설명서)을 볼 것. diff --git a/A05_EduDetail/guide/D02/D02_00_overview.webp b/A05_EduDetail/guide/D02/D02_00_overview.webp index 2a5333cfd..361ce4a0f 100644 Binary files a/A05_EduDetail/guide/D02/D02_00_overview.webp 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 index 23e08ea4b..501ee7a2f 100644 Binary files a/A05_EduDetail/guide/D02/D02_01_points_table.webp and b/A05_EduDetail/guide/D02/D02_01_points_table.webp differ diff --git a/A05_EduDetail/guide/D02/D02_02_map.webp b/A05_EduDetail/guide/D02/D02_02_map.webp new file mode 100644 index 000000000..d64a2158b Binary files /dev/null and b/A05_EduDetail/guide/D02/D02_02_map.webp differ diff --git a/A05_EduDetail/guide/D02/D02_02_year_colors.webp b/A05_EduDetail/guide/D02/D02_02_year_colors.webp deleted file mode 100644 index 03aac8ba3..000000000 Binary files a/A05_EduDetail/guide/D02/D02_02_year_colors.webp and /dev/null differ diff --git a/A05_EduDetail/guide/D02/D02_03_pick_point.webp b/A05_EduDetail/guide/D02/D02_03_pick_point.webp index b39815a49..b1ef35f24 100644 Binary files a/A05_EduDetail/guide/D02/D02_03_pick_point.webp 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 index 7a77c226a..3ec43a8f6 100644 Binary files a/A05_EduDetail/guide/D02/D02_04_map_toast.webp 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 index 74d52afa6..32d50c0fd 100644 Binary files a/A05_EduDetail/guide/D02/D02_05_coordinate_error.webp 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 index 471c949ac..a157ce22e 100644 Binary files a/A05_EduDetail/guide/D02/D02_06_buttons.webp 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 index acf40e943..3f14136c2 100644 Binary files a/A05_EduDetail/guide/D02/D02_07_steps_menu.webp and b/A05_EduDetail/guide/D02/D02_07_steps_menu.webp differ diff --git a/A05_EduDetail/guide/D02/D02_08_map_type.webp b/A05_EduDetail/guide/D02/D02_08_map_type.webp new file mode 100644 index 000000000..7d59b2272 Binary files /dev/null and b/A05_EduDetail/guide/D02/D02_08_map_type.webp differ diff --git a/A05_EduDetail/guide/D02/_scenes.json b/A05_EduDetail/guide/D02/_scenes.json index 33e02e84b..b6623dead 100644 --- a/A05_EduDetail/guide/D02/_scenes.json +++ b/A05_EduDetail/guide/D02/_scenes.json @@ -1,10 +1,11 @@ [ - {"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_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":".d02-points"},{"n":2,"sel":".d02-map__type","pos":"bl"},{"n":3,"sel":".d02-map","pos":"br"},{"n":4,"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_02_map","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_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":"[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-error"},{"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"}]} + {"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"}]}, + {"name":"D02_08_map_type","route":"#/d02-plan-base","project":"plan","before":[{"wait":".d02-points__row"},{"wait":".ui-kakao-map__box"},{"wait_ms":3500},{"click":".d02-map__type button:nth-child(2)"},{"wait_ms":3500}],"settle_ms":1500,"clip":".d02-map__type","callouts":[{"n":1,"sel":".d02-map__type","pos":"bl"}],"clip_pad":240} ] diff --git a/A05_EduDetail/guide/D03/00_설명서.md b/A05_EduDetail/guide/D03/00_설명서.md index 0aaf90c85..a0519abbe 100644 --- a/A05_EduDetail/guide/D03/00_설명서.md +++ b/A05_EduDetail/guide/D03/00_설명서.md @@ -1,12 +1,13 @@ # 노선 분석 -예정노선 2단계. 1단계에서 정한 지점들을 연도 구간마다 이어 주는 노선 후보를 자동으로 찾아 연도별로 하나씩 고르는 화면. +예정노선 2단계. 받은 지형 위에 시점에서 종점까지 직선을 이어 그어 본선을 만들고, 갈래를 더하고, 구역마다 연도를 정하는 화면. ## 여는 길 -- [기준 지정](D02/00_설명서) 화면에서 [>]를 누르면 지점을 저장하고 이 화면이 열림. +- [기준 지정](D02/00_설명서) 화면에서 [>]를 누르면 두 점을 저장하고 이 화면이 열림. - 대시보드 프로젝트 표의 단계 막대 「노선 분석」을 누르거나, ☰ 에서 「노선 분석」을 골라도 열림. -- 지점이 비어 있으면 「N년 지점이 비었습니다 — 1단계(기준 지정)에서 정하세요.」 안내만 나오고 진행이 안 됨. +- 시점 · 종점이 비어 있으면 「시점 · 종점이 비었습니다 — 1단계(기준 지정)에서 정하세요.」 안내만 나오고 진행이 안 됨. +- 긋기 · 지형 받기 · 저장은 산림청만 할 수 있음. 그 밖의 계정은 「보기만 — 산림청 계정에서 긋습니다.」로 보기만 가능함. ![화면 한눈에](D03_00_overview.webp) @@ -14,23 +15,24 @@ | 번호 | 구역 | 하는 일 | | --- | --- | --- | -| 1 | 평면 지도 | 위성 사진 위에 등고선 · 지점 · 노선 · 측점이 겹쳐 보임. 측점을 누르면 아래 횡단이 채워짐 | -| 2 | 횡단 판 | 누른 측점의 지반선 횡단. 제목 줄(「횡단」)을 눌러 접고 펼침 | -| 3 | 「지형」 카드 | 지형 받기 · 분석 진행 상태와 받은 지형 범위 안내 | -| 4 | 「연도별 노선」 카드 | 연도마다 후보 넷. 하나를 눌러 고름 | -| 5 | 단추 줄 | [?] · [<] · [>] · [분석] · [저장] · [3D] | +| 1 | 평면 지도 | 위성 사진 위에 등고선 · 시점(초록) · 종점(빨강) · 그은 선 · 측점 · 구역 마크 · 연도가 보임. 여기서 점을 눌러 선을 그음 | +| 2 | 「지형」 카드 | 지형을 받았는지 알려 주고, 받을 범위를 미리 보여 줌. [지형 받기](D03/01_지형_받기) 참고 | +| 3 | 「그리기」 카드 | [본선 긋기] · [갈래] · [구역 마크]와 긋는 방식(자유 · 길이 고정 · 기울기 고정 · 둘 다) | +| 4 | 「구역 · 연도」 카드 | 그은 선의 구역마다 연도를 고름. [구역 마크와 연도](D03/05_구역_마크와_연도) 참고 | +| 5 | 도구 여섯 | 지도 오른쪽 위. 되돌리기 · 다시하기 · 3D · 좌회전 · 우회전 · 거리재기. [도구 여섯](D03/06_도구_여섯) 참고 | +| 6 | 단추 줄 | [?] · [<] · [>] · [저장] · [초기화] | ## 작업 순서 -1. 화면을 열면 지형을 자동으로 확인함. 받은 지형 밖이면 뒤에서 지형을 받기 시작함. [지형 받기](D03/01_지형_받기) 참고. -2. [분석]을 누름. 연도 구간마다 후보 넷을 찾음. [분석 · 저장 · 3D 단추](D03/05_분석_저장_단추) 참고. -3. 「연도별 노선」 카드에서 연도마다 후보 하나를 고름. 평면의 노선이 바로 바뀜. [연도별 노선 고르기](D03/02_연도별_노선_고르기) 참고. -4. 평면 지도에서 노선 · 측점을 확인하고, 지점이 마음에 안 들면 끌어 옮긴 뒤 다시 [분석]. [평면 지도 읽기](D03/03_평면_지도_읽기) 참고. -5. 측점 눈금을 눌러 지반선 횡단을 확인함. [측점 횡단](D03/04_측점_횡단) 참고. -6. 필요하면 [3D]로 지형과 노선을 입체로 봄. [3D 보기](D03/06_3D_보기) 참고. -7. 모든 연도에 노선이 있으면 [저장]을 누름. 저장 중에는 화면 전체가 잠깐 잠김. +1. 처음 열면 「받은 지형 없음」. [지형 범위 보기]로 받을 범위를 지도에서 확인하고 [이 범위 받기]를 누름. [지형 받기](D03/01_지형_받기) 참고. +2. [본선 긋기]를 누르고 시점에서부터 지도를 눌러 점을 이어 찍음. 마우스를 따라 길이와 기울기가 미리 보임. [본선 긋기](D03/02_본선_긋기) 참고. +3. 길이나 기울기를 정해 두고 긋고 싶으면 제약을 고름. [긋는 방식 넷](D03/03_긋는_방식_넷) 참고. +4. 본선이 종점에 닿으면 끝남. 같은 사업의 다른 선이 필요하면 [갈래]로 더함. [갈래](D03/04_갈래) 참고. +5. [구역 마크]로 선을 구역으로 나누고, 「구역 · 연도」 카드에서 구역마다 연도를 고름. [구역 마크와 연도](D03/05_구역_마크와_연도) 참고. +6. 필요하면 지도를 돌려 보거나 거리를 재고, [3D]로 지형과 선을 입체로 봄. [도구 여섯](D03/06_도구_여섯) · [3D 보기](D03/07_3D_보기) 참고. +7. [저장]을 누름. 저장하면 연도별 노선이 만들어져 다음 단계에서 읽음. [저장 · 초기화](D03/08_저장_초기화) 참고. 8. 다음 단계 [확정 · 내보내기](D04/00_설명서)로 넘어감. -> 주의: 노선 모양은 [분석]을 해야 생김. [분석]을 하지 않으면 [저장]이 눌리지 않음. +> 주의: 점을 찍고 구역을 나누고 연도를 고르는 것은 [저장]을 누를 때 서버에 남음. 다른 단계로 옮겨 갈 때도 바뀐 것이 있으면 저장한 뒤 옮겨 가며, 저장이 실패하면 이 화면에 머묾. -> 참고: 노선 후보를 찾는 엔진은 임도설계 노선 추천(B05)과 같음. 이 화면에서는 시작점과 끝점만 정해진 두 지점 사이를 구간별로 한 번씩 찾음. 자세한 방법은 [쓰인 방법과 근거](D03/20_쓰인_방법과_근거) 참고. +> 참고: 노선은 자동으로 찾지 않고 사용자가 직접 긋는 직선 꺾은선임. 아래쪽 횡단 패널과 예상 횡단은 없음. 3D 는 지형과 그은 선만 보여 줌. diff --git a/A05_EduDetail/guide/D03/01_지형_받기.md b/A05_EduDetail/guide/D03/01_지형_받기.md index f04a006e6..1adb5a899 100644 --- a/A05_EduDetail/guide/D03/01_지형_받기.md +++ b/A05_EduDetail/guide/D03/01_지형_받기.md @@ -1,6 +1,6 @@ # 지형 받기 -노선을 찾으려면 지점 둘레의 지형 자료가 필요함. 화면이 열리면 이 자료를 자동으로 확인하고 모자라면 받음. +미리보기 길이와 기울기를 재려면 사업 전체의 지형 자료가 필요함. 받을 범위를 지도에서 먼저 보고 [이 범위 받기]를 눌러 받음. ## 여는 길 @@ -8,23 +8,31 @@ ![지형 카드](D03_01_terrain_card.webp) -그림 번호 — 1 지형 상태 한 줄(「받은 지형 안 · 연도 지형면 3/3」) +그림 번호 — 1 지형 상태 한 줄 · 2 [지형 범위 보기] ## 단계 | 단계 | 할 일 | | --- | --- | -| 1 | 화면을 열고 「지형」 카드의 글을 확인함. 「받은 지형 안」이면 그대로 분석할 수 있음. | -| 2 | 지점이 받은 지형 밖이면 지형 받기가 뒤에서 시작되고 카드에 진행률(%)이 보임. 끝날 때까지 기다림. | -| 3 | 지점을 옮겨 범위 밖이 되면 [범위 밖 — 더 받기]가 나타남. 눌러서 지형을 더 받음. | -| 4 | 받기가 끝나면 지도 배경과 등고선이 새로 그려짐. | +| 1 | 지형을 받기 전에는 「받은 지형 없음 — 범위를 보고 받으세요」가 보임. [지형 범위 보기]를 누름. | +| 2 | 「지형 받기 — 범위 미리보기」 창이 열림. 카카오 지도에 받을 범위(빨강) · 이미 받은 범위(초록) · 도엽(옅은 회색)이 그려짐. | +| 3 | 범위를 더 넓게 하려면 「여유」 칸에 m 를 넣고 [다시 보기]. | +| 4 | 범위가 맞으면 [이 범위 받기]를 누름. 창이 닫히고 카드에 진행률(%)이 보임. | +| 5 | 받기가 끝나면 카드가 「받은 지형 안」으로 바뀌고 지도 배경과 등고선이 새로 그려짐. | + +![지형 받기 범위 미리보기](D03_02_extent_modal.webp) + +그림 번호 — 1 여유 칸 · [다시 보기] · 2 범위 요약 한 줄 · 3 카카오 지도(범위 그림) · 4 [이 범위 받기] ## 보이는 것 -- 「받은 지형 안 · 연도 지형면 N/M」 = M 개 연도 중 N 개 연도의 높이 자료가 준비됨. -- 지점이 받은 지형 밖이면 지도에서 그 지점에 빨간 고리와 점선 고리가 보이고, 카드에 「빨간 고리 지점이 받은 지형 밖입니다 — 더 받아야 분석합니다.」가 나옴. 이때 [분석]은 눌리지 않음. -- 받기에는 수치지형도(도엽) · 위성 사진 · 연도별 높이 자료가 들어 있음. 위성 사진을 못 받아도 받기가 멈추지 않음. 위성이 없으면 어두운 바탕에 지점과 노선만 보임. -- 지형 받기와 분석은 서버 뒤에서 도는 일이라, 화면을 닫았다 다시 열어도 도는 중이면 이어서 진행률을 보여 줌. -- 산림청이 아닌 계정에는 [범위 밖 — 더 받기]가 보이지 않음. +- 받을 범위 = 기준 지정의 시점 · 종점을 감싸는 상자에 여유를 더한 것. 여유 처음 값은 350 m 이고 300 ~ 5000 m 까지 쓸 수 있음. 이미 받은 범위가 있으면 그것과 합쳐서 받음. +- 요약 한 줄 = 「여유 350 m · 도엽 2매(새로 2) · 지형 칸 약 2.1백만」. 도엽은 수치지형도 조각이며 「새로」는 아직 못 받은 조각 수. +- 받기에는 수치지형도(도엽)와 위성 사진이 들어 있음. 위성 사진을 못 받아도 받기가 멈추지 않음. 위성이 없으면 어두운 바탕에 시점 · 종점과 선만 보임. +- 지형 받기는 서버 뒤에서 도는 일이라, 화면을 닫았다 다시 열어도 도는 중이면 이어서 진행률을 보여 줌. +- 지형은 사업 전체에 한 벌이고 연도로 나누지 않음. 열 때마다 저절로 다시 받지 않음. +- 받다가 실패하면 「지형 받기 실패 — 까닭」이 보이고 단추가 [다시 받기]로 바뀜. +- 그은 선이 받은 범위 밖으로 나가면 「그은 선이 받은 지형 밖으로 나갔습니다」가 보이고 [범위 밖 더 받기]가 나타남. 누르면 같은 미리보기 창이 선까지 포함한 범위로 열림. +- 산림청이 아닌 계정에는 [지형 범위 보기] · [범위 밖 더 받기]가 보이지 않음. -> 참고: [기준 지정](D02/00_설명서)에서 [>]로 넘어오면 지형 받기가 이미 시작되어 있을 수 있음. +> 참고: 받은 범위 밖에서는 미리보기의 기울기가 「지형 밖」으로 나오고 점을 찍을 수는 있어도 기울기 제약은 쓸 수 없음. 카카오 지도는 서비스에 등록된 주소에서만 그려짐. diff --git a/A05_EduDetail/guide/D03/02_본선_긋기.md b/A05_EduDetail/guide/D03/02_본선_긋기.md new file mode 100644 index 000000000..09fdcc73b --- /dev/null +++ b/A05_EduDetail/guide/D03/02_본선_긋기.md @@ -0,0 +1,36 @@ +# 본선 긋기 + +시점에서 점을 하나씩 찍어 종점까지 직선을 이어 가는 방법. 마우스를 따라 길이와 기울기가 미리 보임. + +## 여는 길 + +- 노선 분석 화면 왼쪽 「그리기」 카드의 [본선 긋기]와 가운데 평면 지도. + +![본선을 긋는 중](D03_03_draw_free.webp) + +그림 번호 — 1 [본선 긋기] · [갈래] · [구역 마크] 단추 줄 · 2 긋는 방식 고르기 · 3 마우스를 따라 보이는 미리보기 · 4 안내 글 + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | [본선 긋기]를 누름. 단추 글자가 [긋기 끝]으로 바뀌고 선 색이 짙어짐. 처음에는 기준 지정의 시점에서 시작함. | +| 2 | 마우스를 움직이면 마지막 점에서 마우스까지 점선이 따라오고, 옆에 길이(m)와 기울기(%)가 보임. | +| 3 | 놓을 자리에서 누름. 그 자리에 점이 찍히고 선이 이어짐. 같은 방법으로 점을 이어 감. | +| 4 | 종점 가까이 가서 누르면 종점에 붙으며 본선이 끝남. 아래 「보이는 것」 참고. | +| 5 | 중간에 끝내려면 Enter 키 또는 [긋기 끝]. | + +![종점에 붙는 모습](D03_07_snap_end.webp) + +그림 번호 — 1 종점에 붙는다는 미리보기 · 2 안내 글 + +## 보이는 것 + +- 미리보기의 기울기는 원지반 기울기이며 오르막이 +, 내리막이 −. 받은 지형 밖이면 「지형 밖」으로 보임. +- 선마다 마디(점과 점 사이)에 길이와 기울기 글이 붙고, 측점은 20 m 마다 번호가 매겨져 시점이 0+0 부터 시작함. +- 종점 붙기: 본선만 해당. 마우스가 종점 둘레(약 12 화면점) 안에 오면 미리보기가 「종점에 붙음」으로 바뀌고, 누르면 종점에서 끝나 「본선이 종점에 닿았습니다.」 알림이 뜸. 제약이 있어도 종점 붙기가 먼저임. +- 본선이 종점에 닿으면 [본선 긋기]가 [본선 끝남]으로 바뀌고 눌리지 않음. 선을 더 그으려면 [갈래]를 씀. +- 키: Enter = 긋기 끝 · Esc = 이번에 그은 것을 모두 취소 · Backspace = 마지막 점 빼기 · Ctrl+Z / Ctrl+Y = 되돌리기 / 다시하기. 이 키들은 설정 창 단축키 표의 노선 분석 줄에도 있음. +- 지도 움직이기: 가운데 단추를 누른 채 끌면 이동, 휠은 확대 · 축소(방향은 설정 창 값을 따름). 왼쪽 끌기는 이동에 쓰지 않음 — 점 찍기와 겹치기 때문. + +> 주의: 점은 [저장]을 누르기 전까지 이 브라우저 탭에만 남음. 같은 탭에서는 화면을 다시 열어도 남지만 다른 사람 화면에는 안 보임. diff --git a/A05_EduDetail/guide/D03/02_연도별_노선_고르기.md b/A05_EduDetail/guide/D03/02_연도별_노선_고르기.md deleted file mode 100644 index 01779f8a0..000000000 --- a/A05_EduDetail/guide/D03/02_연도별_노선_고르기.md +++ /dev/null @@ -1,41 +0,0 @@ -# 연도별 노선 고르기 - -연도마다 찾은 후보 넷 가운데 하나를 골라 예정노선으로 삼는 카드. - -## 여는 길 - -- 노선 분석 화면 왼쪽 「연도별 노선」 카드. [분석]을 한 뒤 후보가 채워짐. - -![연도별 노선 카드](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..d7647eeba --- /dev/null +++ b/A05_EduDetail/guide/D03/03_긋는_방식_넷.md @@ -0,0 +1,44 @@ +# 긋는 방식 넷 + +점을 찍을 때 길이나 기울기를 미리 정해 두는 방법. 자유 · 길이 고정 · 기울기 고정 · 둘 다 중에서 고름. + +## 여는 길 + +- 노선 분석 화면 왼쪽 「그리기」 카드의 네 칸짜리 고르기와 그 아래 「길이」 · 「기울기」 칸. + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 「그리기」 카드에서 긋는 방식을 고름. 고른 방식에 필요한 칸만 켜지고 나머지는 흐려짐. | +| 2 | 「길이」(m) · 「기울기(± 같음)」(%) 칸에 값을 넣음. 처음 값은 길이 20 m · 기울기 9 %. | +| 3 | [본선 긋기](또는 [갈래])로 긋기 시작해 마우스를 움직여 미리보기를 보고 누름. | + +## 보이는 것 + +| 방식 | 마우스 따라 보이는 것 | 켜지는 칸 | +| --- | --- | --- | +| 자유 | 마우스 자리 그대로 점이 놓임. 길이와 기울기는 참고로만 보임 | 없음 | +| 길이 고정 | 마지막 점에서 마우스 방향으로 입력한 길이만큼 떨어진 자리에 점이 놓임 | 길이 | +| 기울기 고정 | 마지막 점에서 마우스 방향으로 가며 원지반 기울기가 입력한 값이 되는 첫 자리에 점이 놓임 | 기울기 | +| 둘 다 | 마지막 점에서 입력한 길이만큼 떨어진 원 위에서 기울기가 입력한 값이 되는 자리 중 마우스에 가까운 곳에 점이 놓임(컴퍼스처럼 도는 모양) | 길이 · 기울기 | + +![길이 고정 — 40 m](D03_04_constraint_length.webp) + +그림 번호 — 1 긋는 방식 고르기(길이 고정) · 2 길이 칸(40 m) · 3 미리보기(마우스 방향 40.0 m) + +![기울기 고정 — 9 %](D03_05_constraint_slope.webp) + +그림 번호 — 1 긋는 방식 고르기(기울기 고정) · 2 기울기 칸(9 %) · 3 미리보기(기울기 +9.0 %) + +![둘 다 — 길이 20 m · 기울기 9 %](D03_06_constraint_both.webp) + +그림 번호 — 1 긋는 방식 고르기(둘 다) · 2 길이 · 기울기 칸 · 3 미리보기(원 위 후보 중 마우스에 가까운 자리) + +- 기울기 칸은 부호를 따지지 않음. 9 를 넣으면 오르막 +9 % 와 내리막 −9 % 가 같은 값으로 취급되고, 미리보기에는 실제 오르막(+) · 내리막(−)이 표시됨. +- 마우스 방향에 그 기울기가 되는 자리가 없으면 「이 방향엔 ±9.0 % 자리 없음」으로 보이고 점이 찍히지 않음. 「둘 다」에서는 「반지름 40.0 m 원 위에 ±9.0 % 자리 없음」으로 보임. 누르면 「여기에는 점을 찍을 수 없습니다」 안내만 나옴. +- 기울기 고정 · 둘 다는 받은 지형이 있어야 씀. 지형 밖에서는 자리를 못 찾음. +- 길이 칸에 0 이하를 넣으면 「0 보다 큰 수」, 기울기 칸에 숫자가 아닌 것을 넣으면 「숫자」라는 안내가 칸 아래에 나옴. +- 종점 붙기는 제약보다 먼저 적용됨. 종점 둘레에서는 제약과 상관없이 종점에 붙음. + +> 참고: 길이 처음 값 20 m 는 측점 간격(20 m)과 같게 맞춘 값이고, 기울기 처음 값 9 % 는 간선임도 설계속도 20 km/h 일반지형의 종단기울기 상한임. 둘 다 [사용자 확정 전 값](D03/30_사용자_확정_전_값)에 있음. diff --git a/A05_EduDetail/guide/D03/03_평면_지도_읽기.md b/A05_EduDetail/guide/D03/03_평면_지도_읽기.md deleted file mode 100644 index 66d315084..000000000 --- a/A05_EduDetail/guide/D03/03_평면_지도_읽기.md +++ /dev/null @@ -1,39 +0,0 @@ -# 평면 지도 읽기 - -위성 사진 위에 지점 · 노선 · 측점을 겹쳐 보여 주는 가운데 지도. 지점을 끌어 옮기고, 고른 노선의 꺾임점도 고칠 수 있음. - -## 여는 길 - -- 노선 분석 화면의 가운데 위쪽 큰 지도. - -![평면 지도](D03_04_plan_map.webp) - -그림 번호 — 1 평면 지도(2028년 20+0 측점을 누른 모습) - -## 단계 - -| 단계 | 할 일 | -| --- | --- | -| 1 | 굵은 선(주황)으로 연도별로 고른 후보를 이은 예정노선을 확인함. | -| 2 | 선 위 눈금 글(0+0 · 5+0 · 10+0 …)로 측점(20 m 간격)을 읽음. | -| 3 | 지점이 마음에 안 들면 지점(원)을 마우스 왼쪽 단추로 누른 채 끌어 옮김. | -| 4 | 옮긴 뒤 [분석]을 다시 눌러 새 지점으로 노선을 찾음. | -| 5 | 노선 모양만 바꾸려면 흰 네모(꺾임점)를 끌어 옮김. [꺾임점 고치기](D03/07_꺾임점_고치기) 참고. | -| 6 | 지도 바탕을 끌어 옮기고 휠로 확대 · 축소함. | - -## 보이는 것 - -- **지점(원)의 색** — 초록 = 첫 지점(시점) · 빨강 = 마지막 지점(종점) · 파랑 = 연도가 바뀌는 중간 지점. -- **선** — 굵은 선 = 고른 후보. 흰 점선(옅음) = 고르지 않은 다른 후보. 분석 전에는 지점끼리 잇는 점선만 보임. -- **등고선** = 도엽(수치지형도) 등고선. 노란 선과 노란 숫자(높이). 확대하면 더 촘촘히 보임. -- **흰 네모 · 주황 점 · R 숫자** = 고른 노선의 꺾임점 · 곡선 손잡이 · 곡선 반지름(산림청 계정만 보임). -- 누른 측점은 보라색 고리로 표시됨. -- **누가** = 측점 번호. 앞 연도 끝 = 다음 연도 시작으로 이어서 셈. 시작 값은 등록 때 정한 노선 시작 누가거리. -- 끌기를 마치면 그 지점 앞 · 뒤 연도의 분석 결과가 비워지고 횡단 판에 「지점을 옮겼습니다 — [분석] 뒤 측점을 누르세요.」가 나옴. -- 끝점은 이웃 연도의 시작점과 한 점으로 묶여 있어 함께 움직임. -- 손이 조금 떨리는 정도(몇 픽셀)의 움직임은 끌기로 치지 않고 단순 누름으로 처리함. -- 산림청이 아닌 계정은 지점을 끌 수 없음. 보기만 가능. - -> 주의: 옮긴 위치는 [저장] 전까지 이 브라우저 탭에만 임시로 남음(새로 고침해도 유지, 탭을 닫으면 사라짐). [저장]을 눌러야 정본이 바뀜. - -> 참고: 평면에는 노견 · 절토 · 성토선 · 종단도 · 배수유역 · 구조물이 없음. 지반 · 노선 중심선 · 측점만 보임. diff --git a/A05_EduDetail/guide/D03/04_갈래.md b/A05_EduDetail/guide/D03/04_갈래.md new file mode 100644 index 000000000..52ea04528 --- /dev/null +++ b/A05_EduDetail/guide/D03/04_갈래.md @@ -0,0 +1,29 @@ +# 갈래 + +본선의 한 점에서 갈라지는 선을 더하는 방법. 갈래는 본선과 따로 측점을 셈. + +## 여는 길 + +- 노선 분석 화면 왼쪽 「그리기」 카드의 [갈래]. + +![갈래 시작](D03_08_branch.webp) + +그림 번호 — 1 [갈래] 단추(눌린 모습) · 2 갈래를 시작한 점 · 3 안내 글 + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 본선을 먼저 그어 둠. 선이 없으면 [갈래]가 흐려서 눌리지 않음. | +| 2 | [갈래]를 누름. 안내가 「갈래를 시작할 선 위 점을 누르세요.」로 바뀜. | +| 3 | 갈래가 갈라질 선 위의 점을 누름. 꺾임점 가까이를 누르면 그 꺾임점에서, 선 중간을 누르면 그 자리에 꺾임점이 새로 생기면서 시작함. | +| 4 | 곧바로 긋기 상태가 됨. 본선과 같은 방법(점 찍기 · 긋는 방식 · Enter · Esc · Backspace)으로 이어 그음. | +| 5 | Enter 로 끝냄. 갈래를 더 만들려면 [갈래]를 다시 누름. | + +## 보이는 것 + +- 갈래는 본선뿐 아니라 이미 그은 갈래의 점에서도 시작할 수 있음. +- 갈래의 첫 점은 붙은 선의 점과 같은 자리이고, 측점은 갈래마다 0+0 부터 셈. 「구역 · 연도」 카드에는 「갈래 1」 · 「갈래 2」 줄이 따로 생김. +- 점을 하나도 찍지 않고 끝낸 갈래는 저절로 사라짐. +- 갈래는 종점에 붙지 않음. 종점 붙기는 본선만 해당됨. +- 갈래는 같은 연도의 구역으로도, 다른 연도의 구역으로도 정할 수 있음. [구역 마크와 연도](D03/05_구역_마크와_연도) 참고. diff --git a/A05_EduDetail/guide/D03/04_측점_횡단.md b/A05_EduDetail/guide/D03/04_측점_횡단.md deleted file mode 100644 index 7ac8b02b3..000000000 --- a/A05_EduDetail/guide/D03/04_측점_횡단.md +++ /dev/null @@ -1,35 +0,0 @@ -# 측점 횡단 - -평면에서 측점을 누르면 그 자리의 지반선과 예상 횡단이 아래 판에 그려짐. - -## 여는 길 - -- 노선 분석 화면 아래쪽 「횡단」 판. 평면 지도의 측점 눈금을 누르면 채워짐. - -![측점 횡단](D03_05_station_cross.webp) - -그림 번호 — 1 제목 줄(연도 · 측점 이름 · 중심 지반고 · 예상 절토 · 성토 ㎡) · 2 지반선 + 예상 횡단 그림 - -## 단계 - -| 단계 | 할 일 | -| --- | --- | -| 1 | 평면 지도에서 확인할 측점 눈금(예: 20+0)을 누름. | -| 2 | 아래 판의 제목 줄에서 연도 · 측점 · 중심 지반고 · 예상 절토 · 성토 넓이(㎡)를 읽음. | -| 3 | 그림에서 회색 지반선과 주황 예상 횡단선(노면 · 측구 · 절토 · 성토 비탈)을 확인함. | -| 4 | 판 위쪽 「횡단」 줄을 누르면 판이 접히고, 다시 누르면 펼쳐짐. | - -![접힌 횡단 판](D03_06_cross_fold.webp) - -그림 번호 — 1 「횡단」 줄(접힌 상태) - -## 보이는 것 - -- 제목 줄 = 「연도 · 측점 이름 · 중심 지반고 · 예상(표준 횡단 기본값 · 계획고 = 지반고) 절토 ㎡ · 성토 ㎡」. -- 그림 = 노선 중심에서 좌우 20 m 안의 지반(회색) + 예상 횡단(주황 · 「기본 계획 횡단」). 비탈이 20 m 안에서 지반과 안 만나면 만날 때까지 넓혀 그림. -- 예상 횡단 = 표준 횡단의 프로그램 기본값(노폭 3.0 m · 노견 0.5 m · 리핑암 · 산쪽 절토 · 일반 측구 · 성토 1:1.2) · 계획고 = 측점 중심 지반고 · 곡선 확폭 없음. 종단 설계 전 모양이라 실제 설계 횡단과 다름. -- 아직 측점을 누르지 않았으면 「평면에서 측점을 누르면 그 자리 지반선 · 예상 횡단이 보입니다.」가 보임. -- 노선이 없는 연도의 측점은 누를 수 없음. 지점을 옮긴 뒤에는 다시 [분석]을 해야 함. -- 이 측점 횡단은 지형 자료의 평활본에서 읽은 값이라 실제 측량 단면과 다를 수 있음. - -> 참고: 횡단 판을 접으면 평면 지도가 아래까지 넓어짐. diff --git a/A05_EduDetail/guide/D03/05_구역_마크와_연도.md b/A05_EduDetail/guide/D03/05_구역_마크와_연도.md new file mode 100644 index 000000000..fb1f89227 --- /dev/null +++ b/A05_EduDetail/guide/D03/05_구역_마크와_연도.md @@ -0,0 +1,39 @@ +# 구역 마크와 연도 + +그은 선을 구역(조각)으로 나누고, 구역마다 시공 연도를 고르는 방법. 갈래도 같은 방법으로 나눔. + +## 여는 길 + +- 노선 분석 화면 왼쪽 「그리기」 카드의 [구역 마크]와 그 아래 「구역 · 연도」 카드. + +![구역 마크 모드](D03_09_zone_marks.webp) + +그림 번호 — 1 [구역 마크] 단추(눌린 모습) · 2 안내 글 · 3 평면 지도(마름모가 구역 마크) + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 선을 그어 둠. 선이 없으면 [구역 마크]가 흐려서 눌리지 않음. | +| 2 | [구역 마크]를 누름. | +| 3 | 구역을 나눌 선 위 자리를 누름. 그 자리에 마크(마름모)가 놓이고 선이 두 구역으로 나뉨. 갈래도 같은 방법으로 누름. | +| 4 | 마크를 지우려면 마크 근처를 오른쪽 단추로 누름. 두 구역이 하나로 합쳐짐. | +| 5 | 「구역 · 연도」 카드에서 구역마다 연도를 고름. | +| 6 | 마크 놓기를 마치려면 Esc 또는 [구역 마크]를 다시 누름. | + +![구역 · 연도 카드](D03_10_pieces_years.webp) + +그림 번호 — 1 카드 제목 · 2 본선 머리줄(선 이름 · 길이) · 3 구역 한 줄의 연도 고르기 · 4 갈래 머리줄 · 5 갈래 구역의 연도 고르기 + +## 보이는 것 + +- 카드는 선마다 머리줄(「본선 · 1046.7 m」 · 「갈래 1 · 295.6 m」)과 구역 줄로 이뤄짐. 구역 줄 = 「0+0 ~ 19+0 (380.0 m)」 꼴의 측점 범위 · 길이와 연도 고르기. +- 구역 이름은 「선 이름 + 측점 범위」(예: 본선 0+0~19+0)이며, 업체 지정 · 연결 · 가져오기에서도 같은 이름으로 불림. +- 새 구역의 처음 연도는 사업 연도 시작 해. 고를 수 있는 연도는 시작 해부터 10년과 이미 쓴 연도임. +- 같은 연도에 구역이 여럿이어도, 본선과 갈래가 같은 연도여도 됨. 연도는 구역마다 따로 정함. +- 구역 연도는 지도에도 「2027년」처럼 구역 가운데에 보임. +- 마크끼리나 선 끝과 1 m 안으로 가까우면 마크가 놓이지 않음. +- 구역을 나누면 앞 구역이 원래 구역의 이름표(조각 id)를 지니고 새 구역은 새 이름표를 받음. 이미 업체를 지정한 구역을 합쳐서 없애면 저장이 막힘. +- 연도를 바꾸는 것도 되돌리기 · 다시하기 한 걸음으로 쌓임. + +> 참고: 사업 연도 끝은 입력하지 않음. [저장]할 때 구역 연도 중 가장 늦은 해가 끝 연도가 됨. diff --git a/A05_EduDetail/guide/D03/05_분석_저장_단추.md b/A05_EduDetail/guide/D03/05_분석_저장_단추.md deleted file mode 100644 index 5f281eb19..000000000 --- a/A05_EduDetail/guide/D03/05_분석_저장_단추.md +++ /dev/null @@ -1,38 +0,0 @@ -# 분석 · 저장 · 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 deleted file mode 100644 index 6a667da91..000000000 --- a/A05_EduDetail/guide/D03/06_3D_보기.md +++ /dev/null @@ -1,31 +0,0 @@ -# 3D 보기 - -지형과 연도별 노선 · 예상 코리도를 입체로 보는 창. - -## 여는 길 - -- 노선 분석 화면 왼쪽 패널 맨 아래 [3D]. 노선이 하나라도 있어야 눌림. - -![3D 보기 창](D03_08_3d_modal.webp) - -그림 번호 — 1 연도 고르는 칸 · 2 「예상 코리도」 켬끔 · 3 3D 화면 - -## 단계 - -| 단계 | 할 일 | -| --- | --- | -| 1 | [3D]를 누름. 「3D 보기 — 지형 + 노선」 창이 열리고 지형을 불러오는 동안 진행 표시가 돎. | -| 2 | 창 위쪽 연도 칸으로 볼 연도를 바꿈. 한 번에 한 연도씩 보임. | -| 3 | 마우스로 돌리고 휠로 확대 · 축소해 노선 둘레를 살핌. | -| 4 | 「예상 코리도」 칸을 끄면 원래 지형과 노선만, 켜면 예상 노면 · 절토 · 성토면이 보임. | -| 5 | 다 보았으면 창 오른쪽 위 [닫기]를 누름. | - -## 보이는 것 - -- 그 연도의 지형(높이에 따라 색이 달라짐)과 고른 후보의 노선, 측점 막대가 보임. 지형 위의 가는 하늘색 선이 노선. -- 예상 코리도 = 측점 횡단 판과 같은 예상 횡단(표준 횡단 기본값 · 계획고 = 지반고)을 측점마다 이은 노면 · 측구 · 절토 · 성토면. 처음 열 때 켜져 있음. -- 구조물은 3D 에도 없음. -- 평면에서 측점을 눌러 둔 연도가 있으면 그 연도가 먼저 열림. -- 창을 닫으면 3D 화면에 쓰던 자원이 정리됨. - -> 참고: 지형이 노선보다 훨씬 넓게 받아져 있어 노선이 작게 보일 수 있음. 확대해서 볼 것. diff --git a/A05_EduDetail/guide/D03/06_도구_여섯.md b/A05_EduDetail/guide/D03/06_도구_여섯.md new file mode 100644 index 000000000..2af0252ea --- /dev/null +++ b/A05_EduDetail/guide/D03/06_도구_여섯.md @@ -0,0 +1,39 @@ +# 도구 여섯 + +지도 오른쪽 위의 도구 줄. 되돌리기 · 다시하기 · 3D · 좌회전 · 우회전 · 거리재기. + +## 여는 길 + +- 노선 분석 화면 평면 지도 오른쪽 위. + +![도구 줄](D03_11_tools.webp) + +그림 번호 — 1 되돌리기 · 2 다시하기 · 3 3D 보기 · 4 왼쪽으로 돌림 · 5 오른쪽으로 돌림 · 6 거리재기 + +## 단계 + +| 도구 | 하는 일 | +| --- | --- | +| 되돌리기(Ctrl+Z) | 마지막 한 걸음을 취소함. 한 걸음 = 점 하나 · 갈래 하나 · 마크 하나 · 연도 하나 바꿈 | +| 다시하기(Ctrl+Y) | 되돌린 걸음을 다시 함 | +| 3D 보기 | 지형과 그은 선을 입체로 봄. [3D 보기](D03/07_3D_보기) 참고 | +| 왼쪽으로 돌림 · 오른쪽으로 돌림 | 지도를 15° 씩 돌림. 누를 때마다 15° 더 돌아감 | +| 거리재기 | 지도에서 두 점의 거리 · 기울기 · 높이 차를 잼 | + +![지도를 돌린 모습](D03_12_rotate.webp) + +그림 번호 — 1 왼쪽으로 돌림 · 2 오른쪽으로 돌림(왼쪽으로 세 번 돌려 45° 돌아간 지도) + +![거리재기](D03_13_measure.webp) + +그림 번호 — 1 거리재기(켜진 모습) · 2 잰 결과(길이 · 기울기 · 높이 차) + +## 보이는 것 + +- 되돌리기 · 다시하기는 이 화면에서 한 걸음마다 쌓이며, [저장] · [초기화]를 하면 비워짐. 쌓인 것이 없으면 흐려짐. +- 3D 는 받은 지형이 있고 2점 이상인 선이 있을 때만 켜짐. +- 지도를 돌려도 글은 바로 서서 읽힘. 돌린 채로 점을 찍어도 눌린 자리에 찍힘. +- 거리재기 사용법: 단추를 켜고 지도에서 두 점을 차례로 누름. 둘째 점을 누르면 점선 위에 「441.4 m · +3.2 % · Δh +14.3 m」 꼴로 길이 · 원지반 기울기(+ 오르막) · 높이 차가 보임. 셋째 누름은 새로 재기 시작이고, Esc 는 지우고 거리재기를 끔. +- 거리재기를 켜면 긋기가 꺼지고, 긋기를 시작하면 거리재기가 꺼짐. 잰 값은 저장되지 않음. +- 받은 지형 밖에서는 기울기가 「지형 밖」으로 보임. +- 마우스: 가운데 단추 끌기 = 지도 이동, 휠 = 확대 · 축소. 방향은 설정 창에서 바꿈. 왼쪽 끌기는 이동에 쓰지 않음. diff --git a/A05_EduDetail/guide/D03/07_3D_보기.md b/A05_EduDetail/guide/D03/07_3D_보기.md new file mode 100644 index 000000000..b10f0ff10 --- /dev/null +++ b/A05_EduDetail/guide/D03/07_3D_보기.md @@ -0,0 +1,28 @@ +# 3D 보기 + +받은 지형 위에 그은 선을 입체로 보는 창. + +## 여는 길 + +- 노선 분석 화면 지도 오른쪽 위 도구 줄의 [3D 보기]. + +![3D 보기](D03_14_3d.webp) + +그림 번호 — 1 보고 싶은 선 고르기(본선 · 갈래) · 2 3D 화면 + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | [3D 보기]를 누름. 「3D 보기 — 지형 + 그은 선」 창이 열리고 「3D 지형을 불러오는 중…」이 잠깐 보임. | +| 2 | 지형이 나오면 위쪽 고르기에서 보고 싶은 선(본선 · 갈래 N)을 고름. | +| 3 | 마우스로 돌려 보고 휠로 확대 · 축소함. | +| 4 | 닫으려면 [닫기]. | + +## 보이는 것 + +- 지형 위에 고른 선이 하늘색으로 얹히고, 선 위에 측점 표시(20 m 마다)가 놓임. +- 보이는 것은 지형과 그은 선뿐임. 노견 · 절성토면 · 구조물 · 예상 횡단은 없음. +- 받은 지형이 없거나 선이 한 점뿐이면 [3D 보기]가 흐려서 눌리지 않음. +- 저장하지 않은 선도 보임. +- 왼쪽 위 방위 표시로 방향을 확인함. diff --git a/A05_EduDetail/guide/D03/07_꺾임점_고치기.md b/A05_EduDetail/guide/D03/07_꺾임점_고치기.md deleted file mode 100644 index 41a02af49..000000000 --- a/A05_EduDetail/guide/D03/07_꺾임점_고치기.md +++ /dev/null @@ -1,40 +0,0 @@ -# 꺾임점 고치기 - -추천된 노선의 꺾임점(IP)을 평면 지도에서 직접 옮기고, 넣고, 지우는 방법. 곡선 반지름(R)도 손잡이로 바꿈. - -## 여는 길 - -- 노선 분석 화면의 가운데 평면 지도. 고른 후보 노선 위에 흰 네모(꺾임점) · 주황 점(곡선 손잡이) · 「R 숫자」 글이 보임. - -![꺾임점 고치기](D03_09_ip_edit.webp) - -그림 번호 — 1 평면 지도(꺾임점 하나를 옮긴 모습) · 2 「꺾임점 고침 — [저장] 전」 줄과 [원래 노선] · 3 고친 후보 카드(연장이 바로 바뀜) · 4 [되돌리기] - -## 단계 - -| 단계 | 할 일 | -| --- | --- | -| 1 | 「연도별 노선」 카드에서 고칠 후보를 먼저 고름. 꺾임점은 고른 후보에만 보임. | -| 2 | 흰 네모(꺾임점)를 마우스 왼쪽 단추로 누른 채 끌어 옮김. 노선 · 연장 · 측점이 바로 다시 그려짐. | -| 3 | 꺾임점을 더 넣으려면 꺾임점 사이 선 위를 두 번 누름. | -| 4 | 꺾임점을 빼려면 흰 네모를 마우스 오른쪽 단추로 누름. | -| 5 | 곡선을 넓히거나 좁히려면 주황 점(곡선 시작 · 끝)을 끌어 옮김. 그쪽 직선 각도와 R 이 함께 바뀜. | -| 6 | 잘못 고쳤으면 [되돌리기](또는 Ctrl+Z)로 한 걸음씩 되돌림. 처음 노선으로 돌리려면 [원래 노선]. | -| 7 | 측점을 눌러 둔 상태면 아래 횡단도 고친 노선으로 바로 바뀜. | -| 8 | 다 고쳤으면 [저장]을 누름. 서버가 꺾임점으로 노선을 다시 그어 기울기 · 위반 수를 셈. | - -## 보이는 것 - -- **흰 네모** = 꺾임점. 테두리가 빨가면 그 자리 곡선이 기준(최소 곡선 반지름 · 배향곡선)에 못 미침. -- **주황 점** = 곡선 시작 · 끝(손잡이). **R 숫자** = 그 곡선의 반지름(m). 기준 미달이면 붉은 글. -- 고친 연도에는 「꺾임점 고침 — [저장] 전」 줄이 보이고, 저장 뒤에는 「꺾임점 고침(저장됨)」으로 바뀜. -- 고친 후보 카드는 「연장 ○○ m · 기울기 · 위반 = 저장 때 셈」으로 연장만 바로 보임. [저장] 뒤에 최대 기울기 · 위반 수가 채워짐. -- 연장이 바뀌면 그 뒤 연도의 시작 · 끝 측점도 함께 밀림. - -> 주의: 처음 · 끝 꺾임점은 연도가 바뀌는 지점이라 여기서 못 옮김. 지점(원)을 끌어 옮기고 다시 [분석]함. 지점을 옮기면 그 앞 · 뒤 연도의 꺾임점 고침은 버려짐. - -> 주의: 곡선 반지름은 법정 최소 곡선 반지름 밑으로 내려가지 않음. 옮기다가 지키던 곡선이 기준 밑으로 떨어지면 그 걸음은 막히고 까닭이 알림으로 뜸. - -> 참고: 고친 값은 [저장] 전까지 이 브라우저 탭에만 임시로 남음(새로 고침해도 유지). 다른 후보를 골랐다가 다시 고르면 고친 노선이 그대로 돌아옴. [분석]을 다시 해 분석 결과가 바뀐 연도는 고침이 버려짐. - -> 참고: 산림청이 아닌 계정에는 꺾임점 · 손잡이가 보이지 않음. 보기만 가능. diff --git a/A05_EduDetail/guide/D03/08_저장_초기화.md b/A05_EduDetail/guide/D03/08_저장_초기화.md new file mode 100644 index 000000000..85228e856 --- /dev/null +++ b/A05_EduDetail/guide/D03/08_저장_초기화.md @@ -0,0 +1,37 @@ +# 저장 · 초기화 + +왼쪽 패널 맨 아래 단추 줄 — [?] · [<] · [>] · [저장] · [초기화]와 저장 · 초기화 때 일어나는 일. + +## 여는 길 + +- 노선 분석 화면 왼쪽 패널 맨 아래. + +![단추 줄](D03_15_buttons.webp) + +그림 번호 — 1 [?] 가이드 · 2 [<] 이전 단계(기준 지정) · 3 [>] 다음 단계(확정 · 내보내기) · 4 [저장] · 5 [초기화] + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 본선 · 갈래를 긋고 구역 연도까지 정함. | +| 2 | [저장]을 누름. 화면 전체가 잠깐 잠기고 서버가 길이 · 측점 · 구역 · 연도를 다시 셈. 「예정노선을 저장했습니다.」 알림이 뜸. | +| 3 | 저장이 끝나면 [>]로 [확정 · 내보내기](D04/00_설명서)로 감. 바뀐 것이 있는 채 [>]를 누르면 저장한 뒤 넘어감. | +| 4 | 처음부터 다시 하려면 [초기화]를 누름. 확인 창이 열림. | + +![초기화 확인 창](D03_16_reset_ask.webp) + +그림 번호 — 1 확인 문구 · 2 [취소] · 3 [초기화] + +## 보이는 것 + +- [저장]은 바뀐 것이 있을 때만 켜짐. 바뀐 것이 없으면 흐림. +- 저장하면 구역 연도로 연도별 노선이 만들어지고, 사업 연도 끝은 구역 연도 중 가장 늦은 해가 됨. 서버가 저장된 선으로 다시 셈하므로 화면 값을 그대로 받아 적지 않음. +- 저장에 실패하면 「저장하지 못했습니다 — 까닭」이 뜨고 그은 것은 그대로 남음. 구역에 업체를 이미 지정했다면 그 구역을 없애는 저장은 막힘. +- 단계 아이콘 · [<] · [>] · 머리 ☰ 메뉴 · 브라우저 뒤로로 떠날 때도 바뀐 것이 있으면 저장한 뒤 옮겨 감. 저장이 실패하면 이 화면에 머묾. +- [초기화] 확인 창: 「그은 선 · 갈래 · 구역을 모두 지우고 시점 · 종점만 남깁니다. 저장된 노선도 바뀝니다.」 [초기화]를 누르면 시점 · 종점만 남은 빈 선으로 저장되고 「시점 · 종점만 남겼습니다.」 알림이 뜸. [취소]면 아무것도 바뀌지 않음. +- 산림청이 아닌 계정은 [저장] · [초기화]가 보이지 않음. + +> 주의: [초기화]는 서버에 저장된 노선까지 비움. 이미 업체를 지정한 구역이 있으면 막힐 수 있음. + +> 참고: 옛 방식(자동 후보)으로 저장해 둔 예정노선은 열 때 선과 구역으로 바꿔 보여 줌. diff --git a/A05_EduDetail/guide/D03/20_쓰인_방법과_근거.md b/A05_EduDetail/guide/D03/20_쓰인_방법과_근거.md index 95a08e0e0..cca7cfc7e 100644 --- a/A05_EduDetail/guide/D03/20_쓰인_방법과_근거.md +++ b/A05_EduDetail/guide/D03/20_쓰인_방법과_근거.md @@ -1,54 +1,40 @@ # 쓰인 방법과 근거 -![분석 결과 화면](D03_00_overview.webp) +![노선 분석 화면](D03_00_overview.webp) -## 노선을 찾는 방법 +## 선을 만드는 방법 -- 연도마다 그 연도의 시점과 종점 두 점 사이를 한 번씩 찾음. 연도 사이의 경계점은 옮기지 않으므로 앞 연도 끝과 다음 연도 시작이 정확히 맞물림. -- 찾는 엔진은 임도설계 「노선 추천」(B05)과 같은 엔진임. 지형 높이 자료(연도별 높이 격자)에서 경사를 읽고, 기울기 · 곡선 · 하천 이격을 지키는 길을 찾아 곡선까지 맞춘 중심선을 냄. -- 후보는 네 갈래로 같은 입력에서 각각 구함. +- 선은 자동으로 찾지 않고 사용자가 점을 찍어 직선으로 이음. 본선은 기준 지정의 시점에서 시작하고 종점에서 끝나며, 갈래는 기존 선의 점에서 갈라짐. +- 구역 마크는 선 위 거리(m)로 기록됨. 마크 사이 구간이 구역(조각)이고, 구역마다 연도를 가짐. 구역 이름은 「선 이름 + 측점 범위」임. +- 측점은 선마다 20 m 간격으로 0+0 부터 셈. 갈래도 0+0 부터 따로 셈. +- 선의 높이는 저장하지 않고, 필요할 때 받은 지형에서 읽음. -| 후보 | 고르는 기준 | -| --- | --- | -| 영선 | 목표 기울기로 등고선을 비스듬히 건너가는 일정한 기울기 선. 목표 기울기를 따로 주지 않으므로 기울기 상한을 목표로 삼음 | -| 토공 최소 | 후보 길 중 절토 + 성토 + 반입 + 사토 물량이 가장 적은 길 | -| 기울기 최소 | 후보 길 중 최대 종단 기울기가 가장 작은 길(같으면 평균 기울기가 작은 길) | -| 비중 계산 | 예상 · 토공 · 기울기 세 가지 비용을 비중으로 섞어 한 번 찾은 길. 비중은 기본값 50 : 25 : 25(%) 그대로 씀 | +## 미리보기 값을 셈하는 방법 -- B05 의 다른 후보(예상노선 추적 · 안전 우선 · 계류 횡단 최소 · 공사비 어림 최소)는 이 화면에서 쓰지 않음. -- 예상노선 추적은 두 점 사이가 직선이 되어 의미가 없어 뺐음. - -## 추천 기준(자동으로 정해지는 값) - -- 화면에 기준 칸이 없음. 프로젝트 등록 때 정한 「임도 종류」와 「설계속도」로 임도 법정 함수가 값을 냄. -- 설계속도는 종류별로 고를 수 있는 값이 정해져 있음. 작업임도는 20 km/h 하나, 간선 · 산불진화 임도는 20 · 30 · 40 km/h 중 선택. 지정하지 않으면 20 km/h. -- 지형 구분은 등록 칸이 없어 가장 완화된 쪽(특수지형)으로 고정해 씀. - -| 설계속도 | 종단 기울기 상한 | 최소 곡선 반지름 | -| --- | --- | --- | -| 20 km/h | 14 % | 12 m | -| 30 km/h | 12 % | 20 m | -| 40 km/h | 10 % | 40 m | - -- 하천 이격 = 100 m. 도엽 하천선 중 소하천 · 지방하천 · 국가하천만 대상. -- 탐색 복도 반폭 = 300 m. 두 지점을 이은 선 양옆 300 m 안에서만 길을 찾음. 100 m · 200 m 로는 기준을 못 지키는 곳이 남아 300 m 로 넓힘. -- 위반 개수 = 기울기 기준을 지키지 못한 곳의 수. 지형상 길이 없을 때만 어쩔 수 없이 기준을 넘은 길이 나옴. +- 길이 = 마지막 점에서 마우스(또는 제약으로 정해진 점)까지 평면 거리. +- 기울기(%) = (끝점 지반고 − 시작점 지반고) ÷ 평면 거리 × 100. 오르막이 +. +- 길이 고정 = 마우스 방향으로 입력한 길이만큼 간 점. +- 기울기 고정 = 마우스 방향 반직선을 따라 가며 기울기 크기가 입력값이 되는 첫 자리(최대 1000 m 까지 살핌). +- 둘 다 = 입력한 길이를 반지름으로 한 원 위에서 기울기 크기가 입력값이 되는 후보를 모두 구하고, 마우스에 가장 가까운 후보. +- 셈 규칙은 화면과 서버가 같은 규칙으로 따로 셈하며, 한쪽만 고치지 않도록 짝으로 관리하고 시험으로 대조함. ## 쓰는 지형 자료 -- 수치지형도 도엽(축척 1/5,000)을 지점 둘레 3×3 장씩 받아 한 장으로 병합함. 이미 받은 도엽은 다시 받지 않고, 옛 도엽도 지우지 않음. +- 수치지형도 도엽(축척 1/5,000)을 받을 범위에 걸리는 만큼 받아 한 장으로 병합함. 이미 받은 도엽은 다시 받지 않고, 옛 도엽도 지우지 않음. +- 도엽에 글자 코드 정보가 없으면 한글 윈도우 표준(cp949)으로 읽음. - 위성 지도(VWorld)는 배경 그림용. 이미 받은 범위가 덮으면 건너뜀. -- 연도별 높이 격자는 그 연도 구간 상자 + 탐색 복도 300 m + 여유 50 m 범위로 만듦. 지점이 격자 가장자리에서 300 m 안쪽에 있어야 「받은 지형 안」 으로 판정함. +- 받을 범위를 정하는 미리보기와 받기 전 범위 그림은 카카오 지도를 씀. - 도엽 등고선을 평활화한 높이 격자라 실제 측량 지형과 차이가 있을 수 있음. +- 지형은 사업 전체에 한 벌이며, 연도를 나누기 전에 받음. ## 저장 방식 -- 같은 입력(지점 · 기준 · 지형)이면 이전에 계산한 결과를 그대로 써서 [분석] 이 빨리 끝남. 지점이나 기준이 바뀌면 그 연도만 다시 계산함. -- [저장] 은 서버가 저장된 분석 결과에서 고른 후보를 다시 이어 정본으로 기록함. 화면에서 계산한 값을 그대로 받아 적지 않음. -- 누가 계산, 후보 고름, 중심선 잇기는 화면과 서버가 같은 규칙으로 따로 셈. 한쪽만 고치지 않도록 짝으로 관리하며 시험으로 대조함. +- 그은 선 · 마크 · 연도는 [저장]을 누르기 전까지 이 브라우저 탭에만 남음(자동 저장 없음). +- [저장]하면 서버가 선과 구역으로 길이 · 측점 · 구역 경계를 다시 셈하고, 구역 하나마다 한 줄, 연도마다 한 줄을 만들어 다음 단계가 읽음. 화면에서 계산한 값을 그대로 받아 적지 않음. +- 사업 연도 끝은 구역 연도 중 가장 늦은 해로 정해짐. +- [초기화]는 시점 · 종점만 남은 빈 선으로 저장함. 옛 자동 후보 방식으로 저장한 노선은 지우지 않고, 열 때 선과 구역으로 바꿔 보여 줌. ## 한계 - -- 후보 네 개가 서로 비슷한 길이 될 수 있음(가파른 지형에서 기준을 지키는 길이 좁은 띠 하나뿐인 경우). -- 평면 노선만 다룸. 종단(세로 단면) · 토공량 확정 · 구조물 계획은 이 단계 범위가 아니며, 임도설계 단계에서 다룸. -- 횡단은 지반선만 보여 주며 설계 단면은 아님. +- 평면 직선 꺾은선만 다룸. 곡선 · 종단(세로 단면) · 토공량 · 구조물 계획은 이 단계 범위가 아니며, 임도설계 단계에서 다룸. +- 아래 횡단 판과 예상 횡단은 없음. 3D 는 지형과 그은 선만 보임. +- 받은 지형 범위 밖에서는 기울기를 셀 수 없음. diff --git a/A05_EduDetail/guide/D03/30_사용자_확정_전_값.md b/A05_EduDetail/guide/D03/30_사용자_확정_전_값.md index 2afa9b65c..34f78286c 100644 --- a/A05_EduDetail/guide/D03/30_사용자_확정_전_값.md +++ b/A05_EduDetail/guide/D03/30_사용자_확정_전_값.md @@ -1,25 +1,26 @@ # 사용자 확정 전 값 -![연도별 노선 카드](D03_02_year_cards.webp) +![긋는 방식과 제약 칸](D03_03_draw_free.webp) -그림 번호는 [연도별 노선 고르기](D03/02_연도별_노선_고르기)와 같음. +그림 번호는 [본선 긋기](D03/02_본선_긋기)와 같음. 아래 값은 코드에 기본값으로 들어 있으나 사용자가 최종 확정한 값이 아님. 바꾸려면 개발 담당에게 요청. | 값 | 지금 기본값 | 출처 | 상태 | | --- | --- | --- | --- | -| 지형 구분 | 특수지형(가장 완화) 고정 | 예정노선 등록 화면에 지형 구분 칸이 없어 임도설계 기본 대체값을 그대로 씀 | 확정 전 | -| 종단 기울기 상한 | 설계속도 20 · 30 · 40 km/h 에 14 · 12 · 10 % | 임도 규정 별표 설계속도별 값 중 특수지형 열 | 지형 구분 확정에 따라 바뀜 | -| 최소 곡선 반지름 | 12 · 20 · 40 m | 같은 별표의 특수지형 열 | 지형 구분 확정에 따라 바뀜 | -| 하천 이격 | 100 m | 법정 수치 없음. 타당성 평가 별표 비고(산지계류 100 m 이내 구간 비율)를 후보로 씀 | 임도설계와 같은 기본값 | -| 탐색 복도 반폭 | 300 m | 예정노선 화면 전용값. 실제 지형으로 시험해 정함 | 시험 결과 기준 | -| 비중 계산 비중 | 예상 50 · 토공 25 · 기울기 25 (%) | 임도설계 기본 비중 | 이 화면에서 바꾸는 칸 없음 | -| 영선 목표 기울기 | 기울기 상한과 같게 | 임도설계 기본 동작 | 이 화면에서 바꾸는 칸 없음 | +| 제약 길이 처음 값 | 20 m | 측점 간격(지식DB 설계제원 총괄) | 확정 전 | +| 제약 기울기 처음 값 | 9 % | 간선임도 설계속도 20 km/h 일반지형 종단기울기 상한(지식DB 종단선형) | 확정 전 | +| 종점 붙는 거리 | 종점 둘레 화면 12 점 | 화면 고정값 | 고정 | +| 기울기 고정 탐색 거리 | 마우스 방향 최대 1000 m | 화면 고정값 | 고정 | | 측점 간격 | 20 m | 임도설계 측점 규칙과 같음 | 고정 | -| 횡단 표시 폭 | 좌우 각 20 m | 화면 고정값 | 고정 | -| 지형 판정 여유 | 지점이 지형 가장자리에서 300 m 안쪽 | 탐색 복도와 같은 값 | 복도 값과 함께 움직임 | +| 지형 받기 여유 | 350 m(300 ~ 5000 m) | 시점 · 종점 상자 둘레 | 확정 전 | +| 구역 연도 고르기 범위 | 사업 연도 시작부터 10년 | 화면 고정값 | 확정 전 | +| 마크 최소 간격 | 1 m | 화면 고정값 | 고정 | +| 지도 돌림 | 한 번에 15° | 임도설계 노선 화면 회전과 같음 | 고정 | ## 준비 중 -- 예정노선 단계에서 연도별 비중이나 목표 기울기를 직접 정하는 화면 칸은 없음. 지금은 모두 기본값으로 계산함. -- 3D 보기에 노견 · 절성토면 · 구조물을 올리는 기능은 없음. +- 제약 값(길이 · 기울기)을 설계속도나 임도 종류에 따라 바꾸는 기능은 없음. 칸에 직접 넣음. +- 곡선 반지름 · 종단 기울기 위반을 검사하는 기능은 이 단계에 없음. +- 3D 에 노견 · 절성토면 · 구조물을 올리는 기능은 없음. +- 위성 지도를 크게 확대할 때의 선명도 개선은 뒤로 미룬 항목임. diff --git a/A05_EduDetail/guide/D03/D03_00_overview.webp b/A05_EduDetail/guide/D03/D03_00_overview.webp index fdebcff2b..220387f6b 100644 Binary files a/A05_EduDetail/guide/D03/D03_00_overview.webp 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 index 9ecd6920d..bc9f23197 100644 Binary files a/A05_EduDetail/guide/D03/D03_01_terrain_card.webp and b/A05_EduDetail/guide/D03/D03_01_terrain_card.webp differ diff --git a/A05_EduDetail/guide/D03/D03_02_extent_modal.webp b/A05_EduDetail/guide/D03/D03_02_extent_modal.webp new file mode 100644 index 000000000..46ea0befe Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_02_extent_modal.webp differ diff --git a/A05_EduDetail/guide/D03/D03_02_year_cards.webp b/A05_EduDetail/guide/D03/D03_02_year_cards.webp deleted file mode 100644 index c48fc56a4..000000000 Binary files a/A05_EduDetail/guide/D03/D03_02_year_cards.webp and /dev/null differ diff --git a/A05_EduDetail/guide/D03/D03_03_draw_free.webp b/A05_EduDetail/guide/D03/D03_03_draw_free.webp new file mode 100644 index 000000000..48b3aad80 Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_03_draw_free.webp differ diff --git a/A05_EduDetail/guide/D03/D03_03_pick_mode.webp b/A05_EduDetail/guide/D03/D03_03_pick_mode.webp deleted file mode 100644 index 2cd53ce4e..000000000 Binary files a/A05_EduDetail/guide/D03/D03_03_pick_mode.webp and /dev/null differ diff --git a/A05_EduDetail/guide/D03/D03_04_constraint_length.webp b/A05_EduDetail/guide/D03/D03_04_constraint_length.webp new file mode 100644 index 000000000..024a4a02f Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_04_constraint_length.webp differ diff --git a/A05_EduDetail/guide/D03/D03_04_plan_map.webp b/A05_EduDetail/guide/D03/D03_04_plan_map.webp deleted file mode 100644 index cc9923496..000000000 Binary files a/A05_EduDetail/guide/D03/D03_04_plan_map.webp and /dev/null differ diff --git a/A05_EduDetail/guide/D03/D03_05_constraint_slope.webp b/A05_EduDetail/guide/D03/D03_05_constraint_slope.webp new file mode 100644 index 000000000..ae2646f3d Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_05_constraint_slope.webp differ diff --git a/A05_EduDetail/guide/D03/D03_05_station_cross.webp b/A05_EduDetail/guide/D03/D03_05_station_cross.webp deleted file mode 100644 index 896f2f6d1..000000000 Binary files a/A05_EduDetail/guide/D03/D03_05_station_cross.webp and /dev/null differ diff --git a/A05_EduDetail/guide/D03/D03_06_constraint_both.webp b/A05_EduDetail/guide/D03/D03_06_constraint_both.webp new file mode 100644 index 000000000..1edb2df8a Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_06_constraint_both.webp differ diff --git a/A05_EduDetail/guide/D03/D03_06_cross_fold.webp b/A05_EduDetail/guide/D03/D03_06_cross_fold.webp deleted file mode 100644 index 775ef3fb7..000000000 Binary files a/A05_EduDetail/guide/D03/D03_06_cross_fold.webp and /dev/null differ diff --git a/A05_EduDetail/guide/D03/D03_07_buttons.webp b/A05_EduDetail/guide/D03/D03_07_buttons.webp deleted file mode 100644 index e168e9033..000000000 Binary files a/A05_EduDetail/guide/D03/D03_07_buttons.webp and /dev/null differ diff --git a/A05_EduDetail/guide/D03/D03_07_snap_end.webp b/A05_EduDetail/guide/D03/D03_07_snap_end.webp new file mode 100644 index 000000000..cd3588f96 Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_07_snap_end.webp differ diff --git a/A05_EduDetail/guide/D03/D03_08_3d_modal.webp b/A05_EduDetail/guide/D03/D03_08_3d_modal.webp deleted file mode 100644 index 0b8feb3a6..000000000 Binary files a/A05_EduDetail/guide/D03/D03_08_3d_modal.webp and /dev/null differ diff --git a/A05_EduDetail/guide/D03/D03_08_branch.webp b/A05_EduDetail/guide/D03/D03_08_branch.webp new file mode 100644 index 000000000..4a2884c99 Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_08_branch.webp differ diff --git a/A05_EduDetail/guide/D03/D03_09_ip_edit.webp b/A05_EduDetail/guide/D03/D03_09_ip_edit.webp deleted file mode 100644 index c71015a30..000000000 Binary files a/A05_EduDetail/guide/D03/D03_09_ip_edit.webp and /dev/null differ diff --git a/A05_EduDetail/guide/D03/D03_09_zone_marks.webp b/A05_EduDetail/guide/D03/D03_09_zone_marks.webp new file mode 100644 index 000000000..c9ba3f1bf Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_09_zone_marks.webp differ diff --git a/A05_EduDetail/guide/D03/D03_10_pieces_years.webp b/A05_EduDetail/guide/D03/D03_10_pieces_years.webp new file mode 100644 index 000000000..0536cefc3 Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_10_pieces_years.webp differ diff --git a/A05_EduDetail/guide/D03/D03_11_tools.webp b/A05_EduDetail/guide/D03/D03_11_tools.webp new file mode 100644 index 000000000..887d88912 Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_11_tools.webp differ diff --git a/A05_EduDetail/guide/D03/D03_12_rotate.webp b/A05_EduDetail/guide/D03/D03_12_rotate.webp new file mode 100644 index 000000000..4bec31a60 Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_12_rotate.webp differ diff --git a/A05_EduDetail/guide/D03/D03_13_measure.webp b/A05_EduDetail/guide/D03/D03_13_measure.webp new file mode 100644 index 000000000..b2cb6dd1c Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_13_measure.webp differ diff --git a/A05_EduDetail/guide/D03/D03_14_3d.webp b/A05_EduDetail/guide/D03/D03_14_3d.webp new file mode 100644 index 000000000..a287a2fcd Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_14_3d.webp differ diff --git a/A05_EduDetail/guide/D03/D03_15_buttons.webp b/A05_EduDetail/guide/D03/D03_15_buttons.webp new file mode 100644 index 000000000..a4ab77a16 Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_15_buttons.webp differ diff --git a/A05_EduDetail/guide/D03/D03_16_reset_ask.webp b/A05_EduDetail/guide/D03/D03_16_reset_ask.webp new file mode 100644 index 000000000..71fb87cde Binary files /dev/null and b/A05_EduDetail/guide/D03/D03_16_reset_ask.webp differ diff --git a/A05_EduDetail/guide/D03/_scenes.json b/A05_EduDetail/guide/D03/_scenes.json index 0afbda353..bdce7e21e 100644 --- a/A05_EduDetail/guide/D03/_scenes.json +++ b/A05_EduDetail/guide/D03/_scenes.json @@ -1,12 +1,19 @@ [ - {"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(100)"},{"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(100)"},{"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":".d03-plan__3d-modal"},{"wait_ms":9000},{"wait":".d03-plan__3d-corridor input:checked"}],"settle_ms":2000,"clip":null,"callouts":[{"n":1,"sel":".d03-plan__3d-year"},{"n":2,"sel":".d03-plan__3d-corridor"},{"n":3,"sel":".d03-plan__3d-body .b05-route__viewport","pos":"br"}]}, - {"name":"D03_09_ip_edit","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.nudge(3, 18, 14)"},{"eval":"window.__d03Plan.pick(200)"},{"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__year[data-year=\"2027\"] .d03-plan__year-head:nth-child(2)","pos":"tr"},{"n":3,"sel":".d03-plan__year[data-year=\"2027\"] .d03-plan__mode.is-picked","pos":"tr"},{"n":4,"sel":".ui-sidebar-actions > button:nth-child(7)","pos":"tr"}]} + {"name":"D03_00_overview","route":"#/d03-plan-analysis","project":"plan","before":[{"wait":".d03-plan__map canvas"},{"wait":"text=받은 지형 안"},{"wait_ms":2500}],"settle_ms":1200,"clip":null,"callouts":[{"n":1,"sel":".d03-plan__map","pos":"tr"},{"n":2,"sel":".ui-sidebar-scroll > .ui-sidebar-card:nth-child(1)"},{"n":3,"sel":".ui-sidebar-scroll > .ui-sidebar-card:nth-child(2)"},{"n":4,"sel":".ui-sidebar-scroll > .ui-sidebar-card:nth-child(3)"},{"n":5,"sel":".d03-plan__tools","pos":"bl"},{"n":6,"sel":".ui-sidebar-actions","pos":"tr"}]}, + {"name":"D03_01_terrain_card","route":"#/d03-plan-analysis","project":"plan","before":[{"wait":".d03-plan__map canvas"},{"wait":"text=받은 지형 없음"},{"wait_ms":1500}],"settle_ms":1200,"clip":".ui-sidebar-scroll > .ui-sidebar-card:nth-child(1)","callouts":[{"n":1,"sel":".ui-sidebar-scroll > .ui-sidebar-card:nth-child(1) .d03-plan__hint"},{"n":2,"sel":".ui-sidebar-scroll > .ui-sidebar-card:nth-child(1) button"}]}, + {"name":"D03_02_extent_modal","route":"#/d03-plan-analysis","project":"plan","before":[{"wait":".d03-plan__map canvas"},{"wait":"text=받은 지형 없음"},{"wait_ms":1500},{"click":".ui-sidebar-scroll > .ui-sidebar-card:nth-child(1) button"},{"wait":".d03-plan__extent-modal"},{"wait":".ui-kakao-map__box"},{"wait_ms":5000}],"settle_ms":1500,"clip":null,"callouts":[{"n":1,"sel":".d03-plan__extent .d03-plan__row"},{"n":2,"sel":".d03-plan__extent > .ui-text, .d03-plan__extent > p","pos":"bl"},{"n":3,"sel":".d03-plan__extent .ui-kakao-map__box","pos":"tr"},{"n":4,"sel":".d03-plan__extent-modal button:has-text(\"이 범위 받기\")","pos":"bl"}]}, + {"name":"D03_03_draw_free","route":"#/d03-plan-analysis","project":"plan","before":[{"wait":".d03-plan__map canvas"},{"wait":"text=받은 지형 안"},{"wait_ms":2500},{"click":"text=본선 긋기"},{"eval":"(()=>{const P=window.__d03Plan,c=document.querySelector('.d03-plan__map canvas'),r=c.getBoundingClientRect(),v=P.network().lines[0].vertices,p=v[-1<0?v.length+(-1):-1],s=P.screenOf(p),X=r.left+s[0],Y=r.top+s[1];c.dispatchEvent(new PointerEvent('pointermove',{clientX:X+(70),clientY:Y+(-90),bubbles:true}))})()"},{"eval":"(()=>{const P=window.__d03Plan,c=document.querySelector('.d03-plan__map canvas'),r=c.getBoundingClientRect(),v=P.network().lines[0].vertices,p=v[-1<0?v.length+(-1):-1],s=P.screenOf(p),X=r.left+s[0],Y=r.top+s[1];const d=document.createElement('div');d.id='gm1';d.style.cssText='position:fixed;left:'+(X+(78))+'px;top:'+(Y+(-118))+'px;width:130px;height:26px;pointer-events:none';document.body.append(d)})()"}],"settle_ms":1200,"clip":null,"callouts":[{"n":1,"sel":".d03-plan__draw > .d03-plan__row:nth-child(1)"},{"n":2,"sel":"[data-role=draw-constraint]"},{"n":3,"sel":"#gm1"},{"n":4,"sel":".d03-plan__draw .d03-plan__hint"}]}, + {"name":"D03_04_constraint_length","route":"#/d03-plan-analysis","project":"plan","before":[{"wait":".d03-plan__map canvas"},{"wait":"text=받은 지형 안"},{"wait_ms":2500},{"click":"text=본선 긋기"},{"click":"text=길이 고정"},{"fill":"[data-role=draw-length]","value":"40"},{"eval":"(()=>{const P=window.__d03Plan,c=document.querySelector('.d03-plan__map canvas'),r=c.getBoundingClientRect(),v=P.network().lines[0].vertices,p=v[-1<0?v.length+(-1):-1],s=P.screenOf(p),X=r.left+s[0],Y=r.top+s[1];c.dispatchEvent(new PointerEvent('pointermove',{clientX:X+(90),clientY:Y+(-20),bubbles:true}))})()"},{"eval":"(()=>{const P=window.__d03Plan,c=document.querySelector('.d03-plan__map canvas'),r=c.getBoundingClientRect(),v=P.network().lines[0].vertices,p=v[-1<0?v.length+(-1):-1],s=P.screenOf(p),X=r.left+s[0],Y=r.top+s[1];const d=document.createElement('div');d.id='gm1';d.style.cssText='position:fixed;left:'+(X+(44))+'px;top:'+(Y+(-35))+'px;width:115px;height:26px;pointer-events:none';document.body.append(d)})()"}],"settle_ms":1200,"clip":null,"callouts":[{"n":1,"sel":"[data-role=draw-constraint]"},{"n":2,"sel":".d03-plan__draw > .d03-plan__row:nth-child(3) > :nth-child(1)"},{"n":3,"sel":"#gm1"}]}, + {"name":"D03_05_constraint_slope","route":"#/d03-plan-analysis","project":"plan","before":[{"wait":".d03-plan__map canvas"},{"wait":"text=받은 지형 안"},{"wait_ms":2500},{"click":"text=본선 긋기"},{"click":"text=기울기 고정"},{"fill":"[data-role=draw-slope]","value":"9"},{"eval":"(()=>{const P=window.__d03Plan,c=document.querySelector('.d03-plan__map canvas'),r=c.getBoundingClientRect(),v=P.network().lines[0].vertices,p=v[-1<0?v.length+(-1):-1],s=P.screenOf(p),X=r.left+s[0],Y=r.top+s[1];c.dispatchEvent(new PointerEvent('pointermove',{clientX:X+(60),clientY:Y+(-60),bubbles:true}))})()"},{"eval":"(()=>{const P=window.__d03Plan,c=document.querySelector('.d03-plan__map canvas'),r=c.getBoundingClientRect(),v=P.network().lines[0].vertices,p=v[-1<0?v.length+(-1):-1],s=P.screenOf(p),X=r.left+s[0],Y=r.top+s[1];const d=document.createElement('div');d.id='gm1';d.style.cssText='position:fixed;left:'+(X+(126))+'px;top:'+(Y+(-146))+'px;width:125px;height:26px;pointer-events:none';document.body.append(d)})()"}],"settle_ms":1200,"clip":null,"callouts":[{"n":1,"sel":"[data-role=draw-constraint]"},{"n":2,"sel":".d03-plan__draw > .d03-plan__row:nth-child(3) > :nth-child(2)"},{"n":3,"sel":"#gm1"}]}, + {"name":"D03_06_constraint_both","route":"#/d03-plan-analysis","project":"plan","before":[{"wait":".d03-plan__map canvas"},{"wait":"text=받은 지형 안"},{"wait_ms":2500},{"click":"text=갈래"},{"eval":"(()=>{const P=window.__d03Plan,c=document.querySelector('.d03-plan__map canvas'),r=c.getBoundingClientRect(),v=P.network().lines[1].vertices,p=v[-1<0?v.length+(-1):-1],s=P.screenOf(p),X=r.left+s[0],Y=r.top+s[1];for(let i=0;i<9;i++)c.dispatchEvent(new WheelEvent('wheel',{deltaY:120,clientX:X,clientY:Y,bubbles:true,cancelable:true}))})()"},{"eval":"(()=>{const P=window.__d03Plan,c=document.querySelector('.d03-plan__map canvas'),r=c.getBoundingClientRect(),v=P.network().lines[1].vertices,p=v[-1<0?v.length+(-1):-1],s=P.screenOf(p),X=r.left+s[0],Y=r.top+s[1];c.dispatchEvent(new PointerEvent('pointerdown',{clientX:X+(0),clientY:Y+(0),button:0,bubbles:true}))})()"},{"click":"text=둘 다"},{"fill":"[data-role=draw-length]","value":"20"},{"fill":"[data-role=draw-slope]","value":"9"},{"eval":"(()=>{const P=window.__d03Plan,c=document.querySelector('.d03-plan__map canvas'),r=c.getBoundingClientRect(),v=P.network().lines[1].vertices,p=v[-1<0?v.length+(-1):-1],s=P.screenOf(p),X=r.left+s[0],Y=r.top+s[1];c.dispatchEvent(new PointerEvent('pointermove',{clientX:X+(90),clientY:Y+(-100),bubbles:true}))})()"},{"eval":"(()=>{const P=window.__d03Plan,c=document.querySelector('.d03-plan__map canvas'),r=c.getBoundingClientRect(),v=P.network().lines[1].vertices,p=v[-1<0?v.length+(-1):-1],s=P.screenOf(p),X=r.left+s[0],Y=r.top+s[1];const d=document.createElement('div');d.id='gm1';d.style.cssText='position:fixed;left:'+(X+(74))+'px;top:'+(Y+(-42))+'px;width:115px;height:26px;pointer-events:none';document.body.append(d)})()"}],"settle_ms":1200,"clip":null,"callouts":[{"n":1,"sel":"[data-role=draw-constraint]"},{"n":2,"sel":".d03-plan__draw > .d03-plan__row:nth-child(3)"},{"n":3,"sel":"#gm1"}]}, + {"name":"D03_07_snap_end","route":"#/d03-plan-analysis","project":"plan","before":[{"wait":".d03-plan__map canvas"},{"wait":"text=받은 지형 안"},{"wait_ms":2500},{"click":"text=본선 긋기"},{"eval":"(()=>{const P=window.__d03Plan,c=document.querySelector('.d03-plan__map canvas'),r=c.getBoundingClientRect(),s=P.screenOf(P.base().end);c.dispatchEvent(new PointerEvent('pointermove',{clientX:r.left+s[0]+3,clientY:r.top+s[1]+2,bubbles:true}))})()"},{"eval":"(()=>{const P=window.__d03Plan,c=document.querySelector('.d03-plan__map canvas'),r=c.getBoundingClientRect(),s=P.screenOf(P.base().end);const d=document.createElement('div');d.id='gm1';d.style.cssText='position:fixed;left:'+(r.left+s[0]+(8))+'px;top:'+(r.top+s[1]+(-24))+'px;width:200px;height:28px;pointer-events:none';document.body.append(d)})()"}],"settle_ms":1200,"clip":null,"callouts":[{"n":1,"sel":"#gm1"},{"n":2,"sel":".d03-plan__draw .d03-plan__hint"}],"viewport":[1900,900]}, + {"name":"D03_08_branch","route":"#/d03-plan-analysis","project":"plan","before":[{"wait":".d03-plan__map canvas"},{"wait":"text=받은 지형 안"},{"wait_ms":2500},{"click":"text=갈래"},{"eval":"(()=>{const P=window.__d03Plan,c=document.querySelector('.d03-plan__map canvas'),r=c.getBoundingClientRect(),v=P.network().lines[0].vertices,p=v[4<0?v.length+(4):4],s=P.screenOf(p),X=r.left+s[0],Y=r.top+s[1];c.dispatchEvent(new PointerEvent('pointerdown',{clientX:X+(0),clientY:Y+(0),button:0,bubbles:true}))})()"},{"eval":"(()=>{const P=window.__d03Plan,c=document.querySelector('.d03-plan__map canvas'),r=c.getBoundingClientRect(),v=P.network().lines[0].vertices,p=v[4<0?v.length+(4):4],s=P.screenOf(p),X=r.left+s[0],Y=r.top+s[1];c.dispatchEvent(new PointerEvent('pointermove',{clientX:X+(40),clientY:Y+(-150),bubbles:true}))})()"},{"eval":"(()=>{const P=window.__d03Plan,c=document.querySelector('.d03-plan__map canvas'),r=c.getBoundingClientRect(),v=P.network().lines[0].vertices,p=v[4<0?v.length+(4):4],s=P.screenOf(p),X=r.left+s[0],Y=r.top+s[1];const d=document.createElement('div');d.id='gm1';d.style.cssText='position:fixed;left:'+(X+(-12))+'px;top:'+(Y+(-12))+'px;width:24px;height:24px;pointer-events:none';document.body.append(d)})()"}],"settle_ms":1200,"clip":null,"callouts":[{"n":1,"sel":".d03-plan__draw > .d03-plan__row:nth-child(1) button:nth-child(2)"},{"n":2,"sel":"#gm1"},{"n":3,"sel":".d03-plan__draw .d03-plan__hint"}]}, + {"name":"D03_09_zone_marks","route":"#/d03-plan-analysis","project":"plan","before":[{"wait":".d03-plan__map canvas"},{"wait":"text=받은 지형 안"},{"wait_ms":2500},{"click":"text=구역 마크"},{"wait_ms":300}],"settle_ms":1200,"clip":null,"callouts":[{"n":1,"sel":".d03-plan__draw > .d03-plan__row:nth-child(1) button:nth-child(3)"},{"n":2,"sel":".d03-plan__draw .d03-plan__hint"},{"n":3,"sel":".d03-plan__map","pos":"tr"}]}, + {"name":"D03_10_pieces_years","route":"#/d03-plan-analysis","project":"plan","before":[{"wait":".d03-plan__map canvas"},{"wait":"text=받은 지형 안"},{"wait_ms":2500}],"settle_ms":1200,"clip":".ui-sidebar-scroll > .ui-sidebar-card:nth-child(3)","callouts":[{"n":1,"sel":".d03-plan__pieces > :nth-child(1)"},{"n":2,"sel":".d03-plan__pieces > :nth-child(2)"},{"n":3,"sel":".d03-plan__pieces > :nth-child(3) select","pos":"tr"},{"n":4,"sel":".d03-plan__pieces > :nth-child(5)"},{"n":5,"sel":".d03-plan__pieces > :nth-child(6) select","pos":"tr"}]}, + {"name":"D03_11_tools","route":"#/d03-plan-analysis","project":"plan","before":[{"wait":".d03-plan__map canvas"},{"wait":"text=받은 지형 안"},{"wait_ms":2500},{"click":"text=구역 마크"},{"eval":"(()=>{const P=window.__d03Plan,c=document.querySelector('.d03-plan__map canvas'),r=c.getBoundingClientRect(),v=P.network().lines[0].vertices,p=v[2<0?v.length+(2):2],s=P.screenOf(p),X=r.left+s[0],Y=r.top+s[1];c.dispatchEvent(new PointerEvent('pointerdown',{clientX:X+(0),clientY:Y+(0),button:0,bubbles:true}))})()"},{"press":"Escape"}],"settle_ms":1200,"clip":".d03-plan__tools","callouts":[{"n":1,"sel":".d03-plan__tools [data-act=undo]"},{"n":2,"sel":".d03-plan__tools [data-act=redo]"},{"n":3,"sel":".d03-plan__tools [data-act=view3d]"},{"n":4,"sel":".d03-plan__tools [data-act=rotate-ccw]"},{"n":5,"sel":".d03-plan__tools [data-act=rotate-cw]"},{"n":6,"sel":".d03-plan__tools [data-act=measure]"}]}, + {"name":"D03_12_rotate","route":"#/d03-plan-analysis","project":"plan","before":[{"wait":".d03-plan__map canvas"},{"wait":"text=받은 지형 안"},{"wait_ms":2500},{"click":".d03-plan__tools [data-act=rotate-ccw]"},{"click":".d03-plan__tools [data-act=rotate-ccw]"},{"click":".d03-plan__tools [data-act=rotate-ccw]"},{"wait_ms":500}],"settle_ms":1200,"clip":null,"callouts":[{"n":1,"sel":".d03-plan__tools [data-act=rotate-ccw]","pos":"bl"},{"n":2,"sel":".d03-plan__tools [data-act=rotate-cw]","pos":"br"}]}, + {"name":"D03_13_measure","route":"#/d03-plan-analysis","project":"plan","before":[{"wait":".d03-plan__map canvas"},{"wait":"text=받은 지형 안"},{"wait_ms":2500},{"click":".d03-plan__tools [data-act=measure]"},{"mouse_click":[240,150],"sel":".d03-plan__map"},{"mouse_click":[620,300],"sel":".d03-plan__map"},{"wait_ms":300},{"eval":"(()=>{const r=document.querySelector('.d03-plan__map canvas').getBoundingClientRect();const d=document.createElement('div');d.id='gm1';d.style.cssText='position:fixed;left:'+(r.left+240)+'px;top:'+(r.top+150)+'px;width:380px;height:150px;pointer-events:none';document.body.append(d)})()"}],"settle_ms":1200,"clip":null,"callouts":[{"n":1,"sel":".d03-plan__tools [data-act=measure]"},{"n":2,"sel":"#gm1"}]}, + {"name":"D03_14_3d","route":"#/d03-plan-analysis","project":"plan","before":[{"wait":".d03-plan__map canvas"},{"wait":"text=받은 지형 안"},{"wait_ms":2500},{"click":".d03-plan__tools [data-act=view3d]"},{"wait":".d03-plan__3d-modal"},{"wait_ms":9000},{"eval":"(()=>{const c=document.querySelector('.d03-plan__3d-body canvas'),r=c.getBoundingClientRect();for(let i=0;i<6;i++)c.dispatchEvent(new WheelEvent('wheel',{deltaY:-240,clientX:r.left+r.width/2,clientY:r.top+r.height/2,bubbles:true,cancelable:true}))})()"},{"wait_ms":1500}],"settle_ms":2000,"clip":null,"callouts":[{"n":1,"sel":".d03-plan__3d-year"},{"n":2,"sel":".d03-plan__3d-body .b05-route__viewport","pos":"br"}]}, + {"name":"D03_15_buttons","route":"#/d03-plan-analysis","project":"plan","before":[{"wait":".d03-plan__map canvas"},{"wait":"text=받은 지형 안"},{"wait_ms":2500}],"settle_ms":1200,"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)"}]}, + {"name":"D03_16_reset_ask","route":"#/d03-plan-analysis","project":"plan","before":[{"wait":".d03-plan__map canvas"},{"wait":"text=받은 지형 안"},{"wait_ms":2500},{"click":".ui-sidebar-actions > button:nth-child(5)","confirm":true},{"wait":".ui-confirm__panel"},{"wait_ms":400}],"settle_ms":1200,"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/D04/00_설명서.md b/A05_EduDetail/guide/D04/00_설명서.md index f3aa27375..8dc941ecf 100644 --- a/A05_EduDetail/guide/D04/00_설명서.md +++ b/A05_EduDetail/guide/D04/00_설명서.md @@ -1,6 +1,6 @@ # 확정 · 내보내기 -예정노선 3단계. 분석에서 저장한 연도별 노선을 확인하고, 연도마다 일을 맡길 업체를 지정한 뒤 확정하고 내보내는 화면. +예정노선 3단계. 분석에서 저장한 노선을 조각(구역 × 갈래) 단위로 확인하고, 조각마다 일을 맡길 업체를 지정한 뒤 연도 단위로 확정하고 내보내는 화면. ## 여는 길 @@ -14,17 +14,17 @@ | 번호 | 구역 | 하는 일 | | --- | --- | --- | -| 1 | 연도 표 | 연도마다 연장 · 시점 · 종점 · 측점 · 확정 시각 · 지정 업체를 한 줄로 보여 줌. 업체를 여기서 추가 · 삭제함 | -| 2 | 「확정할 연도」 카드 | 확정할 연도를 고름. 분석 [저장]이 된 연도만 나옴 | +| 1 | 조각 표 | 조각마다 연도 · 선 · 연장 · 시점 · 종점 · 측점 · 확정 시각 · 지정 업체를 한 줄로 보여 줌. 업체를 여기서 추가 · 삭제함 | +| 2 | 「확정할 연도」 카드 | 확정할 연도를 고름. 확정은 연도 단위이며 분석 [저장]이 된 연도만 나옴 | | 3 | 단추 줄 | [?] · [<] · [>] · [내보내기] · [확정] · [저장] | ## 작업 순서 -1. 연도 표에서 연도마다 연장과 측점을 확인함. [연도 표](D04/01_연도_표) 참고. -2. 지정 업체 칸에서 업체를 추가함. 등록 회사는 이름을 찾아 고르고, 아니면 업체명과 메일을 직접 적음. [지정 업체](D04/02_지정_업체) · [업체 직접 추가](D04/03_업체_직접_추가) 참고. +1. 조각 표에서 조각마다 연장과 측점을 확인함. [조각 표](D04/01_조각_표) 참고. +2. 조각마다 지정 업체 칸에서 업체를 추가함. 같은 연도의 본선 · 갈래도 조각이 다르면 업체를 따로 정할 수 있음. 등록 회사는 이름을 찾아 고르고, 아니면 업체명과 메일을 직접 적음. [지정 업체](D04/02_지정_업체) · [업체 직접 추가](D04/03_업체_직접_추가) 참고. 3. [저장]을 눌러 지정 업체를 서버에 저장함. [단추와 확정할 연도](D04/04_단추와_확정할_연도) 참고. -4. 「확정할 연도」에서 확정할 연도를 고르고 [확정]을 누름. 확인 창에서 진행을 누르면 확정과 메일 발송이 이뤄짐. [확정과 메일](D04/05_확정과_메일) 참고. -5. 필요하면 [내보내기]로 노선 파일 묶음을 내려받아 보관함. 파일 구성은 [내보내기 파일 구성](D04/10_내보내기_파일_구성) 참고. +4. 「확정할 연도」에서 확정할 연도를 고르고 [확정]을 누름. 확인 창에서 진행을 누르면 그 연도 조각들이 확정되고 지정 업체마다 그 조각 파일이 메일로 나감. [확정과 메일](D04/05_확정과_메일) 참고. +5. 필요하면 [내보내기]로 조각별 노선 파일 묶음을 내려받아 보관함. 파일 구성은 [내보내기 파일 구성](D04/10_내보내기_파일_구성) 참고. > 주의: [저장] · [확정]은 산림청 소속 사용자만 할 수 있음. 그 밖의 사용자가 누르면 「산림청만 예정노선을 확정 · 지정할 수 있습니다.」 안내가 나옴. diff --git a/A05_EduDetail/guide/D04/01_연도_표.md b/A05_EduDetail/guide/D04/01_연도_표.md deleted file mode 100644 index 73f953ab7..000000000 --- a/A05_EduDetail/guide/D04/01_연도_표.md +++ /dev/null @@ -1,29 +0,0 @@ -# 연도 표 - -분석에서 저장한 연도별 노선을 한눈에 확인하는 표. - -## 여는 길 - -- 확정 · 내보내기 화면 가운데의 큰 표. 위에 프로젝트 이름이 크게 나옴. - -![연도 표](D04_01_year_table.webp) - -그림 번호 — 1 연장(m) · 2 시점(위도, 경도) · 3 측점 · 4 확정 시각 · 5 지정 업체 - -## 단계 - -| 단계 | 할 일 | -| --- | --- | -| 1 | 연도 열과 연장(m)으로 연도별 노선 길이를 확인함. | -| 2 | 시점 · 종점(위도, 경도)으로 노선 양 끝 위치를 확인함. | -| 3 | 측점 열(`61+14.5` 꼴)로 그 연도 노선이 전체 노선의 어디부터 어디까지인지 확인함. | -| 4 | 확정 열이 비어 있으면 아직 확정 전. 날짜와 시각이 있으면 확정이 끝난 연도. | -| 5 | 지정 업체 열은 [지정 업체](D04/02_지정_업체) 참고. | - -## 보이는 것 - -- 분석을 저장하지 않은 연도는 측점 칸에 「노선 분석 [저장] 전」이 나옴. 「확정할 연도」 목록에도 나타나지 않음. -- 확정 열 = 확정한 날짜와 시각(한국 시간). 비어 있으면 아직 확정 전. -- 시점 · 종점은 위도 · 경도 순서로 소수 6 자리까지 보임. - -> 참고: 연장이 서로 다르게 보이면 [노선 분석](D03/00_설명서)에서 후보를 다시 고르고 [저장]한 뒤 돌아옴. diff --git a/A05_EduDetail/guide/D04/01_조각_표.md b/A05_EduDetail/guide/D04/01_조각_표.md new file mode 100644 index 000000000..9f7e817ba --- /dev/null +++ b/A05_EduDetail/guide/D04/01_조각_표.md @@ -0,0 +1,32 @@ +# 조각 표 + +분석에서 저장한 노선을 조각(구역 × 갈래) 한 줄씩 한눈에 확인하는 표. + +## 여는 길 + +- 확정 · 내보내기 화면 가운데의 큰 표. 위에 프로젝트 이름이 크게 나옴. + +![조각 표](D04_01_piece_table.webp) + +그림 번호 — 1 연도 · 선(2027 · 본선) · 2 연장(m) · 3 측점 · 4 확정 시각 · 5 지정 업체 · 6 같은 연도의 갈래 조각(2028 · 갈래 1) + +## 단계 + +| 단계 | 할 일 | +| --- | --- | +| 1 | 연도 열(「2028 · 갈래 1」 꼴)로 조각이 어느 연도의 어느 선인지, 연장(m)으로 조각 길이를 확인함. | +| 2 | 시점 · 종점(위도, 경도)으로 노선 양 끝 위치를 확인함. | +| 3 | 측점 열(`0+0 ~ 19+0` 꼴)로 조각이 그 선의 어디부터 어디까지인지 확인함. 측점은 선마다 0+0 부터 셈. | +| 4 | 확정 열이 비어 있으면 아직 확정 전. 날짜와 시각이 있으면 확정이 끝난 연도의 조각. | +| 5 | 지정 업체 열은 [지정 업체](D04/02_지정_업체) 참고. | + +## 보이는 것 + +- 한 줄 = 조각 하나. 같은 연도에 본선 구역과 갈래가 있으면 줄이 여럿이고, 줄 순서는 연도 → 선 → 측점 차례. +- 조각 이름은 「선 이름 + 측점 범위」(예: 본선 0+0~19+0)이며 대시보드 「받은 예정노선」과 노선 입력의 [예정노선에서 가져오기]에서도 같은 이름으로 보임. +- 분석을 저장하지 않은 옛 연도 줄은 측점 칸에 「노선 분석 [저장] 전」이 나옴. 「확정할 연도」 목록에도 나타나지 않음. +- 조각이 없는 옛 예정노선은 연도 한 줄이 한 조각처럼 보임. +- 확정 열 = 확정한 날짜와 시각(한국 시간). 확정은 연도 단위라서 같은 연도의 조각은 같은 시각이 찍힘. +- 시점 · 종점은 위도 · 경도 순서로 소수 6 자리까지 보임. + +> 참고: 연장이 다르게 보이면 [노선 분석](D03/00_설명서)에서 선을 고치고 [저장]한 뒤 돌아옴. diff --git a/A05_EduDetail/guide/D04/02_지정_업체.md b/A05_EduDetail/guide/D04/02_지정_업체.md index 1359641f0..b32826cad 100644 --- a/A05_EduDetail/guide/D04/02_지정_업체.md +++ b/A05_EduDetail/guide/D04/02_지정_업체.md @@ -1,31 +1,33 @@ # 지정 업체 -연도마다 일을 맡길 업체를 지정하는 열. +조각마다 일을 맡길 업체를 지정하는 열. ## 여는 길 -- 연도 표의 맨 오른쪽 「지정 업체」 열. 연도 한 줄마다 업체 목록과 추가 칸이 있음. +- 조각 표의 맨 오른쪽 「지정 업체」 열. 조각 한 줄마다 업체 목록과 추가 칸이 있음. ![지정 업체 열](D04_02_assigned_firms.webp) -그림 번호 — 1 지정된 업체 한 건 · 2 표시 딱지(Aislo) · 3 [×] 빼기 단추 · 4 업체 추가 칸 +그림 번호 — 1 2028 · 본선 조각의 업체 · 2 같은 연도 갈래 조각의 다른 업체 · 3 [×] 빼기 단추 · 4 업체 추가 칸 ## 단계 | 단계 | 할 일 | | --- | --- | -| 1 | 연도 줄의 지정 업체 목록에서 이미 지정된 업체를 확인함. 한 연도에 업체 여럿을 지정할 수 있음. | +| 1 | 조각 줄의 지정 업체 목록에서 이미 지정된 업체를 확인함. 한 조각에 업체 여럿을 지정할 수 있음. | | 2 | 업체를 더하려면 아래 추가 칸을 씀. [업체 직접 추가](D04/03_업체_직접_추가) 참고. | | 3 | 잘못 넣은 업체는 업체 옆 [×]로 뺌. | | 4 | 다 끝나면 왼쪽 아래 [저장]을 눌러 서버에 남김. | ## 보이는 것 +- 업체는 조각마다 따로 정함. 같은 연도의 본선 조각과 갈래 조각에 같은 업체를 넣어도, 다른 업체를 넣어도 됨(그림의 2028 · 본선과 2028 · 갈래 1은 다른 업체). + - 업체 한 건 = 「업체명 · 메일」 글 + 딱지. - 딱지 「Aislo」 = 아이슬로에 등록된 회사로 지정된 업체. - 딱지 「메일 보냄」 = 확정 때 메일이 나갔다는 표시. 같은 업체에는 다시 확정해도 중복 발송하지 않음. -- 딱지 「연결됨」 = 그 업체가 이 연도 노선을 자기 임도 프로젝트로 가져가 연결했다는 표시. -- 같은 업체 판정: 등록 회사는 회사 번호, 직접 적은 업체는 메일 주소(대소문자 구분 없음). 같은 업체를 두 번 넣어도 한 번만 들어감. +- 딱지 「연결됨」 = 그 업체가 이 조각을 자기 임도 프로젝트로 가져가 연결했다는 표시. +- 같은 업체 판정: 등록 회사는 회사 번호, 직접 적은 업체는 메일 주소(대소문자 구분 없음). 같은 조각에 같은 업체를 두 번 넣어도 한 번만 들어감. - 산림청이 아닌 계정은 추가 칸과 [×]가 보이지 않음. 보기만 가능. > 참고: 이 그림의 업체명과 메일은 가이드용 견본임. diff --git a/A05_EduDetail/guide/D04/03_업체_직접_추가.md b/A05_EduDetail/guide/D04/03_업체_직접_추가.md index 51fd72ee7..8b6237714 100644 --- a/A05_EduDetail/guide/D04/03_업체_직접_추가.md +++ b/A05_EduDetail/guide/D04/03_업체_직접_추가.md @@ -4,7 +4,7 @@ ## 여는 길 -- 연도 표 「지정 업체」 열의 추가 칸(업체 칸 · 메일 칸 · [추가]). +- 조각 표 「지정 업체」 열의 추가 칸(업체 칸 · 메일 칸 · [추가]). ![업체명과 메일을 적은 모습](D04_03_add_manual.webp) @@ -17,7 +17,7 @@ | 1 | 등록 회사로 지정하려면 업체 칸에 회사 이름 글자를 넣음. 가입된 회사 이름이 목록으로 뜨면 하나를 고름. | | 2 | 메일 칸을 비우면 그 회사의 대표 메일이 쓰임. 다른 메일로 받으려면 메일 칸에 적음. | | 3 | 등록 회사가 아니면(수기 지정) 업체 칸에 업체명, 메일 칸에 메일(@ 포함)을 둘 다 적음. | -| 4 | [추가]를 누름. 그 연도 칸에 업체 이름 + 메일이 표시됨. | +| 4 | [추가]를 누름. 그 조각 줄에 업체 이름 + 메일이 표시됨. | ![저장 안 된 변경 안내](D04_04_unsaved_note.webp) @@ -29,6 +29,6 @@ - 수기 지정에서 업체명이나 메일이 비면 「등록 회사가 아니면 업체명과 메일이 필요합니다.」 안내가 나오고 추가되지 않음. - 업체 추가와 삭제는 [저장]을 누르기 전까지 이 브라우저 탭에만 임시로 남음. 탭을 닫으면 사라짐. -> 주의: [저장]은 표에 있는 모든 연도의 지정 업체를 화면 내용대로 맞춤. 업체를 모두 뺀 연도는 지정이 비워짐. +> 주의: [저장]은 표에 있는 모든 조각의 지정 업체를 화면 내용대로 맞춤. 업체를 모두 뺀 조각은 지정이 비워짐. > 참고: 이 그림의 업체명과 메일은 가이드용 견본임. diff --git a/A05_EduDetail/guide/D04/04_단추와_확정할_연도.md b/A05_EduDetail/guide/D04/04_단추와_확정할_연도.md index 0599b74fa..25b49fda1 100644 --- a/A05_EduDetail/guide/D04/04_단추와_확정할_연도.md +++ b/A05_EduDetail/guide/D04/04_단추와_확정할_연도.md @@ -19,7 +19,7 @@ | 단계 | 할 일 | | --- | --- | | 1 | 「확정할 연도」에서 확정할 연도의 선택 상자를 켬. 아직 확정하지 않은 연도는 처음부터 켜져 있음. | -| 2 | 지정 업체를 바꿨으면 [저장]을 눌러 서버에 남김. 「지정 업체를 저장했습니다.」 알림이 뜸. | +| 2 | 조각 줄의 지정 업체를 바꿨으면 [저장]을 눌러 서버에 남김. 「지정 업체를 저장했습니다.」 알림이 뜸. | | 3 | [확정]은 [확정과 메일](D04/05_확정과_메일) 참고. | | 4 | 노선 파일이 필요하면 [내보내기]를 누름. | @@ -27,11 +27,11 @@ | 단추 | 하는 일 | | --- | --- | -| [내보내기] | 「프로젝트이름_예정노선.zip」을 내려받음. 산림청은 모든 연도와 전체 노선을 받음. 지정받은 회사는 확정된 자기 연도만 받음 | -| [확정] | 고른 연도를 확정하고 지정 업체에 메일을 보냄. 고른 연도가 없으면 「확정할 연도를 고르세요.」 안내 | -| [저장] | 연도별 지정 업체 목록을 서버에 저장함 | +| [내보내기] | 「프로젝트이름_예정노선.zip」을 내려받음. 산림청은 모든 조각과 전체 노선을 받음. 지정받은 회사는 확정된 자기 조각만 받음 | +| [확정] | 고른 연도의 조각들을 확정하고 조각마다 지정 업체에 메일을 보냄. 고른 연도가 없으면 「확정할 연도를 고르세요.」 안내 | +| [저장] | 조각별 지정 업체 목록을 서버에 저장함 | -- 분석 [저장]이 된 연도만 목록에 나옴. +- 분석 [저장]이 된 연도만 목록에 나옴. 확정은 연도 단위라서 그 연도의 모든 조각이 함께 확정됨. - 산림청이 아닌 계정은 「확정할 연도」 카드와 [확정] · [저장]이 보이지 않고 [내보내기]만 있음. - 내보내기는 서버에 저장된 노선만 사용함. [노선 분석](D03/00_설명서)에서 [저장]하지 않은 변경은 반영되지 않음. diff --git a/A05_EduDetail/guide/D04/05_확정과_메일.md b/A05_EduDetail/guide/D04/05_확정과_메일.md index cc9546b01..7c780da08 100644 --- a/A05_EduDetail/guide/D04/05_확정과_메일.md +++ b/A05_EduDetail/guide/D04/05_확정과_메일.md @@ -1,6 +1,6 @@ # 확정과 메일 -고른 연도를 확정하고 지정 업체에 노선 파일을 메일로 보내는 과정. +고른 연도를 확정하고 조각마다 지정 업체에 그 조각 노선 파일을 메일로 보내는 과정. ## 여는 길 @@ -18,7 +18,7 @@ | 2 | 「확정할 연도」에서 연도를 고름. | | 3 | [확정]을 누르면 확인 창이 열림. 「고른 연도를 확정하고 지정 업체에 노선 묶음을 메일로 보냅니다. 진행할까요?」 | | 4 | 진행하려면 창의 [확정]을 누름. 그만두려면 [취소]를 누름. | -| 5 | 끝나면 「확정 — 메일 sent 2 · already_sent 1」 꼴로 업체별 처리 결과가 개수로 나옴. | +| 5 | 끝나면 「확정 — 메일 sent 3 · already_sent 1」 꼴로 업체(조각 지정)별 처리 결과가 개수로 나옴. | ## 보이는 것 @@ -27,12 +27,13 @@ | sent | 메일 발송 성공 | | already_sent | 이미 보낸 업체여서 다시 보내지 않음 | | no_email | 메일 주소가 없어 보내지 못함(등록 회사의 대표 메일이 비어 있는 경우 등) | +| no_route | 지정한 조각이 저장된 노선에 없어 보내지 못함 | | failed | 메일 발송 실패 | -- 확정하면 연도 표의 확정 열에 날짜와 시각이 찍히고, 지정 업체에 「메일 보냄」 딱지가 붙음. +- 확정하면 조각 표의 확정 열에 날짜와 시각이 찍히고, 지정 업체에 「메일 보냄」 딱지가 붙음. - 보내지는 메일의 제목은 「[예정노선 확정] 프로젝트이름 N년」. -- 본문에는 프로젝트 · 사업 지역 · 연도 · 연장(km 와 m) 요약과 첨부 파일 목록, 압축을 풀면 노선 입력에 바로 올릴 수 있다는 안내가 있음. -- 첨부 = 그 업체의 연도 한 해 분량 zip 1개(파일 이름 「프로젝트이름_예정노선_연도.zip」). 내용은 [내보내기 파일 구성](D04/10_내보내기_파일_구성) 참고. +- 본문에는 프로젝트 · 사업 지역 · 연도 · 그 조각의 연장(km 와 m) 요약과 첨부 파일 목록, 압축을 풀면 노선 입력에 바로 올릴 수 있다는 안내가 있음. +- 첨부 = 그 업체에 지정된 조각 한 개 분량 zip 1개(파일 이름 「프로젝트이름_예정노선_2028_갈래1_p2.zip」 꼴 = 연도 · 선 · 조각 번호). 한 업체가 조각 둘에 지정되어 있으면 메일도 둘로 나감. 내용은 [내보내기 파일 구성](D04/10_내보내기_파일_구성) 참고. > 주의: 확정은 분석 [저장]이 된 연도만 가능함. 저장하지 않은 연도를 억지로 확정하려 하면 「분석 [저장]이 안 된 연도입니다」 오류가 나옴. diff --git a/A05_EduDetail/guide/D04/06_받은_업체_연결.md b/A05_EduDetail/guide/D04/06_받은_업체_연결.md index 3653466e0..79f86d7ad 100644 --- a/A05_EduDetail/guide/D04/06_받은_업체_연결.md +++ b/A05_EduDetail/guide/D04/06_받은_업체_연결.md @@ -1,27 +1,28 @@ # 받은 업체의 임도 연결 -확정된 예정노선을 받은 업체가 자기 임도 프로젝트로 가져가 설계를 이어 가는 방법. +확정된 예정노선 조각을 받은 업체가 자기 임도 프로젝트로 가져가 설계를 이어 가는 방법. ## 여는 길 -- 지정받은 등록 회사는 대시보드의 「받은 예정노선」 구역에서 확정된 연도를 봄. +- 지정받은 등록 회사는 대시보드의 「받은 예정노선」 구역에서 자기에게 지정된 확정 조각을 봄. 한 줄 = 조각 하나이며 「2028 · 본선 0+0~19+0」처럼 연도와 조각 이름이 함께 보임. - 열 = 예정노선 · 연도 · 확정 · 연결 상태(연결됨 / 미연결 / 업데이트 있음) · 작업. ## 단계 | 단계 | 할 일 | | --- | --- | -| 1 | 「받은 예정노선」에서 연도 줄의 [보기]를 누르면 예정노선 화면이 보기만 가능한 상태로 열림. | +| 1 | 「받은 예정노선」에서 조각 줄의 [보기]를 누르면 예정노선 화면이 보기만 가능한 상태로 열림. 화면에는 자기 회사에 지정된 조각 줄만 보임. | | 2 | [연결]을 누르면 모달이 열려 두 가지 중 하나를 고름. | | 3 | 「새 임도 프로젝트로」 = 예정노선 이름 + 연도로 임도 프로젝트를 새로 만들고 노선 입력 단계(B03)로 이동. 예정노선의 설계속도(20 · 30 · 40 km/h)가 새 프로젝트의 설계속도 기본값으로 들어감. | | 4 | 「기존 프로젝트에 연결」 = 우리 회사의 임도 프로젝트를 골라 그 프로젝트에 연결. 임도 프로젝트가 없으면 「우리 회사 임도 프로젝트가 없습니다.」가 보임. | -| 5 | 임도 프로젝트 노선 입력 화면의 [예정노선에서 가져오기]로도 같은 일을 할 수 있음. 지정받은 연도를 고르면 노선이 입력됨. | +| 5 | 임도 프로젝트 노선 입력 화면의 [예정노선에서 가져오기]로도 같은 일을 할 수 있음. 지정받은 조각(「프로젝트 연도 조각 이름」으로 보임)을 고르면 그 조각의 노선이 입력됨. | ## 보이는 것 -- 연결하면 그 연도 노선(shapefile 한 벌)이 노선 입력 단계의 입력 파일로 들어감. 파일을 직접 올린 것과 같은 길이라 이후 처리도 같음. 지형 자료는 업체가 따로 올려야 함. +- 연결하면 그 조각 노선(shapefile 한 벌)이 노선 입력 단계의 입력 파일로 들어감. 파일을 직접 올린 것과 같은 길이라 이후 처리도 같음. 지형 자료는 업체가 따로 올려야 함. - 이미 분석 결과가 있는 임도 프로젝트에 연결하면 기존 결과를 지워도 되는지 묻는 확인 창이 먼저 나옴. 취소하면 아무것도 바뀌지 않음. - 연결 시점의 노선이 복사되므로, 산림청이 뒤에 노선을 바꿔도 임도 프로젝트는 자동으로 바뀌지 않음. 대신 「업데이트 있음」 표시가 뜨며, 노선 입력 화면 위쪽 띠에서 [다시 가져오기]로 직접 반영 여부를 결정함. -- 한 임도 프로젝트는 한 연도에만 연결됨. 다른 연도로 다시 연결하면 앞의 연결은 풀림. +- 한 임도 프로젝트는 한 조각에만 연결됨. 다른 조각(같은 연도의 갈래도 마찬가지)으로 다시 연결하면 앞의 연결은 풀림. 조각이 여럿이면 조각마다 임도 프로젝트를 따로 만들어 연결함. +- 측점은 조각마다 0+0 부터 새로 시작함. 임도 종류 · 설계속도는 임도설계 기본값(작업임도 · 20 km/h)으로 시작하며 임도 프로젝트에서 바꿈. -> 참고: 임도 프로젝트 쪽 화면은 [임도설계 가이드](B03/00_설명서)를 참고. 산림청 쪽에서 연결된 연도에는 연도 표의 지정 업체에 「연결됨」 딱지가 붙음. +> 참고: 임도 프로젝트 쪽 화면은 [임도설계 가이드](B03/00_설명서)를 참고. 산림청 쪽에서 연결된 조각에는 조각 표의 지정 업체에 「연결됨」 딱지가 붙음. diff --git a/A05_EduDetail/guide/D04/10_내보내기_파일_구성.md b/A05_EduDetail/guide/D04/10_내보내기_파일_구성.md index e45d52c6f..b9d4d2448 100644 --- a/A05_EduDetail/guide/D04/10_내보내기_파일_구성.md +++ b/A05_EduDetail/guide/D04/10_내보내기_파일_구성.md @@ -7,13 +7,13 @@ ## 한눈에 - 내려받는 파일 이름 = 「프로젝트이름_예정노선.zip」. 이름에 쓸 수 없는 글자는 밑줄(_)로 바뀜. -- 압축 안에 연도 이름의 폴더가 연도마다 하나, 그리고 「전체」 폴더가 하나 들어 있음(전체 폴더는 산림청만 받음). -- 업체에 보내는 메일 첨부 zip 은 한 연도 분량이며, 폴더 없이 그 연도 파일들이 바로 들어 있음. +- 압축 안에 조각마다 폴더가 하나(폴더 이름 「2028_갈래1_p2」 = 연도 · 선 · 조각 번호), 그리고 「전체」 폴더가 하나 들어 있음(전체 폴더는 산림청만 받음). 조각이 없는 옛 예정노선은 연도 이름(「2026」) 폴더가 연도마다 하나. +- 업체에 보내는 메일 첨부 zip 은 그 업체에 지정된 조각 한 개 분량이며, 폴더 없이 그 조각 파일들이 바로 들어 있음. | 위치 | 내용 | | --- | --- | -| 연도 폴더(예: 2026) | 그해 시점에서 종점까지 중심선 한 줄(shapefile 한 벌) + 좌표표 엑셀 | -| 전체 폴더 | 모든 연도를 이은 한 줄(shapefile 한 벌, 발주처 보관용) + 모든 연도가 담긴 좌표표 엑셀 | +| 조각 폴더(예: 2028_갈래1_p2) | 그 조각의 중심선 한 줄(shapefile 한 벌) + 좌표표 엑셀 | +| 전체 폴더 | 선마다 한 줄씩 담은 shapefile 한 벌(발주처 보관용: 본선 · 갈래 레코드) + 모든 조각이 담긴 좌표표 엑셀 | ## shapefile 한 벌 @@ -31,39 +31,39 @@ | 대상지 | 「사업지역.연장km」 글자(예: 지역.2.2). 20바이트(한글 10자 안팎)를 넘으면 뒤가 잘림 | 글자 20 | | 길이 | 노선 연장, 단위 km(소수 셋째 자리) | 숫자 11.3 | | 연도 | 사업 연도. 전체 노선은 비어 있음 | 정수 4 | -| 시점누가 | 그 선이 시작하는 누가거리(m) · 기계용 숫자 칸 | 숫자 11.2 | -| 종점누가 | 그 선이 끝나는 누가거리(m) · 기계용 숫자 칸 | 숫자 11.2 | +| 시점누가 | 그 조각이 시작하는 누가거리(m, 그 선의 0+0 부터 잰 값) · 기계용 숫자 칸 | 숫자 11.2 | +| 종점누가 | 그 조각이 끝나는 누가거리(m) · 기계용 숫자 칸 | 숫자 11.2 | - 대상지 · 길이 두 칸은 용화 양식과 같고, 연도 · 시점누가 · 종점누가 는 이 프로그램이 덧붙인 칸임. -- 누가 값은 2단계에서 이어 셈한 값 그대로임. 앞 연도 종점 누가 = 다음 연도 시점 누가. +- 누가 값은 노선 분석에서 구역 경계로 정한 값 그대로임. 앞 구역 종점 누가 = 다음 구역 시점 누가이고, 갈래는 갈래마다 0 부터 셈. ## 좌표표 엑셀 - 파일 이름 = 「좌표표_프로젝트이름.xlsx」, 시트 이름 「좌표표」. -- 첫 줄에 「프로젝트이름 예정노선 좌표표 (UTM-K EPSG:5179)」 제목, 둘째 줄이 열 이름, 이후 연도마다 한 줄. -- 연도 폴더의 좌표표는 그 연도 한 줄, 전체 폴더의 좌표표는 모든 연도가 줄마다 들어 있음. +- 첫 줄에 「프로젝트이름 예정노선 좌표표 (UTM-K EPSG:5179)」 제목, 둘째 줄이 열 이름, 이후 조각마다 한 줄. +- 조각 폴더의 좌표표는 그 조각 한 줄, 전체 폴더의 좌표표는 모든 조각이 줄마다 들어 있음. | 열 | 뜻 | | --- | --- | -| 연도 | 사업 연도 | +| 연도 | 구역에 정한 사업 연도 | | 시점 X · 시점 Y | 시작점 UTM-K 좌표(m) | | 종점 X · 종점 Y | 끝점 UTM-K 좌표(m) | | 시점 경도 · 시점 위도 | 시작점 위경도(도) | | 종점 경도 · 종점 위도 | 끝점 위경도(도) | | 시점 측점 · 종점 측점 | 측점(No.+거리 · 예 `61+14.5` · 20 m 마다 번호) | | 시점누가(m) · 종점누가(m) | 이어 셈한 누가거리(m) | -| 연장(m) | 그 연도 노선 길이 | +| 연장(m) | 그 조각 길이 | ## 보는 사람에 따른 차이 | 사용자 | 받는 범위 | | --- | --- | -| 산림청 | 분석이 저장된 모든 연도 폴더 + 전체 폴더 | -| 지정받은 등록 회사 | 확정되었고 자기 회사가 지정된 연도 폴더만. 전체 폴더 없음. 받을 연도가 없으면 「받을 수 있는 연도가 없습니다」 로 거절됨 | +| 산림청 | 분석이 저장된 모든 조각 폴더 + 전체 폴더 | +| 지정받은 등록 회사 | 확정되었고 자기 회사가 지정된 조각 폴더만. 전체 폴더 없음. 받을 조각이 없으면 「받을 수 있는 연도가 없습니다」 로 거절됨 | | 저장된 분석이 전혀 없을 때 | 「분석 [저장]이 된 연도가 없습니다.」 로 거절됨 | ## 알아 둘 것 - 파일은 서버에 저장된 노선으로만 만들며, 화면에서 아직 저장하지 않은 노선은 반영되지 않음. -- 전체 노선은 앞 연도 끝점과 다음 연도 시작점이 겹치므로 겹치는 한 점을 빼고 이어 붙임. -- 임도 프로젝트로 연결할 때는 좌표표 없이 shapefile 한 벌만 노선 입력에 들어감. +- 전체 폴더는 선마다 한 레코드로 담음(본선 한 줄 · 갈래마다 한 줄). 같은 선의 구역은 경계점이 겹치므로 겹치는 한 점을 빼고 이어 붙임. +- 임도 프로젝트로 연결할 때는 좌표표 없이 그 조각의 shapefile 한 벌만 노선 입력에 들어감. diff --git a/A05_EduDetail/guide/D04/30_사용자_확정_전_값.md b/A05_EduDetail/guide/D04/30_사용자_확정_전_값.md index 2b72d3ac3..ba6b9a3b1 100644 --- a/A05_EduDetail/guide/D04/30_사용자_확정_전_값.md +++ b/A05_EduDetail/guide/D04/30_사용자_확정_전_값.md @@ -1,6 +1,6 @@ # 사용자 확정 전 값 -![연도 표](D04_01_year_table.webp) +![조각 표](D04_01_piece_table.webp) 아래 항목은 코드의 현재 동작이며, 바꾸려면 개발 담당에게 요청. @@ -12,7 +12,9 @@ | 좌표표 엑셀 | 연도 폴더 · 전체 폴더에 포함, 선택 기능은 아님 | 요구서는 「선택」 으로 적었으나 실제로는 항상 만듦 | 확정 전 | | 메일 재발송 | 이미 보낸 업체에는 다시 보내지 않음, 화면에 재발송 단추 없음 | 서버에 재발송 옵션은 있으나 화면에 연결되지 않음 | 준비 중 | | 연결 시 연도 측점 | 연결한 임도 프로젝트에서 측점이 처음부터 다시 시작할지 | 이어 받기 기능이 필요해 뒤로 미룬 항목 | 준비 중 | -| 설계속도 전달 | 새 임도 프로젝트로 연결할 때 예정노선 설계속도가 노선 단계(B05) 설정에도 들어감. 기존 프로젝트는 프로젝트 설계속도 칸이 비어 있을 때만 채움 | 임도설계 설정과 같은 값 범위 | 동작 중 | +| 연결한 임도 프로젝트의 종류 · 설계속도 | 예정노선에서는 받지 않으므로 임도설계 기본값(작업임도 · 20 km/h)으로 시작함. 임도 프로젝트에서 바꿈 | 요구 389 | 확정 전 | +| 업체 지정 단위 | 조각(구역 × 갈래)마다 한 줄 | 사용자 확정(요구 391) | 확정 | +| 확정 단위 | 연도 단위(같은 연도의 조각이 함께 확정됨) | 기존 동작 | 확정 전 | ## 준비 중 diff --git a/A05_EduDetail/guide/D04/D04_00_overview.webp b/A05_EduDetail/guide/D04/D04_00_overview.webp index aff95e78d..fef9dba8d 100644 Binary files a/A05_EduDetail/guide/D04/D04_00_overview.webp and b/A05_EduDetail/guide/D04/D04_00_overview.webp differ diff --git a/A05_EduDetail/guide/D04/D04_01_piece_table.webp b/A05_EduDetail/guide/D04/D04_01_piece_table.webp new file mode 100644 index 000000000..946357980 Binary files /dev/null and b/A05_EduDetail/guide/D04/D04_01_piece_table.webp differ diff --git a/A05_EduDetail/guide/D04/D04_01_year_table.webp b/A05_EduDetail/guide/D04/D04_01_year_table.webp deleted file mode 100644 index f6bb7fa21..000000000 Binary files a/A05_EduDetail/guide/D04/D04_01_year_table.webp and /dev/null differ diff --git a/A05_EduDetail/guide/D04/D04_02_assigned_firms.webp b/A05_EduDetail/guide/D04/D04_02_assigned_firms.webp index 14214df1c..a1ed220e2 100644 Binary files a/A05_EduDetail/guide/D04/D04_02_assigned_firms.webp 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 index 8811f5f18..be544e6c2 100644 Binary files a/A05_EduDetail/guide/D04/D04_03_add_manual.webp 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 index f4fe30023..fb089e0ce 100644 Binary files a/A05_EduDetail/guide/D04/D04_04_unsaved_note.webp and b/A05_EduDetail/guide/D04/D04_04_unsaved_note.webp differ diff --git a/A05_EduDetail/guide/D04/D04_06_buttons.webp b/A05_EduDetail/guide/D04/D04_06_buttons.webp index b1c60c70b..a97321e94 100644 Binary files a/A05_EduDetail/guide/D04/D04_06_buttons.webp 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 index ceb1239b2..c2872c5a9 100644 Binary files a/A05_EduDetail/guide/D04/D04_07_finalize_ask.webp 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 index 4c6b65a86..fc93ce0d2 100644 --- a/A05_EduDetail/guide/D04/_scenes.json +++ b/A05_EduDetail/guide/D04/_scenes.json @@ -1,9 +1,9 @@ [ {"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_01_piece_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(1)"},{"n":2,"sel":".d04-confirm__table tbody tr:nth-child(1) td:nth-child(2)"},{"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"},{"n":6,"sel":".d04-confirm__table tbody tr:nth-child(3) td:nth-child(1)","pos":"bl"}]}, + {"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","callouts":[{"n":1,"sel":".d04-confirm__table tbody tr:nth-child(2) td:nth-child(7) .d04-confirm__firm"},{"n":2,"sel":".d04-confirm__table tbody tr:nth-child(3) td:nth-child(7) .d04-confirm__firm"},{"n":3,"sel":".d04-confirm__table tbody tr:nth-child(2) .d04-confirm__firm > button","pos":"tr"},{"n":4,"sel":".d04-confirm__table tbody tr:nth-child(2) .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_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":".d04-confirm__table tbody tr:nth-child(3) .d04-confirm__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"}]}