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

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

はじめに


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

特徴


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

拡張機能


デフォルトでは、SharpMapはShapeファイルのベクター形式でのみ機能しますが、拡張機能により、サポートされる形式の数を増やすことができます。
延長説明
OGR Povider多くのベクターデータ形式のサポートを追加するライブラリ
GDALラスターレイヤー複数のラスター形式のサポートを追加する
PostgisPostgreSQL / 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
ご清聴ありがとうございました!

Source: https://habr.com/ru/post/J101781/


All Articles