http://helloworld.naver.com/helloworld/1174
네이버 지도 서비스에서 사용하는 하나의 이미지 파일(이미지 타일)의 크기는 256픽셀 X 256픽셀이다. 사용자들이 보고 있는 한 장의 지도 화면은 이런 이미지 타일을 조합하여 하나의 지도 화면으로 보여주는 것이다.

벡터 데이터는 데이터의 표현 방식이나 분석 방식에 따라 상세하게 분류할 수 있다. 이렇게 분류된 데이터 집합을 지도 레이어라 부른다. 다음 그림에서 볼 수 있듯이 레이어는 정의된 형태의 범례와 같이 지도 상에 표현된다. 현재 네이버 지도 서비스에서 사용하는 레이어는 약 500개이다.

그림 6 지도 레이어와 범례
레이어는 지도를 표현할 뿐만 아니라 데이터를 분석할 때도 사용한다. 예를 들어 '성남시 정자동' 안에 있는 건물의 개수, 도로의 총 길이, 초등학교의 개수 혹은 특정 레이어 존재 유무를 분석할 수 있다. 이런 레이어를 그리는 순서 또한 매우 중요하다. 아래 그림과 같이 각 레이어를 순서대로 렌더링하여 하나의 지도 화면으로 만다.

일반 지도는 각 레벨별 256픽셀 X 256픽셀 크기의 격자 형태의 지도 이미지 타일로 만들어진다. 위에서 14레벨에서 1픽셀이 표현하는 실제 크기는 0.25m라고 했다. 한반도의 세로의 크기가 500km이고 가로의 크기가 400km라고 가정해 보자. 그럼 이미지 타일 한 장에 가로와 세로의 크기는 64m(256 x 0.25m)를 표현한다. 그럼 총 세로 열의 개수는 7812장(500,000 ÷ 64)이고 가로 열의 개수는 6250장(400,000 ÷ 64)으로 14레벨에서 사용되는 이미지 타일의 개수는 총 48,825,000장(7812 X 6250)이 필요하다.

그림 10 이미지 타일 구성
13레벨은 1픽셀이 표현하는 실제 크기가 0.5m이기 때문에 14레벨보다 가로와 세로가 각각 반으로 감소하므로 가로 3125개, 세로 3906개, 총 12,206,250개의 타일이 필요하다. 이렇게 1레벨까지 계산하게 되면 위 그림과 같이 14레벨에서 1레벨로 갈수록 이미지 타일 개수가 4분의 1씩 줄어든다.

그림 11 각 레벨별 이미지 타일 구성
위와 같이 이미지 타일의 개념적인 구성 방식에 대해 알아봤으니 네이버 지도 이미지 타일의 실제 구성 방식에 대해 알아보자. 네이버 지도 서비스의 좌표 기반은 UTM-K라는 직각좌표계이다. 우리가 외부에서 많이 보던 좌표계인 위도 38도, 경도 127.5도와 같은 지구 타원체의 도 단위(degree)의 좌표가 아니라 38도 127.5도를 원점이라 가정하고 만든 직각좌표계를 사용하고 있다.
네이버 지도 이미지 타일의 각 모서리 부분은 이 UTM-K 기반에 절대 좌표에 대응되어 있으며 인덱스 타일 번호가 시작되는 곳은 아래 그림과 같이 중국 난징 아래 부분을 기점으로 이미지 타일 인덱스 번호를 행(row)과 열(col)로 부여했다. 행, 열 번호가 (0, 0)인 이미지 타일의 왼쪽 하단 모서리 좌표 값(x, y)은 (34,090,112, 1,4192,896)으로 규정했다.

그림 12 1레벨 이미지 타일 구성
위에서 언급한 레벨별 이미지 타일 규칙을 적용하면 실 좌표에서 이미지 타일로 이미지 타일에서 실 좌표로 변환할 수 있다. 예를 들어 13레벨에서 (200, 400)번째 이미지 타일의 왼쪽 아래 모서리 좌표는 아래와 같은 방법으로 구할 수 있다.
위에 정의한 값을 기준으로 상대 좌표를 계산할 수 있는데 X축의 상대 좌표는 25,600m(200번째 X 128m)로 계산되고 Y축 상대 좌표는 51,200m(400번째 X 128m)로 변환한다. 이와 같이 상대 좌표 X(25,600), Y(51,200)를 구할 수 있고 여기서 절대 좌표를 구하려면 위에 언급한 중국 난징 아래 쪽 이미지 타일(0, 0)의 왼쪽 하단에 대응된 UTM-K 절대 좌표를 참고하여 실제 좌표 값을 아래와 같이 얻는다.
X = 34,090,112 + 25,600 = 34,115,712
Y = 1,4192,896 + 51,200 = 14,244,096
실제 좌표에서 인덱스 번호를 얻으려면 역으로 계산한다.
Google 지도, bing Maps 등 전세계적인 포털 지도 서비스에서 이와 같은 방법을 사용하고 있으며 각 나라별 포털 사이트별 기준이 되는 좌표 체계가 있어 해당하는 좌표 체계로 변환을 할 수 있다면 각 지도를 겹치게 해서 조합할 수 있다.
맵타일의 X,Y좌표에서
X(경) 는 같고
Y(위)는 2^(Z)-1-Y (Z는 줌레벨, Y는 구글지도의 Y값)
네이버지도는 행, 열 번호가 (0, 0)인 이미지 타일의 왼쪽 하단 모서리
좌표 값(x, y)은 (34,090,112, 14,192,896)으로 규정했다.