创建编辑 KML 文件

KML 是从 XML 表示法扩展而来的 Keyhole Markup Language 的缩写。它是一种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 文件格式。您可以访问 产品文档 或在 免费支持论坛 上写信给我们,讨论您的任何问题。我们很乐意为您提供帮助!

也可以看看