昨年、「Java有償化」問題により、私の周りでもJavaを辞めようという動きが出ています。
厳密にはOracle JDKが有償化されただけで、他の無償のJDKも存在しますが、
これを機に、Javaから.Netに移行していこうと考えていました。
今回、自分の構築したWebGISでも、Javaで構築されたOSSの「GeoServer」
を使っていたのですが、.Net版で何かないか探してみました。
.Net版のOSSのGISで有名なソフトに、「DotSpatial」と「SharpMap」があるのですが、
「SharpMap」をDLし確認たところ、GISサーバーの機能である、WMSらしきプロジェクトがあったので試してみました。
1.環境構築
「SharpMap」の最新版では、最新の.Net開発環境が必要になるため、「Visual Studio 2017」をインストールします。
2.「SharpMap」のダウンロード
以下のサイトでダウンロードし、解凍します。
https://github.com/SharpMap/SharpMap
3.「SharpMap.Layers.BruTile」の修正
VSS2017でビルドすると、「SharpMap.Layers.BruTile」のプロジェクトでC#の言語バージョンがC#7.0が古いというエラーがでるので、言語バージョンをC#7.0->C#7.1に上げる。プロジェクトのプロパティから[ビルド]タブ->[詳細設定]ボタン->[言語バージョン]を[C#の最新のマイナーバージョン]を選択する。
4.「SharpMap.Converters.GeoJSON」の修正
次に、「SharpMap.Converters.GeoJSON」のnugetからのNewtonsoft.jsonが古いので、バージョンを11->12に上げる。
ソリューションのNugetパッケージの管理から、Nettonsoft.Jsonのパッケージを探し、バージョンを11->12に上げる。
5.「SharpMap.Demo.WMS」の起動確認
ビルドが成功すると、WMSのデモプロジェクト「SharpMap.Demo.WMS」があるので、起動する。
以下の画面は、Leafretでも画面ですが、良い感じです。