Converti Shapefile in KML in C#

Potremmo avere dati geografici disponibili in molti formati supportati da vari sistemi. In alcuni casi, potrebbe essere necessario esportare i dati geografici dal formato ESRI Shapefile (SHP) al formato Keyhole Markup Language (KML). Il formato Shapefile è uno dei formati di dati vettoriali geospaziali più comuni utilizzati da ESRI per visualizzare informazioni geografiche. Il KML è un formato basato su XML, utilizzato per condividere dati geografici con utenti non GIS. Il formato KML viene utilizzato per visualizzare i dati geografici in Google Earth o Google Maps. In questo articolo impareremo come convertire uno shapefile in KML in C#.

Questo articolo tratterà i seguenti argomenti:

  1. Convertitore da C# Shapefile a KML
  2. Passaggi per convertire Shapefile in KML
  3. Esporta ShapeFile in KML

API di conversione da C# Shapefile a KML - Download gratuito

Per convertire uno shapefile in KML, utilizzeremo l’API Aspose.GIS for .NET. Consente di esportare shapefile in KML senza la necessità di software come ArcGIS, ArcMap, QGIS o Google Earth. L’API consente anche il rendering di mappe, la creazione, la lettura e la conversione dei dati geografici disponibili nei formati di file supportati.

La classe ConversionOptions dell’API fornisce opzioni per convertire i dati tra formati. La classe SpatialReferenceSystem fornisce un elenco di diversi sistemi di riferimento spaziale da utilizzare per mappare le coordinate in luoghi sulla Terra. Abbiamo la classe VectorLayer che rappresenta un livello vettoriale nell’API. Il metodo Convert(string, FileDriver, string, FileDriver, ConversionOptions) di questa classe converte un livello in un formato diverso.

Si prega di scaricare la DLL dell’API o installarla utilizzando NuGet.

PM> Install-Package Aspose.GIS

Come convertire Shapefile in KML in C#

Possiamo facilmente convertire uno shapefile in KML usando Aspose.GIS per .NET seguendo i passaggi indicati di seguito:

  • Assegna il riferimento spaziale Wgs84 al livello di destinazione.
  • Carica e converti il formato di file da SHP a KML.

Ora, vediamo come eseguire questi passaggi in C# per convertire un file shapefile in un formato KML.

Esporta ShapeFile in KML in C#

Segui i passaggi indicati di seguito per esportare i dati da uno shapefile in KML:

  1. Inizializza un’istanza della classe ConversionOptions.
  2. Impostare il DestinationSpatialReferenceSystem come Wgs84.
  3. Infine, chiama il metodo VectorLayer.Convert() per convertire lo shapefile sorgente in KML.

L’esempio di codice seguente mostra come convertire uno shapefile in KML usando C#.

// Questo esempio di codice mostra come convertire uno shapefile in KML in C#.
// Directory di lavoro
string dataDir = @"C:\Files\GIS\";

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

// 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))
{
    // Assegna Wgs84 al livello di destinazione
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Converti uno Shapefile in KML.
VectorLayer.Convert(dataDir + "Shapefile.shp", Drivers.Shapefile, dataDir + "destination.kml", Drivers.Kml, options);

Ottieni una licenza gratuita

Puoi ottenere una licenza temporanea gratuita per provare la libreria senza limitazioni di valutazione.

Conclusione

In questo articolo abbiamo imparato come convertire uno shapefile in KML in C#. Abbiamo anche visto come definire le opzioni di conversione a livello di codice. Inoltre, puoi esplorare come lavorare con diversi altri formati di file GIS e saperne di più su Aspose.GIS per .NET API usando la documentazione. In caso di ambiguità, non esitare a contattarci sul nostro forum.

Guarda anche