postgispostgresqlspatial-dataaccident-modelffmpeg

[Pilot Test Analysis System] SchoolZone 공간 데이터 최적화 및 사고 위험도 모델 개편

2 min read

스쿨존 및 교통사고 다발지의 공간 데이터(Spatial Data) 처리 성능을 개선하고, 관련 법령 도입 시기를 반영하여 사고 위험도 평가 모델을 전면 개편함. 개별 사고 건에 대한 Bounding Box 기반 조회 및 주행 세션 비디오 메타데이터 자동 추출 파이프라인을 구축함.

[PostGIS / Backend] JTS 의존성 제거 및 DB 네이티브 GeoJSON 직렬화 최적화

  • JTS Topology Suite를 활용한 Polygon 객체 직렬화 오버헤드를 해소하기 위해 SchoolZone 엔티티의 영역 필드를 텍스트로 치환함.
  • PostGIS의 ST_BufferST_AsGeoJSON을 활용해 데이터베이스 계층에서 네이티브로 GeoJSON 문자열 캐스팅 쿼리를 구현함.
  • 불필요한 애플리케이션 레벨 변환 로직 및 GeoJsonWriter를 제거하여 백엔드 처리 효율을 극대화함.

[PostgreSQL / Data Model] 법령 인프라 가중치 기반 동적 사고 위험도 평가 모델 도입

  • 반경 300m 이내 대상사고 2건 이상 발생 구역을 기준으로, EPDO(대물피해환산법) 공식(사망 12, 중상 3, 경상 3, 부상신고 1 가중치)을 적용하여 피해 규모를 계량화함.
  • 인프라 확충 시점인 민식이법 제정(2020년, 가중치 0.85) 및 방호 울타리 확대(2022년, 가중치 1.0)를 기점으로 정책 기반 감쇠 모델(Policy-driven Decay Model)을 연산에 포함함.
  • 스쿨존의 중심점과 영역(Polygon)을 분리하기 위해 SchoolZoneArea 엔티티를 별도로 분리하고, 전체 점수를 일괄 재계산하는 배치 성격의 엔드포인트를 구현함.

[PostGIS / Indexing] GiST 공간 인덱스 적용 및 Bounding Box 기반 고속 쿼리 구현

  • 대량의 개별 사고 데이터 수용을 위해 accident 테이블을 신설하고, location 컬럼에 GiST 공간 인덱스를 적용함.
  • 클라이언트가 요청하는 지도 Bounding Box 좌표(SouthWest, NorthEast)에 포함된 가시 영역 내의 사고 데이터만 반환하는 고속 PostGIS 쿼리 엔드포인트를 구현함.

[FFmpeg / Pipeline] 다채널 비디오 세션 동기화 및 메타데이터 자동 추출 파이프라인

  • 다채널 비디오 세션 관리를 위해 DriveSession 엔티티와 PostgreSQL 배열 타입(Array) 기반 태그 검색 기능을 구현함.
  • ffmpeg-cli-wrapper를 통해 FFprobe 서브프로세스를 호출하여 비디오 파일 생성 시간과 재생 길이를 동기화하는 자동 추출 파이프라인을 구축함.