FOSS4G Advent Calendar 2019 18日目です。
2秒くらいでこの記事を読み終えたいかた向けにオチを書いておきますと
【QGISがRaspberryPi4でヌルヌル動きましたとさ】
です。気になった方は下記の与太話を読んでくださると嬉しいです(読了3分)。
ある大雪の日、だいじな錦鯉が心配になったので養殖池に見に行くと、違法トラバサミにかかったキツネがいたので逃してやりました。次の日、どうしたことかRaspberry Pi 4 4GB Model B(ラズパイ4)の箱が軒先に落ちていましたので、これにQGISを入れてみることにしました。
なお、筆者は
- ラズパイほぼ初めて
- Linuxかなり久しぶり
- 黒い画面になれてない
- 説明が冗長
…ぐらいの🐣ですので諸々優しい目線でお読みください。
もちろんもっといいやり方があったら教えてくださるとありがたいです。
なおこの記事は
- ラズパイってなにができるの?
- 高いPCを買わずにQGISを自宅で学びたい
- 家族とのPC争奪戦争に疲れた…
…というかたに最適な感じに書いています。
なお、ラズパイを駆使して波動拳テイッシュ作成や月面旅行してみたいというハイエンドな方にはとっても物足りないかもしれません、ごめんなさい。
Raspberry Pi4って?
Raspberry Pi 4は価格がわずか3800円〜6600円ほどというお手頃値段かつ重量たったの46グラムの小型のコンピューター(マイコン!)です。
Broadcom BCM2711B0 (Cortex A-72)1.5-GHz,クアッドコア
4K 60Hz microHDMIポート ×2
USB3 × 2/USB2 × 2
Gigabit Ethernet
802.11ac wifi
Bluetooth 5.0
などの強力スペックを持っています。職場の先輩からのお下がりPCよりもスペックが高いかもしれませんね。
今回はメモリ4Gのrev1.2が手に入ったので、仕方なく特別にこれを使うことにしました。仕方ないですね、あぁ仕方ない仕方ない…
…とはいえ4GB版でも国内正規価格で6600円ほどだったので、あとあとのことを考えると4GB版をオーダーしておくの良いかもしれませんね。
※Rev1.2ですと、当初話題になった電源不足問題も対策済みです。
QGISって?
QGISは、様々な位置の情報を可視化したり計算したり検索したりできるスグレモノの地図系オープンソースソフトで、最新バージョンはQGIS3シリーズになります。また、近年国内外での利活用が急速にのびていますし、Qiitaにも色々記事があります。
そんなのとっくに知ってるよ!なんて方はやらかい猫を膝にのせて腐れSHPのトポロジでも修復してましょう。
まずはセットアップ
さて、Raspberry Pi4は本体のほかに
- キーボード・マウス
- …粗大ごみで捨ててあるやつとかでもたぶんOK(知らんけど
- 64GbのmicroSD
- …16Gbとかでも大丈夫ぽい
-
3AのUSBTypeC電源
- …3Aないと厳しいのでご注意を
- マイクロHDMIケーブル
- …マイクロHDMI端子変換を使ってもだいじょうぶ
- ディスプレイ
- …粗大ごみd(略) 1800円ディスプレイとかある!
- あまりある好奇心
- …かなり重要
…などなどが必要です。これらを準備したのち、ここのサイトなどを参考にOSをインストールします。
このやり方だとOSはLinuxのDebianベースで作られたRaspbianになります。15〜20分程でインストールはおわります。
※キーボード・マウス・ディスプレイなしで手持ちのPCからセットアップする方法もあります
起動すると普通にGUIなOSが現れ、しれっと4K高画質にも対応しています。
ChromeのベースであるChromiumもちゃんと動いて、Youtubeのこんな興奮するけしからん動画も1080pで再生可能…とまあ、この時点でかなりヤられました…
このほかにも最初から入っているLibreOfficeとか使えば、普通に仕事できちゃうレベルです。
また、しょっちゅうディスプレイやマウスを差し換えるのも面倒なので、外部PCからラズパイをうごかすためのリモートデスクトップアプリもいれちゃいます。
ssh接続とかやり方は色々ありますがとりあえず楽そうな()AnyDeskをインストールします。*.debファイルをDLしてダブルクリックして設定すれば世界中どこからでもラズパイで遊べます。また、おうちのディスプレイやテレビが家族に占拠されてても、iOS/Android版Anydeskを入れてしまえば、スマホやタブレットをディスプレイ代わりにすることも可能です。
ヨシ!QGIS入れてみよう…
感度のいいFOSS4Gキッズなら、こんなにすごいRaspberry Pi 4にQGISを入れてみたくなるのは自然な流れです(たぶん)。
こんな小さなマシンにQGISが入れば、二畳の下宿、電車の連結部、集水枡の中、宇宙ステーションなどでもQGISがいじれてしまいますよね。
さて、今回インストールしたOSのRaspbian(Debian)にQGISを入れるためにはターミナルから、apt-get というコマンドを使ってソフト(パッケージ)のインストール作業をしなくてはいけません。
えええ、インストーラーないの!コマンド!黒い画面怖ぃ!!と驚かれるかもしれませんが、まあゆっくりやっていけばだいじょうぶです。
OSメニューから「ターミナル」を起動後、インストールに関する情報が書かれたリストを下記コマンドで更新します(以下は基本コードのコピペでOKです)。
sudo apt-get update
sudo apt-get upgrade
そのあとQGISがあるかな…と検索してみると
sudo apt list qgis
とリストを検索すると
qgis/stable 2.18.28+dfsg-2+b1 armhf
…とお返事が来ます。つまり、ちょっと懐かしいQGIS2.18しかリストにありません。まずは検証のためにとりあえずコイツを入れてみました
注意:2.18インストールは個人的な検証のためですので
初心者さんにはおすすめしません。
スムーズに入れたい方はつぎの「やっぱりQGIS3をちゃんと入れてみましょう」からどうぞ
…お、動くやん
しかし、ラインとポリゴンの表示がなんかおかしい…
xyz地図タイルも表示しない…
挙動もカクカクしててなんかちょう不安定…
やっぱりQGIS3をちゃんと入れてみましょう
「どこが安定版やねん!」とシビアな現実に直面してしまいましたね。当初私もラズパイを窓から投げ捨ててここでやめようかと思いました。
まあでも気を取り直して、QGIS3にトライしてみようということで、QGIS公式のドキュメントを見てみます。
なんかもうドキュメントに書いてある内容がいきなりアレなのですが、apt-getのインストール情報リストにQGIS3が入っていないことが原因のようです。色々探していると
apt-getで見つからないパッケージを追加する方法(debian, ubuntu両方対応)
というありがたい記事がありました。これを参考にDebian(Raspbian)でのQGISのパッケージを探すとバージョン3のテスト版などがすでに登録されていました。
ラズパイはARM製CPUを使用しているので、arm64のリンクをみてみると
その先の説明書きには
Debian を使用している場合、パッケージのダウンロードやインストールはこのウェブサイトから手動で行うのではなく、aptitude や synaptic のようなパッケージマネージャを用いて行うことを強くお勧めします。
次のような行を /etc/apt/sources.list に追加して、以下の一覧にあるミラーのうち使いたいものを利用可能にすべきでしょう。
deb http://ftp.de.debian.org/debian bullseye main
ftp.de.debian.org/debian を使いたいミラーに置き換えてください。
などとあるので、やはりインストールに使うapt-getのリストを書き換えればよいということがわかりました。
apt-get listの編集とか
管理者権限じゃないとapt-get listの編集をさせてくれないので
sudo mousepad /etc/apt/sources.list
でapt-getリストをこじ開けます。
なんか怖そうな警告が上部にでるけど気にしないで、このテキストファイルに
deb http://ftp.de.debian.org/debian bullseye main
を追加します(.de でなくてもOKみたいだけどまあ大丈夫でした)
こんなかんじ
※ より安全な
sudoedit /etc/apt/sources.list
でも編集可能です。
https://linuxfan.info/sudoedit
miyachiさんご指摘ありがとうございます
また試練
その後、リストの更新
sudo apt-get updtate
をやってみると
W: GPG エラー: http://ftp.de.debian.org/debian bullseye InRelease:
公開鍵を利用できないため、以下の署名は検証できませんでした:
NO_PUBKEY 04EE7237B7D453EC NO_PUBKEY 648ACFD622F3D138
公開鍵がないとな、おえええ、また新しい壁…
素晴らしい先達の情報がありまして
apt-get update時に「公開鍵を利用できないため、以下の署名は検証できませんでした」と出た場合
をもとに、公開鍵を当ててあげましょう、
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys xxxxxxxxxx
で対処します。なお、
xxxxxxxxxx
部分は上記エラーメッセージに合わせて変更してください、上記の場合なら04EE7237B7D453EC
になります。
めげずに再度リストの更新
sudo apt-get update
をやると、
なんかうまいことリストが更新されたようです。
再度リストの中にQGISって名前がつくお友達はいるの?と聞いてみます
sudo apt list qgis -a
お、
qgis/testing 3.4.13+dfsg-3+b1 armhf
qgis/stable 2.18.28+dfsg-2+b1 armhf
と仰ることをみるに、テスト版(testing)3.4.13がリストに追加されています
※時期によっては3.4.13より最新のバージョンが出る場合があります。
※さらにしばらくしたら安定版QGIS3がリストに追加されることがあるでしょう。さすればこの記事はいわゆる取り越し苦労ネタとして保管されるかもしれませんが、将来テスト版QGISバージョン2992.59とか入れるときには役に立つかもしれませんよ
やっとインストール
ここでバージョン指定をしてインストールをお願いします。
sudo apt-get install qgis=3.4.13+dfsg-3+b1
長かった…!
…と思ったら、またなんか怖そうな画面が出てきます、もうやめて…
サービスを再起動するけどいい?的な確認なので←キーでyesにあわせてリターン
…またモリモリとインストールが再開します
5分くらいほっておくと無事終わる(はず)です。
OSメニューから「教育・教養」をたどると…あった!QGIS3マーク!
ここをクリックすると15秒ほどで
立ち上がります
みんな大好きQGIS2threejsもヌルヌル動く
まあほとんどの処理ができそうです!
ちょっと改善点なところ
じつは、Pythonのコンソールパネルを出そうとすると10秒ほど押し黙ってドーン!とQGISが落ちます…
まあ、一般的な使い方をする方にとってすごく困るたぐいの不具合でもなく、Debian版QGISのバクかなともおもいます。安定版になると改善されるかもしれません。
処理速度どうなの
このQiita記事のもう一つのメインテーマは、QGISベンチマークPythonコードの作成でした。このために、頑張ってベンチマークなコードをこさえてみたのですが、上記にありますように肝心のラズパイ版QGISでpythonコンソールが立ち上がらないため(笑)とりあえずお蔵入りにします…
とはいえ、試しにプロセッシングツールの「領域中のランダムポイント」を使って計測してみます
{ 'EXTENT' : '15557000,15559000,4258000,4260000', 'MIN_DISTANCE' : 0, 'OUTPUT' : 'memory:', 'POINTS_NUMBER' : 100000, 'TARGET_CRS' : QgsCoordinateReferenceSystem('EPSG:3857') }
こんな設定で東京付近に10万個のランダムポイントを発生させてみました。
MacbookPro(2016)で7.3秒。ラズパイ4だと35.5秒ほどでしたので、空間演算はちょっとしんどそうですね。
とはいえ、先述のようにデータ閲覧や表示は不具合はないですし、一般的な使用では大量のデータ処理を行うこともそう頻繁にないので、さほど悲観的になることもないかと思います(ランダムポイント1万個でも3秒ほどでしたし)。
12月14日に開かれたGeoSaturdayにて動作デモを行ったところ、そのスムーズな動きにみなさん驚いていたようでした。参加された北光社さんもこんな感想を書いてくださっています。
ラズパイ4Bで意外にするするとQGISが動いてて感動。
— 北光社 (@Hokko_sha) 2019年12月14日
職場ノートPCに私物ディスプレイとキーボード持ち込んでデュアルディスプレイでデスクトップっぽく作業してるのだけど、ディスプレイの背後にVESAでラズパイマウントして職場でQGISやらJOSM使うのもこれなら行けそう。
GPUの割当も調整したらもっとヌルヌルヌルヌル動くと思うのですが、一回MAXまで引き上げたらOS表示すらされなくなくなって最初からやり直しになった()ので、そのうちいろいろ試してみたいと思います。
ラズべリーなQGISをみんなに
こんなふうにして、手のひらサイズのラズベリーなQGISがつくれてしまいました。
きっと家庭内大蔵省サンタさんへのお手紙をMavic Miniから書き直している大きなお友達もいるかもしれません。
この季節でなくても、ラズベリーQGISは様々な場所や組織に地図とデータをもたらせてくれるすばらしいツールになりうると思います。
(iPhoneをディスプレイ代わりにすることも!)たとえば、トラクターにGPSが接続されたラズベリーなQGISを搭載してライブGPSトラッキング機能を使いつつ、肥料Xを投下すべきポリゴンの区域に入ったらブザーなどで知らせてくれるとかもできるような気がします。
また、ボロいWindowsXPパソコンしかない小さなNPOだって、ラズベリーなQGISとオープンデータで地域のための地図づくりや解析が可能になります。
ほかにも、ラズベリーなQGISに背景や避難所などのデータセットアップしておくと、もしものときのために防災袋に入れておくのもよいですね。
OSGeoでもサポートしている取り組んでいる国連ベクトルタイルキットなどと組み合わせてみると、がっちりしたサーバーやネット接続が難しい国や地域でも、QGISを使って地域をよくすることができるかもしれません。
うん、ラズパイQGISはFOSS4Gコミュニティがすすめる、すべての人々に位置の学びを提供する”Geo for ALL”の新しくたのしい武器として今後重要な役割を果たす可能性があります。10年ほど前にシアトルのIさんにまだよちよち歩きのQGISを紹介してもらったとき「…これは!!!」と思ったのですが、いまや手のひらでそいつが動かせるなんて!わたしはあたらしいQGISの進化に立ち会えました。
ラスパイQGISでこんな社会実装ができたよ!なんて実践があれば、
ぜひQiitaやインターネッツで紹介してくださいね。
そのことが、「どこかの誰か」をまた救ってくれると信じています。ハッピークリスマス!
via FOSS4G 2013 Nottingham
ε` ).oO(この刺繍好きなんだよなぁ)
この記事のライセンス
この記事はCC BY 4.0(クリエイティブ・コモンズ 表示 4.0 国際 ライセンス)の元で公開します、どうぞどうぞ。