2024-06-13 11:17:58 发布
网友
我有一个Web服务器,其中有一些用于KML点的图标
当前,每个KML点都会引用带有标记的图标和图像在Web服务器中的位置。因此,在Google Earth中查看数据时,这些点具有来自Web服务器的自定义图标
理想情况下,我希望导出KML数据,这样任何人都可以在Google Earth中查看它,而不必访问Web服务器
有没有办法使用pykml将图像嵌入到KML文件中
如果希望共享KML文件中的自定义图像或图标,而不必将这些图像托管在可公开访问的web服务器上,则需要将KML和图像打包到KMZ文件中
您可以使用包含KML和引用图标的pykml(或simplekml)创建独立的KMZ文件
from zipfile import ZipFile from pykml.factory import KML_ElementMaker as KML from lxml import etree kml = KML.Placemark( KML.name("Hello World!"), KML.Style( KML.IconStyle( KML.scale(1.0), KML.Icon( KML.href("marker.png") ) ) ), KML.Point( KML.coordinates("-64.5253,18.4607") ) ) # serialize KML to a string kml = etree.tostring(kml, pretty_print=True, xml_declaration=True, encoding='UTF-8') # create a ZipFile object with ZipFile('IconStyle.kmz', 'w') as zipObj: zipObj.writestr('doc.kml', kml) # Add doc.kml entry zipObj.write('marker.png') # Add icon to the zip
如果希望共享KML文件中的自定义图像或图标,而不必将这些图像托管在可公开访问的web服务器上,则需要将KML和图像打包到KMZ文件中
您可以使用包含KML和引用图标的pykml(或simplekml)创建独立的KMZ文件
相关问题 更多 >
编程相关推荐