rosreestr2coord icon indicating copy to clipboard operation
rosreestr2coord copied to clipboard

Периодически вылезает ошибка

Open rashn opened this issue 3 years ago • 7 comments

С непонятной периодичностью при обработке списка кадастровых номеров вылезает именно такой набор ошибок, как результат, участков из списка в финальном geojson нет, хотя в отчете написано что всё ок, при этом повторный 2,3 или 4 запуск этого же списка может пройти без ошибок:

================= Parsing complete: success : 12 error : 0 no_coord : 0

ОШИБКА

Exception in thread Thread-6: Traceback (most recent call last): File "/usr/local/Cellar/[email protected]/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/threading.py", line 973, in _bootstrap_inner self.run() File "/usr/local/Cellar/[email protected]/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/threading.py", line 910, in run self._target(*self._args, **self._kwargs) File "/usr/local/lib/python3.9/site-packages/rosreestr2coord-4.0.19-py3.9.egg/rosreestr2coord/merge_tiles.py", line 37, in task_wrapper result.put(target(*args)) File "/usr/local/lib/python3.9/site-packages/rosreestr2coord-4.0.19-py3.9.egg/rosreestr2coord/merge_tiles.py", line 331, in fetch_tile img = self.get_image(x, y) File "/usr/local/lib/python3.9/site-packages/rosreestr2coord-4.0.19-py3.9.egg/rosreestr2coord/merge_tiles.py", line 462, in get_image data = self._load_image_data(meta_url, cache_path) File "/usr/local/lib/python3.9/site-packages/rosreestr2coord-4.0.19-py3.9.egg/rosreestr2coord/merge_tiles.py", line 476, in _load_image_data data = json.loads(response.decode("utf-8")) AttributeError: 'bool' object has no attribute 'decode'

rashn avatar Feb 22 '22 06:02 rashn

Предоствавьте, пожалуйста, пример списка

rendrom avatar Feb 27 '22 07:02 rendrom

Похожие ошибки появляются при попытке выполнить команду (Пытаюсь получить координаты квартала)

>rosreestr2coord -t 2 -c 71:04:10202
Press Ctrl+C to exit
Start downloading area info: https://pkk.rosreestr.ru/api/features/2/71:4:10202
Area info downloaded.
Get tiles:
29% 7/24Exception in thread Thread-3:
Traceback (most recent call last):
  File "c:\python\lib\threading.py", line 916, in _bootstrap_inner
    self.run()
  File "c:\python\lib\threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "c:\python\lib\site-packages\rosreestr2coord\merge_tiles.py", line 37, in task_wrapper
    result.put(target(*args))
  File "c:\python\lib\site-packages\rosreestr2coord\merge_tiles.py", line 331, in fetch_tile
    img = self.get_image(x, y)
  File "c:\python\lib\site-packages\rosreestr2coord\merge_tiles.py", line 462, in get_image
    data = self._load_image_data(meta_url, cache_path)
  File "c:\python\lib\site-packages\rosreestr2coord\merge_tiles.py", line 476, in _load_image_data
    data = json.loads(response.decode("utf-8"))
AttributeError: 'bool' object has no attribute 'decode'

37% 9/24Exception in thread Thread-1:
Traceback (most recent call last):
  File "c:\python\lib\threading.py", line 916, in _bootstrap_inner
    self.run()
  File "c:\python\lib\threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "c:\python\lib\site-packages\rosreestr2coord\merge_tiles.py", line 37, in task_wrapper
    result.put(target(*args))
  File "c:\python\lib\site-packages\rosreestr2coord\merge_tiles.py", line 331, in fetch_tile
    img = self.get_image(x, y)
  File "c:\python\lib\site-packages\rosreestr2coord\merge_tiles.py", line 462, in get_image
    data = self._load_image_data(meta_url, cache_path)
  File "c:\python\lib\site-packages\rosreestr2coord\merge_tiles.py", line 476, in _load_image_data
    data = json.loads(response.decode("utf-8"))
AttributeError: 'bool' object has no attribute 'decode'

66% 16/24
Completed, 16 tiles received

В итоге папка output не создается

Ziamrurth avatar Mar 07 '22 08:03 Ziamrurth

C -P работает

rosreestr2coord -t 2 -c 71:04:10202 -P

image

rendrom avatar Mar 09 '22 07:03 rendrom

Добрый день! Большое спасибо за крайне полезный инструмент! К сожалению ошибка по прежнему актуальна. Возникает, в частности, на примере из документации rosreestr2coord -c 38:06:144003:4723. Конфигурация - Win 11, Python 3.7 и 3.9, установка через пакетный менеджер.

Дополнение: Python 3.5.6 отработал без ошибок, но тайлы не скачаны, хотя объект существует. (py356) C:\Users\lelik>rosreestr2coord -c 38:06:144003:4723 Press Ctrl+C to exit Area info loaded from file: C:\Users\lelik\tmp\38_6_144003_4723\feature_info.json Get tiles: 0% 0/1 Completed, 0 tile received

AlekseiGrigorev avatar Jan 13 '23 16:01 AlekseiGrigorev

Уважаемые коллеги, ошибка возникает в методе: def _load_image_data(self, url, cache_path) класса PkkAreaMerger response = self.make_request(url) data = json.loads(response.decode("utf-8")) Ожидается, что метод make_request вернет json. В то же время, если скачать тайл не удалось, то он возвращает False. В следующей строке, соответственно, возникает ошибка.

Тайл не удается скачать, поскольку в очередной раз изменилась спецификация операции export. Мне удалось заставить загрузку работать только изменив массив параметров в методе def get_image(self, x, y) класса PkkAreaMerger В частности, задав минимально необходимый перечень слоев и убрав параметр timestamp (см. ниже). params = { "dpi": 96, "transparent": "false", "format": "png32", #"layers": "show:{}".format(",".join([str(l) for l in layers])), "layers": "show:6,7,8,9", "bbox": ",".join(map(str, self._get_bbox_by_xy(x, y))), "bboxSR": 102100, "imageSR": 102100, "size": "%s,%s" % (dx, dy), #"layerDefs": layerDefs, "layerDefs": "{"6":"ID = '38:6:144003:4723'","7":"ID = '38:6:144003:4723'","8":"ID = '38:6:144003:4723'","9":"ID = '38:6:144003:4723'"}", "f": "json", #"timestamp": int(round(time.time() * 1000)), }

AlekseiGrigorev avatar Jan 17 '23 09:01 AlekseiGrigorev

@AlekseiGrigorev здравствуйте! Спасибо за ваше предложение. Только у меня не получается воспреизвести ошибку. Выполняю

python -m rosreestr2coord -c 38:06:144003:4723 -P -r

отрабатывает без ошибок.

rendrom avatar Jan 17 '23 14:01 rendrom

Залил версию с выводом более понятных сообщений об ошибках при выполнении запросов. Но лучше просто всегда использовать ключ -P

rendrom avatar Jan 17 '23 15:01 rendrom