Jak vytvořit Shapefile v C#

Tento rychlý tutoriál vysvětluje jak vytvořit Shapefile v C# bez instalace jakéhokoli jiného nástroje třetí strany. Vektorovou vrstvu můžete vytvořit pomocí ovladače Shapefile, existuje však řada dalších dostupných možností pro vytvoření různých typů vektorových vrstev. Můžete vytvořit soubor SHP v C# přidáním atributů, bodů geometrie a prvků do vektorové vrstvy, která je uložena jako soubor SHP.

Kroky k vytvoření nového Shapefile v C#

  1. Nakonfigurujte vývojové prostředí tak, aby přidalo Aspose.GIS for .NET ze správce balíčků Nuget
  2. Vytvořte vektorovou vrstvu pomocí objektu VectorLayer class zadáním názvu souboru SHP a příslušného ovladače
  3. Nastavte různé atributy pro kolekci Attributes v nově vytvořené vektorové vrstvě
  4. Vytvořte feature pomocí funkce ConstructFeature v objektu VectorLayer
  5. Vytvořte instanci objektu třídy Point a nastavte vlastnost Geometry nového prvku
  6. Přidejte tuto funkci do vektorové vrstvy

Tyto kroky prozkoumají proces jak vytvořit Shapefile v C# poskytnutím podrobností o konfiguraci, nezbytných tříd, jmenných prostorů a metod potřebných k vývoji aplikace. Zde je sdílen postupný přístup pro vývoj aplikace pro generování Shapefile v C#, kde se nejprve vytvoří vektorová vrstva typu Shapefile a poté se do ní přidají různé atributy. Podobně se pro nově vytvořený vektorový tvar zkonstruuje prvek a poté se nastaví jeho poloha geometrie a hodnoty prvků.

Kód pro vytvoření souboru Shape v 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");
}
}
}

Tento kód používá možnost Drivers.Shapefile k vytvoření vektorové vrstvy, ale můžete použít i další možnosti, jako je GeoJson, Kml, Gpx, Gml, TopoJson atd. k vytvoření jiného typu vektorové vrstvy. Tato třída Vectorlayer obsahuje nejen atributy a funkce, ale obsahuje také mnoho možností převodu, kde můžete vrstvu převést do různých formátů.

Tento tutoriál nás naučil vytvářet soubor tvaru v C#, ale pokud máte zájem o převod SHP do formátu GPX, přečtěte si článek na jak převést SHP na GPX v C#.

 Čeština