使用 C# GIS 庫製作幾何形狀

本指南適用於尋求以程式設計方式繪製幾何形狀的協助的 .NET 開發人員。這些形狀包括多邊形、點、線、曲線等。因此,我們的目標是開發一種解決方案,使繪製形狀的整個流程自動化。因此,為此,我們將選擇Aspose.GIS for .NET,這是一個功能強大的C# GIS函式庫。此外,它是輕量級的,並提供了一系列用於程式操作和創建各種類型形狀的功能。現在,我們將開始安裝,然後實現如何在 C# 中製作幾何形狀。

C# GIS程式庫安裝

Aspose.GIS for .NET 提供可靠的安裝,下載 DLL 文件,或者您可以在 NuGet 套件管理器中執行以下命令。就是這樣。

C# gis庫安裝

.NET 中的曲線繪製 - 程式碼範例

以下步驟和程式碼範例示範如何在 Shapefile 中繪製曲線。

  • 透過呼叫 Create 方法建立圖層並開啟它以新增功能。
  • 呼叫 ConstructFeature 方法來建立新特徵。
  • 初始化 MultiCurve 類別的新實例。
  • 呼叫 Add 方法將線串、圓串和複合曲線加入集合。
  • 設定特徵的幾何
  • 呼叫 Add 方法將要素新增至圖層。
string path = "/CreateMultiCurve.shp";
// 建立圖層並透過呼叫 Create 方法將其開啟以新增功能。 
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // 呼叫 ConstructFeature 方法來建立新特徵。 
    var feature = layer.ConstructFeature();
    // 初始化 MultiCurve 類別的新實例。       
    var multiCurve = new MultiCurve();
    // 呼叫 Add 方法將線串、圓形串和複合曲線新增至集合。     
    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))"));
    // 設定特徵的幾何形狀。 
    feature.Geometry = multiCurve;
    // 呼叫 Add 方法將要素新增至圖層。 
    layer.Add(feature);
}
在.NET中繪製曲線

同樣,您可以按照下面提到的程式碼範例繪製直線:

  • 建立 LineString 類別的實例。
  • 透過呼叫 AddPoint 方法將點加到線的末端。
 string path = "/CreateLine.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // 建立 LineString 類別的實例。     
    LineString line = new LineString();
    var feature = layer.ConstructFeature();
    // 透過呼叫 AddPoint 方法將點新增到線的末端。
    line.AddPoint(78.65, -32.65);
    line.AddPoint(-98.65, 12.65);
    feature.Geometry = line;
    layer.Add(feature);
}
在dotnet中繪製線條

以程式設計方式建立多邊形 - 程式碼範例

接下來,本節展示如何使用 Aspose.GIS for .NET 在 C# 中建立多邊形。

  • 實例化 Polygon 類別的物件。
  • 建立 LinearRing 類別的實例。
  • 透過呼叫 AddPoint 方法將點新增至線的末端。
  • 透過設定 ExteriorRing 屬性的值來設定外環。
string path = "/CreatePolygons.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // 實例化 Polygon 類別的物件。
    Polygon polygon = new Polygon();
    // 建立 LinearRing 類別的實例。
    LinearRing ring = new LinearRing();
    // 將點加到線的末尾。        
    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);
    // 透過設定 ExteriorRing 屬性的值來設定外環。
    polygon.ExteriorRing = ring;
    var feature = layer.ConstructFeature();
    feature.Geometry = polygon;
    layer.Add(feature);
}
以程式設計方式建立多邊形

產生幾何點 - 程式碼範例

這個 C# GIS 函式庫提供了以程式設計方式建立幾何點的方法:

  • 建立 MultiPoint 類別的實例並呼叫 Add 方法來建立點。
string path = "/CreatePoints.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // 建立 MultiPoint 類別的實例並呼叫 Add 方法來建立點。 
    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);
}
產生幾何點

在 C# 中製作幾何形狀 - 取得免費許可證

您可以獲得免費的臨時許可證來嘗試這個 C# GIS 庫,沒有評估限制。

加起來

您已經學習如何使用 Aspose.GIS for .NET 在 C# 中製作幾何形狀。此外,我們還實現了創建多邊形、直線、曲線和點等功能。因此,這些是我們探索的一些規定,這個 C# GIS 庫還提供了大量其他很酷的功能。我們鼓勵您存取我們的 文件API 參考資料和 GitHub 儲存庫以進行進一步探索。

請隨時聯繫我們

您可以在我們的論壇上告訴我們您的問題或疑問。

也可以看看