У цьому посібнику пояснюється, як перетворити KML на CSV за допомогою C#. У ньому є деталі для встановлення налаштувань IDE, кроків програмування та приклад коду для перетворення KML у CSV із можливістю вибору бажаних даних із вихідного файлу KML. Ви навчитеся зберігати атрибути об’єктів і геометрію з вихідного KML у вихідний файл CSV.
Кроки для перетворення файлу KML у CSV за допомогою C#
- Налаштуйте середовище на використання Aspose.GIS for .NET для перетворення KML у CSV з атрибутами та геометрією
- Завантажте вихідний файл KML за допомогою методу Drivers.Kml.OpenLayer()
- Створіть шар CSV, вказавши його назву на диску за допомогою методу Drivers.Csv.CreateLayer().
- Додайте поля до шару CSV за допомогою класу FeatureAttribute
- Перегляньте всі функції в завантаженому шарі KML
- Створіть шар CSV за допомогою методу ConstructFeature() і задайте поля
- Отримайте доступ до геометричного об’єкта з функції KML і збережіть його на рівні CSV
Ці кроки описують, як перетворити файл KML на CSV за допомогою C#. Завантажте наявний файл KML, створіть шар CSV, додайте поля до рівня CSV, проаналізуйте всі функції в KML і створіть нову функцію для збереження у вихідному CSV для кожної функції у вихідному шарі KML. Перевірте тип кожного геометричного об’єкта та збережіть деталі в шарі CSV.
Код програмного забезпечення для конвертації KML у CSV за допомогою C#
using System; | |
using Aspose.Gis; | |
using Aspose.Gis.Geometries; | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
var license = new License();//License for converting XML to CSV | |
license.SetLicense("license.lic"); // Load the license for CSV generation | |
string kmlFilePath = "rectangle.kml"; | |
string csvFilePath = "rectangle.csv"; | |
// Open KML | |
using (var kmlLayer = Drivers.Kml.OpenLayer(kmlFilePath)) | |
{ | |
// Create a new CSV layer for output | |
using (var csvLayer = Drivers.Csv.CreateLayer(csvFilePath, kmlLayer.SpatialReferenceSystem)) | |
{ | |
// Add fields to the CSV layer schema | |
csvLayer.Attributes.Add(new FeatureAttribute("Name", AttributeDataType.String)); | |
csvLayer.Attributes.Add(new FeatureAttribute("Description", AttributeDataType.String)); | |
csvLayer.Attributes.Add(new FeatureAttribute("Geometry", AttributeDataType.String)); | |
// Iterate through features in the KML layer | |
foreach (var kmlFeature in kmlLayer) | |
{ | |
var csvFeature = csvLayer.ConstructFeature(); | |
csvFeature.SetValue("Name", kmlFeature.GetValue("name")); | |
csvFeature.SetValue("Description", kmlFeature.GetValue("description")); | |
if (kmlFeature.Geometry.GeometryType == GeometryType.Polygon) | |
{ | |
var geometry = kmlFeature.Geometry as Polygon; | |
csvFeature.SetValue("Geometry", "Polygon: " + geometry.ExteriorRing.AsText()); | |
} | |
csvLayer.Add(csvFeature); | |
} | |
} | |
} | |
} | |
} |
Цей код демонструє, як розробити конвертер KML у CSV за допомогою C#. Ви повинні мати інформацію про атрибути файлу KML, щоб отримати дані та зберегти їх у CSV. Ви можете перевірити різні типи геометрії, такі як CircularString, MultiCurve, MultiPoint, Point, MultiPolygon тощо.
Ця стаття навчила нас конвертувати KML у CSV. Якщо ви хочете випробувати цю функцію, перегляньте статтю на Створіть файл KML за допомогою C# для створення зразка файлу KML.