C# でシェープファイルを SVG に変換する

Shapefile 形式は、地理情報の表示に使用される最も一般的な ESRI の地理空間ベクトル データ形式の 1 つです。場合によっては、地理データを ESRI Shapefile (SHP) 形式から SVG 形式にエクスポートする必要があります。 SVG は、画像の外観を記述するための XML ベースのテキスト形式です。この記事では、C# でシェープファイルを SVG に変換する方法を学習します。

この記事では、次のトピックについて説明します。

  1. C# シェープファイルから SVG へのコンバーター
  2. Shapefile を SVG に変換する手順
  3. ShapeFile を SVG にレンダリング

C# シェープファイルから SVG へのコンバーター API - 無料ダウンロード

シェープファイルを SVG に変換するには、Aspose.GIS for .NET API を使用します。 ArcGISArcMapQGISGoogle 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 に簡単に変換できます。

  1. マップを初期化します。
  2. Wgs84 空間参照をマップに割り当てます。
  3. シェープファイルをベクター レイヤーとして開きます。
  4. シェープファイル レイヤーをマップに追加します。
  5. マップを SVG 形式にレンダリングします。

次に、これらの手順を C# コードに変換し、シェープファイル ファイルを SVG 形式に変換する方法を見てみましょう。

C# で ShapeFile を SVG にレンダリングする

シェープファイルを SVG としてレンダリングするには、以下の手順に従ってください。

  1. まず、Map クラスのインスタンスを作成します。
  2. 次に、SpatialReferenceSystem を Wgs84 に設定します。
  3. 次に、SimpleLine クラスを使用して単純なライン シンボライザーを定義します。
  4. 一方、VectorLayer.Open() メソッドを使用してシェープファイルを読み込みます。
  5. その後、Map.Add() メソッドを使用してシェープファイル レイヤーをマップに追加します。
  6. 最後に、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 の詳細を学習したりできます。ご不明な点がございましたら、無料サポート フォーラム までお気軽にお問い合わせください。

関連項目