Il peut arriver que vous ayez besoin de convertir des fichiers KML au format GeoJSON ou vice versa. Dans de tels cas, cet article vous apprendra comment convertir des fichiers KML au format GeoJSON et des fichiers GeoJSON au format KML à l’aide de C#.

API C# pour convertir KML en GeoJSON et vice versa

L’API Aspose.GIS for .NET vous permet de restituer des cartes et de créer, lire et convertir des données géographiques sans logiciel supplémentaire. De plus, l’API vous permet de convertir des fichiers KML au format GeoJSON et vice versa. Vous pouvez soit installer l’API via NuGet ou la télécharger directement à partir de la section Téléchargements.

PM> Install-Package Aspose.GIS

Convertir KML en GeoJSON en C#

Voici les étapes pour convertir les fichiers KML au format GeoJSON.

L’exemple de code suivant montre comment convertir un fichier KML au format GeoJSON à l’aide de C#.

string dataDir = RunExamples.GetDataDir();
string sourceFile = dataDir + "Kml_File.kml";
string outputFile = dataDir + "output.geojson";

// 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,
    };
}

// Convertir le format de fichier de KML en GeoJSON
VectorLayer.Convert(sourceFile, Drivers.Kml, outputFile, Drivers.GeoJson, options);

Convertir GeoJSON en KML en C#

Voici les étapes pour convertir les fichiers GeoJSON au format KML.

L’exemple de code suivant montre comment convertir un fichier GeoJSON au format KML à l’aide de C#.

string dataDir = RunExamples.GetDataDir();
string sourceFile = dataDir + "intersection.geojson";
string outputFile = dataDir + "output.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 de GeoJSON en KML.
VectorLayer.Convert(sourceFile, Drivers.GeoJson, outputFile, Drivers.Kml, options);

Obtenez une licence gratuite

Afin d’essayer l’API sans limites d’évaluation, vous pouvez obtenir une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris à convertir des fichiers KML au format GeoJSON et vice versa à l’aide de C#. Les extraits de code partagés montrent comment réaliser ces conversions avec seulement quelques lignes de code. Aspose.GIS for .NET est une API robuste et riche en fonctionnalités qui vous aide à travailler avec des données géospatiales. Vous pouvez explorer l’API en détail en visitant la documentation officielle. En cas de questions, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.

Voir également