当前许多地图,导航方面的从业者使用KML的频率比较高,对坐标点的匹配有各种各样的要求,批量制作合适的KML文件,可以提高我们的作业效率。这里所使用的方法是比较简单的直接批量增加字符串的办法。上代码:
#encoding=utf-8
#首先要了解KML文件的格式,这里以线KML为例,直接输入为字符串,coordinate标签内批量增加坐标点
lineKml = """ <?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>ROUTE1</name>
<Style>
<LineStyle>
<Color>#FF0000</Color>
</LineStyle>
</Style>
<LineString>
<coordinates>
</coordinates>
</LineString>
</Placemark>
</kml>"""
#这里经纬度直接是一个列表了,如果是文件就用相应的办法去取数据
positions = [[114.000000,34.000000],[114.000200,34.000500]]
strlist = LineKml.split("\n")
with open("a.kml","a") as file:
for i in strlist:
file1.write(i+"\n")
if i.endswith("<coordinates> "):
for position in positions:
#这里三个\t是为了保证缩进
file1.write("\t\t\t"+str(positions[0])+str(position[1]))
最终就生成了想要的KML文件,大致的方法就是这样,还可以在这基础上进行扩展,比如生成面文件啊,修改线的样式啊,主要就是修改lineKml字符串的内容。