Как я могу удалить элемент KML, используя simplekml? - PullRequest
0 голосов
/ 04 июня 2019

Я использую simpleKML в своем скрипте Python для создания файла KML. Добавить элементы легко, но я хочу иметь возможность снова удалять элементы.

Я проверил пакет pykml и обнаружил, что могу "удалить элементы из существующего объекта". Однако я впечатлен простотой simpleKML и предпочел бы придерживаться этого пакета.

Fx. удалить вторую точку (здесь: id = "17") из мультигеометрии:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2">
    <Document id="1">
        <Placemark id="11">
            <MultiGeometry id="10">
                <Point id="15">
                    <coordinates>9.042574667,51.834697333,0.0</coordinates>
                </Point>
                <Point id="17">
                    <coordinates>9.0425585,51.834703333,0.0</coordinates>
                </Point>
                <Point id="19">
                    <coordinates>9.042558833,51.834702667,0.0</coordinates>
                </Point>
            </MultiGeometry>
        </Placemark>
    </Document>
</kml>

в результате

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2">
    <Document id="1">
        <Placemark id="11">
            <MultiGeometry id="10">
                <Point id="15">
                    <coordinates>9.042574667,51.834697333,0.0</coordinates>
                </Point>
                <Point id="19">
                    <coordinates>9.042558833,51.834702667,0.0</coordinates>
                </Point>
            </MultiGeometry>
        </Placemark>
    </Document>
</kml>

Поскольку simpleKML автоматически добавляет атрибуты 'id' ко всем элементам, должно быть просто иметь что-то вроде getElementById и удалять строки из объекта kml. По крайней мере, для кого-то более компетентного в кодировании, чем я.

...