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