<div dir="ltr"><div>The lack of this functionality annoyed me a bit so I wrote a basic iteration script which stitches the output kmls into a single kmz file. Not sure what edge cases there will be but seems to work fine on basic styles.</div><div></div><br><div><a href="https://github.com/zacharlie/effective-dollop/blob/main/pyqgis/qgis-vectors-to-kmz.py">https://github.com/zacharlie/effective-dollop/blob/main/pyqgis/qgis-vectors-to-kmz.py</a><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 13 Aug 2021 at 17:20, Charles Dixon-Paver <<a href="mailto:charles@kartoza.com">charles@kartoza.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">I think it would be a lot easier to use the KML Tools algorithms to iterate over all the layers, then simply drag all the output KMZ files into Google Earth and export the folder containing them to a consolidated KMZ file. You can use PyQGIS, e.g:<div><br></div><div><span style="font-family:monospace">layers = [layer for layer in QgsProject.instance().mapLayers().values()]<br><br>out_dir = 'P:/data/kml_output'<br><br>for layer in layers:<br>    if layer.type() == QgsMapLayer.VectorLayer:<br>        try:<br>            layer_src = str(layer.source()).replace('\\','/')<br>            layer_file = os.path.join(out_dir, str(<a href="http://layer.name" target="_blank">layer.name</a>()) + '.kmz')<br>            processing.run("kmltools:exportkmz", {<br>                'InputLayer': layer_src,<br>                'NameField': '',<br>                'DescriptionField': [],<br>                'ExportStyle': True,<br>                'UseGoogleIcon': None,<br>                'AltitudeInterpretation': 1,<br>                'AltitudeMode': 0,<br>                'AltitudeModeField': '',<br>                'AltitudeField': '',<br>                'AltitudeAddend': 0,<br>                'DateTimeStampField': '',<br>                'DateTimeBeginField': '',<br>                'DateTimeEndField': '',<br>                'PhotoField': '',<br>                'OutputKmz': layer_file,<br>                'LineWidthFactor': 2,<br>                'DateStampField': '',<br>                'TimeStampField': '',<br>                'DateBeginField': '',<br>                'TimeBeginField': '',<br>                'DateEndField': '',<br>                'TimeEndField': ''<br>            })<br>            print('Exported: ' + layer_file)<br>        except Exception as err:<br>            print(err)</span><br></div><div><br></div><div><br></div><div>Of course you could try unpack the data and stitch it in python too, but that's not as easy... But at least the styling etc will be managed for you.</div><div><br></div><div>Regards</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 13 Aug 2021 at 16:50, Richard McDonnell <<a href="mailto:richard.mcdonnell@opw.ie" target="_blank">richard.mcdonnell@opw.ie</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-IE">
<div>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Hi,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">You can do this, but it requires a few steps. Open up the Project where the Layers are and they are all styled as you want<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">STEP1 Convert all to KMZ<u></u><u></u></span></b></p>
<p><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><span>1.<span style="font:7pt "Times New Roman"">      
</span></span></span><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">In the
<b>Processing Tools </b>under<b> GDAL, Vector Conversion </b>highlight <b>Convert format
</b>right click and select<b> Execute as Batch Process</b><u></u><u></u></span></p>
<p><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><span>2.<span style="font:7pt "Times New Roman"">      
</span></span></span><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Click the<b> +
</b>symbol to add additional rows and<b> </b>select the Layers you want to convert
<u></u><u></u></span></p>
<p><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><span>3.<span style="font:7pt "Times New Roman"">      
</span></span></span><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Click on the three dots on the right for the first layer, set the Save as type to KML set a location and in the file name
 we are just going to give it a prefix, type something like 01_ then click save<u></u><u></u></span></p>
<p><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><span>4.<span style="font:7pt "Times New Roman"">      
</span></span></span><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">You will then be presented with the
<b>AutoFill</b> option, set the <b>Autofill mode</b> to <b>Fill with parameter values</b> and set the
<b>Parameter to use</b> to <b>Input Layer</b>, at this stage you can delete the prefix manually if you wish<u></u><u></u></span></p>
<p><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><span>5.<span style="font:7pt "Times New Roman"">      
</span></span></span><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Click Run<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">This should have saved out all Shapefiles as KML’s for you. Now for the Styling and fixing of styles<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">STEP2 Apply Styles to KML<u></u><u></u></span></b></p>
<p><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><span>1.<span style="font:7pt "Times New Roman"">      
</span></span></span><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Right click on one of the original Layers in your project, select
<b>Styles, Copy Style, All Style Categories</b><u></u><u></u></span></p>
<p><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><span>2.<span style="font:7pt "Times New Roman"">      
</span></span></span><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Right click on the corresponding KML select
<b>Styles, Paste Style, All Style Categories</b><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Repeat for all other Layers<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">STEP3 Final Step<u></u><u></u></span></b></p>
<p><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><span>1.<span style="font:7pt "Times New Roman"">      
</span></span></span><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">In the Search baron the Processing Toolbox search for
<b>Package Layers</b><u></u><u></u></span></p>
<p><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><span>2.<span style="font:7pt "Times New Roman"">      
</span></span></span><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Select the
<b>KML</b> Files as your <b>Input Layers</b><u></u><u></u></span></p>
<p><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><span>3.<span style="font:7pt "Times New Roman"">      
</span></span></span><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Make sure the<b> Save layer Styles into GeoPackage
</b><u></u><u></u></span></p>
<p><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><span>4.<span style="font:7pt "Times New Roman"">      
</span></span></span><u></u><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Click on the three dots at
<b>Destination GeoPackage</b>, selecting <b>Save to File</b>, set the Location and Name of the GeoPackage, click
<b>Save</b> and then click <b>Run</b><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">The result will be a GeoPackage file with the KML’s saved and the Styles applied, which means that anyone who opens the GeoPackage
 in another QGIS Project will always have the Styles applied.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">I don’t believe there is an automated process that will do this for you, but you could also look at the model builder and using the
 steps above as a guide, build a custom process which will do the three steps I have outlined above in a single step for you.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Hope that helps,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Richard McDonnell<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u><u></u></span></p>
<table style="font-size:9pt;height:321px;font-family:Arial,sans-serif;width:500px;line-height:15px" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="font-size:9pt;font-family:Arial,sans-serif;width:500px;color:rgb(0,77,68);padding-bottom:6px">
<span style="font-family:Arial,sans-serif;font-weight:bold;color:rgb(0,77,68)"><br>
——</span><br>
<span style="font-family:Arial,sans-serif;font-weight:bold;color:rgb(0,77,68)">Richard McDonnell MSc GIS, FME Certified Professional</span><br>
<span style="font-family:Arial,sans-serif;color:rgb(0,77,68)"><i>FRM Data Management</i></span><br>
<br>
<span style="font-family:Arial,sans-serif;color:rgb(0,77,68)">——</span><br>
<span style="font-family:Arial,sans-serif;font-weight:bold;color:rgb(0,77,68)">Oifig na nOibreacha Poiblí</span><br>
<span style="font-family:Arial,sans-serif;color:rgb(0,77,68)">Office of Public Works</span><br>
<br>
<span style="font-family:Arial,sans-serif;font-weight:bold;color:rgb(86,81,72)">Sráid Jonathan Swift, Baile Átha Troim, Co na Mí, C15 NX36
</span><br>
<span style="font-family:Arial,sans-serif;color:rgb(86,81,72)">Jonathan Swift Street, Trim, Co Meath, C15 NX36</span><br>
<span style="font-family:Arial,sans-serif;color:rgb(86,81,72)">——</span><br>
<span style="font-family:Arial,sans-serif;color:rgb(86,81,72)">M +353 87 688 5964 T +353 46 942 2409</span><br>
<a href="https://gov.ie/opw" target="_blank">https://gov.ie/opw</a><br>
<br>
<span style="font-family:Arial,sans-serif;color:rgb(0,77,68)">——<br>
To send me files larger than 30MB, please use the link below <a href="https://filetransfer.opw.ie/filedrop/richard.mcdonnell@opw.ie" target="_blank">https://filetransfer.opw.ie/filedrop/richard.mcdonnell@opw.ie</a><br>
</span><br>
<span style="font-family:Arial,sans-serif;color:rgb(0,77,68)">Email Disclaimer: <a href="https://www.gov.ie/en/organisation-information/439daf-email-disclaimer/" target="_blank">https://www.gov.ie/en/organisation-information/439daf-email-disclaimer/</a>
</span></td>
</tr>
</tbody>
</table>
<div style="border-top:none;border-right:none;border-bottom:none;border-left:1.5pt solid blue;padding:0cm 0cm 0cm 4pt">
<div>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif"> Qgis-user <<a href="mailto:qgis-user-bounces@lists.osgeo.org" target="_blank">qgis-user-bounces@lists.osgeo.org</a>>
<b>On Behalf Of </b>krishna Ayyala<br>
<b>Sent:</b> 13 August 2021 14:06<br>
<b>To:</b> qgis-user <<a href="mailto:qgis-user@lists.osgeo.org" target="_blank">qgis-user@lists.osgeo.org</a>><br>
<b>Subject:</b> [Qgis-user] Exporting QGIS map to KML/KMZ<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">Hello,<u></u><u></u></p>
<div>
<p class="MsoNormal">I am reposting this question. I have a QGIS map saved with ".qgz" extension. This map has four layers. One layer has points, one layer has lines and two layers have polygons. Is it possible to convert the entire map to kmz without losing
 the symbology. I know how to convert each layer into kmz. But, I am exploring to see if I can convert the entire map to kmz?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Regards.<u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>

_______________________________________________<br>
Qgis-user mailing list<br>
<a href="mailto:Qgis-user@lists.osgeo.org" target="_blank">Qgis-user@lists.osgeo.org</a><br>
List info: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-user" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-user</a><br>
Unsubscribe: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-user" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-user</a><br>
</blockquote></div></div>
</blockquote></div>