Garmin의 Vector Map을 작성해 보면서 Level 부분이 쉽게 이해가 되지 않아 일본 사이트도 뒤져보고 cGPSmapper의 Level 부분만 꼼꼼하게 다시 읽고 번역해 봤습니다. 관련활동을 하는 우리나라 분들 중에는 저말고는 이 부분에 관해 의문을 가지신 분이 없는 건지, 혼자만 알고 있겠다는 생각들인지 관련 정보가 거의 없군요.
겨우 겨우 이해하고 내나름의 결론을 도출할 수 있었습니다.
아래는 cGPSmapper의 Manual중 Level 부분만 발췌 번역하고 내나름의 견해를 추가한 것임을 밝혀 둡니다.
4.4 Levels - Layer 와 동일한 의미로 사용되는 것으로 추측됨
4.4.1 서론
Mapping이 가능한 모든 Garmin® GPS 수신기는 Map Page 상에서 좁은 지역을 상세하게 혹은 넓은 지역을 대략적으로 볼 수 있도록 Zoom In/Out 할 수 있다.
기기가 표시하기 적당한 Map 구성요소의 집합들은 Zoom Level에 달려있다.
예를 들어, 모든 개체가 표시된 최고 상세도의 어떤 Map Level이 있다면, Zoom In 시에는 화면상에 작은 범위의 지역을 표시하게 되므로 그지역의 자세한 Map을 볼 수 있어 적합하겠지만, Zoom Out 시에는 같은 크기의 화면에 넓은 범위의 지역을 표시하게 되므로 이 Level의 수많은 구성요소들로 인해 알아보기 힘들 정도로 복잡하게만 보이게 될 것이기에 부적당할 것이다.
그래서 PFM 파일에서는 아래와 같은 방법으로 Level과 Zoom의 조합을 사용하여 Zoom 정도에 따라 보이게 될 맵 구성요소들을 결정할 수 있게한다.
각기 다른 Level(Layer)를 각기 다른 Zoom Level에 지정하여 Map 구성요소를 다른 개체로 표시 한다.
예를 들어, 호수를 표현하는 Map 구성요소를 두가지로 생성하여 호수가 어떤 Zoom Level에서는 지역으로 다른 어떤 Zoom Level에서는 점으로 나타나게 할 수 있다. – 하나는 지역(예: Lvel0의 구성요소) 그리고 다른 하나는 하나의 점(예: Lvel1의 구성요소)로 생성하고 Zoom Level을 선택하면 각 설정에서 지정한 상응하는 Map 구성요소가 나타나게 하는 것이다.
또, Wide Zoom Level에서는 主道路 및 市 등과 같은 가장 중요한 구성요소만 나타나게 하고, 보조도로를 포함하여 철도와 같은 다른 구성요소들은 더 상세한 Zoom Level에서 나타나게 설정할 수도 있게한다.
덜 상세한 Map의 예 더 상세한 Map의 예
그리고 동일한 개체의 좌표 Set을 각각의 Zoom Level에 각기 달리 지정할 수도 있다.
이에 대한 가장 통상적인 사용예를 들자면, - Zoom In 하면 강의 모든 굴곡이 나타나고 Zoom Out하면 덜 상세하게 나타나게 하는 것이다. 하지만 보통은 cGPSmapper가 자동적으로 높은 Zoom Level에서의 점의 개수를 줄여 주기 때문에 이런 작업이 불필요할 것이다.
요약하자면,
Zoom Level에 따라 Level(Layer)을 지정하여,
개체의 표시 방법을 달리하고
개체의 중요도로 분류하여 표시여부를 달리하며
연결점의 개수를 조정하여 선의 굴곡을 달리한다(cGPSmapper에서 자동으로 조정)
즉, 상세도를 기준으로 분류한 Level(Layer)를 복수로 작성하여 각각의 Zoom Level에 대응시킨다.
4.4.2 개념 및 전문용어
GPS 수신기의 Map Page를 Zoom In/Out 할 때, Map 화면의 왼쪽 아래 구석에 Scale Bar가 표시된다. Scale Bar에는 그 길이를 의미하는 "800ft", "2km" 또는 어떤 값이 기재되어 있는데, 현재의 Scale(축척)을 표시한다, PFM 파일에서 이들 Zoom Level들은 Hardware Zoom Level 이라고 불리는 정수값을 사용하여 식별된다. Hardware Zoom Level은 1 ~ 24의 범위이다. 하지만 Hardware Zoom Level과 가능한 모든 기기의 Scale이 정확하게 1 : 1로 대응하지는 않는다. Hardware Zoom Level은 단지 대강의 Guide일 뿐이다.
*Hardware Zoom Level: Hardware 즉, 실제 기기에 해당 정밀도로 작성된 Level(Layer)가 표시될 Zoom Level이라는 의미.
아래 내용은 http://sangug.tistory.com/355t를 참조
Hardware Zoom Level은 정밀도와 함께 표시될 Scale 범위를 미리 규정해 둔 것으로 판단됨.
즉, GPS의 어떤 Scale 범위에서 해당 정밀도로 작성된 Layer(Map)을 표시하게 됨.
예: Level3=18은 GPS 상의 Scale이 5Km ~ 8Km의 범위에서 Grid 18의 지상해상도인 Map이 Layer3 즉 4번째 Layer에 지정된다는 의미로 추측됨.
Hardware Zoom Level 24는 기기상에서 가장 상세한 Map Level을 표시한다. 연속되는 각각의 더 낮은 Zoom Level 숫자는 앞의 숫자의 두배 축척의 Map 상에 지도를 그린다.
(즉, 24Level은 23Level의 2배 축척)
실제 기기의 Scale과 Hardware Zoom Level의 대략적 대응관계는 아래표와 같다.
Level No. |
실제 GPS 기기의 Zoom 설정(m) |
실제 GPS 기기의 Zoom 설정(ft) |
24 |
Up to 120m |
Up to 500ft |
23 |
200m, 300m |
800ft to 0.2 miles |
22 |
500m |
0.3 miles |
21 |
800m to 1.2km |
0.5 miles |
20 |
2km |
0.8 miles to 1.2 miles |
19 |
3km |
2 miles to 3 miles |
18 |
5km to 8km |
5 miles |
17 |
12km |
8 miles to 12 miles |
16 |
20km to 30km |
20 miles to 30 miles |
15 |
50km |
50 miles |
14 |
80km to 120km |
80 miles to 120 miles |
13 |
200km to 300km |
200 miles to 300 miles |
12 |
500km to 800km |
500 miles |
† eTrex 시리즈의 예. 그외 모델은 다를 수 있다.
앞에서 보인 바와 같이 Map Level 설정은 이용자가 기기의 Detail Level을 Normal로 설정했다고 가정하여 개체가 보이는 Scale을 결정한다.
각각의 연속되는 Zoom 숫자에 대하여 Map 축척이 두배가 되는 원칙은 Level 12 아래에서도 변함없지만, 더 낮은 Hardware Zoom Level은 정말 쓸모없다 현재의 Garmin® 수신기는 Zoom Level 12가 최고의 Zoom Out Level이다.
위에서 언급한 Hardware Zoom Level은 단지 PFM 파일의 [IMG ID] section내에서만 직접적으로 적용되고, 파일의 나머지에서는 Map Zoom Level 라고 불리는 다른 Level 숫자체계를 사용한다.
*Level3=18, 여기서의 "Level3"이 Map Zoom Level로서 PFM파일 내에서 "Hardware Zoom Level 18"을 대신하여 사용되는 용어(대명사, 상수)일 뿐으로 생각됨.
Map Zoom Level은 맵 제작자에 의해 정해진다. 어떤 Map이라도 0 부터 9까지 번호가 매겨진 10개의 Map Zoom Level을 사용할 수 있다. 만약 10개 미만의 Map Zoom Level을 사용한다면 0에서 시작하는 연속되는 Map Zoom Level 번호를 사용하여야만 한다.
[IMG ID] section 내에서 Levels=n의 형식을 사용하여 Map Zoom Level의 갯수를 지정한다. 선택한 Map Zoom Level 과 Hardware Zoom Level 사이의 관계는 Levelm=h 행의 조합을 사용하는데, m은 Map Zoom Level h는 Hardware Zoom Level이다.
예:
[IMG ID]
Levels=4
Level0=23
Level1=21
Level2=20
Level3=17
인용한 위 구문의 내용은
4개의 Map Zoom Level을 사용한다고 선언하고,
Map Zoom Level 0은 Hardware Zoom Level 23에 대응하고,
Map Zoom Level 1은 Hardware Zoom Level 21에 대응하고……… 의 의미이다.
참고
Hardware Zoom Level은 연속될 필요는 없지만, 각각의 이어지는 Map Zoom Level은 앞의 Hardware Zoom Level의 숫자보다 작은 숫자로 대응되어야만 한다.
위의 예에서, Map Zoom Level 0으로 지정되는 Map 구성요소와 좌표는 Hardware Zoom Level 23 이상에서 사용되게 된다는 것을 명기하고 있으며 Map Zoom Level 1로 지정되는 Map 구성요소는 Hardware Zoom Level 21 과 22에서 사용되게 된다는 것을 명기하고 있다.….
지정한 가장 높은 숫자의 Map Zoom Level은 Map이 GPS 수신기의 Base Map으로 대체되는 Zoom Level을 지정한다. 위의 예에서, 가장 높은 숫자의 Map Zoom Level은 3이고 여기에 상응하는 Hardware Zoom Level은 17이다. 이것은, GPS 수신기의 Scale이 17 또는 그보다 높은 Level에 해당하는 Scale 범위라면 Upload한 Map이 보이고 16 및 그보다 낮은 Hardware Zoom Level에해당하는 Scale 범위에서는 Base Map이 보이게 된다는 것을 의미한다.
가장 높은 Map Zoom Level은 단지 Base Map으로부터 Upload한 Map으로의 전환시점을 지정할 목적으로만 사용되며, 이 Level에는 Map 구성요소와 좌표를 지정하는 것이 허용되지 않는다. 그래서, 위의 예에서, Map 구성요소를 정의할 수 있는 Level은 Map Zoom Level 0, 1 및 2뿐이다. Map Zoom Level 3은 단지 Upload한 Map이 Base Map을 대체하는 시점을 지정하기 위해 사용될 뿐이다.
이것은 실제로 필요한 Map Zoom Level의 개수 보다 항상 하나 이상의 Level을 더 정의해야 한다는 것을 의미한다. 그러므로 모든 Map 정의에는 최소 두 개의 Map Zoom Level을 선언해야만 한다. 즉 Levels=n에서 n이 2이상이 되어야 한다.
Map Zoom Level과 Hardware Zoom Level 사이의 관계를 이해했다면, Map 작성 과정 동안 Hardware Zoom Level은 효과적으로 무시할 수 있다. 이 Section의 나머지 부분에서는 Level 용어는 반대로 명확하게 명시되지 않는한 Map Zoom Level의 의미로 해석 되어져야만 한다.
4.4.3 Map 구성요소를 정의할 때 Level의 사용
여기 어떤 PFM 파일로 부터 인용한 Remenham village(Berkshire, UK)를 POI로 정의하는 구문이 있다.
[RGN10]
Type=3328
Label=Remenham
Data0=(51.551744,-0.889936)
[END]
좌표를 지정하는 행이 Data0=으로 시작되는 점에 주목하라. Data 뒤의 숫자는 이 좌표가 사용될 Level을 뜻한다. 이 구문에서는 Level 0에 대한 좌표만 지정되어 있다. 그것은 PFM 파일내에서 Level0에 지정한 Hardware Zoom Level 에대응하는 GPS 수신기의 Scale 범위에서만 이 Village가 보인다는 것을 의미한다.
위의 구문을 아래와 같이 변경했다고 생각하자.
[RGN10]
Type=3328
Label=Remenham
Data1=(51.551744,-0.889936)
[END]
위에서와 달리 좌표를 Level1에 대해서만 지정했다. 그것은 Zoom Level1에 지정한 Hardware Zoom Level 에대응하는 GPS 수신기의 Scale 범위에서만 이 Village가 보인다는 것을 의미한다. 만약 GPS 수신기의 Scale을 그보다 높거나 낮게 설정하면 이 Village는 보이지 않게된다.
Level 0, 1 및 2에서 이 Village가 보이게 해보자, 아래와 같이 입력한다.
[RGN10]
Type=3328
Label=Remenham
Data0=(51.551744,-0.889936)
Data1=(51.551744,-0.889936)
Data2=(51.551744,-0.889936)
[END]
그러나 더 쉽고 간단한 방법이 있다. 위의 구문은 EndLevel=n 행을 사용하여 간략하게 될 수 있다.
[RGN10]
Type=3328
Label=Remenham
EndLevel=3
Data0=(51.551744,-0.889936)
[END]
EndLevel=n 행이 의미하는 것은 가장 높은 번호의 Datan= 행내 좌표가 EndLevel=n 까지 적용된다는 것이다, Data0과 조합된 EndLevel=3은 좌표가 level 0로 시작되는 연속되는 세개의 Level에 적용된다는 것을 의미한다.(즉, Level 0, 1, 2 및 3)
참고
Levels 및 LevelsNumber는 EndLevel.의 舊형식(Old Type)에 해당한다.
4.4.3.1 Level에 따른 도형 최적화
앞의 예에서, Map Object는 보여지는 모든 Level에서 동일한 좌표를 가졌다. 단일 Point에 대해서는 좌표가 변할 필요가 없다. Zoom In/Out에 따라 집이 Map 상을 이리저리 옮겨 다니는 것을 원하지는 않을 테니까. 하지만 Line 과 Region에 대해서는 Zoom Level에 따라 좌표가 변경되기를 바랄 수도 있다.
아래의 小路를 생각해보자.
[RGN40]
Type=22
Label=
EndLevel=3
Data0=(51.562624,-1.070283),(51.561637,-
1.070592),(51.561272,-1.069878), (51.560059,-1.064277)
[END]
이 길은 Level0에서 3에 걸쳐 정확하게 동일한 도형으로 보이게 된다. 이제 위 구문을 살짝 변경해보자
[RGN40]
Type=22
Label=
EndLevel=2
Data0=(51.562624,-1.070283),(51.561637,-
1.070592),(51.561272,-1.069878), (51.560059,-1.064277)
Data1=(51.562624,-1.070283),(51.561272,-
1.069878),(51.560059,-1.064277)
[END]
이 길은 여전히 Level0에서 3에 걸쳐 보이지만, Level0(최고 상세)와 Level1 사이에서 조금 변경된다. Level0에서는 Line에 4개의 꼭지점이 있다. 이것이 Level1 및 2에서는 3개의 꼭지점으로 줄어든다. 우리는 여기에서 가장 높은 Zoom Level에서 길의 구부러진 모양의 정확도에 관한 내용을 논하고 있다. 높은 Level에서의 (정확도에 도움이 되지않는)항목의 감소를 통해, Digital Map의 크기를 줄일 수 있고, Upload시간을 줄일 수 있으며 Memory에의 Loading도 원활히 할 수 있는데 반하여 그 반대는 그렇지 않다. 실제로는, 목표 Zoom Level에 대하여 불필요한 항목이 있을 때 cGPSmapper 가 자동으로 감지하기 때문에 보통 이 방법으로 항목을 명확하게 감소시키는 일은 불필요하다. cGPSmapper는 GPS 화면상에서 구분하기 너무 가까운 연속되는 Point들을 평균화 해버리고 불필요한 Point들은 무시한다. 그럼에도 불구하고 Map 제작자가 다른 Level에서 Map 구성요소의 도형위에 명백한 조절을 취하는 것이 가능하다는 것을 이해하는 것은 도움이 된다.
4.4.4 GPS Hardware의 특징
위의 Section에서 Map 제작자가 Map 구성요소가 표시되는 Level을 취급할 수 있는 방법을 설명했다. 하지만 그것은 이론이고, 실제에서는 조금 다를 수 있다.
Detail Level Setup
더 높은 Detail Level에서는, 설정한 최고로 높은 Scale 범위를 넘어 Zoom Out 해도 Map 구성요소는 계속 보이게 된다. 더 낮은 Detail Level로 설정한다며, Map 구성요소가 보일 것이라고 예상한 Scale보다 더 Zoom In 하여야만 할 것이다.
또한 특별한 경우로, Map 구성요소가 무슨 유형이냐에 따라 객체가 보이게 되는 Level이 영향을 받는 일도 있을 수 있다. 예를 들자면, Map Level 설정은 동일하지만 유형은 다른 두개의 POI(예를 들자면, 하나는 빌딩 하나는 빌라)가 GPS 화면상에서 Zoom 설정을 달리하여 보이게 된다. Map 구성요소의 유형이 시인성에 어떻게 영향을 미치는가의 명확한 결정은 제작자의 능력을 넘어서는 것이다. 다시 말하지만, 만약 이것이 중요하다면, 실험을 통해 알아낼 수 밖에 없다. 이 Section 의 앞에서 언급한 것 처럼 올바른 Zoom Level을 선택하는 것은 정확한 체계가 아니다.
cGPSmapeer 소프트웨어에 포함되어있는 test_img.mp 내용중 Level 부분 발췌
Levels = (필수) Map Layer의 개수, 마지막 Layer에는 어떤 Object도 입력될 수 없다.(이 예에서는 Level3은 항상 비어 있다.) Levels=3은 2개의 Layer 에만 Map Object가 포함되어 있다는 것을 의미한다.
Level0 = (필수) 각 Layer에 대한 Grid 크기. Layer 0은 가장 상세한 Layer. Grid값은 Layer내에서 Level Grid를 계산하기위해 사용된다.- 도(〫) 단위의 값 가장 상세한 Level에 대한 표준값은 22. 가장 적당한 Grid 값을 선택하기 위하여 아래의 표를 사용할 수 있다.
주의: Grid 값은 또한 GPS에서 해당 Layer가 나타나는 Scale 범위를 결정한다.
Grid |
Degree Grid |
Approximate |
Visibility for |
24 |
2.14576721191406E-05 |
1.5m |
0m - 120m |
23 |
4.29153442382812E-05 |
3m |
200m -300m |
22 |
8.58306884765625E-05 |
6m |
500m |
21 |
0.000171661376953125 |
12m |
800m - 1.2Km |
20 |
0.00034332275390625 |
25m |
2km |
19 |
0.0006866455078125 |
50m |
3km |
18 |
0.001373291015625 |
100m |
5Km - 8Km |
17 |
0.00274658203125 |
200m |
12km |
16 |
0.0054931640625 |
400m |
20Km - 30Km |
15 |
0.010986328125 |
800m |
... |
14 |
0.02197265625 |
1.6km |
|
13 |
... |
... |
|
12 |
... |
... |
|
*위의 표는 각 Level의 격자 크기를 도(〫)단위로 나타내고, 각 Level의 정밀도와 GPS 수신기에서 Map Detail을 Nomal로 설정했을 시에 해당 Level이 나타나는 Scale을 표시하고 있다는 것은 이해할 수 있겠으나, 값 사이의 상관관계는 아직 밝혀내지 못하였음.
*위의 표에서 Degree Grid값은 각도(〫)로 표현한 각 Level의 지상해상도이며, 각 Level의 정밀도와 GPS 수신기에서 Map Detail을 Nomal로 설정했을 시에 해당 Level이 나타나는 Scale을 표시하고 있다.
예: Hardware Zoom Level이 24인 경우,
Layer의 격자 눈금 크기는 0.0000214576721191406〫
정밀도는 1.5m
GPS 수신기의 Map Derail을 Normal로 설정한 경우, 0m-120m의 Scale에서
나타난다는 의미
*또 Hardware Zoom Level의 숫자가 Resolution(해상도, 분해능)을 의미한다는 글도 있었으며, 수자의 자리수와 비교해 보면 자리수를 의미하는 것 같기도 하고,,,
Grid |
Map Tile System |
Map Tile System |
각도로 표현한 |
비고 |
24 | 16 |
256 x 2^16 Pixel |
0.000021457672119141 |
360〫÷ (256 × 2^16) |
23 | 15 |
256 × 2^15 Pixel |
0.000042915344238281 |
|
22 | 14 |
256 × 2^14 Pixel |
0.000085830688476563 |
|
21 | 13 |
256 × 2^13 Pixel |
0.000171661376953125 |
|
20 | 12 |
256 × 2^12 Pixel |
0.000343322753906250 |
|
19 | 11 |
256 × 2^11 Pixel |
0.000686645507812500 |
360〫÷ (256 × 2^11) |
18 | 10 |
256 × 2^10 Pixel |
0.001373291015625000 |
|
17 | 9 |
256 × 2^9 Pixel |
0.002746582031250000 |
|
16 | 8 |
256 × 2^8 Pixel |
0.005493164062500000 |
|
15 | 7 |
256 × 2^7 Pixel |
0.010986328125000000 |
|
14 | 6 |
256 × 2^6 Pixel |
0.021972656250000000 |
360〫÷ (256 × 2^6) |
13 | 5 |
256 × 2^7 Pixel |
0.043945312500000000 |
|
12 | 4 |
256 × 2^4 Pixel |
0.087890625000000000 |
|
11 | 3 |
256 × 2^3 Pixel |
0.175781250000000000 |
|
10 | 2 |
256 × 2^2 Pixel |
0.351562500000000000 |
|
9 | 1 |
256 × 2^1 Pixel |
0.703125000000000000 |
|
8 | 0 |
256 × 2^0 Pixel |
1.406250000000000000 |
360〫÷ (256 × 2^0) |
지상해상도 산출
Zoom0 = (선택사항, MapSource에서만 사용된다.) MapSource에서 지정한 Layer가 보이게 되는 Scale 범위.
예: Zoom1 = 4 는 Layer1이 30Km ~ 12Km 사이의 Zoom Range에서 보이게 된다는 것을 의미한다.
경고! 연속되는 Layer에 대한 Zoom 값은 오름차순으로 정열 되어야만 한다.
Zoom Approximate visibility in MapSource starting from 300km zoom to 120km starting from 120km zoom to 50km starting from 50km zoom to 30km starting from 30km zoom to 12km starting from 12km zoom to 8km starting from 8km zoom to 3km starting from 3km zoom to 1.2km starting from 1.2km zoom
7
6
5
4
3
2
1
0
'GPS > Garmin Oregon' 카테고리의 다른 글
MapSource 설치본 제작 (2) | 2012.08.12 |
---|---|
실전 예제를 통한 Garmin 용 Vector Map(,img) 작성 방법 설명 (0) | 2012.08.12 |
지리산길 2.2 버전 (2) | 2012.07.20 |
지리산길 2.1 (1) | 2012.03.05 |
1대간 9정맥 (0) | 2011.10.30 |
일본 지형도를 JNX 파일로 얻기 (0) | 2011.10.23 |
MAPC2MAPC를 이용한 JNX 파일의 작성과 사용방법 (16) | 2011.10.05 |
cGPSmapper Custom Type 적용 map (2) | 2011.08.17 |
트랙을 Garmin의 img 지도로,,, (5) | 2011.08.03 |
OutDoor 전용 GPS 수신기를 장만하다. (0) | 2010.03.16 |