創建編輯 KML 文件

KML 是 Keyhole Markup Language 的縮寫,它是從 XML 符號擴展而來的。它是一種GIS文件格式,用於顯示地理信息。您可以通過編程方式創建 KML 文件,也可以使用 C# 語言從中讀取信息。讓我們探索以下與 KML 文件格式相關的部分:

創建或讀取 KML 文件 – API 安裝

Aspose.GIS for .NET API 支持使用 KML 文件以及其他幾種支持的文件格式。讓我們安裝 API 以在基於 .NET 的應用程序中操作矢量文件。您需要從 New Releases 部分或使用以下安裝命令從 NuGet 庫下載 API:

PM> Install-Package Aspose.GIS

配置 API 後,您就可以創建或操作 KML 文件了。現在您無需擔心次要細節,因為您只需要進行簡單的 API 調用。讓我們繼續了解更多細節:

使用 C# 以編程方式創建 KML 文件

KML 文件與 XML 文件一樣遵循基於標籤的結構。您可以使用 KML 文件來精確定位位置、規劃或跟踪您的行程以及許多其他重要場景。您可以使用 C# 通過以下步驟以編程方式創建 KML 文件:

  1. 創建一個圖層
  2. 為幾何和屬性初始化 feature
  3. 設置不同屬性的值
  4. 將功能添加到特定圖層

以下代碼片段是關於如何在 C# 中以編程方式創建 KML 文件的基本且簡單的演示:

// 創建圖層
using (var layer = Drivers.Kml.CreateLayer(dataDir + "Kml_File_out.kml"))
{
    // 初始化幾何和屬性的特徵
    layer.Attributes.Add(new FeatureAttribute("string_data", AttributeDataType.String));
    layer.Attributes.Add(new FeatureAttribute("int_data", AttributeDataType.Integer));
    layer.Attributes.Add(new FeatureAttribute("bool_data", AttributeDataType.Boolean));
    layer.Attributes.Add(new FeatureAttribute("float_data", AttributeDataType.Double));

    // 設置不同屬性的值
    Feature feature = layer.ConstructFeature();
    feature.SetValue("string_data", "string value");
    feature.SetValue("int_data", 10);
    feature.SetValue("bool_data", true);
    feature.SetValue("float_data", 3.14);
    feature.Geometry = new LineString(new[] { new Point(0, 0), new Point(1, 1) });

    // 將功能添加到特定圖層
    layer.Add(feature);

    Feature feature2 = layer.ConstructFeature();
    feature2.SetValue("string_data", "string value2");
    feature2.SetValue("int_data", 100);
    feature2.SetValue("bool_data", false);
    feature2.SetValue("float_data", 3.1415);
    feature2.Geometry = Geometry.Null;

    layer.Add(feature2);
}

使用 C# 以編程方式從 KML 文件中讀取要素

KML 文件的基本特徵可能包括地標、描述、路徑等。讓我們繼續處理在上面示例中創建的 KML 文件。您可以通過以下步驟讀取 KML 文件的任何特徵:

  1. 使用 OpenLayer 方法加載輸入 KML 文件
  2. 獲取特徵數
  3. 訪問特定索引處的 feature
  4. 讀取 KML 文件的特徵

下面的代碼片段展示瞭如何在 C# 中以編程方式從 KML 文件中讀取要素:

// 使用 OpenLayer 方法加載輸入 KML 文件
using (var layer = Drivers.Kml.OpenLayer(dataDir + "Kml_File.kml"))
{
    // 獲取特徵數
    int count = layer.Count;

    // 訪問特定索引處的功能
    Feature featureAtIndex1 = layer[0];

    Console.WriteLine(featureAtIndex1.GetValue<string>("string_data"));

    Feature featureAtIndex2 = layer[1];

    Console.WriteLine(featureAtIndex2.GetValue<string>("string_data"));
}

結論

在本文中,我們探討瞭如何使用 KML 文件。我們已經學習瞭如何在 C# 示例代碼的幫助下創建 KML 文件或以編程方式讀取其功能。同樣,您可以探索如何使用其他幾種 GIS 文件格式。您可以訪問 產品文檔 或在 免費支持論壇 寫信給我們,討論您的任何疑慮。我們很樂意為您提供幫助!

也可以看看