Erstellen Sie geometrische Formen mit einer C#-GIS-Bibliothek

Dieses Handbuch richtet sich an .NET-Entwickler, die Hilfe beim programmgesteuerten Zeichnen geometrischer Formen suchen. Zu diesen Formen gehören Polygone, Punkte, Linien, gekrümmte Linien und mehr. Ziel ist es also, eine Lösung zu entwickeln, die den gesamten Prozess des Zeichnens von Formen automatisiert. Zu diesem Zweck entscheiden wir uns daher für Aspose.GIS for .NET, eine leistungsstarke C#-GIS-Bibliothek. Darüber hinaus ist sie leicht und bietet eine Reihe von Funktionen für die programmgesteuerte Manipulation und die Erstellung verschiedener Arten von Formen. Nun gehen wir zur Installation und anschließend zur Implementierung über, wie man geometrische Formen in C# erstellt.

Installation der C#-GIS-Bibliothek

Aspose.GIS for .NET bietet eine robuste Installation. Laden Sie die DLL-Datei herunter oder führen Sie den folgenden Befehl im NuGet Package Manager aus. Das ist alles.

Installation der C#-GIS-Bibliothek

Zeichnen von Kurvenlinien in .NET - Codebeispiel

Die folgenden Schritte und das Codebeispiel demonstrieren die Vorgehensweise beim Zeichnen gekrümmter Linien in einem Shapefile.

  • Erstellen Sie den Layer und öffnen Sie ihn, um neue Features hinzuzufügen, indem Sie die Methode Create aufrufen.
  • Rufen Sie die Methode ConstructFeature auf, um ein neues Feature zu erstellen.
  • Initialisieren Sie eine neue Instanz der Klasse MultiCurve.
  • Rufen Sie die Methode Add auf, um der Sammlung eine Linienfolge, eine Kreisfolge und eine zusammengesetzte Kurve hinzuzufügen.
  • Legen Sie die Geometrie des Features fest.
  • Rufen Sie die Methode Add auf, um dem Layer ein Feature hinzuzufügen.
string path = "/CreateMultiCurve.shp";
// Erstellen Sie die Ebene und öffnen Sie sie, um neue Funktionen hinzuzufügen, indem Sie die Methode „Create“ aufrufen. 
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Rufen Sie die Methode „ConstructFeature“ auf, um ein neues Feature zu erstellen. 
    var feature = layer.ConstructFeature();
    // Initialisieren Sie eine neue Instanz der MultiCurve Klasse.       
    var multiCurve = new MultiCurve();
    // Rufen Sie die Methode „Add“ auf, um der Sammlung eine Linienfolge, eine Kreisfolge und eine zusammengesetzte Kurve hinzuzufügen.     
    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))"));
    // Legen Sie die Geometrie des Features fest. 
    feature.Geometry = multiCurve;
    // Rufen Sie die Methode „Add“ auf, um der Ebene ein Feature hinzuzufügen. 
    layer.Add(feature);
}
Zeichnen von Kurvenlinien in .NET

Ebenso können Sie gerade Linien zeichnen, indem Sie dem unten aufgeführten Codebeispiel folgen:

  • Erstellen Sie eine Instanz der Klasse LineString.
  • Fügen Sie an den Enden der Linie Punkte hinzu, indem Sie die Methode AddPoint aufrufen.
 string path = "/CreateLine.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Erstellen Sie eine Instanz der LineString Klasse.     
    LineString line = new LineString();
    var feature = layer.ConstructFeature();
    // Fügen Sie den Enden der Linie Punkte hinzu, indem Sie die Methode AddPoint aufrufen.
    line.AddPoint(78.65, -32.65);
    line.AddPoint(-98.65, 12.65);
    feature.Geometry = line;
    layer.Add(feature);
}
Linien zeichnen in dotnet

Polygon programmgesteuert erstellen - Codebeispiel

Als Nächstes zeigt dieser Abschnitt die Erstellung eines Polygons in C# mit Aspose.GIS for .NET.

  • Instanziieren Sie ein Objekt der Klasse Polygon.
  • Erstellen Sie eine Instanz der Klasse LinearRing.
  • Fügen Sie am Ende der Linien Punkte hinzu, indem Sie die Methode AddPoint aufrufen.
  • Legen Sie den äußeren Ring fest, indem Sie den Wert der Eigenschaft ExteriorRing festlegen.
string path = "/CreatePolygons.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Instanziieren Sie ein Objekt der Polygon Klasse.
    Polygon polygon = new Polygon();
    // Erstellen Sie eine Instanz der LinearRing Klasse.
    LinearRing ring = new LinearRing();
    // Fügt am Ende der Linien Punkte hinzu.        
    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);
    // Legen Sie den äußeren Ring fest, indem Sie den Wert der Eigenschaft „ExterieurRing“ festlegen.
    polygon.ExteriorRing = ring;
    var feature = layer.ConstructFeature();
    feature.Geometry = polygon;
    layer.Add(feature);
}
Polygon programmgesteuert erstellen

Geometrische Punkte generieren - Codebeispiel

Diese C#-GIS-Bibliothek bietet Methoden zum programmgesteuerten Erstellen geometrischer Punkte:

  • Erstellen Sie eine Instanz der Klasse MultiPoint und rufen Sie die Methode Add auf, um Punkte zu erstellen.
string path = "/CreatePoints.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Erstellen Sie eine Instanz der MultiPoint Klasse und rufen Sie die Add-Methode auf, um Punkte zu erstellen. 
    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);
}
Geometrische Punkte generieren

Erstellen Sie geometrische Formen in C# – Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose vorübergehende Lizenz erhalten, um diese C#-GIS-Bibliothek ohne Evaluierungsbeschränkungen auszuprobieren.

Zusammenfassen

Sie haben gelernt, wie Sie mit Aspose.GIS for .NET geometrische Formen in C# erstellen. Darüber hinaus haben wir Funktionen wie das Erstellen von Polygonen, Linien, gekrümmten Linien und Punkten implementiert. Dies sind also einige der von uns untersuchten Funktionen. Diese C#-GIS-Bibliothek bietet noch eine ganze Reihe weiterer cooler Funktionen. Wir empfehlen Ihnen, unsere Dokumentation, API-Referenzen und das GitHub-Repository für weitere Erkundungen zu besuchen.

Kontaktieren Sie uns gerne

Sie können uns Ihre Fragen oder Anfragen in unserem Forum mitteilen.

Siehe auch