QGISプラグインのインストールエラー?
ある日、QGISでプラグインをインストールしようとしたら、下記のようなエラーがでました。
SSL handshake hailed
というエラーですが、通常の方法で、QGISからプラグインがインストールできるようになるまでに、2,3日かかりました。私と同じようにいきなり、「プラグインがインストールできない...」となる人もいるかもなので、その対処法?を載せておきます。
と、その前に、インターネットに接続しておかないと、プラグインは入手できません(念のため)。また、会社や学校によっては、プロキシの問題もあるようです(その場合、違うエラー名になると思います)。
解決方法
プラグインの管理とインストールからではなく、直接プラグインリポジトリから入手する。
手順
- プラグインの管理、提供ページであるqgis official plugin repositoryにいく
- 必要なプラグインを探し、ダウンロードする(.zip)。
.qgis2
というフォルダが自分のPC内にあるので、Macならのユーザーの直下?(Macでは、隠しファイルになっている可能性があります)、WINもユーザーの直下?を探す。解凍したプラグインを.qgis2/python/plugins
へ移動する。プラグイン>プラグインの管理とインストール
で、ダウンロードしたプラグインを検索し、チェックをつける。
これで、OKです!
困った方は、ぜひ試してみてください。
QGISで緯線と経線を表示する
QGISで緯度経度のデータを使うときの方法を紹介します。以下は、GIS実習オープン教材 よくある質問とエラー (c)GIS-OER WG CC-BY SAを参考に作成しました。データはSRTMを使用。
まずは、通常ビューの場合です。ビュー>地図装飾>グリッドを選択
次に、プリントコンポーザーの時です。
どちらの方法も簡単に設定できました。緯度経度を示すラベルの設定をもう少しコンパクトに(度分ではなく、度だけとか)設定できると良いなと思いました。
QGISで複数のフィールドを属性検索する
今回はQGISでの属性検索についてのお話です。
属性検索で、市町村のような属性を検索するときは、'属性テーブルを開き>式を使った地物選択' で以下のような書き方をします。
フィールド名='検索したい市町村名'
ここまでは多くのサイトで紹介されています。では、検索したい市町村が複数あったときはどうしましょう。これはあまり紹介されていません。
わからなかったのであれこれ試してみましたところ、以下のようにすると検索できました。
フィールド名='検索したい市町村名A OR フィールド名='検索したい市町村名B'
ORでつなげるだけという簡単なやり方でした(簡単だからあまり紹介されていないのでは。。。)。
※操作画面の解説はまたあとで載せようと思います。
gvSIGの学習サイト
今回は、FOSS4GのひとつであるgvSIGの学習サイトについて紹介します。gvSIGは、空間検索、ジオプロセシング、ネットワーク分析などが可能なGISソフトウェアです。ちゃんと使ったことがないのでわかりませんが、ベクトルデータを使った人文地理的な解析に強いという印象があります。日本語による解説サイトはあまりないので、あまり使う機会がない人が多いかもしれません(今回紹介するサイトも英語です)。
gvSIGについては、https://live.osgeo.org/ja/overview/gvsig_overview.html が詳しいです。
ちなみに、ソフトウェアのダウンロードは、http://www.gvsig.com/en から行うことができます。 Windows, Mac, Linuxに対応とのことです。
gvSIG blogで学ぼう!
gvSIGに関する様々な情報が掲載されているgvSIG blogには、入門ユーザー向けにgvSIGの使い方を英語で紹介している Free course about crime mapping. GIS for criminology
というページがあります。
教材は、ミゲル・エルナンデス・デ・エルチェ大学(スペイン)の方による数分のレクチャー動画でまとめられ、すべてyoutubeから閲覧できます。 現在16の動画教材があり、gvSIGで可能な解析などを用途別に学ぶことができます。
16の内容は以下のようになっていて(誤訳があったらすみません...)、上記のページから閲覧できます。
- gvSIGの概要(インターフェースや機能の紹介)
- データの表示と操作
- ナビゲーションと選択ツール
- レイヤの作成
- データのビジュアライズとプロセッシング
- シンボルライブラリの作成
- 人口の計算
- ロスモ アルゴリズム(犯罪情報系の分析?)
- ジオプロセッシング(点パターン分析、平均再近隣距離分析?)
- コドラート法による犯罪発生地点の分析
- ブロックによる犯罪発生地点の分析
- カーネル密度推計
- 時系列データの分析
- gvSIGでストリートビューを使う
- データ分析のための新規スクリプトツール
- gvSIGでRを使った犯罪情報の可視化
とても有用な学習サイトですね。私自身もしっかりgvSIGを使ったことがないので、これを機に勉強してみようかなと思っています。その際は、このブログでも紹介しようかなと思ったり....。
ラスターデータのクリップ〜欠損値の作成(ドーナツラスタ?)〜
今回は、ラスターデータのクリップについてQGISで処理する方法を紹介します。といっても、下図の左のような通常のクリップではなく、右のようなクリップです。この手法はラスタデータから池や特定の植生群を切り取りたいときに有効です(少し力技感が否めませんが...。)。
環境
- QGIS 2.14
- 適当なDEMデータと取り除きたい池や植生のシェープファイル(なければ作ってください:作り方がわからない人は、空間データの統合・修正 (c) gis-oer wg cc by sa あたりを参考にしてください。)
方法
まずざっくりやり方を以下にまとめます。
- 切り抜きたいラスタデータと同じ領域のポリゴンを作成する
- 作成したポリゴンに取り除きたい池等のシェープファイルを重ねて、ドーナツポリゴンを作成する
- 作成したドーナツポリゴンでクリップする
では、やっていきましょう。
1. 切り抜きたいラスタデータと同じ領域のポリゴンを作成する
プラグイン>Pythonコンソール
を開く
以下を実行
# 座標値を取得 layer = iface.activeLayer() extent = layer.extent() xmin = extent.xMinimum() xmax = extent.xMaximum() ymin = extent.yMinimum() ymax = extent.yMaximum() print(xmin,ymin,xmax,ymax) # ポリゴンを作成する layer = QgsVectorLayer('Polygon', 'poly' , "memory") pr = layer.dataProvider() poly = QgsFeature() points = [QgsPoint(xmin,ymin),QgsPoint(xmin,ymax),QgsPoint(xmax,ymax),QgsPoint(xmax,ymin)] poly.setGeometry(QgsGeometry.fromPolygon([points])) pr.addFeatures([poly]) layer.updateExtents() QgsMapLayerRegistry.instance().addMapLayers([layer]) cLayer = qgis.utils.iface.mapCanvas().currentLayer() provider = cLayer.dataProvider()
1のコードは以下を参考にしました。
https://gis.stackexchange.com/questions/86812/how-to-draw-polygons-from-the-python-console/86901
作成したポリゴンをレイヤウィンドウで右クリックして、名前をつけて保存から新規レイヤとして保存しておいてください。
上記で上手く行かない場合は、設定>オプション>CRS>オンザフライ再投影を有効にしない
にチェックをいれて(QGISを再起動)再度試してみてください。
Macの環境だと座標系のエラーが出るようなので、その場合は以下も試してください。
ベクタ>データマネージメントツール>現在の投影法を定義する
から、出力したpolygonを選択し投影法を指定する。
2 作成したポリゴンに取り除きたい池等のシェープファイルを重ねて、ドーナツポリゴンを作成する
あらかじめ用意した取り除きたい池等のシェープファイルを読み込み、ベクタ>空間演算ツール>差分
を選択する。
1と同じく、Macの環境だと座標系のエラーが出るようなので、その場合は以下も試してください。
ベクタ>データマネージメントツール>現在の投影法を定義する
から、出力したpolygonを選択し投影法を指定する。
3. 作成したドーナツポリゴンでクリップする
ラスタ>抽出>クリッパー
から、ドーナツポリゴンを使って以下のような設定でクリップする。
うまくいけばこれで完成します。1、2,3と長々と説明しましたが、もう少し良い方法があるかもです。
ラスタデータのリサンプリング
今回は、QGISのプロセッシング(SAGA GIS)機能を使ってラスタデータのリサンプリングをする方法について紹介します。
環境
- QGIS2.14
方法
ラスタデータ(投影変換した方がよさそう?)をQGISで読み込んでから、プロセッシング>ツールボックス
をクリックします。次に、検索ウィンドウでリサンプリングと入力し、リサンプリングをクリックする。あとは、リサンプリングメソッドやセルサイズを用途に応じて指定して、処理を実行すればOKです。
プロセッシング機能では、リサンプリング以外にSAGAのいろいろな機能が使えます(SAGAだけじゃないけど)。うーん便利だ。 時間があればSAGA GISについてもまとめてみようかな(日本語レビューも少ないし)....。