Gör geometriska former med ett C# GIS-bibliotek

Den här guiden är för .NET-utvecklare som söker hjälp med att rita geometriska former programmatiskt. Dessa former inkluderar polygoner, punkter, linjer, böjda linjer och mer. Så låt oss sikta på att utveckla en lösning som automatiserar hela processen med att rita former. Därför kommer vi för detta ändamål att välja Aspose.GIS för .NET som är ett kraftfullt C# GIS-bibliotek. Dessutom är den lätt och erbjuder ett gäng funktioner för programmatisk manipulation och skapandet av olika typer av former. Nu ska vi gå över till installationen och sedan implementeringen av hur man gör geometriska former i C#.

Installation av C# GIS-bibliotek

Aspose.GIS for .NET erbjuder robust installation, ladda ned DLL-filen eller så kan du köra följande kommando i NuGet Package Manager. Det är allt.

Installation av C# gis bibliotek

Kurvlinjer Ritning i .NET - Kodprov

Följande steg och kodexemplet visar hur man ritar böjda linjer i en Shapefile.

  • Skapa lagret och öppna det för att lägga till nya funktioner genom att anropa metoden Create.
  • Anropa metoden ConstructFeature för att skapa en ny funktion.
  • Initiera en ny instans av klassen MultiCurve.
  • Anropa metoden Add för att lägga till en linjesträng, cirkulär sträng och sammansatt kurva till samlingen.
  • Ställ in Geometry för funktionen.
  • Anropa metoden Add för att lägga till en funktion till lagret.
string path = "/CreateMultiCurve.shp";
// Skapa lagret och öppna det för att lägga till nya funktioner genom att anropa metoden Skapa. 
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Anropa ConstructFeature-metoden för att skapa en ny funktion. 
    var feature = layer.ConstructFeature();
    // Initiera en ny instans av MultiCurve-klassen.       
    var multiCurve = new MultiCurve();
    // Anropa Add-metoden för att lägga till en linjesträng, cirkulär sträng och sammansatt kurva till samlingen.     
    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))"));
    // Ställ in funktionens geometri. 
    feature.Geometry = multiCurve;
    // Anropa Add-metoden för att lägga till en funktion i lagret. 
    layer.Add(feature);
}
kurvlinjer som ritas i .NET

På samma sätt kan du rita raka linjer genom att följa kodexemplet som nämns nedan:

  • Skapa en instans av klassen LineString.
  • Lägg till punkter i slutet av raden genom att anropa metoden AddPoint.
 string path = "/CreateLine.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Skapa en instans av klassen LineString.     
    LineString line = new LineString();
    var feature = layer.ConstructFeature();
    // Lägg till punkter i ändarna av raden genom att anropa AddPoint-metoden.
    line.AddPoint(78.65, -32.65);
    line.AddPoint(-98.65, 12.65);
    feature.Geometry = line;
    layer.Add(feature);
}
linjer som ritas i dotnet

Skapa polygon programmatiskt - Kodprov

Därefter visar detta avsnitt skapandet av en polygon i C# med Aspose.GIS för .NET.

  • Instantiera ett objekt av klassen Polygon.
  • Skapa en instans av klassen LinearRing.
  • Lägg till punkter i slutet av raderna genom att anropa metoden AddPoint.
  • Ställ in den yttre ringen genom att ställa in värdet för egenskapen ExteriorRing.
string path = "/CreatePolygons.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Instantiera ett objekt av polygonklassen.
    Polygon polygon = new Polygon();
    // Skapa en instans av klassen LinearRing.
    LinearRing ring = new LinearRing();
    // Lägger till punkter i slutet av raderna.        
    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);
    // Ställ in den yttre ringen genom att ställa in värdet på egenskapen ExteriorRing.
    polygon.ExteriorRing = ring;
    var feature = layer.ConstructFeature();
    feature.Geometry = polygon;
    layer.Add(feature);
}
Skapa polygon programmatiskt

Generera geometriska punkter - Kodprov

Detta C# GIS-bibliotek erbjuder metoder för att skapa geometriska punkter programmatiskt:

  • Skapa en instans av klassen MultiPoint och anrop Add-metoden för att skapa poäng.
string path = "/CreatePoints.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Skapa en instans av MultiPoint-klassen och anrop Add-metoden för att skapa poäng. 
    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);
}
Generera geometriska punkter

Gör geometriska former i C# - Skaffa en gratis licens

Du kan få en gratis tillfällig licens för att prova detta C# GIS-bibliotek utan utvärderingsbegränsningar.

Summering

Du har lärt dig hur man gör geometriska former i C# med Aspose.GIS for .NET. Dessutom implementerade vi funktioner som att skapa polygoner, linjer, böjda linjer och punkter. Så, det här är några bestämmelser som vi utforskade, det finns en stor hög med andra coola funktioner som erbjuds av detta C# GIS-bibliotek. Vi uppmuntrar dig att besöka vår dokumentation, API refs och GitHub repo för vidare utforskning.

Hör gärna av dig

Du kan meddela oss om dina frågor eller frågor på vårt forum.

Se även