ズーム(Zoom)を極める
お詫び: 国土地理院の「数値地図25000(空間データ基盤)」サービスが終了したため、2008年6月14日現在ここに記載された方法は実行できません。自作地図を作る代わりの方法を探します。


  不要図削除: 2009年04月20日
  加筆修正: 2007年11月01日

T.序
  この表題は、「いにしえの星(ジェイク斉藤氏)」のパクリである。敬意を表して敢えて注記させてもらうが、表題以外は私が「cGPSMapper.exe ver. 0093c」付属のマニュアル(v02.3)を読んで理解したことを、自分なりに解釈し自分用マニュアルとしてまとめてみたものである。使用PCのOSはWindows2000、GPSユニットはGARMIN MAP60CSx(USA版)+1GBで話を進める。

  GPSMapEditやGPSユニットで地図を拡大、縮小描画する機能をズームという。ズーム イン(拡大)すると表示範囲が狭くなるが詳細が表示され、反対にズーム アウト(縮小)すると広い範囲が表示される代わりに大雑把な地図になる。

  又、GPSへ自作マップをアップロードし、ズーム イン/ズーム アウトすると、あるズーム レベルで自作マップから内蔵のワールド マップへ(ズーム アウト時)、あるいは逆に内蔵マップから自作マップへ(ズーム イン時)切り替わることに気が付くと思う。いったいこれはどういう仕掛けになっているのか、「cGPSMapper」のマニュアルを読み解き検証してみよう。

U.使用ツール
ツール(ソフト) バージョン
MapView25000 フリーソフト 0.81
UNLHA32.DLL フリーソフト 1.42.1.8
cGPSmapper.exe フリー版 0093c

V.三つのズームレベル


  GARMINのHandheld GPSユニット用の自作地図(マップ)を操作するなら次の三つのズームを理解する必要がある。用語等は全てcGPSMapperのマニュアルに準じた。

  1. マップ ズーム レベル
    一つ目はマップ ズーム レベル(原文:Map Zoom Level)。 どのズーム レベルで何を地図に描くは、厳密には、ポーリッシュ ファイル(*.mp)のヘッダー(Header)セクションとボデー(Declarations)セクションに記述されている(後述)。マップ ズーム レベルは、cGPSmapperの機能上ズーム0から9までの10レベルが設定でき、最低でも2つのレベルを設定する必要があるとされるが、ただ多くのレベルを設定しても実用的でないことはすぐわかる。それ故、MapView25000 のGUI環境では、最大4レベル(0,1,2,3)までしか設定できないし、cGPSmapperでポーリッシュ ファイルへコンパイル(変換)する時、デフォルトで最後のLevel3は別の役目を担っている(cGPSmapperの機能−後述)。
     


    マップ ズーム レベルの設定は、地図利用目的(ドライブ ナビ/登山)により変わってくると私は思うが、ドライブ ナビ用なら、概略次の様になるのではないかと思う。 

    マップ ズーム レベル 描画する地図要素(サンプル)
    ズーム イン(拡大)






    ズームアウト(縮小)
    高速道路、国道、JR、都道府県市庁所在地、太い道(13m以上)、一般道路(3.0〜13m)、二条河川、私鉄、学校、病院、JR駅、山名、峠
    高速道路、国道、JR、都道府県市庁所在地、太い道(13m以上)
    高速道路、国道、 JR、都道府県市庁所在地
    高速道路、大都市(東京、大阪等)

  2. 描画ズームレベル
    二つ目はGPSユニットの描画ズームレベル(原文:GARMIN Display Zoom Level)。MAP60CSx英語版なら、GPS液晶画面のマップ表示時、左下隅に表示され、ズ ーム イン/アウト キーを押すことで変化する小さいスケールのことである。MAP60CSx USA版なら、5m、8m、12m、…、200m、…、20km、…、200kmと変化する。 
    表示設定

  3. ハードウエア ズーム レベル
    上の描画ズーム レベル(GARMIN Display Zoom Level)とマップ ズーム レベルを仲介しているコードが、三つ目のズームで、ハードウエア ズーム レベル(原文: Hardware Zoom Level)だ。マップ ズーム レベル(Map Zoom Level)は、ハードウエア ズーム レベルで規定され、コンパイル時GPSユニットが独自に解釈しGPSの描画ズーム レベルへ引き継いでいる。従って、どのように表示されるかは、GPSの機種依存と思われる。

    ハードウエア ズーム レベルは1から24まであり、描画ズーム レベルとの関係は下表で表わされる。しかしマニュアルはこれについて、あくまでも厳密なものではな くガイド(目安)だと述べている。この表によれば24がもっとも詳細なマップを表示し、それに続く少ない番号のハードウエア ズーム レベルは1つ前のレベルに対してそれぞれ 2倍のスケールとなっている。

    cGPSmapperのマニュアルによると、 
    ハードウエア ズーム レベル 描画ズーム レベル
    24 120 m まで
    23 200 m, 300 m
    22 500 m
    21 800 m - 1.2 km
    20 2 km
    19 3 km
    18 5 km - 8 km
    17 12 km
    16 20 km - 30 km
    15 50 km
    14 80 km - 120 km
    13 200 km - 300 km
    12 500 km - 800 km

  ハードウエア ズーム レベルは1から24まであると前述したが、『現行のGARMIN機器では12が最もズーム アウト(縮小)された状態』とマニュアルには書いて ある。1から11が使われていない理由は、役に立たないから。(原文:The principle of doubling the map scale for each successive zoom number continues beyond level 12 but lower hardware zoom levels are not really useful. Zoom level 12 represents the most "zoomed out" setting for current Garmin(R) devices.) 

  マップ ズーム レベルとハードウエア ズーム レベルの関係は、ポーリッシュ ファイル(*.mp)のヘッダー セクション([IMG ID])に次の様に書き込まれる(サンプル)。 
----------------------
[IMG ID]
 省略
Levels = 4
Level0 = 22
Level1 = 19
Level2 = 16
Level3 = 15
: 省略
[END-IMG ID]
----------------------
  ハードウエア ズーム レベルの定義例

  Levels= 4は、マップ ズーム レベルの数を示す。この例ではレベルが4段階(0〜3)存在することを示している。 

  その下のLevelm = h という等号式は、マップ ズーム レベル(m)とハードウエア ズーム レベル(h)の関係を定義している。マップ ズーム レベルは10個設定できるが10に満たな い場合は、Level0から(記述を)始めなければならない。(原文:Any map can use up to ten map zoom levels numbered 0 to 9. If you use fewer than ten map zoom levels you should use consecutive map zoom level numbers starting at zero.) このサンプルでは、Level0がハードウエア ズーム レベル22で描画し、Level2はハードウエア ズーム レベル16で描画することを定義している。

Note:
ハードウエア ズーム レベル(h)は連続している必要はないが、 マップ ズーム レベル(m)に対応するハードウエア ズーム レベル(h)は、それぞれ1つ前の ハードウエア ズーム レベル(h)より小さいレベルでなければならない。つまり上の例で、Level1=19だとすると、Level2に設定するハードウエア ズーム レベル(h)は19 より小さいレベルにしなければならない。Level3も同様の考え方でハードウエア ズーム レベル(h)を降順に設定しないと、実際にGPSユニットでマップを表示させようとした時、意図し た表示にならない不具合が発生する。(原文:The hardware zoom levels do not need to be consecutive, but each successive map zoom level must correspond to a smaller hardware zoom level number than the previous one.)

  上のサンプルで[IMG ID]セクションに正しく設定すると、同じマップ ズーム レベルで表示されるハードウエア ズーム レベルは、一つ上位のマップ ズーム レベル の直前までとなる。まとめると下表の様になる。(原文:The settings in our example specify that map objects and coordinates defined as map level zero, will be used at hardware zoom levels 23 and above. Objects defined as map level 1 will be used at hardware zoom levels 21 and 22, and so on.)

   私の設定例と意味。
Level 設定 表示対象となるハードウェア ズーム レベルの範囲
Level0 = 22 22〜24を表示
Level1 = 19 19〜21を表示
Level2 = 16 16〜18を表示
Level3 =  15 15のみ。

  なお、最終のマップ ズーム レベル (私の例ではLevels=4なので、4番目のLevel3)は、くせ物である。マニュアル(V2.3)には、『この最終レベルは、GPS内蔵 のベース マップとユーザー マップ(MapSource、又は互換自作マップのこと)の切換を決定するレベルを設定するために使われる。』と書かれている。(原文:The highest numbered map zoom level that you define dictates the zoom level at which your map replaces the GPS unit's base map. )

  私のサンプルでは「Levels=4」の設定なので、最終レベルはLevel3、対応するハードウエア ズーム レベルは15である。これが意味するところは、内臓のベースマップが表示されている状態(描画ズーム レベルが200 km)からズーム イン(拡大)していって、ハードウエア ズーム レベルが15(描画ズーム レベルで50 km)まではベース マップを、16(描画ズーム レベルで20〜30 km)からはユーザー マップを表示する。

  逆にズーム アウト(縮小)していって16までユーザー マップ、15から12は内臓のベース マップを描画するということだ。これをGPSの画面で検証すると下のようになる。

================>ズーム イン ===============>


表示設定 表示設定 表示設定 表示設定
内臓マップ
ハードウエア ズームレベル:13
描画ズームレベル:200km
内臓マップ
ハードウエア ズームレベル:14
描画ズームレベル:120km
内臓マップ
ハードウエア ズームレベル:15
描画ズームレベル:50km
自作マップ
ハードウエア ズームレベル:16
描画ズームレベル:30km


================>ズーム イン ===============>

表示設定 表示設定 表示設定 表示設定
自作マップ
ハードウエア ズームレベル:18
描画ズームレベル:8km
自作マップ
ハードウエア ズームレベル:19
描画ズームレベル:2km
自作マップ
ハードウエア ズームレベル:22
描画ズームレベル:500m
自作マップ
ハードウエア ズームレベル:24
描画ズームレベル:120m

  最終レベルの扱いについてマニュアルはこう述べている。『最終マップ ズーム レベルは内臓マップとの切替えタイミングを決める為だけに使われる。従い、このレベルでマップ オブジェクトを定義したり変更してはならない。(原文: Your highest map zoom level is only used for the purpose of specifying when your map takes over from the base map. You are not allowed to define map objects and coordinates at this level.)』と。今ひとつ検証不足で意味するところが理解できない私だが、いずれわかってくるようが気がする。

  ポーリッシュ ファイル(*.mp)のヘッダー セクション[IMG ID]定義とGPSの描画ズーム レベルの関連は、私の例では下表のようになる。
マップ
ズーム
レベル
ハード
ウエア
ズーム
レベル
GPS 描画
ズーム レベル
描画する地図要素 (サンプル)
24 120 mまで <自作マップ>
高速道路、国道、JR、都道府県市庁所在地、太い道(13m以上)、一般道路(3.0〜13m)、二条河川、私鉄、学校、病院、JR駅、山名、峠
23 200 m、3000 m
22 500 m
21 800 m - 1.2 km <自作マップ>
高速道路、国道、JR、都道府県市庁所在地、太い道(13m以上)
20 2 km
19 3 km
18 5 km - 8 km <自作マップ>
高速道路、国道、 JR、都道府県市庁所在地
17 12 km
16 20 km - 30 km
  最終レベル 15 50 km <内臓マップ>
主要都市名。
   14 80 km - 120 km <内臓マップ>
主要都市名。
13 200 km - 300 km
12 500 km - 800 km

  さて、最終レベルがどうなるのか、私の理解するところを書いてきたが、それは全て『GPSユニットの設定で詳細レベルを”NORMAL”に設定したときにこうなる。』という条件付の結論であることに注意を喚起したい。

  詳細度設定は、MAP60CSxの場合、MOST(最も詳細)/ MORE/ NORMAL(普通)/ LESS/ LEAST(最も大雑把)の5段階もあるのだ。
詳細度設定


  当然、最終レベルの動作もそれによって変ってくるはずだ。実験で確かめてみる。そうすると、MOSTに設定した場合、ハードウエア ズーム レベルが16ではなく14から自作マップに切り替わった。LEASTの場合は、逆のことが起きると容易に想像できる。 
詳細設定(Detail) 切り替わったハードウエア ズーム レベル (GPS 描画
ズーム レベル)
MOST 14(120km)で自作マップに切り替わった。
MORE 15(50km)で自作マップに切り替わった。
NORMAL 16(30km)で自作マップに切り替わった。
LESS 17(12km)で自作マップに切り替わった。
LEAST 18(8km)で自作マップに切り替わった。


  それに、詳細設定は最終レベルの動作にだけ関係するのではない。等高線や鉄道などLevel0に設定したはずのものが期待したGPS描画 ズーム レベルでGPS画面に現れないときがある。この時は、詳細設定をまずチェックすることをお奨めする。下の絵のように違いが大きい。 
表示設定 表示設定 表示設定
GPS描画ズームレベル:
  500m
詳細設定:LEAST
GPS描画ズームレベル:
  500m
詳細設定:LESS
GPS描画ズームレベル:
  500m
詳細設定:NORMAL

表示設定 表示設定
GPS描画ズームレベル:
  500m
詳細設定:MORE
GPS描画ズームレベル:
  500m
詳細設定:MOST



  以上の様に、3つのズームレベルの関係は、GPSの仕様とも相まって非常に複雑な動きをすることがわかる。厳密さを要求する人に対してマニュアルは、いみじくも、臆面無く『もしこれがあなたにとって重要だというなら、自分で実験し確かめるしかない。計算事ではないのである(意訳)。(原文: Again, if this is important to you, you will just have to experiment. As mentioned near the start of this section, choosing correct zoom levels is not a precise science.』)と言い放っている。


最後に、このページの地図の作成に当たっては、国土地理院長の承認を得て、
同院発行の数値地図25000(空間データ基盤)を
使用したものである。(承認番号 平19総使、第261号)



©2006 Yamaさんのもっと山を、スキーを、感動を!
All rights is reserved. Sorry for Japanese only.