Pgmap
これは何?
perl-Tk版のgm_liteビューアです。基本的には、一般のPerl処理系で動くとは思います。このプログラムの特徴としては、ダウンロード作業に特化している、というあたりです(そのために縮小表示機能をつけています)。
bucchiさん@ぷちのいず作のZaurus版Gmapビューア「qgmap」をみかけて感動して、なんとなく勢いで作ってみました。本スクリプト作成にあたっては、実用工房さん作のjavascript版GM_Liteも参考にさせていただきました。ありがとうございます
以下の説明ではActivePerl for win32がインストールされているとします(他の処理系の場合は適宜読み替えてください)
まだ説明も荒削りでどうもすいません。ぼちぼちと充実させていく予定です。もしよければ、こちらの紹介記事も参考にしてください。
更新情報はBlogに掲載しています。
ダウンロード(ver1.3.2)
スクリーンショット
システム要件
スクリプト版を実行するには、Perl処理系が必要です(5.8以降で動くと思います)。Windowsであれば、ActivePerlをインストールするのが簡単でしょう。実行時にモジュールがないと言われた場合には、(ActiverPerlならPPM等を使って)ダウンロードしてください。
コンパイル版では、ActivePerlは必要ありませんので、モジュールの有無などの心配もいりません。そのかわり、ファイルが大きい(4MByte以上)ですし、実行開始にもいくぶん時間がかかります。
なお、こちらでは主にActivePerl5.10 for win32で動作検証しています。Cygwin版Perlでも動作しますが、ドラッグの動作が若干不本意です。また、住所検索で日本語が使えないかもしれません(Cygwin-perlの場合。Linuxでは日本語で住所検索できることを確認)。
Quickstart
スクリプト版はアーカイブを展開してできたpgmap.plを実行してください。コンパイル版ではpgmap.exeをそのまま実行してください。同じディレクトリのimgs以下に地図データがあれば表示されます。
データがない場合には、右上の「?」をクリックして表示されるヘルプの中の「Initial maps」をクリックすれば、初期マップのダウンロードがスタートします。
操作方法(表示編)
「Zoom」は地図の縮尺の変更、「Mag」は画像の拡大縮小です。
ドラッグあるいはカーソルキーで表示位置を変更します。
グリッド表示モードで表示されるグリッドが青い地図は、該当する地図がローカルにありません。該当する場所で1つ下のZoomの地図がある場合は、その地図が拡大されて表示されます。
緯度経度のフォームに数値を入れてEnterキーを押すと、その場所にジャンプします。「Aキー」を押すと、住所でのジャンプができます(Geocodingを使いますので、インターネットアクセスが必要です)。
POI項目一覧は「P」キー、表示されているPOI情報は「Shift-P」キーです。POI情報ウィンドウでは、カーソル位置からの距離が表示されますが、あくまで目安ですので、あまり信用しないでください:-)
操作方法(地図ダウンロード編)
グリッドが青い地図は、「Shift-クリック」あるいは「Shift-ドラッグ」で「地図の選択(赤いグリッド)」ができます。選択されている地図を再度「Shift-クリック」あるいは「Shift-ドラッグ」で選択を解除できます。「Download Map」を押すと、選択されている地図のダウンロードが始まります。
設定ファイル
設定ファイルpgmap.cfgを編集することこで、多少のカスタマイズができます。変数する際にはunix系の改行コードに対応したエディタを使うのが無難です。#以降はコメントですので、実際に使う場合には#を削除してください。
- gps_connect
GPSを使う場合には1にセットしてください。0としている場合でも、起動後に「G」キーでGPS機能が有効になります
- gps_device
GPSデバイスを指定します。ActivePerl版の場合はCOMnn(nnは数字。COM4など)としてください。Cygwin-PerlやLinux等の場合は/dev/ttyS4, /dev/rfcomm4, /dev/com4等としてください(ダブルクォートは必要ありません)
- gps_baudrate
シリアルポートでのボーレートを指定します。この設定を省略した場合の挙動は、処理系によって異なります。ActivePerl版では、利用可能なボーレートのうち最大値を設定します。ActivePerl版以外では、sttyのコマンドをスキップします。
- initial_zoom
Zoomの初期値を設定します
- initial_mag
Magの初期値を設定します
- initial_lnglat
経度、緯度の初期値を設定します。例:lnglat = 139.770298, 35.689021
- cursor_mode
1の場合は起動時に中央カーソルを表示します。
- border_mode
1の場合は起動時にグリッドを表示します。
# border_mode = 1
- image_backup_level
地図画像がない場合に、何段階広域の地図まで検索するかを指定します。
- cursorkey_scroll
カーソルキーでの移動量を指定します。
- Shift_cursorkey_scroll
Shiftを押したときのカーソルキーでの移動量を指定します。
- poi:
POIエントリをCSVで指定します。内容は「表示ON/OFF,タイトル,CSVファイル名,アイコン名,コメント」です。複数行していすると、複数のPOIが表示されます。例:
poi: 1,6,sample data 1,poi/sample_data.csv,icon-orange.png,sample comment
GPSモード
GPSモードにして起動(あるいは、起動後の「G」キーを押す)と、GPS情報が表示されます
「Track」は、地図の表示位置を現在位置に追従するか、です。地図を手動にてスクロールさせると、このスイッチは自動的にオフになりますので、再追従する場合はこのスイッチを押してください。
「Status」は補足している衛星数とGPSモード(GPS or D-GPS)を表示します
その右は、GPSから取得した経度、緯度です。
その他
画像をたくさん表示すると、落ちることがよくあります(ActivePerlの場合。Cygwin Perlでは落ちないようなので、処理系の問題でしょうね)。
その場合には、スクリプトを再起動した後に「Shift-R」を押してください。落ちる前の状態に復帰できます。
ToDo
POI編集機能などなど。
なにかあれば、Blogあるいは
BBSにどうぞ。
戻る