공공 공사 알림 정보 자동 수집해 길막 예상 경로 표시 시스템 만들기
출근길에 분명 익숙한 도로를 선택했지만, 갑작스러운 공사로 길이 막혀 도착이 지연되는 경험은 누구나 한 번쯤 겪었을 것입니다. 특히 도로 공사, 상하수도 공사, 통신선 매설, 보도블록 교체 등 일시적인 공공 공사는 일반 내비게이션 서비스에서 실시간 반영되지 않기 때문에, 예기치 못한 우회가 필요해 불편함이 큽니다.
필자는 이 문제를 해결하기 위해 공공데이터포털과 지자체 사이트에서 제공하는 공사 알림 정보를 자동으로 수집하고, 해당 구간을 지도상에 시각화하여 ‘길막 예상 경로’를 표시하는 시스템을 구축했습니다. 이 시스템은 차량 운전자뿐만 아니라, 도보 통근자, 자전거 이용자, 퀵서비스 기사 등 다양한 사용자에게 실질적인 경로 선택 도움을 줄 수 있는 정보 제공 도구입니다. 본 글에서는 공공 공사 데이터를 자동 수집 및 가공하여 길막 구간을 시각화하는 전체 과정을 공유합니다.
이 시스템의 작동 목표
목표 요약:
- 🚧 지자체 및 정부에서 고시하는 공공 공사 일정, 위치 정보를 자동 수집
- 🛣️ 도로 구간 단위로 예상 통행 불가/지연 구간 추정
- 🗺️ 지도상에 시각화하여 ‘피해야 할 경로’를 사용자에게 미리 안내
- 📅 예고 기간 및 시간대 정보를 반영하여 자동 갱신
사용 가능한 공공데이터 API 목록
공공데이터포털 | 도로점용공사 알림 | REST API | 도로명, 공사기간, 위치 좌표 |
서울 열린데이터광장 | 도로굴착/공사 통지 정보 | JSON API | 서울시 내 도로 공사 |
행정안전부 생활안전지도 | 공사, 시설보수 정보 | XML | 일부 좌표정보 포함 |
각 시/군/구청 홈페이지 | 공고문 HTML 또는 RSS | 크롤링 필요 | 지역별 정보 다양 |
시스템 구현 구조 (Python 중심 설명)
1단계 – 공사 알림 데이터 자동 수집
import requests
def fetch_construction_data():
api_key = "발급받은_API_KEY"
url = f"https://api.odcloud.kr/api/15073836/v1/uddi:e0dc234d-b59e-4ab5-a449-a8c978eb0f71"
params = {
"serviceKey": api_key,
"perPage": 100,
"page": 1
}
response = requests.get(url, params=params)
return response.json()['data']
2단계 – 현재 날짜와 비교하여 ‘실시간 공사 구간’ 필터링
from datetime import datetime
def filter_active_construction(data):
today = datetime.today().date()
active = []
for item in data:
try:
start = datetime.strptime(item['시작일'], '%Y-%m-%d').date()
end = datetime.strptime(item['종료일'], '%Y-%m-%d').date()
if start <= today <= end:
active.append(item)
except:
continue
return active
3단계 – 지도에 공사 구간 표시 (Folium 활용)
import folium
def plot_construction_map(active_data):
m = folium.Map(location=[37.5665, 126.9780], zoom_start=12) # 서울시 중심 좌표
for item in active_data:
lat = float(item['위도'])
lon = float(item['경도'])
folium.Marker(
location=[lat, lon],
popup=f"{item['공사명']}<br>{item['공사기간']}",
icon=folium.Icon(color='red', icon='wrench')
).add_to(m)
m.save("construction_map.html")
실제 활용 사례
예시 1 – 자가용 출근자:
서울시 마포구에서 출근하는 A씨는 매일 정해진 경로로 출근하던 중, 해당 시스템에서 ‘오늘부터 일주일간 공덕오거리 일대 보도공사 진행’이라는 알림을 받고 우회 도로를 선택해 지각을 피할 수 있었습니다.
예시 2 – 배달 라이더:
퀵서비스 업무를 하는 B씨는 실시간 공사 구간이 표시된 지도를 확인하고 항상 차단 구역을 미리 파악한 뒤 효율적인 배달 경로를 설정할 수 있었습니다.
추가 확장 가능한 아이디어
- 🚨 카카오맵 또는 네이버지도 연동: 실시간 경로 안내 시스템에 공사 구간 반영
- 📆 캘린더 연동: 일정한 구간의 공사일을 자동 등록하여 알림 제공
- 🧠 AI 기반 예상 혼잡도 분석: 과거 공사 시 교통 체증 데이터를 학습하여 혼잡 예측
- 📨 사용자 위치 기반 푸시 알림: 1km 이내 공사 시작 시 자동 알림 발송
- 📱 모바일 앱 또는 웹 대시보드 구현: 실시간 확인용 UI 제공
도로 공사 정보는 분명 공개되어 있지만, 사용자가 스스로 찾아보기에는 다소 불편한 구조를 가지고 있습니다.
이 시스템은 그러한 공공 빅데이터 정보를 자동으로 수집하고, 시각적으로 요약하여 사용자에게 실시간으로 전달함으로써 실생활에 직접적인 영향을 미치는 도구로써 활용 가능합니다.