Créer Modifier le fichier KML

KML est l’abréviation de Keyhole Markup Language qui est une extension de la notation XML. Il s’agit d’un format de fichier SIG et est utilisé pour afficher des informations géographiques. Vous pouvez créer des fichiers KML par programme, ainsi que lire des informations à partir de ceux-ci à l’aide du langage C#. Explorons les sections suivantes liées au format de fichier KML :

Création ou lecture de fichiers KML - Installation de l’API

Aspose.GIS for .NET L’API prend en charge l’utilisation de fichiers KML ainsi que plusieurs autres formats de fichiers pris en charge. Installons l’API pour manipuler les fichiers vectoriels dans les applications basées sur .NET. Vous devez télécharger l’API depuis la section New Releases ou depuis la galerie NuGet avec la commande d’installation suivante :

PM> Install-Package Aspose.GIS

Après avoir configuré l’API, vous êtes prêt à créer ou à manipuler des fichiers KML. Désormais, vous n’avez plus à vous soucier des détails mineurs, car vous n’avez qu’à effectuer de simples appels d’API. Passons à plus de détails :

Créer un fichier KML par programmation à l’aide de C#

Les fichiers KML suivent la structure basée sur les balises comme les fichiers XML. Vous pouvez utiliser des fichiers KML pour localiser des emplacements, planifier ou suivre vos voyages et de nombreux autres scénarios importants. Vous pouvez créer des fichiers KML par programmation à l’aide de C# en suivant les étapes ci-dessous :

  1. Créer un calque
  2. Initialiser feature pour la géométrie et les attributs
  3. Définir la valeur de différents attributs
  4. Ajouter la fonctionnalité à une couche spécifique

L’extrait de code suivant est une démonstration basique et simple de la création de fichiers KML par programmation en C# :

// Créer un calque
using (var layer = Drivers.Kml.CreateLayer(dataDir + "Kml_File_out.kml"))
{
    // Initialiser la fonction pour la géométrie et les attributs
    layer.Attributes.Add(new FeatureAttribute("string_data", AttributeDataType.String));
    layer.Attributes.Add(new FeatureAttribute("int_data", AttributeDataType.Integer));
    layer.Attributes.Add(new FeatureAttribute("bool_data", AttributeDataType.Boolean));
    layer.Attributes.Add(new FeatureAttribute("float_data", AttributeDataType.Double));

    // Définir la valeur de différents attributs
    Feature feature = layer.ConstructFeature();
    feature.SetValue("string_data", "string value");
    feature.SetValue("int_data", 10);
    feature.SetValue("bool_data", true);
    feature.SetValue("float_data", 3.14);
    feature.Geometry = new LineString(new[] { new Point(0, 0), new Point(1, 1) });

    // Ajouter la fonctionnalité à une couche spécifique
    layer.Add(feature);

    Feature feature2 = layer.ConstructFeature();
    feature2.SetValue("string_data", "string value2");
    feature2.SetValue("int_data", 100);
    feature2.SetValue("bool_data", false);
    feature2.SetValue("float_data", 3.1415);
    feature2.Geometry = Geometry.Null;

    layer.Add(feature2);
}

Lire des fonctionnalités à partir de fichiers KML par programmation à l’aide de C#

Les fonctionnalités de base d’un fichier KML peuvent inclure des repères, des descriptions, des chemins, etc. Continuons avec le fichier KML que nous avons créé dans l’exemple ci-dessus. Vous pouvez lire n’importe quelle fonctionnalité d’un fichier KML en suivant les étapes ci-dessous :

  1. Charger le fichier KML d’entrée avec la méthode OpenLayer
  2. Obtenir le nombre de fonctionnalités
  3. Accéder à une fonctionnalité à un index spécifique
  4. Lire les fonctionnalités du fichier KML

L’extrait de code ci-dessous montre comment lire les fonctionnalités d’un fichier KML par programmation en C# :

// Charger le fichier KML d'entrée avec la méthode OpenLayer
using (var layer = Drivers.Kml.OpenLayer(dataDir + "Kml_File.kml"))
{
    // Obtenir le nombre de fonctionnalités
    int count = layer.Count;

    // Accéder à une fonctionnalité à un index spécifique
    Feature featureAtIndex1 = layer[0];

    Console.WriteLine(featureAtIndex1.GetValue<string>("string_data"));

    Feature featureAtIndex2 = layer[1];

    Console.WriteLine(featureAtIndex2.GetValue<string>("string_data"));
}

Conclusion

Dans cet article, nous avons exploré comment travailler avec des fichiers KML. Nous avons appris à créer un fichier KML ou à lire ses fonctionnalités par programmation à l’aide d’un exemple de code C#. De même, vous pouvez découvrir comment travailler avec plusieurs autres formats de fichiers SIG. Vous pouvez visiter Product Documentation ou nous écrire sur Free Support Forum pour discuter de vos préoccupations. Nous serions ravis de vous aider !

Voir également