2026-05-10
주소 번호는 거리다
한국에서 — 매일 한국 주소를 쓰는 사람들조차 — 대부분 모르는 사실 하나:
한국 도로명주소의 건물 번호는 거리다.
강남대로 300에 산다면, 강남대로가 시작되는 지점에서 약 3,000미터 떨어진 곳에 산다는 의미다. 비유가 아니다. 말 그대로 그렇다.
계산은 단순하다. 한국의 모든 도로는 시작점이 정해져 있다 (남서쪽 끝). 건물 번지는 그 지점에서부터 일정한 간격으로 매겨진다 — 길은 10미터마다, 로나 대로는 20미터마다. 홀수는 도로 한쪽, 짝수는 반대쪽. 그래서:
시작점에서의 거리 = 건물번호 / 2 × 간격
강남대로 300 → 300/2 × 20m = 3,000m
이건 우연이 아니다. 2014년 도로명주소가 법정 주소 체계가 될 때 그렇게 설계됐다. 번호 부여 규칙은 법령에 명시되어 있다. 한국의 모든 도로가 이 규칙을 따른다. 한국에 있는 모든 건물 번호는 — 기술적으로 — 측정값이다.
그리고 거의 어떤 시스템도 그렇게 쓰지 않는다.
지금은 어떻게 처리하는가
한국 주소를 구글 맵, 네이버 지도, 카카오맵, 또는 어떤 내비게이션 시스템에 입력하면 일어나는 일:
- 주소가 지오코딩 서비스로 보내진다.
- 서비스가 좌표를 찾는다 — 부동소수점 위도/경도.
- 좌표가 공간 데이터베이스로 들어간다.
- 모든 쿼리 — 목적지까지 거리, “이 주소가 어린이보호구역 안인가”, “근처 약국은 어디인가” — 가 부동소수점 기하 연산으로 처리된다.
1단계가 정확히 그 이후를 불필요하게 만들 수 있는 정보를 버리는 단계다. 주소가 이미 위치를 인코딩하고 있었다. 지오코딩은 정확한 정수를 부동소수점으로 변환한 다음, 다시 그 정수가 가지고 있던 정보를 복원하기 위해 연산을 한다.
원래 신호를 한 바퀴 돌려 다시 만들어내는 작업이다.
버리지 않으면 가능해지는 것들
주소 번호 자체가 위치라면, 가능해지는 일이 여럿이다 — 그리고 지금 비싼 작업들이 갑자기 싸진다.
거리는 즉시. 같은 도로 위 두 주소 사이의 거리는 뺄셈이다. GPS도, 지도도, 공간 데이터베이스도 필요 없다. “테헤란로 152에서 테헤란로 88까지 거리는?” — (152 − 88) / 2 × 20m = 640m. CPU 한 사이클.
폴리곤 없는 구역 판정. 어린이보호구역은 “학교 정문 반경 300m”다. 지금은 좌표 폴리곤으로 저장된다 — 한 구역당 약 80개 부동소수점, 매번 공간 데이터베이스 조회. BSI 구간으로 인코딩하면 같은 구역이 8–12개 정수다. “이 차가 어린이보호구역 안인가?” 는 n_a ≤ n ≤ n_b — 정수 비교 한 번.
좌표 없는 라우팅. 도로를 노드로, 교차로를 엣지로 두고 그래프를 만든다. 서울 라우팅이 정수 산술 위 Dijkstra가 된다. 강남구 실측: 평범한 노트북에서 24밀리초. 파이프라인 어디에도 GPS 좌표가 없다.
GPS 안 잡히는 구간에서도 위치. 자동차가 터널로 들어가면 GPS는 끊기지만 도로는 끊기지 않는다. 도로 위에서 이동한 거리만 추적하면 위치가 계속 갱신된다 — “강남대로 100에 있었고, 200m 더 갔으니 지금 강남대로 110이다.” 주소 번호 자체가 위상적 위치를 유지한다. GPS 재획득은 정밀 보정이지 새 시작이 아니다.
실내·실외가 한 체계. “강남대로 200, 3층” 같은 실내 주소가 입구의 BSI를 부모 노드로 같은 그래프에 그대로 들어간다. 실내·실외 사이에 좌표 변환이 필요 없다.
스마트시티 데이터, 정수로 색인. CCTV, 사고 기록, 버스 정류장, 횡단보도 — 도로명주소가 있는 모든 것은 한 번 BSI로 색인하면 끝이다. 그 후 모든 분석이 정수 쿼리가 된다 (“사고가 가장 많이 난 도로는?”, “이 지점에서 도보 5분 안의 모든 의원”). 공간 조인이 아니다.
왜 아직 일어나지 않았는가
이유는 대부분 관성이다. 도로명주소 체계는 원래 하나의 목적으로 설계됐다 — 모든 건물에 고유하고 구조화된 식별자를 부여하는 것. 그 식별자가 동시에 측정값이라는 사실은 부수적 효과지 메인 기능이 아니었다. GPS 기반 매핑이 표준이 된 이후 모든 내비게이션 시스템이 좌표 중심으로 파이프라인을 짰고, 주소 레이어는 가능한 빨리 벗어나야 할 단계가 됐다.
그 결과 이 체계의 가장 유용한 속성 중 하나가 눈앞에 두고도 안 보이는 상태가 됐다. 도로명주소법은 한국의 모든 주소를 좌표 없는 위치로 만들어 놓았고, 운영 환경에서 그렇게 쓴 시스템은 거의 없다.
그렇게 쓰면 무엇이 달라지는가
자율주행 — 회전 금지, 시간대, 차량 종류 같은 제약이 동시에 걸려도 노드 수가 폭발하지 않는 라우팅 레이어.
실시간 교통 — 한 링크에 평균 속도 하나가 아니라, 도로를 따라 10–20m 단위로 추적되는 방향성 있는 정체 벡터.
공공 서비스 — “어느 도로가 의원 2km 이내인가?” 같은 도달 가능성 분석이 GIS 서버 없이 노트북에서 밀리초 단위.
스마트시티 데이터 통합 — 모든 데이터베이스가 쓸 수 있는 단일 정수 식별자. 공간 확장 모듈 불필요.
실내 내비게이션 — 길에서 엘리베이터까지 좌표 변환 없이 연속.
ITS 현대화 — 점진적 업그레이드. 기존 Node/Link ID가 일회성 변환표로 BSI 구간에 매핑된다. 빅뱅 교체 아님.
주소 번호는 이미 거리다. 이걸 그렇게 쓰는 인프라는 대부분 데이터베이스 테이블과 정수 산술이다. 가장 어려운 부분은 알아차리는 것이다.
출처 — 같은 아이디어의 3편 시리즈: BSI 좌표 없는 선형 참조 체계 · Dual Graph 기반 제약 효율 라우팅 · 지오코딩 없는 속성 결합.