Crear formas geométricas usando una biblioteca GIS de C#

Esta guía está dirigida a desarrolladores .NET que buscan ayuda para dibujar formas geométricas mediante programación. Estas formas incluyen polígonos, puntos, líneas, líneas curvas y más. Entonces, apuntemos a desarrollar una solución que automatice todo el proceso de dibujar formas. Por lo tanto, para este propósito, optaremos por Aspose.GIS for .NET que es una potente biblioteca SIG de C#. Además, es liviano y ofrece una serie de funciones para la manipulación programática y la creación de varios tipos de formas. Ahora, pasaremos a la instalación y luego a la implementación de cómo crear formas geométricas en C#.

Instalación de la biblioteca C# SIG

Aspose.GIS for .NET ofrece una instalación sólida, descargue el archivo DLL o puede ejecutar el siguiente comando en NuGet Administrador de paquetes. Eso es todo.

Instalación de la biblioteca C# gis

Dibujo de líneas curvas en .NET: ejemplo de código

Los siguientes pasos y el código de ejemplo demuestran cómo dibujar líneas curvas en un Shapefile.

  • Cree la capa y ábrala para agregar nuevas funciones llamando al método Crear.
  • Invoque el método ConstructFeature para crear una nueva característica.
  • Inicialice una nueva instancia de la clase MultiCurve.
  • Invoque el método Agregar para agregar una cadena de líneas, una cadena circular y una curva compuesta a la colección.
  • Establezca la Geometría de la característica.
  • Invoque el método Agregar para agregar una característica a la capa.
string path = "/CreateMultiCurve.shp";
// Cree la capa y ábrala para agregar nuevas funciones llamando al método Create. 
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Invoque el método ConstructFeature para crear una nueva característica. 
    var feature = layer.ConstructFeature();
    // Inicialice una nueva instancia de la clase MultiCurve.       
    var multiCurve = new MultiCurve();
    // Invoque el método Agregar para agregar una cadena de línea, una cadena circular y una curva compuesta a la colección.     
    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))"));
    // Establezca la geometría de la característica. 
    feature.Geometry = multiCurve;
    // Invoque el método Agregar para agregar una entidad a la capa. 
    layer.Add(feature);
}
dibujo de líneas curvas en .NET

De manera similar, puede dibujar líneas rectas siguiendo el ejemplo de código que se menciona a continuación:

  • Cree una instancia de la clase LineString.
  • Agregue puntos a los extremos de la línea llamando al método AddPoint.
 string path = "/CreateLine.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Cree una instancia de la clase LineString.     
    LineString line = new LineString();
    var feature = layer.ConstructFeature();
    // Agregue puntos a los extremos de la línea llamando al método AddPoint.
    line.AddPoint(78.65, -32.65);
    line.AddPoint(-98.65, 12.65);
    feature.Geometry = line;
    layer.Add(feature);
}
dibujo de líneas en dotnet

Crear polígono mediante programación: ejemplo de código

A continuación, esta sección muestra la creación de un polígono en C# usando Aspose.GIS for .NET.

  • Crea una instancia de un objeto de la clase Polygon.
  • Cree una instancia de la clase LinearRing.
  • Agregue puntos al final de las líneas llamando al método AddPoint.
  • Establezca el anillo exterior estableciendo el valor de la propiedad ExteriorRing.
string path = "/CreatePolygons.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Crear una instancia de un objeto de la clase Polygon.
    Polygon polygon = new Polygon();
    // Cree una instancia de la clase LinearRing.
    LinearRing ring = new LinearRing();
    // Agrega puntos al final de las líneas.        
    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);
    // Establezca el anillo exterior estableciendo el valor de la propiedad ExteriorRing.
    polygon.ExteriorRing = ring;
    var feature = layer.ConstructFeature();
    feature.Geometry = polygon;
    layer.Add(feature);
}
Crear polígono mediante programación

Generar puntos geométricos: muestra de código

Esta biblioteca C# GIS ofrece métodos para crear puntos geométricos mediante programación:

  • Cree una instancia de la clase MultiPoint y llame al método Add para crear puntos.
string path = "/CreatePoints.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Cree una instancia de la clase MultiPoint y llame al método Add para crear puntos. 
    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);
}
Generar puntos geométricos

Cree formas geométricas en C#: obtenga una licencia gratuita

Puede obtener una licencia temporal gratuita para probar esta biblioteca C# GIS sin limitaciones de evaluación.

Resumiendo

Ha aprendido a crear formas geométricas en C# usando Aspose.GIS for .NET. Además, implementamos funcionalidades como creación de polígonos, líneas, líneas curvas y puntos. Entonces, estas son algunas de las disposiciones que exploramos; hay una gran cantidad de otras características interesantes que ofrece esta biblioteca C# GIS. Le recomendamos que visite nuestra documentación, API referencias y GitHub repositorio para una mayor exploración.

Siéntase libre de comunicarse

Puedes dejarnos saber tus dudas o consultas en nuestro foro.

Ver también