개요
이 글은 제주특별자치도 하수도정비 기본계획 기반의 옥상 우수량 자동 산정 웹 앱을 개발한 과정과, 앱에 적용된 설계 방법론을 정리한 블로그 포스팅용 자료입니다.
합리식(Rational Method) · 가중 유출계수 · 배관방식별 관경 개수 산정 · 벽면 우수 포함
1. 우수량 산정 이론
합리식 (Rational Method)
소규모 유역의 첨두유량을 산정하는 가장 기본적인 방법입니다.
Q = (1/360) × I × Σ(Cᵢ × Aᵢ) / 10,000 [m³/s]
기호 의미 단위
| Q | 첨두유량 | m³/s |
| I | 강우강도 (Talbot형) | mm/hr |
| Cᵢ | 지붕 유형별 유출계수 | 무차원 |
| Aᵢ | 지붕 유형별 면적 | ㎡ |
강우강도식 — 제주도 Talbot형
I = a / (t + b) [mm/hr]
설계빈도 계수 a 계수 b I (t=5분)
| 10년 | 2,108 | 13.0 | 117.3 mm/hr |
| 30년 ★ | 2,916 | 12.0 | 171.5 mm/hr |
| 50년 | 3,294 | 11.5 | 199.6 mm/hr |
| 100년 | 3,785 | 11.2 | 232.4 mm/hr |
★ 일반 건축물 기본 적용 빈도. 제주도는 태풍 영향권이므로 최소 30년 권장.
강우 지속시간 선정 기준
옥상은 유역이 작아 유달시간이 매우 짧습니다. 합계 면적 기준으로 지속시간을 결정합니다.
합계 면적 권장 지속시간
| ~ 500 ㎡ | 5분 |
| 500 ~ 2,000 ㎡ | 10분 |
| 2,000 ~ 5,000 ㎡ | 15분 |
| 5,000 ㎡ ~ | 30분 |
2. 지붕 유형별 유출계수
복합 지붕 적용 시 가중 유출계수를 산정합니다.
C_w = Σ(Cᵢ × Aᵢ) / ΣAᵢ
지붕 유형 C값 적용 기준
| 콘크리트·우레탄 방수 | 0.90 | 일반 평지붕 방수층 |
| 아스팔트 시트 방수 | 0.88 | 시트 방수 마감 |
| 자갈층 처리 | 0.75 | 배수겸용 자갈 포설 |
| 녹화 경량형 | 0.40 | 토심 200mm 미만, 세덤류 |
| 녹화 중량형 | 0.25 | 토심 200mm 이상, 교목 식재 |
3. 상층 벽면 우수 산정
고층 건물(예: 18층) 저층부 옥상정원의 경우 상층 외벽을 타고 내려오는 우수량을 별도 산정해야 합니다.
적용 조건
건물 형태 벽면 우수 산정 필요 여부
| 상층부가 하층 옥상 안쪽으로 세트백 | ✅ 반드시 산정 |
| 상층부와 하층 외벽이 동일 선상 | ✅ 일부 유입 고려 |
| 상층부가 하층보다 돌출 | ❌ 지면으로 직접 낙하 |
산정 공식
Aw_eff = H(벽면높이) × P(둘레) × 노출비율 [㎡]
Q_wall = (1/360) × C_w × I × Aw_eff / 10,000
노출 조건 노출비율
| 1면 노출 (편측) | 0.25 |
| 2면 / 사방 균등 | 0.50 |
| 3면 노출 | 0.75 |
| 독립 타워형 | 1.00 |
벽면 C값: 콘크리트·커튼월 0.80 / 벽돌·석재 0.65
4. 배관 방식별 산정 기준
핵심 원칙
Manning 경사 공식은 수평관에만 적용되며, 수직관은 별도 용량표(부분흐름 기준)를 사용합니다.
배관 방식 경사 필요 적용 공식
| 수직 낙수관 (선홈통) | ❌ 불필요 | 수직관 용량표 (만관 1/3 충만) |
| 꺾임 수직관 | ❌ 불필요 | 수직관과 동일 |
| 수평 경사관 | ✅ 필요 | Manning 공식 |
| 수평 연결관 + 수직관 | ✅ 수평만 | 구간별 별도 산정 |
수직 낙수관 용량 (KDS 57 60 00)
만관의 약 1/3 충만 흐름 기준입니다.
관경 용량 (L/s)
| φ 75 mm | 3.0 |
| φ100 mm | 6.5 |
| φ125 mm | 12.0 |
| φ150 mm | 19.0 |
| φ200 mm | 40.0 |
| φ250 mm | 73.0 |
| φ300 mm | 118.0 |
Manning 공식 — 수평관 유량
Q = (1/n) · A · R^(2/3) · S^(1/2) [m³/s]
관 재질 조도계수 n
| PVC관 | 0.010 |
| 주철관 | 0.012 |
| 콘크리트관 | 0.013 |
필요 개수 및 여유율 산정
필요 개수 = ⌈Q_설계 / Q_1개⌉ (올림 처리)
여유율(%) = (Q_총처리 − Q_설계) / Q_설계 × 100
소관경 다수 설치보다 대관경 1개가 시공성·유지관리 면에서 유리한 경우가 많습니다.
5. 앱 개발 및 배포
기술 스택
항목 내용
| Backend | FastAPI + Uvicorn |
| Frontend | Vanilla JS (단일 HTML) |
| 배포 플랫폼 | Railway |
| 접근 제어 | HTTP Referer 헤더 기반 블로그 도메인 화이트리스트 |
| 차트 | Chart.js |
파일 구조
jeju-runoff/
├── main.py # FastAPI 서버 + 블로그 접근 제한 미들웨어
├── requirements.txt # fastapi, uvicorn
├── railway.json # Railway 배포 설정
├── README.md
└── static/
└── index.html # 계산기 앱 전체
블로그 접근 제한 구조
ALLOWED_BLOG 환경변수에 허용 도메인을 설정하면 해당 블로그의 iframe에서만 앱이 동작합니다.
# Railway 환경변수 설정 예시
ALLOWED_BLOG = "myblog.tistory.com"
접속 경로 결과
| 블로그 iframe으로 접속 | ✅ 앱 정상 표시 |
| Railway URL 직접 접속 | 🔒 접근 차단 |
| 다른 사이트 iframe | 🔒 접근 차단 |
GitHub → Railway 배포 순서
- GitHub 레포 생성 후 git push
- Railway → New Project → Deploy from GitHub Repo
- 환경변수 ALLOWED_BLOG = 본인 블로그 도메인 입력
- Settings → Generate Domain → URL 복사
- 블로그 포스팅에 <iframe src="배포URL" ...> 삽입
블로그 임베드 코드
6. 적용 기준 및 참고 법령
기준 내용
| 제주도 하수도정비 기본계획 | Talbot형 강우강도식 계수 |
| KDS 57 60 00 | 건축물 급배수 설비 설계기준 (수직관 용량) |
| 건축물의 설비기준 등에 관한 규칙 | 배수설비 기준 |
| 하수도법 시행령 | 우수유출량 산정 기준 |
본 앱은 설계 참고용이며, 실제 설계 시 최신 기준 및 전문가 검토를 통해 확정하시기 바랍니다.
본 블러그 "APP_설계" 카테고리 참고 https://box-archi.tistory.com/13
'클로드(claude) > 클로드코드 사용일지' 카테고리의 다른 글
| 🎙️ 시리로 Claude 음성 비서 만들기 (0) | 2026.05.18 |
|---|---|
| Claude Code + ECC 환경 설정 정리 (2026-04-29) (0) | 2026.04.29 |
| GCP Cloud Run MCP 서버 배포 기록 (0) | 2026.04.27 |
| MCP 배포하기 (0) | 2026.04.27 |
| 2026-04-24 작업 일지 — AgentShield 보안 스캔 및 수정 (0) | 2026.04.25 |