Este tutorial rápido explica cómo crear un Shapefile en C# sin instalar ninguna otra herramienta de terceros. Puede crear una capa vectorial utilizando el controlador Shapefile; sin embargo, hay otras opciones disponibles para crear diferentes tipos de capas vectoriales. Puede crear un archivo SHP en C# agregando atributos, puntos de geometría y características en la capa vectorial que se guarda como un archivo SHP.
Pasos para crear un nuevo Shapefile en C#
- Configure el entorno de desarrollo para agregar Aspose.GIS for .NET desde el administrador de paquetes Nuget
- Cree una capa vectorial usando el objeto VectorLayer class proporcionando el nombre del archivo SHP y el controlador respectivo
- Establezca diferentes atributos para la colección de atributos en la capa vectorial recién creada
- Cree un feature usando la función ConstructFeature en el objeto VectorLayer
- Cree una instancia del objeto de clase Punto y establezca la propiedad Geometría de la nueva característica
- Agregue esta característica a la capa vectorial
Estos pasos exploran el proceso cómo crear un Shapefile en C# proporcionando los detalles de configuración, las clases necesarias, los espacios de nombres y los métodos necesarios para desarrollar la aplicación. Aquí se comparte el enfoque paso a paso para desarrollar la aplicación para generar Shapefile en C#, donde primero se crea una capa vectorial de tipo Shapefile y luego se le agregan diferentes atributos. De manera similar, para la forma vectorial recién creada, se construye una función y luego se establecen su posición geométrica y los valores de las funciones.
Código para crear un archivo de formas en C#
using System; | |
using Aspose.Gis; | |
namespace AsposeProjects | |
{ | |
class Program | |
{ | |
static void Main(string[] args) // Main function to create a Shapefile in C# | |
{ | |
// Initialize a license | |
Aspose.Gis.License lic = new Aspose.Gis.License(); | |
lic.SetLicense(@"Aspose.Total.lic"); | |
// Create a vector layer | |
using (VectorLayer vecLayer = VectorLayer.Create("sample.shp", Drivers.Shapefile)) | |
{ | |
// Set attributes | |
vecLayer.Attributes.Add(new FeatureAttribute("ProductName", AttributeDataType.String)); | |
vecLayer.Attributes.Add(new FeatureAttribute("City", AttributeDataType.String)); | |
vecLayer.Attributes.Add(new FeatureAttribute("Price", AttributeDataType.Integer)); | |
vecLayer.Attributes.Add(new FeatureAttribute("Expiry", AttributeDataType.DateTime)); | |
// Set features | |
Feature firstFeature = vecLayer.ConstructFeature(); | |
firstFeature.Geometry = new Aspose.Gis.Geometries.Point(34.02, 71.52); | |
firstFeature.SetValue("ProductName", "Butter"); | |
firstFeature.SetValue("City", "Peshawar"); | |
firstFeature.SetValue("Price", 300); | |
firstFeature.SetValue("Expiry", new DateTime(2022, 12,15)); | |
// Add feature to the layer | |
vecLayer.Add(firstFeature); | |
} | |
System.Console.WriteLine("Done"); | |
} | |
} | |
} |
Este código usa la opción Drivers.Shapefile para crear la capa vectorial; sin embargo, también puede usar otras opciones como GeoJson, Kml, Gpx, Gml, TopoJson, etc. para crear un tipo diferente de capa vectorial. Esta clase Vectorlayer no solo contiene los atributos y las características, sino que también contiene muchas opciones de conversión donde puede convertir una capa a diferentes formatos.
Este tutorial nos ha enseñado a crear un archivo de forma en C#; sin embargo, si está interesado en convertir SHP a formato GPX, consulte el artículo sobre cómo convertir SHP a GPX en C#.