GeopaparazziにてSpatialiteファイルが表示できない

550 views
Skip to first unread message

jk2...@gmail.com

unread,
Sep 9, 2016, 1:48:53 AM9/9/16
to QGIS初心者質問グループ
いつもここやブログなどを参考にさせていただいています
QGISではないのですが、質問させて下さい

QGISで管理しているシェープファイルを、
オフライン地図としてGeopaparazzi上でも表示したいのですが、
最後の最後で表示させることができずにいます

1)QGIS上でベクタレイヤを選択し、レイヤ>名前を付けて保存、で適当なフォルダへ保存
  ※パスを含めたフォルダ名・ファイル名とも半角英数と半角ハイフンのみで記述
2)spatialite_guiで、上のシェープファイルを格納したフォルダへ新規のSQLite DBファイルを作成
  ※ファイル名は半角英数と半角ハイフンのみで記述
3)spatialite_guiへシェープファイルを読み込み
  ※SRIDは当方Ⅶ系にいますので2449
  ※Charset EncordingはShift_JIS
  ※With Spatial Index(R*Tree)にのみチェック
4)「load shp OK:なんちゃらかんちゃら」のメッセージが出る
5)2で作ったsqliteファイルに「Update Layer Statistics」を実行
6)spatialite_guiを終了
  ※この時点でsqliteファイルがQGIS上で正常表示するのを確認済み
7)sqliteファイルをタブレット端末のmapsフォルダへ入れる
8)Geopaparazziを起動し、Spatialite復元モードをONにして再起動
9)Spatialiteデータベースにsqliteファイルを登録し、表示のチェックを入れる

・・・とここまでやれば、
あとはGeopaparazziに地図などが表示されると思うのですが、
何の表示も出て来ない代わりに、
オンライン地図が表示されてしまいます
携帯電話の電波が通じないところで使いたいので、
これではダメなのです

手順などに誤りや抜けなどがあればご教授いただきたく存じます
よろしくお願いいたします

○QGIS 2.16.1
○Geopaparazzi 5.1.2
○Nexus7 2012
○Android 5.1.1
○参考サイト http://jgrasstechtips.blogspot.jp/2015/01/how-to-properly-create-spatialite-data.html

PS.
QTilesプラグインで背景地図を作る方法は上手く行っているのですが、
現地でレイヤ自体やラベルなどをON/OFFさせながら活用したいと考えています

きた

unread,
Sep 12, 2016, 7:42:47 AM9/12/16
to QGIS初心者質問グループ
手順はあっていると思うのですが、この部分が気になります。
>何の表示も出て来ない代わりに、
>オンライン地図が表示されてしまいます

背景地図と、Spatialiteデータは違うもので、背景地図はメイン画面のメニュー→タイルソース選択で選択した背景地図が表示されます。
Qtileプラグインで作られる背景地図はここで選択します。
オフライン地図はこちらで良いと思います。

Spatialiteデータは、背景地図の上に重ねるベクタレイヤですので、オフライン背景図の上にも表示されます。

Spatialiteデータベースにレイヤリストが表示されるなら、レイヤは地図に追加されているはずです。

まず、確認するのは位置があっているかです。
QGISで名前を付けて保存した時の座標系もEPSG2449ですか?
Spatialiteデータベースのレイヤのメニューを表示させて、「Zoom to」をタップすると、どこが表示されますか?位置はあっていますか?

QGISで図形が表示されるなら、図形は登録されているはずなので、位置が違うことしか思いつきません。

もし可能なら、一部でもいいですが、データを添付していただけると見てみます。
その際、位置がわからないと困るので、QGISなどで正しい位置に表示されている地図を一緒に添付していただけると助かります。
公開できないなら、私のメールアドレスに送付していただいても結構です。

きた



jk2...@gmail.com

unread,
Sep 15, 2016, 9:36:43 PM9/15/16
to QGIS初心者質問グループ
スレッドにレスが付いた旨のメールが、
迷惑メールフォルダへ振り分けられていたので返事が遅れました
申し訳ありませんでした

今日は手元にタブレット端末がないので、
明日にでもご教授いただいた方法を基に検証してみます
それでも解決できなければ、
手持ちのシェープファイルとsqliteファイルをお送りしたいと思います

取り急ぎご返事まで


jk2...@gmail.com

unread,
Sep 20, 2016, 5:24:53 AM9/20/16
to QGIS初心者質問グループ
なかなかレスが出来ずに申し訳ありません

いま取り組んでいるのは、
国土地理院・基盤地図情報のデータをGeopaparazzi上にて表示させることです

今のところは以下のとおりです

■sqliteファイルに入れたシェープファイルの数が少ないとGeopaparazziで表示できない
  道路縁と建築物の2つをsqliteファイル化した場合は「Zoom to」をタップしても表示されず
  ただ座標は取得している模様(適当なところをタップすると緯度経度がきちんと表示)

■sqliteファイルに入れたシェープファイルの数が多いとGeopaparazziで表示できる
  入れたシェープファイルは次のとおり
    道路縁・道路構成線・水涯線・水域・建築物・建築物外周線・軌道中心線

どちらも基盤地図情報ダウンロードサービスからダウンロードできる
最小単位(2次元メッシュの1枚だけ)の範囲で試していますし、
どちらのsqliteファイルもQGIS上では正確な位置に表示されます

取りあえずはシェープファイルをたくさん入れたsqliteファイルであれば、
Geopaparazzi上で各レイヤが表示できるのは確かなようです
(自宅界隈と会社界隈の2ヶ所で試しての結果です)

以上、QGISのシェープファイルをGeopaparazzi上で表示させることは、一応成功しました
あとは表示される/されないの閾値が分かると良いのですが
いろいろとアドバイスをいただき、ありがとうございました

fukuoka....@gmail.com

unread,
Sep 20, 2016, 6:56:48 AM9/20/16
to QGIS初心者質問グループ
すいません。ちょっと気になる書き込みでしたので、横入りさせてください。

ご希望なのは国土地理院の基盤地図をGeopaparazziで表示させることですよね?
それならQGISで配色、線幅等を調整して、タイルを作成した方が使い勝手が良いような気がします。

きたさんが運営しているGeopaparazziの使い方(Ver4)の「タイル地図の入手方法」というカテゴリーの中の「QGISからタイル地図を作成する」
という記事で解説されています。
私もShapeファイルからSpatialiteファイルを作ったことがあるのですが、線の数が多くて描画が非常に遅くなってしまいました。
この方法なら、もっと快適にGeopaparazziを操作することができると思います。

きた

unread,
Sep 20, 2016, 11:45:05 AM9/20/16
to QGIS初心者質問グループ
基盤地図のような背景地図は、たしかにタイル地図を作成したほうが、使いやすいかもしれません。
しかし、地図の範囲とズームレベルの大きさで、ファイル容量がものすごく大きくなるので、地図の大きさと、必要な縮尺によって、使い分ける必要があります。

fukuokaさんが紹介されている「Geopaparazziの使い方」で紹介している方法は、大量の画像ファイル(pngまたはJpeg)を作成して、タイル地図を作成する方法です。
大量の画像だと、Android端末へコピーするときなど、すごく時間がかかったりします。

そこで、この方法でQGISから作成した画像ファイルを、まとめて、MBtilesというファイルにすると、1つのファイルになるので、更に使いやすくなります。
MBtilesファイルの作り方は、次のブログ記事に書いてありますので参考にしてください。

http://koutochas.seesaa.net/article/439665495.html

タイル画像は、Jpegで作ると、ファイルサイズがかなり節約できます。
Geopaparazziでは、透過画像は利用しないので、pngで作成するメリットはありません。

なお、QGISで表示した地図でタイル画像を作成するとき、ラベルの表示を固定しておかないと、大量の同じラベルが表示されたり、ラベルが切れた状態で地図に表示されます。
ラベルの位置の固定は、レイヤがポリゴンの場合、ラベルの「配置」を「中心からのオフセット」にして、「中心点」を「ポリゴン全体」にします。

QMetaTilesプラグインでは、直接MBTilesでも保存できますが、QMetaTilesプラグインで作成したMBTilesファイルは、Geopaparazziで表示させることができません。

上記の、一度画像のタイルを保存してから、MBTilesを作るのは、たとえば、ズームレベルの大きい地図は、限定した場所しか必要ない場合などに、ズームレベルごとに範囲を分けてタイルを作成し、あとで合体させるというときに便利です。
海の部分などは、必要ない画像もあると思いますので。そうすると、ファイルサイズを小さくできます。
ただし、MButilで作成した、MBTilesファイルは、一番ズームレベルの大きい地図の範囲を表示するようです。
そのため、実際は不要でも、最大のズームレベルの地図に、表示したい地図の左上と右下のタイルを1枚でもいいので入れておきましょう。

ちょっと説明が長くなって、わかりづらいかもしれませんが、わからなかったら再度お聞きください。


きた
Reply all
Reply to author
Forward
0 new messages