41 lines
3.3 KiB
Markdown
41 lines
3.3 KiB
Markdown
# 화천군 관망도
|
|
|
|
SWMM 입력 자료의 화천군 맨홀·우수관로를 WebGL로 탐색하는 웹사이트입니다. 검색, 시설 제원, 연결부 내부 보기, 레이어·배율·시점 조작을 제공합니다. 수리 해석은 수행하지 않습니다.
|
|
|
|
## 실행
|
|
|
|
Python 3.10 이상과 WebGL을 지원하는 최신 Chrome 또는 Edge가 필요합니다. Python 표준 라이브러리만 사용하며 별도 패키지 설치나 빌드가 없습니다.
|
|
|
|
```bash
|
|
cd /home/user/hwacheon-network-viewer
|
|
python3 start.py
|
|
```
|
|
|
|
브라우저에서 **http://127.0.0.1:8080/** 를 열면 화천 관망도가 바로 표시됩니다. 실행 터미널을 유지하고 종료할 때 `Ctrl+C`를 누릅니다. 포트가 사용 중이면 `python3 start.py --port 8081`로 실행합니다. 다른 위치에 복사한 경우 해당 프로젝트 폴더에서 실행하면 됩니다.
|
|
|
|
내부망 공유는 `python3 start.py --lan`으로 실행합니다. WSL 환경에서는 Windows 포트 전달·방화벽 설정이 별도로 필요합니다. 공유 모드에는 로그인이 없습니다. 글꼴·스크립트·데이터는 모두 프로젝트 안에서 읽습니다.
|
|
|
|
## 파일 구성
|
|
|
|
- `start.py`, `serve.py`: 실행 진입점과 `web/` 전용 HTTP 서버.
|
|
- `web/index.html`, CSS: 화천 화면과 공통 스타일.
|
|
- `web/app.js`: 데이터 로딩·검색·시설 정보·화면 제어.
|
|
- `web/renderer.js`, `geometry.js`, `math.js`: 기존 WebGL 렌더링·형상·좌표 계산.
|
|
- `web/data/network.json`: 실행에 필요한 변환된 화천 관망 데이터.
|
|
- `web/fonts/`: Pretendard 글꼴과 원문 라이선스.
|
|
|
|
## 데이터 출처와 이용 범위
|
|
|
|
제공 자료 `HC_A.inp`를 변환한 `network.json`을 그대로 포함합니다. 원본 SHA-256은 JSON의 `meta.sha256`에 기록되어 있으며 변환 당시 원본과 일치했습니다. 맨홀 805개, 방류구 9개, 저류시설 1개, 관로 843개, 펌프 3개, 위어 1개를 포함합니다. 원본 INP·도면·PDF와 변환 도구는 이번 실행용 제출 범위에서 제외했습니다.
|
|
|
|
이 저장소에는 실행에 필요한 JSON을 포함하며, 시설 ID·좌표·제원 등 실제 자료의 회사 Gitea 제출 허용 여부와 저장소 공개 범위는 담당자 확인이 필요합니다. 원자료의 소유자·이용허락 문서는 확인되지 않았습니다.
|
|
|
|
별도 외부 JavaScript 라이브러리는 포함하지 않습니다. Pretendard Variable 1.3.9는 [해당 버전 공식 라이선스](https://github.com/orioncactus/pretendard/blob/v1.3.9/LICENSE)의 SIL OFL 1.1을 따르며 `web/fonts/LICENSE.txt`를 함께 제공합니다. 프로젝트 자체 코드의 라이선스와 회사 제출 범위는 미확정이므로 임의의 오픈소스 라이선스는 부여하지 않았습니다.
|
|
|
|
## 주요 미확정 사항
|
|
|
|
- 좌표계·XY 단위는 미확인으로, XY 1단위=1m를 가정합니다.
|
|
- 맨홀 내경 1.2m는 표현용 가정이며 실제 벽 두께·시공 선형·측량 지반고는 복원하지 않습니다.
|
|
- 좌표 누락·겹침, 입력 길이와 좌표 거리 차이, 입력 방향 기준 역경사 등이 남아 있습니다. 화면의 기존 데이터 점검 항목은 오류 확정이나 검증 완료를 뜻하지 않습니다.
|
|
- 표시·계산의 정확성과 브라우저별 동작에 대한 정식 검증은 별도 과제입니다. 개선·검증 계획은 향후 Gitea 이슈로 관리합니다.
|