Створити Редагувати файл KML

KML є абревіатурою для Keyhole Markup Language, яка походить від нотації XML. Це формат файлу ГІС і використовується для відображення географічної інформації. Ви можете створювати файли KML програмно, а також читати інформацію з них за допомогою мови C#. Давайте дослідимо наступні розділи, пов’язані з форматом файлу KML:

Створення або читання файлів KML – встановлення API

Aspose.GIS for .NET API підтримує роботу з файлами KML разом із кількома іншими підтримуваними форматами файлів. Давайте встановимо API для роботи з векторними файлами в програмах на основі .NET. Вам потрібно завантажити API з розділу Нові випуски або з галереї NuGet за допомогою такої команди встановлення:

PM> Install-Package Aspose.GIS

Після налаштування API ви готові створювати файли KML або працювати з ними. Тепер вам не потрібно турбуватися про незначні деталі, тому що вам потрібно лише зробити прості виклики API. Давайте перейдемо до більш детальної інформації:

Створення файлу KML програмним шляхом за допомогою C#

Файли KML мають структуру на основі тегів, як файли XML. Ви можете використовувати файли KML для точного визначення місць, планування чи відстеження своїх подорожей і багатьох інших важливих сценаріїв. Ви можете створювати файли KML програмно за допомогою C#, виконавши наведені нижче дії.

  1. Створіть шар
  2. Ініціалізувати feature для геометрії та атрибутів
  3. Встановити значення різних атрибутів
  4. Додайте функцію до певного шару

Наведений нижче фрагмент коду є базовою та простою демонстрацією програмного створення файлів KML у C#:

// Створіть шар
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);
}

Програмне читання функцій із файлів KML за допомогою C#

Основні функції файлу KML можуть включати позначки місця, описи, шляхи тощо. Перейдемо до файлу KML, який ми створили у прикладі вище. Ви можете прочитати будь-яку функцію файлу KML, виконавши наведені нижче дії.

  1. Завантажте вхідний файл KML за допомогою методу OpenLayer.
  2. Отримати кількість функцій
  3. Доступ до функції за певним індексом
  4. Прочитайте особливості файлу KML

Наведений нижче фрагмент коду показує, як програмно читати функції з файлу KML у C#:

// Завантажте вхідний файл KML за допомогою методу OpenLayer
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. Ми навчилися створювати файл KML або читати його функції програмним шляхом за допомогою зразка коду C#. Так само ви можете дослідити, як працювати з кількома іншими форматами файлів ГІС. Ви можете відвідати Документацію продукту або написати нам на Безкоштовний форум підтримки, щоб обговорити будь-які ваші проблеми. Ми будемо раді вам допомогти!

Дивись також