こんにちは、愛する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
ご清聴ありがとうございました!