Pode haver situações em que você precise converter arquivos KML para o formato GPX ou vice-versa. Para esses casos, este artigo ensinará como converter arquivos KML para o formato GPX e arquivos GPX para o formato KML usando C#.

API de conversão de C# KML para GPX - Download gratuito

Aspose.GIS for .NET API permite renderizar mapas e criar, ler e converter dados geográficos sem software adicional. Além disso, a API permite converter arquivos KML para o formato GPX e vice-versa. Você pode instalar a API por meio do NuGet ou baixá-la diretamente da seção Downloads.

PM> Install-Package Aspose.GIS

Converter KML para GPX usando C#

Podemos converter arquivos KML para o formato GPX seguindo as etapas abaixo:

O código de exemplo a seguir mostra como converter arquivos KML para o formato GPX usando C#.

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

// Especifique as configurações de conversão, se necessário. É opcional.
ConversionOptions options = null;

// Esta opção atribui Wgs84 à camada de destino.
// A conversão pode gerar erro se a camada de destino não suportar a referência espacial Wgs84. Então precisa verificar.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Converta o formato de arquivo de KML para GPX.
VectorLayer.Convert(sourceFile, Drivers.Kml, outputFile, Drivers.Gpx, options);

Converter GPX para KML usando C#

Também podemos converter arquivos GPX para o formato KML seguindo as etapas abaixo:

O código de exemplo a seguir mostra como converter um arquivo GPX para o formato KML usando C#.

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

// Especifique as configurações de conversão, se necessário. É opcional.
ConversionOptions options = null;

// Esta opção atribui Wgs84 à camada de destino.
// A conversão pode gerar erro se a camada de destino não suportar a referência espacial Wgs84. Então precisa verificar.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Converta o formato de arquivo de GPX para KML.
VectorLayer.Convert(sourceFile, Drivers.Gpx, outputFile, Drivers.Kml, options);

Obtenha uma licença gratuita

Para experimentar a API sem limitações de avaliação, você pode obter uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como converter arquivos KML para o formato GPX e vice-versa usando C#. Os snippets de código compartilhados demonstram como conseguir essas conversões com apenas algumas linhas de código. Aspose.GIS for .NET é uma API poderosa e rica em recursos que auxilia você a trabalhar com dados geoespaciais. Você pode explorar a API em detalhes visitando a documentação oficial. Em caso de dúvidas, sinta-se à vontade para entrar em contato conosco em nosso fórum de suporte gratuito.

Veja também