KMLファイルをGeoJSON形式に、またはその逆に変換する必要がある場合があります。このような場合、この記事では、C#を使用してKMLファイルをGeoJSON形式に変換し、GeoJSONファイルをKML形式に変換する方法を説明します。
KMLファイルをGeoJSONおよびその逆に変換するためのC#API
Aspose.GIS for .NET APIを使用すると、追加のソフトウェアを使用せずに、地図をレンダリングしたり、地理データを作成、読み取り、変換したりできます。さらに、APIを使用すると、KMLファイルをGeoJSON形式に、またはその逆に変換できます。 APIは、NuGetからインストールするか、ダウンロードセクションから直接ダウンロードできます。
PM> Install-Package Aspose.GIS
C#を使用してKMLファイルをGeoJSON形式に変換する
KMLファイルをGeoJSON形式に変換する手順は次のとおりです。
- ConversionOptionsクラスのインスタンスを作成します。
- DestinationSpatialReferenceSystemプロパティを使用して、SpatialReferenceSystem.Wgs84をConversionOptionsオブジェクトに割り当てます。
- VectorLayer.Convert(string sourcePath, FileDriver sourceDriver, string destinationPath, FileDriver destinationDriver, ConversionOptions options)メソッドを使用して、KMLファイルをGeoJSON形式に変換します。
次のサンプルコードは、C#を使用してKMLファイルをGeoJSON形式に変換する方法を示しています。
string dataDir = RunExamples.GetDataDir();
string sourceFile = dataDir + "Kml_File.kml";
string outputFile = dataDir + "output.geojson";
// 必要に応じて変換設定を指定します。オプションです。
ConversionOptions options = null;
// このオプションは、Wgs84を宛先レイヤーに割り当てます。
// 宛先レイヤーがWgs84空間参照をサポートしていない場合、変換によってエラーがスローされることがあります。だからチェックする必要があります。
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
options = new ConversionOptions()
{
DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
};
}
// ファイル形式をKMLからGeoJSONに変換する
VectorLayer.Convert(sourceFile, Drivers.Kml, outputFile, Drivers.GeoJson, options);
C#を使用したGeoJSONファイルのKML形式への変換
以下は、GeoJSONファイルをKML形式に変換する手順です。
- ConversionOptionsクラスのインスタンスを作成します。
- DestinationSpatialReferenceSystemプロパティを使用して、SpatialReferenceSystem.Wgs84をConversionOptionsオブジェクトに割り当てます。
- VectorLayer.Convert(string sourcePath, FileDriver sourceDriver, string destinationPath, FileDriver destinationDriver, ConversionOptions options)メソッドを使用して、GeoJSONファイルをKML形式に変換します。
次のサンプルコードは、C#を使用してGeoJSONファイルをKML形式に変換する方法を示しています。
string dataDir = RunExamples.GetDataDir();
string sourceFile = dataDir + "intersection.geojson";
string outputFile = dataDir + "output.kml";
// 必要に応じて変換設定を指定します。オプションです。
ConversionOptions options = null;
// このオプションは、Wgs84を宛先レイヤーに割り当てます。
// 宛先レイヤーがWgs84空間参照をサポートしていない場合、変換によってエラーがスローされることがあります。だからチェックする必要があります。
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
options = new ConversionOptions()
{
DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
};
}
// ファイル形式をGeoJSONからKMLに変換します。
VectorLayer.Convert(sourceFile, Drivers.GeoJson, outputFile, Drivers.Kml, options);
無料ライセンスを取得する
評価制限なしでAPIを試すために、無料の一時ライセンスをリクエストできます。
結論
この記事では、C#を使用してKMLファイルをGeoJSON形式に変換する方法とその逆の方法を学習しました。共有コードスニペットは、わずか数行のコードでこれらの変換を実現する方法を示しています。 Aspose.GIS for .NETは、地理空間データの操作を支援する堅牢で機能豊富なAPIです。 公式ドキュメントにアクセスすると、APIの詳細を調べることができます。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。