【问题标题】:Adding extended data to placemarks in python with pykml使用pykml将扩展数据添加到python中的地标
【发布时间】:2012-12-05 10:28:32
【问题描述】:

我已将一些地址连同几列数据上传到 batchgeo。我已经下载了 kml 文件,其中包含坐标。数据结构如下:

<?xml version="1.0" ?>
<kml xmlns="http://earth.google.com/kml/2.0">
    <Document>
        <Placemark>
            <name>...</name>
            <description>....</description>
            <Point>
                <coordinates>-3.1034345755337,57.144817425039,0</coordinates>
            </Point><address>...</address>
            <styleUrl>#0</styleUrl>
        </Placemark>
    </Document>
</kml>

“描述”标签是一团乱麻,当您单击 Google 地图/地球中的某个点(网址、地址等)时,其中包含扩展数据。我现在想在当前扩展数据下添加一些细节。我目前的策略是使用pykml,但我找不到 pykml 对象的扩展数据属性,而且我没有在文档中看到它。当我点击 Google 地球中的地标时,我希望它出现:

<Description>
item 1
item 2
item 3
</Description>
New data

您能建议如何实现这一目标吗?谢谢。 (顺便说一句,pylibkml 有这个功能但是已经停产了,我找不到下载链接!)

【问题讨论】:

标签: python kml google-earth pykml


【解决方案1】:

好的,我将在这里玩一些死灵魔法,并留下一些帮助我解决类似问题的东西。这对我有用

pm = KML.Placemark(
                KML.name("My extended data point somewhere in sahara!"),
                KML.Point(KML.coordinates("10, 15")),
                KML.ExtendedData( 
                    KML.Data(KML.value('someValueGadzilion'),name='Your value name here')
                ) 
     )

【讨论】:

    【解决方案2】:

    我已经通过使用 KML.description() 方法实现了你所说的。

    代码:

            placemark = KML.Placemark(
                KML.name('poi'),
                KML.description('blabla'),
                KML.LookAt(
                    KML.longitude(lat),
                    KML.latitude(lon),
                    KML.altitude(alt),
                    KML.heading('0'),
                    KML.tilt(0),
                    KML.range('0'),
                ),
                KML.Point(
                    KML.coordinates(string)
                )
            )
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多