1000以上のルートを、ユーザごとの地図に投影する方法(2) - 課題解決の方針


今回は、前回の2つの課題への対応の方針検討です。

課題1:地図データの画像数が膨大になる(HDD容量)。


地図画像は縮尺が小さくなるに従って、縦横の長さが2倍になります。
つまり、必要になる画像枚数は縮尺を変えるたびに枚数が
4倍, 16倍, ...と増えていきます。


地図を表示させる目的を考えると、全体でどの程度歩いたかを把握したい
なら全体図を見ることが多いと思います。
なので、縮尺が小さい場合はルートを表示しないようにして
回避しました。

課題2:作成時間がかかりすぎる影響をどう回避するか。

今回作ったプログラムが遅いだけなのかもしれませんが、
1000以上のルート画像を用意するのに数日かかってしまいます。


この画像は一度作ればいいわけではなく、ルートを追加・削除すると画像を更新する必要があります。
しかし、複数の線が重複している場合もあるので書いてしまった線を消すのは困難です。
方針としては
・ルートごとに画像ファイルを作っておいて、必要なものを重ね合わせてユーザ地図を作る
・ルートが追加されたとき、ユーザ地図に追記する
・ルートを更新・削除した場合、関連するユーザ地図を作り直す
としました。


こうすると、たとえば複数人で同じルートに行っている場合、何度も線を引くことから解放されると思います。
また、1つのルートを更新したとき、地図画像全部を作り直す必要がなく、
重ね合わせだけをやりなおせばいい(時間が短くて済む)というメリットがあります。

他に考えた方法

  • 画像拡大/縮小で回避する案

同じ線を何度も引くのは時間の無駄なので、画像の拡大/縮小で何とかならないか?と思いましたが、拡大/縮小をすると線の細さが変わってしまいます。
縮小すると線が切れてしまうし、拡大すると線が太くなりすぎてしまいます。
これでは使えないのでこの案は不採用としました。


次は実際に画像を用意するところから、手順をメモって見ようと思います。