Trong hướng dẫn từng bước này, chúng tôi sẽ chỉ cho bạn cách chuyển đổi GPX sang KMZ trong C#. Điều này sẽ đạt được bằng cách chuyển đổi định dạng GPX sang KML và sau đó chuyển đổi KML sang định dạng KMZ bằng mã C#.
Các bước để chuyển đổi GPX sang KMZ trong C#
- Cài đặt gói Aspose.GIS for .NET và Aspose.Zip for .NET từ NuGet.org
- Bao gồm không gian tên Aspose.Gis và Aspose.Zip
- Đặt giấy phép cho cả hai API bằng phương pháp SetLicense
- Sử dụng VectorLayer class để chuyển đổi định dạng GPX sang loại tệp KML
- Tạo phiên bản của Archive class để tạo tệp Zip
- Thêm KML đầu ra và các tệp liên quan khác dưới dạng mục nhập Zip
- Lưu KML và các tệp khác dưới dạng một tệp Zip
- Đổi tên tệp cuối cùng thành KMZ (Định dạng nén KML)
Định dạng tệp KMZ là định dạng nén không chỉ chứa tệp bản đồ KML mà còn chứa các tệp liên quan như hình ảnh, âm thanh và các định dạng khác. Vì vậy, trước tiên chúng ta cần chuyển đổi GPX file to KML và sau đó chuyển đổi định dạng tệp bản đồ KML sang KMZ.
Mã để chuyển đổi GPX sang KMZ trong C#
using System; | |
//Add reference to Aspose.GIS for .NET & Aspose.Zip for .NET APIs | |
//Use following namespaces to convert GPX file format to KMZ format | |
using Aspose.Gis; | |
using Aspose.Zip; | |
namespace ConvertGPXToKMZFileFormat | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
//Set Aspose license before converting GPX file to KMZ format | |
//using Aspose.GIS for .NET | |
Aspose.Gis.License AsposeGISLicense = new Aspose.Gis.License(); | |
AsposeGISLicense.SetLicense(@"c:\asposelicense\license.lic"); | |
//Set Aspose license to use Aspose.Zip to zip KML file | |
Aspose.Zip.License AsposeZipLicense = new Aspose.Zip.License(); | |
AsposeZipLicense.SetLicense(@"c:\asposelicense\license.lic"); | |
//Convert GPX file to KML File | |
VectorLayer.Convert("InputGPXFile.gpx", Drivers.Gpx, "OutputKMLFile.kml", Drivers.Kml); | |
//Create Archive class instance | |
Archive ZipArchive = new Archive(); | |
//Create entry for each file in the zip archive | |
ZipArchive.CreateEntry("OutputKMLFile.kml", "OutputKMLFile.kml"); | |
ZipArchive.CreateEntry("ImageRelatedToKMLFile.png", "ImageRelatedToKMLFile.png"); | |
//Save output Zip file | |
ZipArchive.Save("KMLandImageFilesCombined.zip"); | |
//Rename Zip file to KMZ | |
System.IO.File.Move("KMLandImageFilesCombined.zip", "FinalOutputKMZFile.kmz"); | |
} | |
} | |
} |
Trong đoạn mã này, sau khi chuyển đổi GPX sang định dạng KM, chúng tôi đang tạo một kho lưu trữ Zip của tệp KML cùng với một tệp hình ảnh. Đây chỉ là mục đích mẫu, bạn có thể thêm bất kỳ tệp nào có liên quan đến tệp KML có liên quan của mình vào gói KMZ.