rendrom / rosreestr2coord

Вычисление координат участка по кадастровому номеру с сайта https://pkk.rosreestr.ru
MIT License
162 stars 80 forks source link

Invalid 'layerDefs' is specified #44

Closed stolyar92 closed 2 years ago

stolyar92 commented 3 years ago

Ошибка появляется при загрузки более одного тайла:

WARNING:rosreestr2coord.logger:Invalid 'layerDefs' is specified WARNING:rosreestr2coord.logger:the JSON object must be str, bytes or bytearray, not bool

Из-за этого геометрия не рассчитывается.

rendrom commented 3 years ago

Обновите, пожалуйста, скрипт из репозитория и попробуйте снова запустить загрузку

stolyar92 commented 3 years ago

Обновите, пожалуйста, скрипт из репозитория и попробуйте снова запустить загрузку

К сожалению, проблема осталась. Наименьший процент ошибок возникает при использование layerDefs 6-9

Так же заметил, что парсер загружает около 2/3 тайлов, после этого переходит к следующему КУ. #https://github.com/rendrom/rosreestr2coord/pull/45#issuecomment-762168495

stolyar92 commented 3 years ago

Для меня помогло увеличение размера тайла с 1000х1000 до 30000х30000 Так же отключил кеширование и увеличил параметр max_count до 150

class PkkAreaMerger(TileMerger, object):
    file_name_prefix = 'pkk'
    url = "https://pkk.rosreestr.ru/arcgis/rest/services/PKK6/CadastreSelected/MapServer/export"
    crs = 3857
    tile_size = (30000, 30000)
    #tile_size = (1000, 1000)
    use_cache = False
    max_count = 150
    area_type = 1

Сообщение Invalid 'layerDefs' is specified не встречалось и все участки загружаются корректно.

stolyar92 commented 3 years ago

Судя по логам при ошибке "Invalid 'layerDefs' is specified" он не пытается повторить загрузку тайла. Количество загруженных тайлов уменьшается на кол-во ошибок. Я считаю, что в случае ошибки при загрузки тайла загрузку нужно повторить. Возможно, после какого-то ожидания (1 секунда, например).

Start downloading area info: https://pkk.rosreestr.ru/api/features/1/50:35:30306:725
Area info downloaded.
Get tiles:

11% 1/9
22% 2/9Invalid 'layerDefs' is specified

22% 2/9
33% 3/9
44% 4/9Invalid 'layerDefs' is specified

55% 5/9
55% 5/9Invalid 'layerDefs' is specified

55% 5/9
66% 6/9
Completed, 6 tiles received
rendrom commented 3 years ago

Понял, спасибо. Займусь подготовкой фикса очередного

rendrom commented 3 years ago

начал тестирование, пробежался по списку, но ошибок во время выполнения запросов не возникло. Возможно есть связь с нагрузкой серверов россреестра или блокировкой IP адреса. Попробуйте выполнять запросы с ключом -P python -m rosreestr2coord -c 50:35:30306:725 -P я проведу тестриование ещё в какой-нибудь будний день чтобы поймаю ошибку и как-нибудь её обработать

stolyar92 commented 3 years ago

начал тестирование, пробежался по списку, но ошибок во время выполнения запросов не возникло. Возможно есть связь с нагрузкой серверов россреестра или блокировкой IP адреса. Попробуйте выполнять запросы с ключом -P python -m rosreestr2coord -c 50:35:30306:725 -P я проведу тестриование ещё в какой-нибудь будний день чтобы поймаю ошибку и как-нибудь её обработать

я использую твой скрипт "программно", сейчас проверил на 28 участках, ошибок не выдал. Видимо и правда, дело в нагрузке на сервера Росреестра. Попробую этот же список КУ завтра днем, и в течении недели в разное время.

stolyar92 commented 3 years ago

Прогнал по второму списку КУ, вылезло несколько 503 ошибок. Я считаю, что нужно реализовать механизм повторного запроса тайла при исключении после datetime.sleep(t). Если после n кол-во попыток тайл не загружается, то нужно пропустить обработку КУ