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#
- Nakonfigurujte vývojové prostředí tak, aby přidalo Aspose.GIS for .NET ze správce balíčků Nuget
- Vytvořte vektorovou vrstvu pomocí objektu VectorLayer class zadáním názvu souboru SHP a příslušného ovladače
- Nastavte různé atributy pro kolekci Attributes v nově vytvořené vektorové vrstvě
- Vytvořte feature pomocí funkce ConstructFeature v objektu VectorLayer
- Vytvořte instanci objektu třídy Point a nastavte vlastnost Geometry nového prvku
- 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#.