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

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:

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:

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.

Zobacz też