Créer des formes géométriques à l'aide d'une bibliothèque SIG C#

Ce guide est destiné aux développeurs .NET qui recherchent de l’aide pour dessiner des formes géométriques par programmation. Ces formes incluent des polygones, des points, des lignes, des lignes courbes, etc. Notre objectif est donc de développer une solution qui automatise l’ensemble du processus de dessin de formes. Par conséquent, à cet effet, nous opterons pour Aspose.GIS for .NET qui est une puissante bibliothèque SIG C#. De plus, il est léger et offre de nombreuses fonctionnalités pour la manipulation programmatique et la création de différents types de formes. Passons maintenant à l’installation puis à la mise en œuvre de la création de formes géométriques en C#.

Installation de la bibliothèque SIG C#

Aspose.GIS for .NET propose une installation robuste, téléchargez le fichier DLL ou vous pouvez exécuter la commande suivante dans NuGet Package Manager. C’est ça.

Installation de la bibliothèque SIG C#

Dessin de lignes de courbe dans .NET - Exemple de code

Les étapes suivantes et l’exemple de code montrent comment dessiner des lignes courbes dans un Shapefile.

  • Créez la couche et ouvrez-la pour ajouter de nouvelles fonctionnalités en appelant la méthode Create.
  • Invoquez la méthode ConstructFeature pour créer une nouvelle fonctionnalité.
  • Initialisez une nouvelle instance de la classe MultiCurve.
  • Appelez la méthode Add pour ajouter une chaîne de ligne, une chaîne circulaire et une courbe composée à la collection.
  • Définissez la Géométrie de la fonctionnalité.
  • Invoquez la méthode Add pour ajouter une entité à la couche.
string path = "/CreateMultiCurve.shp";
// Créez la couche et ouvrez-la pour ajouter de nouvelles fonctionnalités en appelant la méthode Create. 
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Appelez la méthode ConstructFeature pour créer une nouvelle fonctionnalité. 
    var feature = layer.ConstructFeature();
    // Initialisez une nouvelle instance de la classe MultiCurve.       
    var multiCurve = new MultiCurve();
    // Appelez la méthode Add pour ajouter une chaîne de ligne, une chaîne circulaire et une courbe composée à la collection.     
    multiCurve.Add(Geometry.FromText("LineString (0 0, 1 0)"));
    multiCurve.Add(Geometry.FromText("CircularString (2 2, 3 3, 4 2)"));
    multiCurve.Add(Geometry.FromText("CompoundCurve ((0 1, 0 0), CircularString (0 0, 3 3, 6 0))"));
    // Définissez la géométrie de l'entité. 
    feature.Geometry = multiCurve;
    // Appelez la méthode Add pour ajouter une entité à la couche. 
    layer.Add(feature);
}
dessin de lignes courbes dans .NET

De même, vous pouvez tracer des lignes droites en suivant l’exemple de code mentionné ci-dessous :

  • Créez une instance de la classe LineString.
  • Ajoutez des points aux extrémités de la ligne en appelant la méthode AddPoint.
 string path = "/CreateLine.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Créez une instance de la classe LineString.     
    LineString line = new LineString();
    var feature = layer.ConstructFeature();
    // Ajoutez des points aux extrémités de la ligne en appelant la méthode AddPoint.
    line.AddPoint(78.65, -32.65);
    line.AddPoint(-98.65, 12.65);
    feature.Geometry = line;
    layer.Add(feature);
}
dessin de lignes dans dotnet

Créer un polygone par programme - Exemple de code

Ensuite, cette section montre la création d’un polygone en C# à l’aide d’Aspose.GIS for .NET.

  • Instanciez un objet de la classe Polygon.
  • Créez une instance de la classe LinearRing.
  • Ajoutez des points à la fin des lignes en appelant la méthode AddPoint.
  • Définissez l’anneau extérieur en définissant la valeur de la propriété ExteriorRing.
string path = "/CreatePolygons.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Instanciez un objet de la classe Polygon.
    Polygon polygon = new Polygon();
    // Créez une instance de la classe LinearRing.
    LinearRing ring = new LinearRing();
    // Ajoute des points à la fin des lignes.        
    ring.AddPoint(50.02, 36.22);
    ring.AddPoint(49.99, 36.26);
    ring.AddPoint(49.97, 36.23);
    ring.AddPoint(49.98, 36.17);
    ring.AddPoint(50.02, 36.22);
    // Définissez l’anneau extérieur en définissant la valeur de la propriété OutsideRing.
    polygon.ExteriorRing = ring;
    var feature = layer.ConstructFeature();
    feature.Geometry = polygon;
    layer.Add(feature);
}
Créer un polygone par programme

Générer des points géométriques - Exemple de code

Cette bibliothèque SIG C# propose des méthodes pour créer des points géométriques par programmation :

  • Créez une instance de la classe MultiPoint et appelez la méthode Add pour créer des points.
string path = "/CreatePoints.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Créez une instance de la classe MultiPoint et appelez la méthode Add pour créer des points. 
    MultiPoint multipoint = new MultiPoint();
    multipoint.Add(new Point(1, 2));
    multipoint.Add(new Point(3, 4));
    var feature = layer.ConstructFeature();
    feature.Geometry = multipoint;
    layer.Add(feature);
}
Générer des points géométriques

Créez des formes géométriques en C# - Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite pour essayer cette bibliothèque SIG C# sans limitations d’évaluation.

En résumé

Vous avez appris à créer des formes géométriques en C# à l’aide de Aspose.GIS for .NET. De plus, nous avons implémenté des fonctionnalités telles que la création de polygones, de lignes, de lignes courbes et de points. Voici donc quelques dispositions que nous avons explorées. Il existe une énorme pile d’autres fonctionnalités intéressantes offertes par cette bibliothèque SIG C#. Nous vous encourageons à visiter nos références documentation, API et GitHub pour une exploration plus approfondie.

N’hésitez pas à nous contacter

Vous pouvez nous faire part de vos questions ou requêtes sur notre forum.

Voir également