在某些情况下,您可能需要将 KML 文件转换为 GPX 格式,反之亦然。对于这种情况,本文将教您如何使用 C# 将 KML 文件转换为 GPX 格式以及将 GPX 文件转换为 KML 格式。

C# KML 到 GPX 转换器 API - 免费下载

Aspose.GIS for .NET API 允许您渲染地图并创建、读取和转换地理数据,而无需额外的软件。此外,API 允许您将 KML 文件转换为 GPX 格式,反之亦然。您可以通过 NuGet 安装 API,也可以直接从 下载 部分下载。

PM> Install-Package Aspose.GIS

使用 C# 将 KML 转换为 GPX

我们可以按照以下步骤将 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 格式:

以下示例代码展示了如何使用 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。如有任何问题,请随时通过我们的 免费支持论坛 与我们联系。

也可以看看