Могут возникнуть ситуации, когда вам нужно преобразовать файлы KML в формат GPX или наоборот. В таких случаях эта статья научит вас преобразовывать файлы KML в формат GPX и файлы GPX в формат KML с помощью C#.
- API конвертера C# KML в GPX — скачать бесплатно
- Преобразование KML в GPX с помощью C#
- Преобразование 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, выполнив следующие действия:
- Создайте экземпляр класса ConversionOptions.
- Назначьте SpatialReferenceSystem.Wgs84 объекту ConversionOptions с помощью свойства DestinationSpatialReferenceSystem.
- Преобразуйте файл KML в формат GPX, используя метод VectorLayer.Convert(string sourcePath, FileDriver sourceDriver, string targetPath, FileDriver targetDriver, ConversionOptions options).
В следующем примере кода показано, как преобразовать файлы 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, выполнив следующие шаги:
- Создайте экземпляр класса ConversionOptions.
- Назначьте SpatialReferenceSystem.Wgs84 объекту ConversionOptions с помощью свойства DestinationSpatialReferenceSystem.
- Преобразуйте файл GPX в формат KML с помощью метода VectorLayer.Convert(string sourcePath, FileDriver sourceDriver, string targetPath, FileDriver targetDriver, ConversionOptions options).
В следующем примере кода показано, как преобразовать файл 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, посетив официальную документацию. Если у вас возникнут вопросы, обращайтесь к нам на бесплатный форум поддержки.