このクイックチュートリアルでは、他のサードパーティツールをインストールせずに** C#でシェープファイルを作成する方法について説明します。シェープファイルドライバーを使用してベクターレイヤーを作成できますが、さまざまな種類のベクターレイヤーを作成するために利用できるオプションは他にもたくさんあります。 SHPファイルとして保存されているベクターレイヤーに属性、ジオメトリポイント、フィーチャを追加することで、 C#でSHPファイルを作成**できます。
C#で新しいシェープファイルを作成する手順
- NugetパッケージマネージャーからAspose.GIS for .NETを追加するように開発環境を構成します
- SHPファイル名とそれぞれのドライバーを指定して、VectorLayer classオブジェクトを使用してベクターレイヤーを作成します
- 新しく作成されたベクターレイヤーの属性コレクションにさまざまな属性を設定します
- VectorLayerオブジェクトのConstructFeature関数を使用してfeatureを作成します
- Pointクラスオブジェクトをインスタンス化し、新機能のGeometryプロパティを設定します
- この機能をベクターレイヤーに追加します
これらの手順では、アプリケーションの開発に必要な構成の詳細、必要なクラス、名前空間、およびメソッドを提供することにより、* C#でシェープファイルを作成する方法*のプロセスについて説明します。ここでは、C#でShapefileを生成するアプリケーションを開発するための段階的なアプローチが共有されています。ここでは、最初にShapefileタイプのベクターレイヤーが作成され、次にさまざまな属性が追加されます。同様に、新しく作成されたベクトルシェイプの場合、フィーチャが作成され、そのジオメトリ位置とフィーチャ値が設定されます。
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"); | |
} | |
} | |
} |
このコードはDrivers.Shapefileオプションを使用してベクターレイヤーを作成しますが、GeoJson、Kml、Gpx、Gml、TopoJsonなどの他のオプションを使用して別のタイプのベクターレイヤーを作成することもできます。このVectorlayerクラスには、属性と機能だけでなく、レイヤーをさまざまな形式に変換できる多くの変換オプションも含まれています。
このチュートリアルでは、* C#でシェープファイルを作成する*方法を学びましたが、SHPをGPX形式に変換することに興味がある場合は、C#でSHPをGPXに変換する方法の記事を参照してください。