Shapefile 形式は、地理情報の表示に使用される最も一般的な ESRI の地理空間ベクトル データ形式の 1 つです。場合によっては、地理データを ESRI Shapefile (SHP) 形式から SVG 形式にエクスポートする必要があります。 SVG は、画像の外観を記述するための XML ベースのテキスト形式です。この記事では、C# でシェープファイルを SVG に変換する方法を学習します。
この記事では、次のトピックについて説明します。
C# シェープファイルから SVG へのコンバーター API - 無料ダウンロード
シェープファイルを SVG に変換するには、Aspose.GIS for .NET API を使用します。 ArcGIS、ArcMap、QGIS、Google Earth などのソフトウェアを必要とせずに、シェープファイルを SVG にエクスポートできます。この API では、マップのレンダリング、サポートされているファイル形式 で利用可能な地理データの作成、読み取り、および変換も可能です。
API の Map クラスは、Renderer を介して互いの上にレンダリングできるレイヤーのコレクションです。 SpatialReferenceSystem クラスは、マップに使用するさまざまな空間参照系のリストを提供します。 SimpleLine クラスを使用して、単純なベクター ライン シンボライザーを定義できます。 API でベクター レイヤーを表す VectorLayer クラスがあります。このクラスの Open(string, FileDriver) メソッドを使用して、シェープファイルをベクター レイヤーにロードできます。読み取り用にレイヤーを開きます。
APIのDLLを ダウンロード するか NuGet でインストールしてください。
PM> Install-Package Aspose.GIS
C# でシェープファイルを SVG に変換する方法
以下の手順に従って、Aspose.GIS for .NET を使用してシェープファイルを SVG に簡単に変換できます。
- マップを初期化します。
- Wgs84 空間参照をマップに割り当てます。
- シェープファイルをベクター レイヤーとして開きます。
- シェープファイル レイヤーをマップに追加します。
- マップを SVG 形式にレンダリングします。
次に、これらの手順を C# コードに変換し、シェープファイル ファイルを SVG 形式に変換する方法を見てみましょう。
C# で ShapeFile を SVG にレンダリングする
シェープファイルを SVG としてレンダリングするには、以下の手順に従ってください。
- まず、Map クラスのインスタンスを作成します。
- 次に、SpatialReferenceSystem を Wgs84 に設定します。
- 次に、SimpleLine クラスを使用して単純なライン シンボライザーを定義します。
- 一方、VectorLayer.Open() メソッドを使用してシェープファイルを読み込みます。
- その後、Map.Add() メソッドを使用してシェープファイル レイヤーをマップに追加します。
- 最後に、Map.Render() メソッドを呼び出して SVG として保存します。出力 SVG ファイル パスと Renderers.Svg を引数として取ります。
次のコード サンプルは、C# を使用してシェープファイルを SVG に変換する方法を示しています。
// このコード例は、シェープファイルを SVG に変換する方法を示しています。
// ファイル ディレクトリ
string dataDir = "C:\\Files\\GIS\\";
// マップの初期化
var map = new Map(800, 400);
// 指定された SRS を使用する
map.SpatialReferenceSystem = SpatialReferenceSystem.Wgs84;
// 指定されたスタイルを使用して線を描画します
// ポイント、ライン、サーフェスのスタイルもあります。
var symbolizer = new SimpleLine()
{
Width = Measurement.Pixels(2)
};
// シェープファイルをレイヤーとして開く
var shapefileLayer = VectorLayer.Open(dataDir + "buildings.shp", Drivers.Shapefile);
// シェープファイル レイヤーをマップに追加する
map.Add(shapefileLayer, symbolizer);
// マップを Svg 形式にレンダリングする
map.Render(dataDir + "buildings_out.svg", Renderers.Svg);
無料ライセンスを取得する
無料の一時ライセンスを取得して、評価制限なしでライブラリを試すことができます。
結論
この記事では、C# でシェープファイルを SVG に変換する方法を学びました。プログラムでマップを定義し、シェープファイルをロードする方法も見てきました。さらに、ドキュメント を使用して、他のいくつかの GIS ファイル形式を操作する方法を調べたり、API の詳細を学習したりできます。ご不明な点がございましたら、無料サポート フォーラム までお気軽にお問い合わせください。