Я пытаюсь прочитать функции из источника WFS с python, используя OGR, и поместить их в базу данных PostgreSQL. Чтобы начать чтение объектов в итерации, я сначала получаю первый объект, прежде чем перейти к тому моменту, когда l oop перебирает все объекты:
layer.ResetReading()
feat = layer.GetNextFeature()
if not feat:
self.log("error", "Kon niet naar de eerste feature in %s gaan." % layer.GetName())
else:
if feat.GetFID():
self.sourcelist.append(feat.GetFID())
print ("\n%s : Source feature met dit nummer toevoegen aan %s" % (str(i),uitnaam), end = '\r' )
Слой существует. Я даже могу получить из него ogr.layer.GetLayerDefn (), который я использую для создания полей в postgresql до выполнения этого фрагмента кода. Это все работает для большинства сервисов и слоев WFS, однако, для некоторых слоев WFS никакая функция не может быть прочитана. Он не сообщает об ошибке, просто нет функций. Когда я использую свой браузер, чтобы сделать запрос с теми же srs и bbox, он выдает список функций. Я действительно не понимаю, почему это работает для большинства слоев большинства сервисов wfs, которые я использую, а для некоторых - нет? Я пытался добиться того же с помощью консольного приложения ogr2ogr. Для слоя, который не работает в моей программе, он возвращает ошибку:
ERROR 1: srsDimension = 4 not supported
Кто-нибудь знает, что здесь происходит?