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

API C# para converter KML em GeoJSON e vice-versa

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 GeoJSON 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 GeoJSON em C#

A seguir estão as etapas para converter arquivos KML para o formato GeoJSON.

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

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

// 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,
    };
}

// Converter formato de arquivo de KML para GeoJSON
VectorLayer.Convert(sourceFile, Drivers.Kml, outputFile, Drivers.GeoJson, options);

Converter GeoJSON para KML em C#

A seguir estão as etapas para converter arquivos GeoJSON para o formato KML.

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

string dataDir = RunExamples.GetDataDir();
string sourceFile = dataDir + "intersection.geojson";
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 GeoJSON para KML.
VectorLayer.Convert(sourceFile, Drivers.GeoJson, 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 GeoJSON 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 robusta 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