Geographic Information Systems Asked on November 26, 2021
I am trying to use QgsVectorFileWriter to write a kml file from a Shape file.
I would like to define the KML Name (called NameField in the QGIS save-as GUI) to correspond with a field in my shapefile, which is called "NAME".
The solution given in How to define KML Name element when using QgsVectorFileWriter? doesn’t work for me.
Below is my code
from qgis.core import QgsVectorFileWriter, QgsVectorLayer
data_source = r"C:Users....PT.shp"
layer = QgsVectorLayer(data_source, "layer_name", "ogr")
output_layer = r"C:Users....PT_test"
QgsVectorFileWriter.writeAsVectorFormat(layer, output_layer, "utf-8",layer.crs(),"KML",datasourceOptions = "NAME")
print ("Layer to KML Conversion Complete")
print (output_layer + " is now a .kml")
It needs to be a list:
name = "NAME"
datasource_options = []
datasource_options += ["DescriptionField=" + name]
datasource_options += ["NameField=" + name]
QgsVectorFileWriter.writeAsVectorFormat(layer, output_layer, "utf-8",layer.crs(),"KML",datasourceOptions = datasource_options)
Answered by John on November 26, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP