PostGISインストール手順
QGIS3でPostGISを使うことを目標に設定をしてみましたので紹介します。
PostgreSQLをダウンロードする
インストーラーをダウンロードする
『https://www.postgresql.org/download/windows/』にアクセスして、お使いの環境に合ったPostgreSQLのバージョンを確認して、上の赤丸のダウンロードサイトに移動します。私はWindows 10を使っているので、下の赤丸で囲ったVersion 10をダウンロードします。
移動先のページで、version 10のインストーラーをダウンロードします。
PostgreSQLをインストールする
インストーラーを実行する
ダウンロードしたインストーラーを実行します。インストール先はデフォルトのままにしました。
コンポーネントを選択する
インストールするコンポーネントを選択します。今回は全部インストールします。
データディレクトリを指定する
データディレクトリを指定します。このフォルダにデータベースが作成されるので、ディスクの空き容量に注意してください。後で変更することもできます。
パスワードを設定する
データベース管理者用のパスワードを設定します。
ポート番号を設定する
接続を待ち受けるポート番号を設定します。
ロケールを設定する
ロケールを設定します。私は「C」を指定しましたが、こちらのサイト『
ロケール(国際化と地域化) | Let's Postgres』を参考に、自分の使い方に合うロケールを設定してください。
ロケール設定後、いくつかダイアログ操作がありますが、Nextボタンを押下するだけなので、省略します。
PostGISをインストールする
PostgreSQLのインストールに続いてStackBuilderでPostGISをインストールします。
StackBuilderを実行する
インストールしたPostgreSQLを選択して、『次へ』ボタンを押下します。
インストールするPostGISのバージョンを選択する
『Spatial Extensions』からPostGISを選択します。私は一番下を選択しました。
PostGISのインストーラーをダウンロードする
PostGISのパッケージのダウンロード先を指定して、『次へ』ボタンを押下します。
インストーラーを実行する
ダウンロードが完了したらインストーラーを実行します。
今回はPostGISのデータベースを作成するオプションにチェックを入れます。
インストール先を指定する
インストール先を指定します。
サーバーに接続する
PostGISデータベースの作成先のサーバーの管理者の名前とパスワードを入力します。
こちらで入力した文字列です。
PostGISのデータベース名を設定する
作成するPostGISのデータベース名を入力します。この後、環境設定のダイアログがいくつか表示されます。
これでインストールは終了です。
環境変数の設定
コマンドラインツールを使えるように、環境変数のPathを設定します。PowerShellで下記のコードを実行します。
$oldSystemPath = [System.Environment]::GetEnvironmentVariable("Path", "User") $oldSystemPath += ";C:\Program Files\PostgreSQL\10\bin" [System.Environment]::SetEnvironmentVariable("Path", $oldSystemPath, "User")
PowerShellを再起動して「psql -v」と入力して実行してみてください。上の画像のようになりましたか?
シェープファイルを取り込んでみる
Shapefile and DBF Loaderを起動する
「PostGis 2.0 Shapefile and DBF Loader Exporter」を起動します。スタートボタンを押してshpと入力して検索すると、すぐ出てくると思います。
サーバーに接続する
赤丸部分のボタンを押して、サーバーに接続します。
ダイアログが表示されます。Usernameには「postgres」、
Databaseには、こちらで設定したデータベース名(postgis_25_sample)を入力します。Passwordにはこちらで入力した文字列を入力します。
接続に成功すると、上のようなメッセージが表示されます。
シェープファイルを選択する
接続したデータベースにインポートするシェープファイルを選択します。赤丸部分のボタンを押下すると、ファイル選択のダイアログが表示されるので、シェープファイルを選択します。
SRIDを設定する
選択したファイルがリストに追加されます。SRIDには、選択したシェープの空間参照系のコードを入力します。
インポートできた?
インポートに成功すると、上のようなメッセージが表示されます。
QGISで開いてみる
QGISで表示してみます。ブラウザの「PostGIS」のメニューから、「新しい接続」を選択します。
名前は適当でいいです。ホストにはPostGISをインストールしたPCのアドレス(他のPCにインストールしたのでなければlocalhostと入力してください)、データベースには先ほどシェープファイルをインポートしたデータベース名を入力します。下の赤で囲った部分は必要に応じてチェックしますが、今回はQGISで表示するだけなので、何もチェックしないでいいです。
設定ができたら接続してみます。
ダイアログが表示されるので、シェープファイルをインポートするときに入力したユーザー名とパスワードを入力します。
接続に成功すると、先ほどインポートしたファイル名がpublicの下に表示されていると思います。ダブルクリックしてみると...
インポートしたシェープファイルがマップに表示されます。お疲れさまでした。
numpy-quaternionを使ってみる
Pythonで四元数を使う方法について調べていたところ、numpy-quaternion · PyPIに辿り着きました。このページでは、numpy-quaternionのインストール方法について紹介していきます。
インストール
pipを実行する
powershellを管理者権限で起動して、次のコマンドを実行します。
pip install numpy-quaternion
使ってみる
インストールできたら、以下のコードを保存してPythonで実行してみます。
import numpy as np import quaternion q1 = np.quaternion(1,2,3,4) q2 = np.quaternion(5,6,7,8) print("q1 * q2 ", q1 * q2)
「Coult not import from numba」と警告が出たら...
使ってみると、こんな警告が表示されました。どうやらnumbaというものをインストールしたほうがいいよってことだそうなので...
numbaをインストールする
管理者権限でpowershellを起動して、次のコマンドを実行します。
pip install numba
先ほどのソースコードの3行目に次のコードを追加して実行してみます。すると、今度は警告が出なくなりました。
import numba
numpy-quaternionの使い方
下記のページのUsageには、numpy-quaternionの使い方が幾つかのサンプルで紹介されていますので、ご覧になってみてください。
ありがとうございました
QGIS3 GeoPackageの使い方
QGIS3で「GeoPackage」というファイル形式を使ってみたので、このページで紹介します。GeoPackageはシェープファイルほど出回っていないので、他の人に渡したことはないのですが、スタイル保存と、複数ファイルを一つにまとめられる機能が気に入っているので、最近密かに使っています。
新規作成
ブラウザの『GeoPackage』を右クリックして『データベースの作成』を選択します。
既存のgpkgファイルを使う場合は『新しい接続』からファイルを選択して下さい。
ダイアログが表示されるので、『データベース』には保存するgpkgファイルを選択します。『テーブル名』は自動で付与されますが、変更したい場合は編集して下さい。『ジオメトリタイプ』には『テーブル名』で指定したテーブルのジオメトリタイプを指定します。『新フィールド』には『テーブル名』で指定したテーブルのフィールドを設定します。
作成に成功すると、『GeoPackage』の下に項目が追加されます。
削除
データベース内のレイヤを削除する場合は、データベースの下のレイヤ(上の画像ではnewfile)を右クリックして、『レイヤの削除』を選択します。データベースを削除する場合は、データベース(上の画像ではnewfile.gpkg)を右クリックして、『接続の削除』を選択します。
追加
既にQGISで読み込んでいるレイヤをGeoPackageに追加したい場合は、レイヤをGeoPackageのデータベースにドラッグドロップします。新規にテーブルを追加する場合は、データベースで右クリックして『新しいレイヤまたはテーブルを追加』を選択します。
スタイル保存
GeoPackageではベクターのスタイル設定を保存することができます。赤丸の『スタイル』→『スタイルを保存』を選択します。
ダイアログが表示されるので、『スタイルを保存』で「データベース(GeoPackage)」を選択します。これでレイヤをマップに表示する時、スタイル保存した状態で表示されるようになります。残念ながら、ラスタのスタイル設定の保存方法はわかりませんでした。
ありがとうございました。