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
- Desenho de linhas curvas em .NET - exemplo de código
- Criar polígono programaticamente – exemplo de código
- Gerar pontos geométricos - amostra de código
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.
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);
}
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);
}
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);
}
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);
}
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.