Создать файл редактирования KML

KML является аббревиатурой языка разметки Keyhole, который является расширением нотации 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#. Точно так же вы можете изучить, как работать с несколькими другими форматами файлов ГИС. Вы можете посетить Документацию по продукту или написать нам на Форум бесплатной поддержки, чтобы обсудить любые волнующие вас вопросы. Мы будем рады помочь вам!

Смотрите также