次にどのサイトのどのスケールの画像を選択し、GPS機のどのスケールでそれらを表示させるかを決定しなければならない。この決定が、使いやすい見やすい地図にするポイントとなる。
電子国土ポータル(旧版) http://portal.cyberjapan.jp/site/mapuse2/index.html
ヤフー地図は、http://maps.loco.yahoo.co.jp/maps?
行程3:画像データの選択
1.ヤフー地図の場合、configファイルの拡大レベルの1から20の数値は、サイトの地図スケールバーの最大の拡大レベルが1、最小拡大レベルが20と対応している(と思う)。
サイトの地図下方に示している区間が、どの距離に対応するかを参考にして、SPS機の対応するスケールで、表示させるよう設定するのであるが、ヤフー地図と、GPS機の画面で表示させた時の縮尺が、異なる。ヤフー地図の画像を、GPS機の同一のスケール表示させてみると、1/3の大きさで表示されて見にくい。
例えば、ヤフー地図3kmスケールのものを、GPS機3kmに表示させても、画像が密集し、文字は読めない。これは、GPS機のスケールを上げた、2kmで見やすい画像となる。
また、ヤフー地図は登山で使用する領域の情報が乏しい。等高線間隔は、10mであるが、付随する地形、水流等の情報がない。また、スケールが小さいレベルでは、国土地理院の25000地形図と、絵として同一であってほしい。
しかしながら、スケールが大きいところでは、地形の概要を認識するには、電子国土ポータルの画像よりも見やすい。
2.電子国土ポータルの場合、gsi_configファイルの拡大レベル、7.5, 15, 30, 60, ..., 30720は、サイト下部の青い丸に数字が示している、左から、25, 45, 90, ..., 24000までの対応している(と思う)。
表示させてみると分かるが、スケールが大きなところでは、絵作りでヤフーに負けている。商用との差を感じる。また、25は、地形を判別するという目的には、作られていない。
従って、電子国土ポータルの利用する画像は、45,90,180となる。180は、PC画面では実際の25000地形図に近いが、GPS機にそのスケールで表示させると、画像が縮小されるので見るのはつらい。スケールの小さなところでは、90を拡大表示させると、線がボケて見にくいので、45が適当なのであるが、これば、落としてくるメッシュの数が増えてしまい、大きな領域をダウンロードすると半端でない時間がかかる。
以上のことから、ダウンロードするのは、90と180(gsi_configファイルの拡大レベルで、30と60)、それらを、180(gsi_configファイルの拡大レベル 60)は、GPS機の300mスケールに、90(gsi_configファイルの拡大レベル 30)を、GPS機のスケール200m以下の使用することにした(視認的には、少しボケるがスケール80mまで、良好である)。
スケールの大きな部分は、ヤフー地図の画像を利用するのですが、大まかな地形が確認できればいいので、すべてのスケールで良好な絵を求めないし、大きなところは不要とした。ヤフー地図拡大レベル13をGPS機のスケール3kmから、1.2kmに表示(実際に絵として良好なのはスケール2kmのみ)、レベル15をGPS機のスケール800mと500mに表示させることにした。
注:スケールレベル数の上限は5。ただし、複数のjnxに分けるか、microSDを使用すれば超えてもいいようだ(未確認です)。
3.ダウンロードしたプログラムをそのまま実行すると、生成される画像が少し見にくい。電子国土ポータルの等高線、Yahoo!地図の色づきが薄いのです。そこで、画像のコントラスト、シャープネス、ブライトネス、ガンマ補正を調整してみた。私は、画像処理ソフトでこれらの値を変化させてみて、ホーのレベルなので、あくまで参考に。
a. ymapjnxディレクトリーの ymapjnx.py 右クリック -> [Edit with IDLE] 編集ウィンドウが開く。変更後、[File] -> [Save]
Line 83 flagForceConvert = False -> flagForceConvert = True
Line 484 #pngimg = ImageEnhance.Contrast(pngimg).enhance(1.4) ->
pngimg = ImageEnhance.Contrast(pngimg).enhance(2.0)
Line 485 #pngimg = ImageEnhance.Sharpness(pngimg).enhance(1.1) ->
pngimg = ImageEnhance.Sharpness(pngimg).enhance(1.1)
Line 486 #pngimg = ImageEnhance.Brightness(pngimg).enhance(1.1) ->
pngimg = ImageEnhance.Brightness(pngimg).enhance(1.1)
Line 487 #gamma = 0.4 -> gamma = 0.4
Line 488 #pngimg = pngimg.point(lambda i: pow(i/255.0, 1.0/gamma) * 255.0)
-> pngimg = pngimg.point(lambda i: pow(i/255.0, 1.0/gamma) * 255.0)
b. gsijnxディレクトリーの gsijnx.py を右クリック -> [Edit with IDLE] 編集ウィンドウが開く。変更後、[File] -> [Save]
Line 68 flagForceConvert = False -> flagForceConvert = True
Line 585 #pngimg = ImageEnhance.Contrast(pngimg).enhance(1.4) ->
pngimg = ImageEnhance.Contrast(pngimg).enhance(2.0)
Line 586 #pngimg = ImageEnhance.Sharpness(pngimg).enhance(1.1) ->
pngimg = ImageEnhance.Sharpness(pngimg).enhance(1.1)
Line 587 #pngimg = ImageEnhance.Brightness(pngimg).enhance(1.1) ->
pngimg = ImageEnhance.Brightness(pngimg).enhance(1.1)
Line 588 #gamma = 0.4 -> gamma = 0.4
Line 589 #pngimg = pngimg.point(lambda i: pow(i/255.0, 1.0/gamma) * 255.0)
-> pngimg = pngimg.point(lambda i: pow(i/255.0, 1.0/gamma) * 255.0)
コメントを編集
いいねした人
コメントを書く
ヤマレコにユーザー登録いただき、ログインしていただくことによって、コメントが書けるようになります。ヤマレコにユーザ登録する