Có thể có những trường hợp bạn cần chuyển đổi tệp KML sang định dạng GPX hoặc ngược lại. Đối với những trường hợp như vậy, bài viết này sẽ hướng dẫn bạn cách chuyển đổi tệp KML sang định dạng GPX và tệp GPX sang định dạng KML bằng C#.

API chuyển đổi C# KML sang GPX - Tải xuống miễn phí

API Aspose.GIS for .NET cho phép bạn hiển thị bản đồ và tạo, đọc và chuyển đổi dữ liệu địa lý mà không cần phần mềm bổ sung. Hơn nữa, API cho phép bạn chuyển đổi tệp KML sang định dạng GPX và ngược lại. Bạn có thể cài đặt API thông qua NuGet hoặc tải xuống trực tiếp từ phần Tải xuống.

PM> Install-Package Aspose.GIS

Chuyển đổi KML sang GPX bằng C#

Chúng tôi có thể chuyển đổi tệp KML sang định dạng GPX bằng cách thực hiện theo các bước dưới đây:

Mã mẫu sau đây cho biết cách chuyển đổi tệp KML sang định dạng GPX bằng C#.

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

// Chỉ định cài đặt chuyển đổi nếu cần. Nó là tùy chọn.
ConversionOptions options = null;

// Tùy chọn này gán Wgs84 cho lớp đích.
// Chuyển đổi có thể gây ra lỗi Nếu lớp đích không hỗ trợ tham chiếu không gian Wgs84. Vì vậy cần phải kiểm tra.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Chuyển đổi định dạng tệp từ KML sang GPX.
VectorLayer.Convert(sourceFile, Drivers.Kml, outputFile, Drivers.Gpx, options);

Chuyển đổi GPX sang KML bằng C#

Chúng tôi cũng có thể chuyển đổi tệp GPX sang định dạng KML bằng cách làm theo các bước dưới đây:

Mã mẫu sau đây cho biết cách chuyển đổi tệp GPX sang định dạng KML bằng C#.

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

// Chỉ định cài đặt chuyển đổi nếu cần. Nó là tùy chọn.
ConversionOptions options = null;

// Tùy chọn này gán Wgs84 cho lớp đích.
// Chuyển đổi có thể gây ra lỗi Nếu lớp đích không hỗ trợ tham chiếu không gian Wgs84. Vì vậy cần phải kiểm tra.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Chuyển đổi định dạng tệp từ GPX sang KML.
VectorLayer.Convert(sourceFile, Drivers.Gpx, outputFile, Drivers.Kml, options);

Nhận giấy phép miễn phí

Để dùng thử API mà không có giới hạn đánh giá, bạn có thể nhận giấy phép tạm thời miễn phí.

Sự kết luận

Trong bài viết này, bạn đã học cách chuyển đổi tệp KML sang định dạng GPX và ngược lại bằng C#. Các đoạn mã được chia sẻ chứng minh cách đạt được những chuyển đổi này chỉ với một vài dòng mã. Aspose.GIS for .NET là một API mạnh mẽ và giàu tính năng hỗ trợ bạn làm việc với dữ liệu không gian địa lý. Bạn có thể khám phá API chi tiết bằng cách truy cập tài liệu chính thức. Trong trường hợp có bất kỳ câu hỏi nào, vui lòng liên hệ với chúng tôi tại diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm