Konvertieren Sie OSM in C# in KML

OpenStreetMap (OSM) ist ein Open-Source-Projekt. Es zielt darauf ab, eine freie, editierbare geografische Datenbank der ganzen Welt zu erstellen. Die OpenStreetMap-Datei (.osm) ist ein als XML gespeicherter Auszug der OpenStreetMap-Datenbank. In bestimmten Fällen müssen wir möglicherweise Kartendaten aus OSM exportieren, um sie in Google Earth anzuzeigen. Google Earth verwendet KML-Dateien, um geografische Daten anzuzeigen. In diesem Artikel erfahren Sie, wie Sie ein OSM in C# in KML konvertieren.

Dieser Artikel soll folgende Themen behandeln:

  1. C#-OSM-zu-KML-Konverter
  2. Schritte zum Konvertieren von OSM in KML
  3. OSM in KML konvertieren

C#-OSM-zu-KML-Konverter-API – kostenloser Download

Zum Konvertieren von OpenStreetMap (OSM)-Dateien in KML verwenden wir die API Aspose.GIS for .NET. Die API ermöglicht den Export von OSM in KML, ohne dass Software wie ArcGIS, ArcMap, QGIS oder Google Earth erforderlich ist. Es ermöglicht auch das Rendern von Karten, das Erstellen, Lesen und Konvertieren von geografischen Daten, die in den unterstützten Dateiformaten verfügbar sind.

Die API stellt die Klasse VectorLayer bereit, die eine Vektorebene darstellt. Es stellt Convert(string, FileDriver, string, FileDriver, ConversionOptions) bereit, das eine Ebene in ein anderes Format konvertiert. Die Klasse SpatialReferenceSystem stellt eine Liste verschiedener räumlicher Bezugssysteme bereit, die für die Karte verwendet werden können.

Bitte laden Sie die DLL der API herunter oder installieren Sie sie mit NuGet.

PM> Install-Package Aspose.GIS

So konvertieren Sie OSM in KML in C#

Wir können die OpenStreetMap (OSM)-Datei mit Aspose.GIS für .NET einfach in KML konvertieren, indem wir die folgenden Schritte ausführen:

  1. Weisen Sie dem Ziel-Layer den Wgs84-Raumbezug zu.
  2. Konvertieren Sie das Dateiformat von OSM in KML.

Im folgenden Abschnitt wird beschrieben, wie Sie diese Schritte in C# umwandeln und ein OSM- in das KML-Format konvertieren.

Konvertieren Sie OSM in C# in KML

Wir können Daten von OSM nach KML exportieren, indem wir die folgenden Schritte ausführen:

  1. Erstellen Sie zunächst eine Instanz der ConversionOptions-Klasse.
  2. Legen Sie danach das DestinationSpatialReferenceSystem als Wgs84 fest.
  3. Rufen Sie schließlich die Methode VectorLayer.Convert() auf, um Quell-OSM in KML zu konvertieren.

Das folgende Codebeispiel zeigt, wie ein OSM mit C# in KML konvertiert wird.

// Dieses Codebeispiel zeigt, wie OSM in KML konvertiert wird.
// Geben Sie bei Bedarf Konvertierungseinstellungen an. Es ist optional.
ConversionOptions options = null;

// Diese Option weist Wgs84 der Zielebene zu.
// Die Konvertierung kann einen Fehler auslösen, wenn der Ziel-Layer den Wgs84-Raumbezug nicht unterstützt. Muss man also prüfen.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Konvertieren Sie das Dateiformat von OSM in KML.
VectorLayer.Convert("C:\\Files\\sample.osm", Drivers.OsmXml, "C:\\Files\\destination.kml", Drivers.Kml, options);

Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um die Bibliothek ohne Evaluierungseinschränkungen zu testen.

Fazit

In diesem Artikel haben wir gelernt, wie man ein OSM in C# in KML konvertiert. Außerdem können Sie erkunden, wie Sie mit mehreren anderen GIS-Dateiformaten arbeiten und mehr über die API erfahren, indem Sie Dokumentation verwenden. Bei Unklarheiten können Sie sich gerne in unserem kostenlosen Support-Forum an uns wenden.

Siehe auch