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í
- Chuyển đổi KML sang GPX bằng C#
- Chuyển đổi GPX sang 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:
- Tạo một phiên bản của lớp ConversionOptions.
- Gán SpatialReferenceSystem.Wgs84 cho đối tượng ConversionOptions bằng thuộc tính DestinationSpatialReferenceSystem.
- Chuyển đổi tệp KML sang định dạng GPX bằng phương pháp VectorLayer.Convert (string sourcePath, FileDriver sourceDriver, string destinationPath, FileDriver destinationDriver, các tùy chọn ConversionOptions).
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:
- Tạo một phiên bản của lớp ConversionOptions.
- Gán SpatialReferenceSystem.Wgs84 cho đối tượng ConversionOptions bằng cách sử dụng thuộc tính DestinationSpatialReferenceSystem.
- Chuyển đổi tệp GPX sang định dạng KML bằng phương pháp VectorLayer.Convert (string sourcePath, FileDriver sourceDriver, string destinationPath, FileDriver destinationDriver, các tùy chọn ConversionOptions).
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.