Faça formas geométricas usando uma biblioteca GIS C#

Este guia é para desenvolvedores .NET que buscam ajuda para desenhar formas geométricas programaticamente. Essas formas incluem polígonos, pontos, linhas, linhas curvas e muito mais. Então, vamos desenvolver uma solução que automatize todo o processo de desenho de formas. Portanto, para este propósito, optaremos por Aspose.GIS for .NET que é uma poderosa biblioteca GIS C#. Além disso, é leve e oferece diversos recursos para manipulação programática e criação de diversos tipos de formas. Agora iremos para a instalação e depois a implementação de como fazer formas geométricas em C#.

Instalação da biblioteca C# GIS

Aspose.GIS for .NET oferece instalação robusta, baixe o arquivo DLL ou você pode executar o seguinte comando no NuGet Gerenciador de pacotes. É isso.

Instalação da biblioteca C# gis

Desenho de linhas curvas em .NET - exemplo de código

As etapas a seguir e o exemplo de código demonstram como desenhar linhas curvas em um Shapefile.

  • Crie a camada e abra-a para adicionar novos recursos chamando o método Create.
  • Invoque o método ConstructFeature para criar um novo recurso.
  • Inicialize uma nova instância da classe MultiCurve.
  • Invoque o método Add para adicionar uma string de linha, uma string circular e uma curva composta à coleção.
  • Defina a Geometria do recurso.
  • Invoque o método Add para adicionar uma feição à camada.
string path = "/CreateMultiCurve.shp";
// Crie a camada e abra-a para adicionar novos recursos chamando o método Create. 
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Invoque o método ConstructFeature para criar um novo recurso. 
    var feature = layer.ConstructFeature();
    // Inicialize uma nova instância da classe MultiCurve.       
    var multiCurve = new MultiCurve();
    // Invoque o método Add para adicionar uma string de linha, uma string circular e uma curva composta à coleção.     
    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))"));
    // Defina a geometria do recurso. 
    feature.Geometry = multiCurve;
    // Invoque o método Add para adicionar um recurso à camada. 
    layer.Add(feature);
}
linhas curvas desenhando em .NET

Da mesma forma, você pode desenhar linhas retas seguindo o exemplo de código mencionado abaixo:

  • Crie uma instância da classe LineString.
  • Adicione pontos ao final da linha chamando o método AddPoint.
 string path = "/CreateLine.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Crie uma instância da classe LineString.     
    LineString line = new LineString();
    var feature = layer.ConstructFeature();
    // Adicione pontos às extremidades da linha chamando o método AddPoint.
    line.AddPoint(78.65, -32.65);
    line.AddPoint(-98.65, 12.65);
    feature.Geometry = line;
    layer.Add(feature);
}
desenho de linhas em dotnet

Criar polígono programaticamente – exemplo de código

A seguir, esta seção mostra a criação de um polígono em C# usando Aspose.GIS for .NET.

  • Instancie um objeto da classe Polygon.
  • Crie uma instância da classe LinearRing.
  • Adicione pontos ao final das linhas chamando o método AddPoint.
  • Defina o anel externo definindo o valor da propriedade ExteriorRing.
string path = "/CreatePolygons.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Instancie um objeto da classe Polygon.
    Polygon polygon = new Polygon();
    // Crie uma instância da classe LinearRing.
    LinearRing ring = new LinearRing();
    // Adiciona pontos ao final das linhas.        
    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);
    // Defina o anel externo definindo o valor da propriedade ExteriorRing.
    polygon.ExteriorRing = ring;
    var feature = layer.ConstructFeature();
    feature.Geometry = polygon;
    layer.Add(feature);
}
Criar polígono programaticamente

Gerar pontos geométricos - exemplo de código

Esta biblioteca C# GIS oferece métodos para criar pontos geométricos programaticamente:

  • Crie uma instância da classe MultiPoint e chame o método Add para criar pontos.
string path = "/CreatePoints.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Crie uma instância da classe MultiPoint e chame o método Add para criar pontos. 
    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);
}
Gerar pontos geométricos

Crie formas geométricas em C# – Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para experimentar esta biblioteca C# GIS sem limitações de avaliação.

Resumindo

Você aprendeu como criar formas geométricas em C# usando Aspose.GIS for .NET. Além disso, implementamos funcionalidades como criação de polígonos, linhas, linhas curvas e pontos. Portanto, essas são algumas disposições que exploramos, há uma enorme pilha de outros recursos interessantes oferecidos por esta biblioteca GIS C#. Recomendamos que você visite nossa documentação, API referências e GitHub repositório para uma exploração mais aprofundada.

Sinta-se à vontade para entrar em contato

Você pode nos informar sobre suas dúvidas ou dúvidas em nosso fórum.

Veja também