SharpMap:GISエンジンのレビュー

こんにちは、愛するhabrasociety。

私の意見では、空間データ、特にGISシステムでの作業のトピックは、Habréで十分にカバーされていません。 その結果、私は最初の記事をSharpMapという素晴らしいツールに捧げたいと思います。 さらに、検討対象はGISアプリケーションの開発の観点から非常に興味深いものであり、その使用に関するロシア語の情報はほとんどありません。 この検索で​​は、プログラミングのトピックに特化したフォーラムでわずかな結果しか得られません。



はじめに



次の定義は、プロジェクトの公式Webサイトで提供されています。

SharpMapは、デスクトップおよびWebアプリケーションで使用するための使いやすいマッピングライブラリです。 エンジンはC#で記述されており、.NET 2.0フレームワークに基づいています。 GNU Lesser General Public Licenseの下で配布されています



特徴



現在、機能の異なる2つのバージョンのエンジンが開発されています。

特徴 SharpMap v1.0 SharpMap v2.0
.NETプログラミング言語(C#、VB.NETなど)を使用する + +
ラベルとしての属性の表現 + ベータ2
ポイント、ライン、ポリゴン、マルチポリゴン、マルチポイントなどのサポート。 OpenGIS仕様に従って + +
地図のズームと移動 + +
拡張テーママップ + +
「オンザフライ」で投影を変更する + +
階層化された空間インデックス - +
ジオメトリを選択および強調表示する機能 - +
空間分析とジオメトリ処理 - +
ジオメトリ、空間インデックス、および投影ライブラリを置き換える機能 - +
WEB用 SharpMap v1.0 SharpMap v2.0
画像を作成するためのHTTPハンドラー + 終わっていない
AJAX-コントロール + 終わっていない
WMS 1.3.0サーバーとして使用 + 終わっていない


拡張機能



デフォルトでは、SharpMapはShapeファイルのベクター形式でのみ機能しますが、拡張機能により、サポートされる形式の数を増やすことができます。

延長 説明
OGR Povider 多くのベクターデータ形式のサポートを追加するライブラリ
GDALラスターレイヤー 複数のラスター形式のサポートを追加する
Postgis PostgreSQL / PostGISプロバイダー
オラクル Oracle Spatial Information Provider
NetTopologySuiteデータプロバイダー NTS機能を追加します
シンプルなチャート 属性ベースのチャートをマップに追加します
空間線 SQLite / SpatialLiteプロバイダー


まだHabréでカバーされていないGDAL / OGRライブラリには、別のレビューと別の記事が必要です。





動作中



一見したところ、SharpMapを使用したアプリケーションの実装、特にGDAL / OGRライブラリの組み込みは、それほど明白ではないようでした。 何が何であるかを理解するために、多くの英語のフォーラムを調べなければなりませんでした。

Visual Studio 2008開発環境でのSharpMap v.1.0の例を示します。

そのため、まずはChangeSetプロジェクトをダウンロードしてください 。 執筆時点では、バージョン番号74794が関連しています。

開梱します。



エンジンの機能を示すために、TrunkフォルダーでSharpMap.VS2008.slnプロジェクトファイルを実行することをお勧めします。 SolutionExplorerで、WinFormSamplesプロジェクトをスタートアッププロジェクトとしてインストールします。



画像



フォームの右側のパネルには、対応するファイルタイプが設定されたRadioButtonが表示されます。 すべてのテスト地理データファイルは、ディレクトリTrunk \ WinFormSamples \ bin \ Debug \ GeoDataに保存されます。

デフォルトでは、 シェープファイルはマップとともに右側のペインに開きます。

同様に、アイテムGradiet Themeを表示します。



画像



「MapInfo」(ベクトル)および「GeoTiff」(ラスター)形式のファイルを表示しようとすると、対応するGDAL / OGRライブラリが接続されていないため、エラーが発生します。 それらを接続するには、 FWToolsライブラリセットをダウンロードしてインストールする必要があります。

次に、 Trunk \ WinFormSamplesディレクトリでapp.config 」ファイルを開き、 appSettingsブロックすべてのパスをFWToolsフォルダーとそのサブディレクトリへのパスに変更します(必要な場合)。

Build-> Rebuild Solutionプロジェクトを再コンパイルします。 始めます。

操作が完了すると、多くのベクターおよびラスター形式を開いて操作できるようになります。



画像



画像



これで私は終了したい。 SharpMapの詳細、およびプロジェクトWebサイトのドキュメントとフォーラム:

SharpMap v1.0

SharpMap v2.0

ご清聴ありがとうございました!



All Articles