2026-05-10

The address number is the distance

한국에서 — 매일 한국 주소를 쓰는 사람들조차 — 대부분 모르는 사실 하나:

한국 도로명주소의 건물 번호는 거리다.

강남대로 300에 산다면, 강남대로가 시작되는 지점에서 약 3,000미터 떨어진 곳에 산다는 의미다. 비유가 아니다. 말 그대로 그렇다.

계산은 단순하다. 한국의 모든 도로는 시작점이 정해져 있다 (남서쪽 끝). 건물 번지는 그 지점에서부터 일정한 간격으로 매겨진다 — 은 10미터마다, 대로는 20미터마다. 홀수는 도로 한쪽, 짝수는 반대쪽. 그래서:

시작점에서의 거리 = 건물번호 / 2 × 간격

강남대로 300 → 300/2 × 20m = 3,000m

이건 우연이 아니다. 2014년 도로명주소가 법정 주소 체계가 될 때 그렇게 설계됐다. 번호 부여 규칙은 법령에 명시되어 있다. 한국의 모든 도로가 이 규칙을 따른다. 한국에 있는 모든 건물 번호는 — 기술적으로 — 측정값이다.

그리고 거의 어떤 시스템도 그렇게 쓰지 않는다.

지금은 어떻게 처리하는가

한국 주소를 구글 맵, 네이버 지도, 카카오맵, 또는 어떤 내비게이션 시스템에 입력하면 일어나는 일:

  1. 주소가 지오코딩 서비스로 보내진다.
  2. 서비스가 좌표를 찾는다 — 부동소수점 위도/경도.
  3. 좌표가 공간 데이터베이스로 들어간다.
  4. 모든 쿼리 — 목적지까지 거리, “이 주소가 어린이보호구역 안인가”, “근처 약국은 어디인가” — 가 부동소수점 기하 연산으로 처리된다.

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 기반 제약 효율 라우팅 · 지오코딩 없는 속성 결합.