Potrebbero verificarsi situazioni in cui è necessario convertire i file KML nel formato GeoJSON o viceversa. In questi casi, questo articolo ti insegnerà come convertire i file KML in formato GeoJSON e i file GeoJSON in formato KML usando C#.

API C# per convertire KML in GeoJSON e viceversa

L’API Aspose.GIS for .NET consente di eseguire il rendering di mappe e creare, leggere e convertire dati geografici senza software aggiuntivo. Inoltre, l’API consente di convertire i file KML in formato GeoJSON e viceversa. Puoi installare l’API tramite NuGet o scaricarla direttamente dalla sezione Download.

PM> Install-Package Aspose.GIS

Converti KML in GeoJSON in C#

Di seguito sono riportati i passaggi per convertire i file KML in formato GeoJSON.

Il codice di esempio seguente mostra come convertire un file KML in formato GeoJSON usando C#.

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

// Specificare le impostazioni di conversione, se necessario. È facoltativo.
ConversionOptions options = null;

// Questa opzione assegna Wgs84 al livello di destinazione.
// La conversione può generare un errore Se il livello di destinazione non supporta il riferimento spaziale Wgs84. Quindi è necessario controllare.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Converti il formato di file da KML a GeoJSON
VectorLayer.Convert(sourceFile, Drivers.Kml, outputFile, Drivers.GeoJson, options);

Converti GeoJSON in KML in C#

Di seguito sono riportati i passaggi per convertire i file GeoJSON in formato KML.

Il codice di esempio seguente mostra come convertire un file GeoJSON in formato KML usando C#.

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

// Specificare le impostazioni di conversione, se necessario. È facoltativo.
ConversionOptions options = null;

// Questa opzione assegna Wgs84 al livello di destinazione.
// La conversione può generare un errore Se il livello di destinazione non supporta il riferimento spaziale Wgs84. Quindi è necessario controllare.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Converti il formato di file da GeoJSON a KML.
VectorLayer.Convert(sourceFile, Drivers.GeoJson, outputFile, Drivers.Kml, options);

Ottieni una licenza gratuita

Per provare l’API senza limitazioni di valutazione, puoi ottenere una licenza temporanea gratuita.

Conclusione

In questo articolo, hai imparato come convertire i file KML in formato GeoJSON e viceversa usando C#. I frammenti di codice condivisi mostrano come ottenere queste conversioni con poche righe di codice. Aspose.GIS per .NET è un’API robusta e ricca di funzionalità che ti aiuta a lavorare con i dati geospaziali. Puoi esplorare l’API in dettaglio visitando la documentazione ufficiale. In caso di domande, non esitare a contattarci nel nostro forum di supporto gratuito.

Guarda anche