Могут возникнуть ситуации, когда вам нужно преобразовать файлы KML в формат GPX или наоборот. В таких случаях эта статья научит вас преобразовывать файлы KML в формат GPX и файлы GPX в формат KML с помощью C#.

API конвертера C# KML в GPX — скачать бесплатно

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

PM> Install-Package Aspose.GIS

Преобразование KML в GPX с помощью C#

Мы можем преобразовать файлы KML в формат GPX, выполнив следующие действия:

В следующем примере кода показано, как преобразовать файлы KML в формат GPX с помощью C#.

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

// При необходимости укажите параметры конвертации. Это необязательно.
ConversionOptions options = null;

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

// Преобразование формата файла из KML в GPX.
VectorLayer.Convert(sourceFile, Drivers.Kml, outputFile, Drivers.Gpx, options);

Преобразование GPX в KML с помощью C#

Мы также можем конвертировать файлы GPX в формат KML, выполнив следующие шаги:

В следующем примере кода показано, как преобразовать файл GPX в формат KML с помощью C#.

string dataDir = RunExamples.GetDataDir();
string sourceFile = dataDir + "schiehallion.gpx";
string outputFile = dataDir + "output.kml";

// При необходимости укажите параметры конвертации. Это необязательно.
ConversionOptions options = null;

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

// Преобразование формата файла из GPX в KML.
VectorLayer.Convert(sourceFile, Drivers.Gpx, outputFile, Drivers.Kml, options);

Получить бесплатную лицензию

Чтобы попробовать API без оценочных ограничений, вы можете получить бесплатную временную лицензию.

Вывод

В этой статье вы узнали, как конвертировать файлы KML в формат GPX и наоборот с помощью C#. Общие фрагменты кода демонстрируют, как добиться таких преобразований всего несколькими строками кода. Aspose.GIS for .NET — это мощный и многофункциональный API, помогающий вам в работе с геопространственными данными. Вы можете подробно изучить API, посетив официальную документацию. Если у вас возникнут вопросы, обращайтесь к нам на бесплатный форум поддержки.

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