Mogą zaistnieć sytuacje, w których konieczna będzie konwersja plików KML do formatu GPX lub odwrotnie. W takich przypadkach ten artykuł nauczy Cię, jak konwertować pliki KML do formatu GPX i pliki GPX do formatu KML przy użyciu języka C#.
- Interfejs API konwertera C# KML na GPX — bezpłatne pobieranie
- Konwertuj KML na GPX za pomocą C#
- Konwertuj GPX na KML za pomocą C#
Interfejs API konwertera C# KML na GPX — bezpłatne pobieranie
Aspose.GIS for .NET API umożliwia renderowanie map oraz tworzenie, odczytywanie i konwertowanie danych geograficznych bez dodatkowego oprogramowania. Ponadto API umożliwia konwersję plików KML do formatu GPX i odwrotnie. Możesz zainstalować API przez NuGet lub pobrać bezpośrednio z sekcji Downloads.
PM> Install-Package Aspose.GIS
Konwertuj KML na GPX za pomocą C#
Możemy konwertować pliki KML do formatu GPX, wykonując czynności podane poniżej:
- Utwórz instancję klasy ConversionOptions.
- Przypisz SpatialReferenceSystem.Wgs84 do obiektu ConversionOptions za pomocą właściwości DestinationSpatialReferenceSystem.
- Przekonwertuj plik KML na format GPX za pomocą metody VectorLayer.Convert(string sourcePath, FileDriver sourceDriver, string destinationPath, FileDriver destinationDriver, ConversionOptions options).
Poniższy przykładowy kod pokazuje, jak konwertować pliki KML do formatu GPX przy użyciu języka C#.
string dataDir = RunExamples.GetDataDir();
string sourceFile = dataDir + "Kml_File.kml";
string outputFile = dataDir + "output.gpx";
// W razie potrzeby określ ustawienia konwersji. Jest to opcjonalne.
ConversionOptions options = null;
// Ta opcja przypisuje Wgs84 do warstwy docelowej.
// Konwersja może spowodować błąd, jeśli warstwa docelowa nie obsługuje odniesienia przestrzennego Wgs84. Więc trzeba sprawdzić.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
options = new ConversionOptions()
{
DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
};
}
// Konwertuj format pliku z KML na GPX.
VectorLayer.Convert(sourceFile, Drivers.Kml, outputFile, Drivers.Gpx, options);
Konwertuj GPX na KML za pomocą C#
Możemy również konwertować pliki GPX do formatu KML, wykonując poniższe czynności:
- Utwórz instancję klasy ConversionOptions.
- Przypisz SpatialReferenceSystem.Wgs84 do obiektu ConversionOptions za pomocą właściwości DestinationSpatialReferenceSystem.
- Przekonwertuj plik GPX do formatu KML, używając metody VectorLayer.Convert(string sourcePath, FileDriver sourceDriver, string destinationPath, FileDriver destinationDriver, ConversionOptions options).
Poniższy przykładowy kod pokazuje, jak przekonwertować plik GPX na format KML przy użyciu języka C#.
string dataDir = RunExamples.GetDataDir();
string sourceFile = dataDir + "schiehallion.gpx";
string outputFile = dataDir + "output.kml";
// W razie potrzeby określ ustawienia konwersji. Jest to opcjonalne.
ConversionOptions options = null;
// Ta opcja przypisuje Wgs84 do warstwy docelowej.
// Konwersja może spowodować błąd, jeśli warstwa docelowa nie obsługuje odniesienia przestrzennego Wgs84. Więc trzeba sprawdzić.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
options = new ConversionOptions()
{
DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
};
}
// Konwertuj format pliku z GPX na KML.
VectorLayer.Convert(sourceFile, Drivers.Gpx, outputFile, Drivers.Kml, options);
Uzyskaj bezpłatną licencję
Aby wypróbować API bez ograniczeń ewaluacyjnych, możesz uzyskać bezpłatną licencję tymczasową.
Wniosek
W tym artykule nauczyłeś się konwertować pliki KML do formatu GPX i odwrotnie za pomocą języka C#. Udostępnione fragmenty kodu pokazują, jak osiągnąć te konwersje za pomocą zaledwie kilku wierszy kodu. Aspose.GIS for .NET to potężny i bogaty w funkcje interfejs API, który pomaga w pracy z danymi geoprzestrzennymi. Możesz szczegółowo zapoznać się z interfejsem API, odwiedzając oficjalną dokumentację. W przypadku jakichkolwiek pytań prosimy o kontakt z nami na naszym bezpłatnym forum pomocy technicznej.