トップ地図アプリMap > ファイル同期

地図アプリMap: ファイル同期

はじめに

Androidタブレット HAOVM M8 plus 上の地図アプリ Map も順調に動作するようになった。

スマホとタブレットを同時に使用するにあたっては、少し配慮が必要になる。 大きな変更ではないが、これまでのアプリ Map、MapX はそのまま残し、新たなアプリを Map3 としたい。 タイトルは Map としたいが、Android Studioにおけるプロジェクト名は map3 とする。

OSM(OpenStreetMap)のレンダリング用データは、スマホとタブレットでは共用するが、GPS軌跡データは独立させる。 他にも、個別にもつデータがあるかもしれない。

地図用データの元本はパソコンにおく。そのコピーをレンタルサーバーにおく。スマホ、タブレットはレンタルサーバーと同期させる。

殆どのデータはパソコンで作られるが、GPS軌跡データのように、スマホ、タブレットで生成されるデータもある。

スマホとタブレットは AndFTPアプリでレンタルサーバー上のファイルと同期をとる。この同期は、ミラーリングと同じと想定している。 そうでなかった場合、見直しが必要になるかも知れない。

パソコンとレンタルサーバーは FFFTP のミラーリングを使う。

レンタルサーバーを介することにより、バックアップにもなるが、回りくどい気もする。 パソコン上に FTPサーバーを立て、スマホ/タブレットと同期をとる方法も考えられる。

また、パソコンは介さず、スマホとタブレットで同期をとる方法もあるだろう。 その場合、パソコンで作成したデータをタブレット(またはスマホ)にコピーする操作は必要となる。

現時点では、総ファイルサイズは 7GB弱、ファイル数は 4万を超えるが、 大半がパソコンでせいぞい数か月に一度更新するファイルである。 同期には、時間と負荷がかかるが、数か月に一度のことであるから、それほど問題にはならないだろう。 GPS軌跡データなどはもっと頻繁に同期をとる可能性があるが、量的には小さい。

バス時刻表などは、パソコンで作成したら、ワンタップでスマホ、タブレットにコピーされるようにしたい。

ファイル数が多いため、現在は、パソコンで zip化して、それをスマホに転送して、スマホで解凍している。 4万ものファイル数では同期は難しいかも知れない。その場合は、同期させるのは zipファイルで、展開ファイルは同期させない。

レンダリング用データ

元々は世界規模のOSM(OpenStreetMap)データベースであるが、そこから抽出された世界規模の陸地ポリゴンデータと日本地図領域のOSMデータを使う。

陸地ポリゴンデータ

現在は、世界規模のOSMデータから自力で海岸線データを取り出し、これから作り出した陸地ポリゴンデータを使用している[2]。

OSMデータベースから海岸線データだけを取り出して、陸地ポリゴンデータとして提供されているものがある[1]。 将来は、以前のように、このデータ[1]を使うことを考えた方がよいだろう。

自分の場合、日常的には、海岸線の細部は気にしていないため、陸地ポリゴンデータの更新は数年間隔でよい。

データ的には単純なポリゴンデータ群に過ぎない。

中高ズームではタイル丸ごとが陸地であるケースが多い。毎回、このタイルを丸ごと含むポリゴンを描画するのは無駄であるから、 全体が陸地であるタイルは事前に求めている。これらのタイルについては、ポリゴン描画ではなく、タイルの矩形塗りつぶしでよい。

同期テスト:タブレットにFTPサーバーを動かし、PC側を FFFTP とする。

タブレットのFTPサーバーは ftp://192.168.100.111:5163 でユーザ名 pc、パスワード 471697 である。

メインストレージにディレクトリ mapdata を作成し、ホストの初期フォルダを /device/mapdata とした。

パソコンから landtiles.dat や japan_low3/ をアップロードすると、タブレットでそれらのファイルを確認できたが、 FFFTP の右ペインには何も表示されない。Windows のエクスプローラーで FTPサーバーにつないだ場合は正しく表示される。 エクスプローラーでは大量のファイルのアップロードはできなかった。

リファレンス

[1] Data Derived from OpenStreetMap for Download
[2] OSM陸地ポリゴンをOSMデータから構築する