침수 건축물의 안전 점수를 계산하여 침수되는 건축물의 특성을 보여주는 지도 웹 서비스
팀 구성 | 4명 (기획1, 디자인1, FE1, BE1) |
담당 역할 | 백엔드 개발 및 서버 배포 구축 |
개발 기간 | 2023.11.30 ~ 2023.12.13 |
프로젝트 목표
•
문제: 침수 위험 지역의 건축물 특성을 파악할 수 있는 정보가 흩어져 있고 일반 시민이 이해하기 어려움
•
목표: 침수 이력과 건축물 데이터를 통합하여 사용자에게 위험도를 시각적으로 제공하고, 정책 수립과 시민 인식 제고에 활용 가능하게 함
개발 환경
•
BE (Java, SpringBoot, JPA, MariaDB)
•
FE (React, Kakao Map)
•
DATA (Python, Jupyter Notebook, QGIS)
•
Infra (AWS, EC2, S3, Docker, Docker Hub, CloudFront, ALB)
•
DevOps (로컬 테스트 후 AWS 기반 실서버 구축 및 배포)
담당 역할
① 건축물 데이터 통합 및 분석 파이프라인 설계
•
다양한 출처의 건축물 데이터를 수집하고 pandas를 통해 정제/통합
•
침수 흔적도, 방지 시설, 건축물 대장 등 수십만 건의 정보를 정규화
•
QGIS를 활용해 위치 데이터와의 정합성 확보
② 건축물의 침수 위험도 산정 알고리즘 개발
•
JPA 기반 DB 구축 → 침수 기록과 건물 특성 기반 점수 계산 로직 구현
•
조건부 가중치와 범주별 위험도 분류 알고리즘 작성
③ 인프라 배포 및 설계
•
Route 53 도메인 구입 → SSL 적용 및 CloudFront 연동
•
Docker를 통한 배포 이미지 관리 → AWS EC2 + ALB로 실제 서비스 운영
기술적 도전과 해결
•
문제: GIS 데이터와 건축물 좌표 불일치로 시각화 오류 발생
→ QGIS 좌표계 보정 및 기준점 조정으로 해결
•
문제: 다중 데이터셋 통합 시 누락/중복 위험
→ pandas 병합 전, UUID 기반 사전 정규화 및 일관성 검사 스크립트 작성
•
문제: EC2 배포 시 ALB와 S3 간 캐시 충돌 문제
→ CloudFront와 캐시 무효화 정책을 조정하여 해결
화면 구성
① 건축물 & 침수 통합 지도 서비스
사용자 위치 기반으로 침수 건물 시각화 및 상세 위험 정보 제공
② 건축물 침수 통계 대시보드
위험 등급 분포, 지역별 통계, 침수 유형 비율 등 데이터 시각화