Не могу разобрать дерево XML без элемента границ из Pyosmium
Я загрузил некоторые данные из OpenStreetMap и сортировал данные, поэтому у меня есть только те узлы и пути, которые мне нужны для моего проекта (шоссе и соответствующие узлы в ссылках). Чтобы отсортировать файл XML и создать новый, я использую библиотеку Pyosmium. Все работает, за исключением того, что я не могу разобрать файл XML с помощью xml.etree.ElementTree. Когда я сортирую свои данные в новый файл, я не перемещаю границы, содержащие минимальную и максимальную долготу и широту. Если я вручную копирую границы, которые он анализирует.
Я прочитал документ Pyosium и нашел только osmium.io.Reader и osmium.io.Header, а также некоторые атрибуты геометрии, которые описывают коробку (содержащую то, что мне нужно), но я не нашел никакой помощи в отношении получения его из моего файла и используя мой писатель, чтобы записать его на новый.
Пока это то, что у меня есть в моем основном методе, который просто обрабатывает узлы и пути, используя SimpleHandlers.
wayHandler = XMLhandlers.StreetHandler()
nodeHandler = XMLhandlers.NodeHandler()
wayHandler.apply_file('data/map_2.osm')
nodeHandler.apply_file('data/map_2.osm')
if os.path.exists('data/map_2_TEST.osm'):
os.remove('data/map_2_TEST.osm')
writer = XMLhandlers.wayWriter('data/map_2_TEST.osm')
writer.apply_file('data/map_2.osm')
tree = ET.parse('data/map_2_TEST.osm')
выдает следующую ошибку:
xml.etree.ElementTree.ParseError: элемент не найден: строка 1, столбец 0
Вставка исходного XML-файла: https://pastebin.com/i8uyCneC Вставка отсортированного XML-файла, который не анализируется: https://pastebin.com/WZUcsZg4
РЕДАКТИРОВАТЬ: ошибка не в самом разборе. Если я закомментирую часть, которая генерирует новый XML, и попытаюсь проанализировать только новый файл XML (который был создан заранее), он по какой-то причине сработает.
РЕДАКТИРОВАТЬ 2: ошибка заключалась в том, что я забыл вызвать close() на моем SimpleWriter, чтобы сбросить оставшиеся буферы и закрыть средство записи.