Crea forme geometriche utilizzando una libreria GIS C#

Questa guida è per gli sviluppatori .NET che cercano aiuto nel disegnare forme geometriche a livello di codice. Queste forme includono poligoni, punti, linee, linee curve e altro. Quindi, miriamo a sviluppare una soluzione che automatizzi l’intero processo di disegno delle forme. Pertanto, a questo scopo, opteremo per Aspose.GIS for .NET che è una potente libreria GIS C#. Inoltre, è leggero e offre numerose funzionalità per la manipolazione programmatica e la creazione di vari tipi di forme. Ora passeremo all’installazione e quindi all’implementazione di come creare forme geometriche in C#.

Installazione della libreria GIS C#

Aspose.GIS for .NET offre un’installazione solida, scarica il file DLL oppure puoi eseguire il comando seguente in NuGet Gestione pacchetti. Questo è tutto.

Installazione della libreria C# gis

Disegno di linee curve in .NET - Esempio di codice

I passaggi seguenti e l’esempio di codice dimostrano come disegnare linee curve in uno Shapefile.

  • Crea il livello e aprilo per aggiungere nuove funzionalità chiamando il metodo Create.
  • Richiamare il metodo ConstructFeature per creare una nuova funzionalità.
  • Inizializza una nuova istanza della classe MultiCurve.
  • Richiamare il metodo Aggiungi per aggiungere una stringa di linea, una stringa circolare e una curva composta alla raccolta.
  • Impostare la Geometria della funzione.
  • Richiamare il metodo Aggiungi per aggiungere una funzionalità al livello.
string path = "/CreateMultiCurve.shp";
// Crea il livello e aprilo per aggiungere nuove funzionalità chiamando il metodo Create. 
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Richiamare il metodo ConstructFeature per creare una nuova funzionalità. 
    var feature = layer.ConstructFeature();
    // Inizializza una nuova istanza della classe MultiCurve.       
    var multiCurve = new MultiCurve();
    // Richiamare il metodo Add per aggiungere una stringa di linea, una stringa circolare e una curva composta alla raccolta.     
    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))"));
    // Imposta la geometria della feature. 
    feature.Geometry = multiCurve;
    // Richiama il metodo Add per aggiungere una feature al layer. 
    layer.Add(feature);
}
linee curve che disegnano in .NET

Allo stesso modo, puoi disegnare linee rette seguendo l’esempio di codice menzionato di seguito:

  • Creare un’istanza della classe LineString.
  • Aggiungi punti alle estremità della linea chiamando il metodo AddPoint.
 string path = "/CreateLine.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Crea un'istanza della classe LineString.     
    LineString line = new LineString();
    var feature = layer.ConstructFeature();
    // Aggiungi punti alle estremità della linea chiamando il metodo AddPoint.
    line.AddPoint(78.65, -32.65);
    line.AddPoint(-98.65, 12.65);
    feature.Geometry = line;
    layer.Add(feature);
}
linee di disegno in dotnet

Crea poligono a livello di codice: esempio di codice

Successivamente, questa sezione mostra la creazione di un poligono in C# utilizzando Aspose.GIS for .NET.

  • Istanziare un oggetto della classe Polygon.
  • Creare un’istanza della classe LinearRing.
  • Aggiungi punti alla fine delle righe chiamando il metodo AddPoint.
  • Impostare l’anello esterno impostando il valore della proprietà ExteriorRing.
string path = "/CreatePolygons.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Istanziare un oggetto della classe Polygon.
    Polygon polygon = new Polygon();
    // Crea un'istanza della classe LinearRing.
    LinearRing ring = new LinearRing();
    // Aggiunge punti alla fine delle linee.        
    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);
    // Imposta l'anello esterno impostando il valore della proprietà ExteriorRing.
    polygon.ExteriorRing = ring;
    var feature = layer.ConstructFeature();
    feature.Geometry = polygon;
    layer.Add(feature);
}
Crea poligono a livello di codice

Genera punti geometrici - Esempio di codice

Questa libreria GIS C# offre metodi per creare punti geometrici a livello di codice:

  • Crea un’istanza della classe MultiPoint e chiama il metodo Add per creare punti.
string path = "/CreatePoints.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Crea un'istanza della classe MultiPoint e chiama il metodo Add per creare punti. 
    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);
}
Genera punti geometrici

Crea forme geometriche in C#: ottieni una licenza gratuita

Puoi ottenere una licenza temporanea gratuita per provare questa libreria GIS C# senza limitazioni di valutazione.

Riassumendo

Hai imparato come creare forme geometriche in C# utilizzando Aspose.GIS for .NET. Inoltre, abbiamo implementato funzionalità come la creazione di poligoni, linee, linee curve e punti. Quindi, queste sono alcune disposizioni che abbiamo esplorato, c’è un’enorme quantità di altre interessanti funzionalità offerte da questa libreria C# GIS. Ti invitiamo a visitare la nostra documentazione, i riferimenti API e il repository GitHub per ulteriori approfondimenti.

Sentiti libero di contattarci

Puoi farci sapere le tue domande o dubbi sul nostro forum.

Guarda anche