Puede haber situaciones en las que necesite convertir archivos KML a formato GPX o viceversa. Para tales casos, este artículo le enseñará cómo convertir archivos KML a formato GPX y archivos GPX a formato KML usando C#.

API de C# para convertir KML a GPX y viceversa

Aspose.GIS for .NET La API le permite representar mapas y crear, leer y convertir datos geográficos sin software adicional. Además, la API te permite convertir archivos KML a formato GPX y viceversa. Puede instalar la API a través de NuGet o descargarla directamente desde la sección Descargas.

PM> Install-Package Aspose.GIS

Convierta archivos KML a formato GPX usando C#

Los siguientes son los pasos para convertir archivos KML a formato GPX.

El siguiente código de muestra muestra cómo convertir archivos KML a formato GPX usando C#.

string dataDir = RunExamples.GetDataDir();
string sourceFile = dataDir + "Kml_File.kml";
string outputFile = dataDir + "output.gpx";

// Especifique la configuración de conversión si es necesario. es opcional
ConversionOptions options = null;

// Esta opción asigna Wgs84 a la capa de destino.
// La conversión puede arrojar un error si la capa de destino no admite la referencia espacial Wgs84. Así que hay que comprobar.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Convierta el formato de archivo de KML a GPX.
VectorLayer.Convert(sourceFile, Drivers.Kml, outputFile, Drivers.Gpx, options);

Conversión de archivos GPX a formato KML usando C#

Los siguientes son los pasos para convertir archivos GPX a formato KML.

El siguiente código de ejemplo muestra cómo convertir un archivo GPX a formato KML usando C#.

string dataDir = RunExamples.GetDataDir();
string sourceFile = dataDir + "schiehallion.gpx";
string outputFile = dataDir + "output.kml";

// Especifique la configuración de conversión si es necesario. es opcional
ConversionOptions options = null;

// Esta opción asigna Wgs84 a la capa de destino.
// La conversión puede arrojar un error si la capa de destino no admite la referencia espacial Wgs84. Así que hay que comprobar.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Convierta el formato de archivo de GPX a KML.
VectorLayer.Convert(sourceFile, Drivers.Gpx, outputFile, Drivers.Kml, options);

Obtenga una licencia gratis

Para probar la API sin limitaciones de evaluación, puede solicitar una licencia temporal gratuita.

Conclusión

En este artículo, ha aprendido cómo convertir archivos KML a formato GPX y viceversa usando C#. Los fragmentos de código compartidos demuestran cómo lograr estas conversiones con solo unas pocas líneas de código. Aspose.GIS for .NET es una API poderosa y rica en funciones que lo ayuda a trabajar con datos geoespaciales. Puede explorar la API en detalle visitando la documentación oficial. Si tiene alguna pregunta, no dude en comunicarse con nosotros en nuestro foro de soporte gratuito.

Ver también