DotSpatialのインストール

GIS関係のプログラムを作成するのに便利なライブラリ「DotSpatial」をインストールするための手順を紹介します。このページではVisual Studio2019を使ってコンパイルをしています。


コンパイル

最新版のソースをダウンロードする

f:id:Chiakikun:20180912231818p:plain

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

 

ファイルを解凍する

f:id:Chiakikun:20180912232018p:plain

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

 

ソリューションファイルを開く

f:id:Chiakikun:20190924143359p:plain

 

32bit版をコンパイルする

f:id:Chiakikun:20190924232503p:plain

Debug用ビルドする場合は左の赤丸部分で『Debug』を、Release用ビルドする場合は『Release』を選択します。ソリューションエクスプローラの『ソリューション'DotSpatial'(55/55 プロジェクト)』を右クリックして、『ソリューションのビルド』を選択すると、コンパイルが始まります。

 

コンパイルできた?

f:id:Chiakikun:20190924233952p:plain

コンパイルが終わると、「Source\bin」フォルダが作成されています。

f:id:Chiakikun:20190924234114p:plain

Debug用ビルドは「Debug」フォルダに、Release用ビルドは「Release」フォルダに保存されます。

f:id:Chiakikun:20190924234217p:plain

55プロジェクトをコンパイルして作成されたファイルがまとめられています。

 

64bit版をコンパイルする

f:id:Chiakikun:20190925002719p:plain

赤丸部分を「x64」に設定して、あとは32bit版のコンパイルと同じなのですが...

 

f:id:Chiakikun:20190925003045p:plain

デフォルトでは出力先が各プロジェクトのフォルダ内のbinフォルダになっているので、32bit版と同じように出力をまとめたい場合は、赤丸部分の「bin\x64\Debug\」を「..\bin\x64\Debug\」設定してください。Release用ビルドとDebug用ビルドで同じ事を全部のプロジェクトで行うので、少し大変です。

出力先の変更方法

f:id:Chiakikun:20190925003749p:plain

ソリューションエクスプローラの各プロジェクトを右クリックして、『プロパティ』を選択します。

 

f:id:Chiakikun:20190925004135p:plain

プロパティの設定画面になるので、左赤丸の『ビルド』タグを選択すると、出力先を設定できる画面になります。


デモを動かしてみる

f:id:Chiakikun:20180912232613p:plain

コンパイルできたら出力先フォルダに移動して、DemoMap.exeを起動してみます。

 

f:id:Chiakikun:20180912232740p:plain

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

 

f:id:Chiakikun:20180912232837p:plain

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


プログラム作成してみる

C#のプロジェクトを新規作成

f:id:Chiakikun:20180912232912p:plain

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

 

コントロールを追加する

ツールボックスにタブを追加する

f:id:Chiakikun:20180912233458p:plain

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

 

f:id:Chiakikun:20180912233615p:plain

新規のタブを「DotSpatial」としました。

 

DLLを読み込む

f:id:Chiakikun:20180912233656p:plain

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

 

f:id:Chiakikun:20180912233808p:plain

表示されるダイアログの、『参照』ボタンを押下します。

 

f:id:Chiakikun:20190929130418p:plain

コンパイルして出来たbinフォルダ内の「DotSpatial.Controls.dll」を選択します。

 

f:id:Chiakikun:20180912234115p:plain

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

 

f:id:Chiakikun:20190929130845p:plain

ツールボックス』にコントロールが追加されました。

コントロールを配置する

f:id:Chiakikun:20190929132027p:plain

ツールボックス』→『DotSpatial』から『Map』と、『コモン コントロール』から『Button』をフォームに貼り付けます。

コードを書く

DLLを読み込む

f:id:Chiakikun:20180912233158p:plain

『ソリューションエクスプローラー』の『参照』を右クリックして、『参照の追加』でDotSpatialのDLLを読み込みます。

f:id:Chiakikun:20190929133005p:plain

コンパイルして出来たbinフォルダ内の「DotSpatial.Data.dll」と「DotSpatial.Symbology.dll」を選択します。
 

ボタンを押したときの挙動をコーディングする

 貼り付けたボタンをダブルクリックして、次のコードを入力して下さい。

map1.ClearLayers();
map1.AddLayer(@"D:\N03-17_170101.shp"); //←適当なshpファイルを指定する

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

using DotSpatial.Controls;
using DotSpatial.Symbology;

実行してみる

f:id:Chiakikun:20180912234348p:plain

プログラムをコンパイルして実行します。ボタンを押して、shpファイルが表示されましたでしょうか?

お疲れさまでした。