使用python中的SimpleXML单击Google Earth上的图标,显示坐标、时间戳和其他信息

2024-07-08 11:17:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过使用python中的SimpleXML查看Google earth上某个特定图标的坐标、时间戳和其他一些信息。以下是我正在使用的代码:

    style = simplekml.Style()
    style.labelstyle.color = simplekml.Color.red  
    style.labelstyle.scale = 0.05  
    style.iconstyle.icon.href = 'http://maps.google.com/mapfiles/kml/shapes/placemark_circle.png'
    for i in range(len(points)): # set of points as numpy array
       pnt = kml.newpoint(name='True Position:'.format([points[i][0], points[i][1]]))
       pnt.coords = [(points[i][0], points[i][1])] 
       pnt.style = style
    kml.save("test.kml")

我有一组点,每个点的地理位置、时间戳和海拔高度都是已知的。当我运行上述代码集时,我只能看到Google earth上的图标。当我点击任何一个图标时,我看不到与该点相关的任何信息,甚至连它在谷歌地球上的位置都看不到

如何修改上述代码,以便通过单击Google Earth上的图标可以看到所有信息(位置、时间戳和高度)


Tags: 代码信息stylegoogle时间kmlpointscolor
1条回答
网友
1楼 · 发布于 2024-07-08 11:17:52

听起来,当您单击某个点时,您希望弹出一个气球(也称为信息窗口),并希望气球显示该点的某些属性。在KML中有几种方法可以做到这一点,虽然我对SimpleXML不是很熟悉,但它似乎能够创建必要的KML结构。有几种方法可以将您想要的信息放入气球中。一种方法是将所有信息(文本或HTML)写入每个Placemark中的“description”标记中。默认情况下,当您单击placemark时,描述标记中的任何内容都将显示。如果您只想在引出序号中显示一个简单的数据表,那么可以将属性添加到每个placemark的KML中的ExtendedData部分。大多数KML渲染器(包括Google Earth)将显示一个包含属性名的基本表&;价值观最后,如果您想要更多地控制ExtendedData中数据的显示方式,可以使用应用于所有位置标记的共享BalloodStyle,并且该BalloodStyle可以包含一个HTML模板,其中包含表示属性名称的变量&;价值观这样,您就可以为引出序号创建一个迷你HTML页面,该页面将填充每个placemark的数据

获取有关扩展数据和引出序号模板的更多信息的好地方是: https://developers.google.com/kml/documentation/extendeddata

SimpleXML文档应向您展示如何创建必要的KML结构: https://simplekml.readthedocs.io/en/latest/

最后,如果您愿意/能够共享KML文件的副本或示例,我们可以建议如何修改它,以确保您想要的数据显示在气球中

相关问题 更多 >

    热门问题