2

항만 데이터 품질 함정 5종

데이터 소스 조사와 프로파일링

학습 목표
  • 이 도메인에서 반드시 만나는 품질 문제를 미리 안다
  • 앞서 설계한 장치들이 어떤 함정을 막으려던 것인지 확인한다

항만 데이터 특유의 품질 함정 5종

일반적 품질 문제(결측·중복) 외에, 이 도메인에서 반드시 만나는 함정들입니다.

1. 인코딩과 표기 요동

공공 CSV는 EUC-KR과 UTF-8이 혼재합니다. 선박명은 "한바다호 / HANBADA / HAN BADA HO"로 요동칩니다 — 프로파일 통계만으로는 같은 배인지 모릅니다.

선명이 아니라 IMO 번호·호출부호로 결합하세요. 코스 1의 식별자 정책이 여기서 밥값을 합니다. 식별자가 없는 레코드만 이름 유사도로 보조 매칭합니다(AN-09의 개체 해소).

2. 시각의 세 가지 얼굴

"입항일시"가 데이터셋마다 다른 것을 가리킵니다 — 신고 제출 시각인가, 예정 시각인가, 관제 확인 실적인가.

코스 2의 E/R/P/A + timeBasis + source 체계가 정확히 이 혼돈을 담기 위한 그릇이었습니다. 매핑(다음 모듈)에서 필드별로 "이 시각은 무엇의 어느 단계인가"를 반드시 판정합니다. 타임존 미표기 필드는 KST로 가정하되 저장은 UTC로 변환합니다.

3. 코드의 방언

계선장소 코드, 항만 코드가 시스템마다 자체 체계입니다. UN/LOCODE와의 대응표(교차 사전)를 우리가 만들어야 합니다. 이 대응표 자체가 그래프의 자산이 됩니다(코드 노드로 적재).

4. 단위와 집계 기준

물동량이 TEU인가 톤인가, 환적을 1회로 세는가 2회(양하+적하)로 세는가. 통계 데이터 결합(PL-07·09) 전에 집계 정의를 문서로 확정합니다.

코스 1의 TIC 4.0이 "무엇을 1무브로 세는가"를 표준화하는 이유를 몸으로 이해하는 지점입니다.

5. 신고 데이터의 본성

입항신고는 "신고"입니다 — 정정 신고, 취소, 중복 제출이 존재합니다.

⚠️ 최신 상태만 남기는 게 아니라 신고 이력 자체를 이벤트로 보존해야 AN-10(신고-실적 대조)이 삽니다. 원본은 버리지 않습니다.

용어