Можуть бути ситуації, коли вам потрібно буде конвертувати файли KML у формат GeoJSON або навпаки. Для таких випадків ця стаття навчить вас конвертувати файли KML у формат GeoJSON і файли GeoJSON у формат KML за допомогою C#.
- C# API для перетворення KML у GeoJSON і навпаки
- Перетворення файлів KML у формат GeoJSON за допомогою C#
- Перетворення файлів 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.
- Створіть екземпляр класу ConversionOptions.
- Призначте SpatialReferenceSystem.Wgs84 об’єкту ConversionOptions за допомогою властивості DestinationSpatialReferenceSystem.
- Перетворіть файл KML у формат GeoJSON за допомогою методу VectorLayer.Convert(string sourcePath, FileDriver sourceDriver, string destinationPath, FileDriver destinationDriver, параметри ConversionOptions).
У наведеному нижче прикладі коду показано, як конвертувати файл 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.
- Створіть екземпляр класу ConversionOptions.
- Призначте SpatialReferenceSystem.Wgs84 об’єкту ConversionOptions за допомогою властивості DestinationSpatialReferenceSystem.
- Перетворіть файл GeoJSON у формат KML за допомогою методу VectorLayer.Convert(string sourcePath, FileDriver sourceDriver, string destinationPath, FileDriver destinationDriver, параметри ConversionOptions).
У наведеному нижче прикладі коду показано, як конвертувати файл 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, відвідавши офіційну документацію. У разі будь-яких запитань зв’яжіться з нами на нашому безкоштовному форумі підтримки.