Converti OSM in KML in C#

OpenStreetMap (OSM) è un progetto open source. Mira a creare un database geografico gratuito e modificabile di tutto il mondo. Il file OpenStreetMap (.osm) è un estratto del database OpenStreetMap archiviato come XML. In alcuni casi, potrebbe essere necessario esportare i dati delle mappe da OSM per visualizzarli su Google Earth. Google Earth utilizza i file KML per visualizzare i dati geografici. In questo articolo impareremo come convertire un OSM in KML in C#.

Questo articolo tratterà i seguenti argomenti:

  1. Convertitore C# OSM in KML
  2. Passaggi per convertire OSM in KML
  3. Converti OSM in KML

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

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

L’API fornisce la classe VectorLayer che rappresenta un livello vettoriale. Fornisce Convert(string, FileDriver, string, FileDriver, ConversionOptions) che converte un livello in un formato diverso. La classe SpatialReferenceSystem fornisce un elenco di diversi sistemi di riferimento spaziale da utilizzare per la mappa.

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

PM> Install-Package Aspose.GIS

Come convertire OSM in KML in C#

Possiamo convertire facilmente il file OpenStreetMap (OSM) in KML usando Aspose.GIS per .NET seguendo i passaggi indicati di seguito:

  1. Assegna il riferimento spaziale Wgs84 al livello di destinazione.
  2. Converti il formato di file da OSM a KML.

La sezione seguente descrive come trasformare questi passaggi in C# e convertire un OSM in formato KML.

Converti OSM in KML in C#

Possiamo esportare i dati da OSM a KML seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea un’istanza della classe ConversionOptions.
  2. Successivamente, imposta DestinationSpatialReferenceSystem come Wgs84.
  3. Infine, chiama il metodo VectorLayer.Convert() per convertire l’OSM sorgente in KML.

L’esempio di codice seguente mostra come convertire un OSM in KML usando C#.

// Questo esempio di codice mostra come convertire OSM in 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 OSM a KML.
VectorLayer.Convert("C:\\Files\\sample.osm", Drivers.OsmXml, "C:\\Files\\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 un OSM in KML in C#. Inoltre, puoi esplorare come lavorare con diversi altri formati di file GIS e saperne di più sull’API usando documentazione. In caso di ambiguità, non esitare a contattarci sul nostro forum di supporto gratuito.

Guarda anche