Tạo Chỉnh sửa Tệp KML

KML được viết tắt cho Ngôn ngữ đánh dấu lỗ khóa được mở rộng từ ký hiệu XML. Nó là định dạng tệp GIS và được sử dụng để hiển thị thông tin địa lý. Bạn có thể tạo tệp KML theo chương trình, cũng như đọc thông tin từ chúng bằng ngôn ngữ C#. Hãy cùng chúng tôi khám phá các phần sau liên quan đến định dạng tệp KML:

Tạo hoặc đọc tệp KML - Cài đặt API

API Aspose.GIS for .NET hỗ trợ làm việc với các tệp KML cùng với một số định dạng tệp được hỗ trợ. Hãy để chúng tôi cài đặt API để thao tác các tệp vectơ trong các ứng dụng dựa trên .NET. Bạn cần tải xuống API từ phần Bản phát hành mới hoặc từ thư viện NuGet bằng lệnh cài đặt sau:

PM> Install-Package Aspose.GIS

Sau khi định cấu hình API, bạn đã sẵn sàng tạo hoặc thao tác các tệp KML. Bây giờ bạn không cần phải lo lắng về các chi tiết nhỏ vì bạn chỉ cần thực hiện các lệnh gọi API đơn giản. Hãy để chúng tôi chuyển sang các chi tiết khác:

Tạo tệp KML có lập trình bằng C#

Tệp KML tuân theo cấu trúc dựa trên thẻ như tệp XML. Bạn có thể sử dụng tệp KML để xác định vị trí, lập kế hoạch hoặc theo dõi các chuyến đi của mình và nhiều tình huống quan trọng khác. Bạn có thể tạo tệp KML theo cách lập trình bằng C# với các bước sau:

  1. Tạo một lớp
  2. Khởi tạo tính năng cho hình học và thuộc tính
  3. Đặt giá trị của các thuộc tính khác nhau
  4. Thêm tính năng vào một Lớp cụ thể

Đoạn mã sau là một minh chứng cơ bản và đơn giản về cách tạo tệp KML theo chương trình trong C#:

// Tạo một lớp
using (var layer = Drivers.Kml.CreateLayer(dataDir + "Kml_File_out.kml"))
{
    // Khởi tạo tính năng cho hình học và thuộc tính
    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));

    // Đặt giá trị của các thuộc tính khác nhau
    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) });

    // Thêm tính năng vào một Lớp cụ thể
    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 các tính năng từ tệp KML có lập trình bằng C#

Các tính năng cơ bản của tệp KML có thể bao gồm Dấu vị trí, Mô tả, Đường dẫn, v.v. Hãy để chúng tôi tiếp tục với tệp KML mà chúng tôi đã tạo trong ví dụ trên. Bạn có thể đọc bất kỳ tính năng nào của tệp KML bằng các bước dưới đây:

  1. Tải tệp KML đầu vào bằng phương thức OpenLayer
  2. Nhận tính năng
  3. Truy cập tính năng tại một chỉ mục cụ thể
  4. Đọc các tính năng của tệp KML

Đoạn mã dưới đây cho biết cách đọc các tính năng từ tệp KML theo chương trình trong C#:

// Tải tệp KML đầu vào bằng phương thức OpenLayer
using (var layer = Drivers.Kml.OpenLayer(dataDir + "Kml_File.kml"))
{
    // Nhận tính năng
    int count = layer.Count;

    // Truy cập một tính năng tại một chỉ mục cụ thể
    Feature featureAtIndex1 = layer[0];

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

    Feature featureAtIndex2 = layer[1];

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

Sự kết luận

Trong bài viết này, chúng tôi đã khám phá cách làm việc với tệp KML. Chúng tôi đã học cách tạo tệp KML hoặc đọc các tính năng của nó theo chương trình với sự trợ giúp của mã mẫu C#. Tương tự như vậy, bạn có thể khám phá cách làm việc với một số định dạng tệp GIS khác. Bạn có thể truy cập Tài liệu sản phẩm hoặc viết thư cho chúng tôi tại Diễn đàn hỗ trợ miễn phí để thảo luận về bất kỳ mối quan tâm nào của bạn. Chúng tôi rất muốn hỗ trợ bạn!

Xem thêm