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

C# API для перетворення KML у GeoJSON і навпаки

Aspose.GIS for .NET API дозволяє відтворювати карти та створювати, читати та конвертувати географічні дані без додаткового програмного забезпечення. Крім того, API дозволяє конвертувати файли KML у формат GeoJSON і навпаки. Ви можете встановити API через NuGet або завантажити його безпосередньо з розділу Завантаження.

PM> Install-Package Aspose.GIS

Перетворення KML на GeoJSON у C#

Нижче наведено кроки для перетворення файлів KML у формат GeoJSON.

У наведеному нижче прикладі коду показано, як конвертувати файл KML у формат GeoJSON за допомогою C#.

string dataDir = RunExamples.GetDataDir();
string sourceFile = dataDir + "Kml_File.kml";
string outputFile = dataDir + "output.geojson";

// За необхідності вкажіть параметри перетворення. Це необов'язково.
ConversionOptions options = null;

// Цей параметр призначає Wgs84 до цільового рівня.
// Перетворення може викликати помилку, якщо цільовий рівень не підтримує просторову прив’язку Wgs84. Тож треба перевірити.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Перетворення формату файлу з KML на GeoJSON
VectorLayer.Convert(sourceFile, Drivers.Kml, outputFile, Drivers.GeoJson, options);

Перетворення GeoJSON на KML на C#

Нижче наведено кроки для перетворення файлів GeoJSON у формат KML.

У наведеному нижче прикладі коду показано, як конвертувати файл GeoJSON у формат KML за допомогою C#.

string dataDir = RunExamples.GetDataDir();
string sourceFile = dataDir + "intersection.geojson";
string outputFile = dataDir + "output.kml";

// За необхідності вкажіть параметри перетворення. Це необов'язково.
ConversionOptions options = null;

// Цей параметр призначає Wgs84 до цільового рівня.
// Перетворення може викликати помилку, якщо цільовий рівень не підтримує просторову прив’язку Wgs84. Тож треба перевірити.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Перетворення формату файлу з GeoJSON на KML.
VectorLayer.Convert(sourceFile, Drivers.GeoJson, outputFile, Drivers.Kml, options);

Отримайте безкоштовну ліцензію

Щоб спробувати API без оціночних обмежень, ви можете отримати безкоштовну тимчасову ліцензію.

Висновок

У цій статті ви дізналися, як конвертувати файли KML у формат GeoJSON і навпаки за допомогою C#. Спільні фрагменти коду демонструють, як досягти цих перетворень за допомогою лише кількох рядків коду. Aspose.GIS for .NET — це надійний і багатофункціональний API, який допомагає вам працювати з геопросторовими даними. Ви можете детально вивчити API, відвідавши офіційну документацію. У разі будь-яких запитань зв’яжіться з нами на нашому безкоштовному форумі підтримки.

Дивись також