Neste tutorial passo a passo, mostraremos como converter GPX para KMZ em C#. Isso será feito convertendo GPX para o formato KML e, em seguida, convertendo KML para o formato KMZ usando código C#.
Etapas para converter GPX para KMZ em C#
- Instale os pacotes Aspose.GIS for .NET e Aspose.Zip for .NET do NuGet.org
- Inclua os namespaces Aspose.Gis e Aspose.Zip
- Definir licença para ambas as APIs usando o método SetLicense
- Use VectorLayer class para converter o formato GPX para o tipo de arquivo KML
- Crie uma instância de Archive class para criar um arquivo Zip
- Adicionar KML de saída e outros arquivos relacionados como entradas Zip
- Salve KML e outros arquivos como um único arquivo Zip
- Renomeie o arquivo final como KMZ (formato KML Zipped)
O formato de arquivo KMZ é o formato compactado que contém não apenas o arquivo de mapa KML, mas também arquivos relacionados, como imagens, áudio e outros formatos. Portanto, primeiro precisamos converter o GPX file to KML e, em seguida, converter o formato de arquivo de mapa KML para KMZ.
Código para converter GPX para KMZ em 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"); | |
} | |
} | |
} |
Neste snippet de código, depois de converter o formato GPX para KM, estamos criando um arquivo Zip do arquivo KML junto com um arquivo de imagem. Isso é apenas para fins de amostra, você pode adicionar qualquer arquivo relacionado ao seu arquivo KML em questão em um pacote KMZ.