Могут возникнуть ситуации, когда вам нужно преобразовать файлы 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 targetPath, FileDriver targetDriver, ConversionOptions options).
В следующем примере кода показано, как преобразовать файл 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 targetPath, FileDriver destinationDriver, ConversionOptions options).
В следующем примере кода показано, как преобразовать файл 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, посетив официальную документацию. Если у вас возникнут вопросы, обращайтесь к нам на бесплатный форум поддержки.