在某些情况下,您可能需要将 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 格式:
- 创建 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。如有任何问题,请随时通过我们的 免费支持论坛 与我们联系。