qgmap-0.2.1 リリース

久しぶりに qgmap をリリースしました。→ダウンロードページ

変更点は以下の通りです。今回はあまり機能追加等はなく、主にバグフィックスとなります。

バグフィックス

  • フリーハンド範囲指定機能で重複した領域が出力される (sugarwareさんのご報告)
  • ガンマ補正時に画面が動的に反映されない (sugarwareさんのご報告)
  • POI機能でアイコンの指定がない状態で登録すると落ちる (botesanさんのご報告)
  • POIの情報表示で全てが表示されない場合がある (botesanさんのご報告)
  • POI削除時の確認ダイアログに名称ではなくズームレベルが表示される (botesanさんのご報告)
  • 2つめ以降に登録されたPOIの表示をOFFにできない (cycloneさんのご報告)

新規機能

  • 2GB以上のisoイメージがマウント可能に (bxk07344さんのご報告)
  • POI追加時にプログレスバーを表示
  • POIにプリセットアイコンを追加

今回の修正は多くの方のバグ報告やご意見を反映させていただきました。ありがとうございました。

修正が多いので新規機能だけご紹介します。

まず、2GB以上のisoイメージを使用することができるようになりました。この問題は zaurus に元々入っている mount コマンドが 2GB 以上のイメージを扱えなかったのが原因でした。
そのため、独自にビルドした mount コマンドを同梱し、qgmap が mount する時は、同梱した mount コマンドを使うようにしてあります。
これにより、大きな iso イメージも意識することなく普通に使えるようになりました。

次に、POI を追加する時にプログレス表示をするようにしました。

POI追加のプログレス表示
POI追加時のプログレス表示

今までは、大きな CSV ファイルを登録しようとすると、登録が終わるまで操作を受け付けず、CSVファイルによっては1分以上も固まったような状態になっていました。
登録処理が早くなったわけではないですが、状況がわかるので不安にならずに済むようになったと思います。

最後の新規機能は、POIのアイコンにプリセットアイコンを追加しました。

プリセットアイコンを追加
プリセットアイコンを追加

今のところ、赤丸の1つだけですが、他にも著作権フリーもしくは作者に許可がいただけたアイコンを追加していければいいなと思っています。

1つだけでもアイコンを登録しておけば、落ちる問題が回避できるからという安易な考えがあったのは内緒ですあっかんべー

 

とりあえず大体のバグは修正できたので、これから新規機能を追加していく予定です。
まだ決めてないですが、POI検索か住所検索あたりを実装しようかなと思ってます。

関連した記事:


26 comments

  1. 開発お疲れ様です。

    最新版、早速試してみたのですが、isoファイルがマウントできないようで、地図が表示しませんでした。

    2.0ではhdd3内のファイルはマウント出来て、SD内の2G超えはマウントできませんでした。
    2.1ではhdd3もSDも両方ともマウントされませんでした。

    試しに、2.1を入れてターミナルからshareのmountを使ってマウントさせてみるとちゃんとマウントしました。

    こちらの環境の可能性もありますが、何か試すことがあればやってみますので、よろしくお願いします。

    • bxk70344さん、早速試していただきありがとうございます。

      色々試してみたところ、「ルート権限で実行する」にチェックが入っていると mount 出来ないようです。
      もし、root にパスワードを設定していないのであれば、上記チェックを外して試してみてください。

      どうやら追加した mount コマンド内のチェックではじかれているようです。
      もう少し調べてみます。

      ご報告ありがとうございました。

      • 早速調べて頂きありがとうございます。

        bucchiさんのご指摘の通り「ルート権限で実行する」がチェックされていました。
        チェックを外したところ、マウントできました。

        これでかなり便利になります。
        今まで4Gを超えないように調整しながらisoを作っていましたが、これで気にせずにイメージ化できます。

        ありがとうございました。

        • ルート権限のチェックを外してマウント出来たと書きましたが、ext2のSDを登録した場合地図が表示されませんでした。
          hdd3にあるisoは問題なく表示します。

          テストでいろんな場所のイメージ(hdd3の中など)を登録していたので表示できていたようです。

          ただ、ext2のSDのイメージ自体のマウントは出来ているみたいです。
          qgmapを起動したままターミナルでdfを実行すると、loopデバイスが登録されていました。
          また、/tmp/qgmap/mnt0/の中にimgsとrr_movedが出来てました。

          お忙しいかと思いますが、ご検討ください。

          • ご迷惑おかけしてます。
            中途半端な状態でリリースしてしまってすいません。

            32GB SD を空けたので、ext2 フォーマットして本腰入れて調査しますので、
            もうしばらくお待ちください。
            すいません・・・。

          • 地図を 2GB 分ダウンロードするのは時間がかかるので、手元にある1GB近い地図に
            1.5GB程度のダミーファイルを追加してISOイメージを作り、ext3にフォーマットした
            32GB SDに入れて試してみました。

            私の方で試してみた所では、問題なく地図が表示されました。
            2GBを超えた部分に格納されているファイルが表示できないんでしょうかね?
            ダミーファイルでは再現しない可能性もあるため、
            いま、地図をダウンロードしていますのでもうしばらくお待ちください。

            少し試してみていただきたいのですが、手動でマウントして、
            その中の imgs ディレクトリをパスに追加して試してみていただけませんか?

            たとえば、以下のコマンドで、/mnt/card/tmp にイメージをマウントします。

            $ cd /mnt/card
            $ mkdir tmp
            $ su
            # mount -t iso9660 -o loop,ro ??????.iso tmp

            そして、/mnt/card/tmp/imgs を qgmap の地図のパスに登録してみてください。

            お手数をかけしてすいません。

          • いろいろスミマセン。

            bucchiさんのイメージが動いていると聞いて、こちらの状態も再度しらべてみました。

            qgmapを起動してext2のSD内のイメージを登録、/tmp/qgmap/をみるとたしかにマウントされています。
            続いて、実際のpngファイルを確認してみると、開けないファイルがあることが分かりました。
            別のイメージ(日本の詳細地図で4G超え)qgmapに登録してみると・・・
            ちゃんと表示しました。

            となると、使ったイメージに問題がありそうです。
            hdd3と同じものだと思っていたのですが、コピーで失敗したのか・・・

            今、ちゃんと動いているhdd3のデータをSDにコピーしています。(デカイので時間がかかります・・・)
            コピーが終わりましたら確認してみます。

            あと、手動でマウントしたディレクトリの登録ですが以前試みたんですが、登録の際/tmpとマウントしたディレクトリが見えなくて選べなかった記憶があります。
            今イメージをコピー中なので、コピーが終わったらそちらも試してみます。

            いろいろ調べて頂いたのですが、こっちのイメージの問題の可能性が高いです。
            もう少しちゃんと調べるべきでした、すみません。

          • bucchiさん、すみません。
            新たにコピーしたisoイメージで動作を確認いたしました。
            isoファイルの問題だったようです。

            これで、4G以上のisoイメージで地図を表示できるようになりました。
            いろいろ対応して頂き、ありがとうございます。

          • 動きましたか!よかったです・・・。
            マウントに関しては「ルート権限」チェックでマウントできない問題だけですね。
            今回色々試してみて違うバグも見つけたので、合わせて直そうと思います。
            ありがとうございました。

  2. アップデートありがとうございます。
    早速確認してみましたが、無事にPOIの表示切り替えもできるようになってますね。

    このqgmapをフルに活用しようということで、PC用クライアントを作ってみましたので、見てみてくださいな(Webサイトを仮置きで用意しただけなので、まだ最低限のことしか書けてないですが)。

    • cyclone さん、ご確認ありがとうございます。
      HP 拝見させていただきました。

      すばらしいですね! 私があったらいいなぁと思っていたPCクライアントのイメージそのままです!
      PC 側で地図を見ながら範囲を指定してダウンロードできたらなぁと思ってましたが、
      Windows アプリを作ったことが無いのでノータッチでした。

      特にMag機能(?)に驚きました。私もPCのクライアント作ったとしたら、こういう機能があれば便利だろうなと思っていたので、この機能があった時はびっくりしました。

      欲を言えば、2倍以上でも拡大表示されるとなお良いですね。
      POI の編集機能もつける予定とのことで、今後がすごく楽しみです!

      あ、もし、出来ればでいいんですが、せっかく Perl/Tk で作られているので、Linux でも動いてくれるとうれしいです。私は基本 Linux 環境でして。
      Linux で動かすと、thread::queue の enqueue() のところで “Invalid value for shared scalar” エラーが出てしまいます。
      enqueue では異なるスレッド間のデータ受け渡しになるので、リファレンスが使えないんだと思います。(Perlはあまり詳しくないので間違ってるかもしれませんが)

      とにかくすばらしいです!応援してます!

      • Zaurus版にダウンロード機能があったので、おせっかいかな?とも思ったんですけど、喜んでいただけてなによりです。

        Threadの件ですが、実装中に「いつの間に、スレッド間でリファレンスが渡せるようになったんだろ…?よくわかんないけどラッキー」と思ってまして(笑)

        でも、改めてドキュメントを見ると、Thread::Queueで渡せるデータはやはりスカラーのみ、なんですね(手元のLinuxでもハッシュNGを確認)。しかし、ActivePerlはともかく、Cygwin-Perlまで通ってしまうのはいったい…

        それはともかく、本スクリプトでは、スレッド間でリファレンスを渡す必要もないですので、スカラーだけでやりとりするように修正してみます(手元ではもう対応済みです。また夜にでもLinuxで確認して大丈夫ならアップデートしますね)

        POIも表示だけならできてまして、あとは「選択」「編集」をどうするか、というところです。

  3. POIのアイコン。
    今度unicodeに追加された、携帯キャリアの絵文字が良いような気がするんですがどうでしょ?

    • u1 さん、コメントありがとうございます。
      まさか絵文字が unicode に追加されないでしょー・・・・と思っていたら、追加されたんですね。知りませんでした・・・。

      絵文字って色ついてるしアニメーションしてるし、unicode フォントには入れられるわけないじゃん・・・って気がするんですけどねぇ。

      話は脱線してしまいましたが、確かに携帯の絵文字はPOIアイコンとしても使えるものが多そうですね。
      著作権的に問題のない絵文字がダウンロードできればいいんですが・・・ちょっと探してみます。
      最悪、絵文字を参考に自分で描いてしまうのも手ですね。
      参考になるご意見ありがとうございました!

      • 本来はザウルス側で絵文字のフォントを持っていてくれれば、画像と文字列の重ね合わせで表示ができると思うのですが。まあunicode体系の新ザウでも出ないことには無理でしょうが。

        せめて、アイコンのdb識別Numberを絵文字のコード体系に合わせていただけると、あとあと整理しやすくもなるのではないかなあと期待しちゃう訳なんです。

        めんどくさいアイデアで申し訳ないです・・・

        • 返信遅くなってすいません。
          unicode に絵文字が入ったとしても、フォントに入るのはモノクロのグリフだけでしょうから、アプリやツールキット(Qtなど)が変換表示しない限りそのままカラフルな絵文字が表示できるということは無いでしょうね。
          目的は携帯キャリア間で絵文字を相互変換するためで、PC等で表示するためでは無いらしいので。

          qgmap のアイコンIDを絵文字unicodeに合わせる件ですが、いまの作り上、かなり大変なので勘弁してください (^^;
          ご意見ありがとうございました。

          • 勝手な事ばかり申し上げてすみませんです。
            いや実はGPSを複数台持ち、Garminのアイコンなどを見てると統一性がなく、さらにwebなどからWaipointをダウンロードなどしてくると、座標系とアイコンなどの変換の手間をかけています。
            せっかくアイコンを作るのでしたら全世界共通の初mappingソフトにしたらどうかなと思ったものですから。
            いや、誠に勝手な事を申し上げて済みませんです。

          • こちらこそ実現できずすいません。
            そういう背景があったのですね。

            今回は実装が難しかったので見送らせていただきましたが、
            とても貴重なご意見ですので、遠慮なくおっしゃってください。
            皆様の意見があって今の qgmap がありますので。
            また何か気づいた点があれば是非教えてください。
            よろしくお願いします。

  4. bucchi様、修正ありがとうございます。
    早速試してみました。

    以前、報告させていただいた下記二つについて修正されていることを確認しました。

    • POIの情報表示で全てが表示されない場合がある (botesanさんのご報告)
    • POI削除時の確認ダイアログに名称ではなくズームレベルが表示される (botesanさんのご報告)

    ただ、気になりましたのが、下記の新規機能の項目です。

    • POI機能でアイコンの指定がない状態で登録すると落ちる (botesanさんのご報告)

    赤い丸のmark.pngが追加されていたのは分かったのですが、既にPOIデータを登録している状態ですとアイコンの一覧に表示されませんでした。
    データを登録していると駄目なのかと思い、qgmap-poi.dbを削除してから再インストールしてみたのですが、この場合にも赤い丸のアイコンが一覧に表示されませんでした。

    赤い丸は、自分で登録する物なのでしょうか?
    または、インストール時に削除等しないといけないファイルがあるのでしょうか?
    一応、状況を報告させていただきます。

    • botesanさん、ご確認ありがとうございます。
      ホントですね・・・。
      qgmap-poi.db 消したら登録されませんでした・・・。
      失礼しました。直します!

      うーん。なんとも中途半端なリリースでごめんなさい (- -;

  5. bucchiさんお世話になります。

    遅くなりましたがmountコマンドをパッケージされたqgmap快調です。
    SDHCカードは携帯に使用してる16GB以外所有してないのでまだその恩恵にあずかれていませんが(^^;)

    ところでmountコマンドをパッケージされたqgmap_0.2.1を使用する分にはわざわざmountコマンドを置き換える必要はないのですけれど、2月27後提供のmountコマンドとオリジナルとを置き換えようとしましたが最後にReadOnlyにremountし直したところ

    [mntent]:warning:no final newline at the end of /etc/fstab

    のエラーメッセージがでその状態で再起動かけると当然ハングしnandバックアップで事なきを得ました。

    ためしに最初ReadWright可能にremountするときに2月27御提供のmountコマンドを使用したところその段階でまたも

    [mntent]:warning:no final newline at the end of /etc/fstab

    のエラーメッセージが!
    そのままオリジナルのmountコマンドでReadOnlyにremountし直したところエラーは出ず再起動も無事にできました。

    残念ながら私のスキルではオリジナルを置き換えることはできませんでした。

    本来ならば実行したコマンドを例示した方が何をやらかしたかわかり易いのですがnandのバックアップを持たずに真似をし(いないと思いますけど)ハングアップを起こす方が出ると悲劇ですし、nandのバックアップで復旧できたのはラッキーだったかもしれませんのであえて言葉だけの表記です。
    ちなみに環境はSL-C3200,スペカv18j,32GBCF(ext3化)換装済みです。

    それからqgmapを使用するにあたり2GBを超えるisoファイルはSDHCに入れておけば良いんでしょうがせっかくHDD3が32GBのCF(ext3済み)に換装してあるのでCFに入れたいけどこちらもcpコマンドがエラーを吐きそうです。
    4GB超の図入りのウィキペディアのファイルを16GBのUSBメモリ(ext3済み)からコピーしようとしたら

    Value Too Large for defined data type

    とエラーが出ました(/_;)

    /bin/busyboxは大きなファイルにことごとく対応してないようですね

    • kanonさん、お久しぶりです。
      返信が遅くなってすいません。

      remount ダメでしたか。遠い昔に remount したときはいけたような気もしたのですけど、NANDから戻して試してもダメってことは記憶違いですね。

      busybox ですが、全滅だと思います。
      2GB以上対応版 busybox も作れますが、それはちょっとやりすぎな気も。。。
      オープンソースのファイルマネージャみたいなソフトがあれば、それを 2GB 対応した方が使い勝手がいいかも知れませんね。

      • bucchiさんkanonです。

        >2GB以上対応版 busybox も作れます。
        2GB以上ファイルのコピー、削除、リネイム、属性変更ができれば幸いですけどこれ凄すぎます(^^;)

        私は今「FileLaunch」「Tree!Explorer QT」「FDclone」をファイラーとして使用してますけど「FDclone」はソースを公開しているようですね。

        • kanonさん、こんばんわ。
          確かに FDclone でできると便利ですね。

          でも FDclone なら x86 環境でも使われてるだろうから元々対応してるんじゃ?
          と思って軽くソースを調べてみたところ、zaurus 用が存在する FDclone-2.09e でも 2GB 超対応のコンパイルオプションが有効になってるっぽいです。
          もしかしたら普通に使えちゃうかもしれないですので、試してみていただけますか?

          もしかすると、他のファイラも 2GB 超ファイルが扱えるものがあるかもしれませんね。

          • bucchiさん、お世話になりますkanonです。

            「FDclone」使えました(^_^)v

            ただ「FDclone」ファイルサイズは9桁までしか表示しない(GBのファイルはちゃんと表示できない)のでちゃんとファイルを扱えるのか不安でしたが実行あるのみと最初無圧縮のウィキペディア2.5GBのファイルでまず試してみたところ無事ext3化したcfからコピーでき「zten改」で使用できました。
            次に本命絵入りのウィキペディア4.6GBを試したところこちらもコピーでき「zten改」で使用できました(^_^)v
            なお「FileLaunch」「Tree!Explorer QT」は2GB超のファイルは扱えませんでした。
            bucchiさんのアドバイスのおかげで4GB超のファイルも「FDclone」があれば怖くない?です(^^;)
            「FDclone」はtimidityでmidiファイルを鳴らすためのランチャとしてしか使用してなかったのですけど(^^;)

          • kanonさん、動作確認していただきありがとうございました。
            やはり FDclone 使えましたか!
            FileLaunch はオープンソースなので対応できなくはないと思いますが、
            今はちょっと忙しくて対応する時間がありません。
            qgmap の開発も止まっちゃってますし。。

            いずれ時間ができたら FileLaunch の対応もやってみたいですね。

コメントを残す

メールアドレスが公開されることはありません。


*