はじめに
「MapWinGIS」はオープンソースで、C++ベースで開発された、地理情報システムのctiveXコントロールおよびアプリケーションプログラマインターフェイス (API) です。「MapWinGIS」は、WindowsフォームベースのアプリケーションにGIS およびマッピング機能を提供するために使用されます。
「MapWinGIS」を利用して、Visual Basic、C#、Delphi、または ActiveX をサポートするその他の言語で Windows フォームに追加して、地理情報システムが開発できます。
以前より、MapWinGISの存在は知っていましたが、C++ベースで開発されていることから、開発対象から外していましたが、C#ベースで開発されている「Dotspatial」や「SharpMap」の処理の遅さより、改めて「MapWinGIS」試してみようと考えました。
「MapWinGIS」のインストール
「MapWinGIS」を使用するには、「MapWinGIS」のインストールが必要ですが、C#で開発するには、Visual Studioが、64bit版ActiveXコントロールに対応していないとのことなので、32bit版をインストールします。
MapWinGISのサイトにVisual Studioが、64bit版ActiveXコントロールに対応していないとのこと
なので、MapWinGIS-only-v5.3.0.0-Win32-VS2017.exeファイルをダウンロードします。
ダウンロードしたファイルをPCにインストールします。
ツールボックスにActiveXコントロールに参照の追加
フォーム画面を作成し、ツールボックスのメニューからアイテム選択をクリックします。COMコンポーネントから、「MapWinGIS」のActiveXコントロールを選択します。
※表示されていない場合は、参照ボタンをクリックし、「MapWinGIS」がインストールされたフォルダから、「MapWinGIS.ocx」ファイルを選択します。
Mapコントロールの追加
フォーム画面に、Mapコントロールの追加を貼り付けます。
コントロールの追加を貼り付けと同時に、ソリューションエクスプローラーの参照に、「AxMapWinGIS」、「MapWinGIS」が追加されます。
shp取り込み画面
shp取り込み画面イメージです。基盤地図情報からダウンロードした坂出市の建築物の図形データ(約22万5000ポリゴン)ですが、感覚的に読み込み速度は1秒くらいでした。「QGIS」でも試したところ2秒~3秒なので、以下に速いかが分かります。
まとめ
「MapWinGIS」でshpファイルを読み込みましたが、メチャメチャ速いです。
youtubeでも「MapWinGIS」と「QGIS」の比較動画が上がっていましたが、「QGIS」よりも早い結果でした。やはり、これがC++とC#の違いでしょうか…
GISで処理速度の速さは、GISエンジンの選択の重要な要素のひとつなので、今後も「MapWinGIS」いついて引き続き、開発検証していきたいと思います。