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
- Converti file KML in formato GeoJSON usando C#
- Converti 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.
- Crea un’istanza della classe ConversionOptions.
- Assegnare SpatialReferenceSystem.Wgs84 all’oggetto ConversionOptions utilizzando la proprietà DestinationSpatialReferenceSystem.
- Converti il file KML in formato GeoJSON utilizzando il metodo VectorLayer.Convert(string sourcePath, FileDriver sourceDriver, string destinationPath, FileDriver destinationDriver, ConversionOptions options).
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.
- Crea un’istanza della classe ConversionOptions.
- Assegnare SpatialReferenceSystem.Wgs84 all’oggetto ConversionOptions utilizzando la proprietà DestinationSpatialReferenceSystem.
- Converti il file GeoJSON in formato KML utilizzando il metodo VectorLayer.Convert(string sourcePath, FileDriver sourceDriver, string destinationPath, FileDriver destinationDriver, ConversionOptions options).
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.