Pythonのnumpyで四元数してみた

Python四元数を使う方法について調べていたところ、numpy-quaternion · PyPIに辿り着きました。このページでは、numpy-quaternionのインストール方法について紹介していきます。

numpy-quaternionをインストールする

f:id:Chiakikun:20181006181543p:plain

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)

f:id:Chiakikun:20181006181855p:plain

③使ってみると、こんな警告が表示されました。どうやらnumbaというものをインストールしたほうがいいよってことだそうです。

numbaをインストールする

f:id:Chiakikun:20181006182134p:plain

①管理者権限でpowershellを起動して「pip install numba」と入力して実行します。

 

f:id:Chiakikun:20181006182216p:plain

②先ほどのソースコードの「import quaternion」の行の下に「import numba」と入力して実行してみます。すると、今度は警告が出なくなりました。

numpy-quaternionの使い方

下記のページのUsageには、numpy-quaternionの使い方が幾つかのサンプルで紹介されていますので、ご覧になってみてください。

github.com

 

ありがとうございました

QGIS3 GeoPackageの使い方

QGIS3で「GeoPackage」というファイル形式を使ってみたので、このページで紹介します。GeoPackageについて、まだ詳しいことが分かっていません。正確な情報はこちらのページに書いてあるのですが、正直何を言っているのか...。

 

ファイルを保存する

f:id:Chiakikun:20181004233639p:plain

①今回はシェープファイル、Tabファイル、アスキーグリッドをQGISで読み込んで、それらをGeoPackageで保存してみます。

f:id:Chiakikun:20181004233838p:plain

ブラウザの「GeoPackage」を右クリックして、「Create Database」を選択します。

 

f:id:Chiakikun:20181004233923p:plain

③保存先を指定して、OKボタンを押します。

 

f:id:Chiakikun:20181004233957p:plain

④GeoPackageの下に保存先に指定したファイルが登録されました。

 

f:id:Chiakikun:20181004234049p:plain

⑤GeoPackageに保存したいファイルをQGISに読み込みます。

 

f:id:Chiakikun:20181004234143p:plain

⑥読み込んだレイヤーを、保存先のGeoPackageにドラッグします。成功すると画像のようなダイアログが表示されます。

 

 

f:id:Chiakikun:20181004234343p:plain

⑦保存先のGeoPackageの下に、ドラッグしたレイヤーが表示されました。

ファイルを読み込む

f:id:Chiakikun:20181004234450p:plain

①本当にまとめられたか確認をしてみます。ブラウザのGeoPackageの、保存先に指定したファイル名を右クリックして「接続を削除」を選択します。一度QGISを終了します。

 

f:id:Chiakikun:20181004234627p:plain

②GeoPackageの下に何も表示されていないことを確認し、ブラウザの「GeoPackage」を右クリックして、「New Connection」を選択します。

f:id:Chiakikun:20181004234844p:plain

③ファイル選択ダイアログが表示されるので、先ほど保存したGeoPackageを指定します。するとGeoPackageの下に指定したファイルが表示されます。

 

f:id:Chiakikun:20181004235022p:plain

④GeoPackageの下の、ファイル名のさらに下に、GeoPackageにまとめたレイヤーが表示されています。これらをダブルクリックすると、下の赤丸のレイヤーウィンドウにレイヤーが表示されます。

 

複数のファイルだったのが、単一のファイルで済むようになりましたが、もっと良い点や使い方が見つかりましたら、追記していきたいと思います。

ありがとうございました。

DotSpatialをインストールしてみました。

『DotSpatial』というライブラリを最近知りました。GISを作るためのライブラリだそうです。インストールまでは出来るようになったので、その手順を紹介いたします。コンパイルするためには、VisualStudioが必要です。ここではVisualStudio2017を使ってコンパイルをしています。

 

 

ソースをダウンロード

f:id:Chiakikun:20180912231818p:plain

https://github.com/DotSpatial/DotSpatialからソースをダウンロードします。

 

f:id:Chiakikun:20180912232018p:plain

②ダウンロードしたファイルを解凍します。解凍して出来たフォルダ内の『Source』フォルダに移動して下さい。

 

コンパイル

f:id:Chiakikun:20180912232124p:plain

③『Compile.cmd』を編集します。私の環境では『%ProgramFiles(x86)%\MSBuild\14.0\Bin\MSBuild.exe』を
『%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\amd64\MSBuild.exe』に変更しました。

 

f:id:Chiakikun:20180912232440p:plain

 ④編集したCompile.cmdを実行します。

 

f:id:Chiakikun:20180912232520p:plain

コンパイルが終わると、binフォルダが出来ているので、フォルダ内に移動します。

デモを動かしてみる

f:id:Chiakikun:20180912232613p:plain

⑥DemoMap.exeを起動してみます。

 

 

f:id:Chiakikun:20180912232740p:plain

⑦ウィンドウが表示されました。何か適当なshpファイルを表示させます。赤丸部分のボタンを押すと、ファイル選択ダイアログが表示されるので、shpファイルを選択して下さい。

 

f:id:Chiakikun:20180912232837p:plain

⑧選択したshpファイルが表示されました。

プログラム作成

f:id:Chiakikun:20180912232912p:plain

⑨自分のプログラムにDotSpatialを使ってみます。VisualStudioを起動して、C#のプロジェクトを新規作成します。

 

f:id:Chiakikun:20180912233158p:plain

⑩『参照の追加』でDotSpatialのDLLを読み込みます。

 

f:id:Chiakikun:20180912233251p:plain

f:id:Chiakikun:20180912233329p:plain

⑪先ほどコンパイルしたdotspatialのbinフォルダ内のDLLを選択します。選択したDLLにチェックがされているか確認して、OKボタンを押します。

 

f:id:Chiakikun:20180912233458p:plain

ツールボックスにDotSpatialのコントロールを追加します。ツールボックスを右クリックして、メニューの『タブの追加』を選択して下さい。

 

f:id:Chiakikun:20180912233615p:plain

⑬新規のタブを『DotSpatial』としました。

 

f:id:Chiakikun:20180912233656p:plain

⑭DotSpatialを右クリックして、メニューの『アイテムの選択』をクリックします。

 

f:id:Chiakikun:20180912233808p:plain

⑮表示されるダイアログの、参照ボタンをクリックします。

 

f:id:Chiakikun:20180912233928p:plain

コンパイルして出来たbinフォルダ内のDLLを選択します。

 

f:id:Chiakikun:20180912234024p:plain

⑰このようなエラーが出ますが、気にせずOKボタンをクリックして下さい。

 

f:id:Chiakikun:20180912234115p:plain

⑱読み込まれたらOKボタンをクリックします。

 

f:id:Chiakikun:20180912234200p:plain

⑲DotSpatialの下に、コントロールが追加されました。『Map』を選択して、フォームの適当な場所に貼り付けて下さい。他にCommandButtonもMapに重ならないように貼り付けて下さい。貼り付けたボタンをダブルクリックして、次のコードを入力して下さい。

----------------------------------------------------------------------------------------------

map1.ClearLayers();
map1.AddLayer(@"D:\適当なシェープファイル.shp"); //←適当なshpファイルを指定する
IMapFeatureLayer imp = map1.Layers.Last() as IMapFeatureLayer;
imp.SelectionSymbolizer = new PolygonSymbolizer();
PolygonSymbolizer poly = imp.Symbolizer as PolygonSymbolizer;
poly.SetFillColor(System.Drawing.Color.FromArgb(0)); //ポリゴン塗りつぶし色無し

----------------------------------------------------------------------------------------

ソースコードの上の方に、次のコードも入力して下さい。

----------------------------------------------------------------------------------------

using DotSpatial.Controls;
using DotSpatial.Symbology;

---------------------------------------------------------------------------------------

 

f:id:Chiakikun:20180912234348p:plain

⑳プログラムをコンパイルして実行します。ボタンを押すと、指定したshpファイルが表示されれば、インストールは上手くいっています。

お疲れさまでした。