Convertir OSM en KML en C#

OpenStreetMap (OSM) est un projet open source. Il vise à créer une base de données géographiques gratuite et modifiable du monde entier. Le fichier OpenStreetMap (.osm) est un extrait de la base de données OpenStreetMap stocké au format XML. Dans certains cas, nous pouvons avoir besoin d’exporter des données cartographiques depuis OSM pour les afficher sur Google Earth. Google Earth utilise des fichiers KML pour afficher des données géographiques. Dans cet article, nous allons apprendre à convertir un OSM en KML en C#.

Cet article couvrira les sujets suivants :

  1. Convertisseur C# OSM en KML
  2. Étapes pour convertir OSM en KML
  3. Convertir OSM en KML

API de conversion C# OSM en KML - Téléchargement gratuit

Pour convertir le fichier OpenStreetMap (OSM) en KML, nous utiliserons l’API Aspose.GIS for .NET. L’API permet d’exporter OSM vers KML sans avoir besoin de logiciels comme ArcGIS, ArcMap, QGIS ou Google Earth. Il permet également le rendu de cartes, la création, la lecture et la conversion de données géographiques disponibles dans les formats de fichiers pris en charge.

L’API fournit la classe VectorLayer qui représente une couche vectorielle. Il fournit le Convert(string, FileDriver, string, FileDriver, ConversionOptions) qui convertit une couche dans un format différent. La classe SpatialReferenceSystem fournit une liste des différents systèmes de référence spatiale à utiliser pour la carte.

Veuillez soit télécharger la DLL de l’API ou l’installer à l’aide de NuGet.

PM> Install-Package Aspose.GIS

Comment convertir OSM en KML en C#

Nous pouvons facilement convertir le fichier OpenStreetMap (OSM) en KML en utilisant Aspose.GIS pour .NET en suivant les étapes ci-dessous :

  1. Attribuez la référence spatiale Wgs84 à la couche de destination.
  2. Convertissez le format de fichier d’OSM en KML.

La section suivante décrit comment transformer ces étapes en C# et convertir un OSM au format KML.

Convertir OSM en KML en C#

Nous pouvons exporter des données d’OSM vers KML en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une instance de la classe ConversionOptions.
  2. Après cela, définissez DestinationSpatialReferenceSystem sur Wgs84.
  3. Enfin, appelez la méthode VectorLayer.Convert() pour convertir la source OSM en KML.

L’exemple de code suivant montre comment convertir un OSM en KML à l’aide de C#.

// Cet exemple de code montre comment convertir OSM en KML.
// Spécifiez les paramètres de conversion si nécessaire. C'est facultatif.
ConversionOptions options = null;

// Cette option affecte Wgs84 à la couche de destination.
// La conversion peut générer une erreur si la couche de destination ne prend pas en charge la référence spatiale Wgs84. Donc faut vérifier.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Convertissez le format de fichier d'OSM en KML.
VectorLayer.Convert("C:\\Files\\sample.osm", Drivers.OsmXml, "C:\\Files\\destination.kml", Drivers.Kml, options);

Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite pour essayer la bibliothèque sans limitation d’évaluation.

Conclusion

Dans cet article, nous avons appris comment convertir un OSM en KML en C#. En outre, vous pouvez découvrir comment travailler avec plusieurs autres formats de fichiers SIG et en savoir plus sur l’API à l’aide de documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.

Voir également