Metadata-Version: 2.4
Name: rosreestr2coord
Version: 5.3.1
Summary: Get geometry from rosreestr
Author-email: Artemiy Doroshkov <rendrom@gmail.com>
License: MIT License
        
        Copyright (c) 2016 Artemiy
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://github.com/rendrom/rosreestr2coord
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: requests
Provides-Extra: dev
Requires-Dist: ruff; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: pytest-mock; extra == "dev"
Requires-Dist: tox; extra == "dev"
Requires-Dist: requests-mock; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Dynamic: license-file

# ROSREESTR TO COORDINATE

![PyPI](https://img.shields.io/pypi/v/rosreestr2coord?style=flat-square)

⚠️ **ВНИМАНИЕ**: Данная версия использует новое API (НСПД вместо ППК).
Обратите внимание, что коды типы площадей были существенно изменены – ознакомитесь с описанием параметров командной строки ниже.
Версии библиотеки rosreestr2coord 4 и ниже больше не поддерживаются!

Инструмент, позволяющий вычислять координаты участка по его кадастровому номеру.
Данные берутся с Геоинформационного портала НСПД [https://nspd.gov.ru/map](http://pkk.rosreestr.ru/).

Результат работы скрипта **не соответствует информации в кадастровой выписке**

**Удобно получать данные прямо в QGIS можно с помощью [вот этого инструмента](https://nextgis.ru/blog/ngq-rr/)** (нужна подписка)

![Plot output](https://raw.githubusercontent.com/rendrom/rosreestr2coord/master/images/plot_example.png)

## Зависимости

- Python >= 3.6

## Установка

### Для использования (Production)

Для установки стабильной версии пакета используйте `pip`:

```bash
pip install rosreestr2coord
```

## Для разработки (Development)

Для установки девелоперской версии и настройки среды разработки:

```bash
git clone https://github.com/rendrom/rosreestr2coord
cd rosreestr2coord
```

Установка через виртуальное окружение

```bash
# создание виртуального окружения
python -m venv ./env
# активация виртуального окружения для Linux и MacOS
. ./env/bin/activate
# активация виртуального окружения для Windows
. ./env/Scripts/activate
# установка пакета в режиме редактируемой установки
pip install -e .
pip install -e .[dev]
```

Это позволит вам вносить изменения в код и сразу же тестировать их.

## Использование

### Из консоли

После установки `rosreestr2coord` вы можете запускать его прямо из командной строки. Вот основные способы использования:

#### 1. Получение координат по кадастровому номеру

```bash
rosreestr2coord -c 38:06:144003:4723
```

#### 2. Пакетная обработка из списка кадастровых номеров

```bash
rosreestr2coord -l ./cadastral_numbers_list.txt
```

Для пакетной обработки используйте файл с перечислением кадастровых номеров (каждый номер на новой строке).

#### Рекомендации по использованию

- **Рабочая директория**: При выполнении скрипта в текущей директории будут создаваться различные файлы и папки. Рекомендуется создать отдельную директорию для работы с приложением, чтобы избежать захламления основной рабочей области.

- **Параметры командной строки**:

- -h - справка
- -c - кадастровый номер
- -p - путь для промежуточных файлов
- -o - путь для полученного geojson файла
- -t - тип площади:
  - 1 Объекты недвижимости
    - Земельные участки ЕГРН
    - Здания
    - Сооружения ЕГРН
    - Объекты незавершённого строительства
    - Единые недвижимые комплексы
    - Предприятия как имущественным комплексы
  - 2 Кадастровое деление
    - Кадастровые округа
    - Кадастровые районы
    - Кадастровые кварталы
  - 4  Административно-территориальное деление
    - Муниципальные образования
    - Населённые пункты
  - 5  Зоны и территории
    - Территории объектов культурного наследия
    - Зоны с особыми условиями использования территории
    - Особо охраняемые природные территории
    - Охотничьи угодья
    - Лесничества, Особые экономические зоны
    - Территории опережающего развития
  - 7  - Территориальные зоны
  - 15 - Комплексы объектов
    - Единые недвижимые комплексы
    - Предприятия как имущественным комплексы
- -l - пакетная загрузка из списка в текстовом файле ( `rosreestr2coord -l list_example.txt` )
- -r - не использовать кэширование
- -P - загрузка через прокси
- -v - показать версию
- -u - установить адрес прокси (например, `--proxy_url 'http://user:password@12.345.67.89:9876'`)

### Программное использование

`rosreestr2coord` можно также использовать как библиотеку в вашем Python проекте. Ниже приведен пример использования и описание основных функций и параметров.

```python
from rosreestr2coord import Area

# Создание объекта Area с кадастровым номером участка
area = Area("38:06:144003:4723")

# Преобразование данных в формат GeoJSON
area.to_geojson()
```

#### Параметры конструктора Area

- code: Кадастровый номер участка.
- area_type: Тип площади.
- media_path: Путь для временных файлов.
- with_log: Включение логирования действий.
- coord_out: Формат вывода координат (например, 'EPSG:4326').
- center_only: Если True, экспортируются только координаты центров участков.
- with_proxy: Если True, запросы отправляются через прокси-сервер.
- use_cache: Если True, используется кэширование запросов.
- proxy_url: Адрес прокси-сервера.

## Журнал

- 09-04-2025 - **v.5.3.0**
  - Улучшена обработка ошибок для api режима с with_log=False + тесты
- 08-02-2025 - **v.5.1.0**
  - Добавлена поддержка всех доступных типов площадей.
- 23-12-2024 - **v.5.0.1**
  - Хотфикс под новое API НСПД.
  - Ключ `-t` снова вернулся.
- 22-12-2024 - **v.5.0.0**
  - Переезд с ППК на НСПД.
  - Нет больше ключей `-e` `-t` `-d` `-с` - просто вводите кадастровый номер.
  - Нет больше методов api `get_coord`, `get_attrs` и `to_geojson_poly`. Используйте `to_geojson` и `to_kml`.
  - Атрибуты найденного объекта отличаются от старой версии.
- 22-09-2024 - **v.4.5.0**
  - Изменен механизм формирования запросов [#87](https://github.com/rendrom/rosreestr2coord/issues/87) [#72](https://github.com/rendrom/rosreestr2coord/issues/72#issuecomment-2362843205).
- 22-07-2024 - **v.4.4.0**
  - Устранено дублирование замыкающей точки в геометрии [#86](https://github.com/rendrom/rosreestr2coord/pull/86) by [botanegg](https://github.com/botanegg).
- 17-12-2023 - **v.4.2.8**
  - Добавлена возможность указывать конкретный прокси в командной строке [#81](https://github.com/rendrom/rosreestr2coord/pull/81) by [sergeybarkov](https://github.com/sergeybarkov).
- 05.10.2022 - **v.4.1.5**
  - Добавлена поддержка кадастровых номеров с номером контура (...:XXXX/C) [#65](https://github.com/rendrom/rosreestr2coord/issues/65).
- 16.09.2022 - **v.4.1.4**
  - Исправлено кэширование пустых ответов [#63](https://github.com/rendrom/rosreestr2coord/issues/63).
- 05.07.2022 - **v.4.1.3**
  - Заменён механизм загрузки списка адресов прокси-серверов [#62](https://github.com/rendrom/rosreestr2coord/issues/62).
- 27.05.2022 - **v.4.1.1**
  - Исправлена работа ключа `-r` `--refresh` [#61](https://github.com/rendrom/rosreestr2coord/issues/61).
- 21.05.2022 - **v.4.1.0**
  - Во время получения геометрии удаляем неиспользуемые промежуточные изображения [#60](https://github.com/rendrom/rosreestr2coord/pull/60) by [2joy](https://github.com/2joy).
- 18.04.2022 - **v.4.0.20**
  - Очистка лишних символов. Для удобства использования прямых выгрузок из CSV или MID/MIF by [PbIXTOP](https://github.com/PbIXTOP).
- 29.11.2021 - **v.4.0.19**
  - Доработка загрузки `area_type = 7` (Границы).
- 27.11.2021 - **v.4.0.18**
  - Исправлена загрузка для `area_type = 7` (Границы).
  - Исправлено формирование запросов с нулями в кадастровом номере.
  - Исправлено поведении опции `-r`, `--refresh`.
- 10.11.2021 - **v.4.0.15**
  - [Обработка ЗОУИТ в формате 02:52-6.667](https://github.com/rendrom/rosreestr2coord/issues/53).
  - Исправлено отображение лога для пакетной загрузки.
- 20.07.2021 - **v.4.0.12** - **v.4.0.14**
  - [Fix "Invalid 'layerDefs' is specified" error](https://github.com/rendrom/rosreestr2coord/pull/45) by [sergeybarkov](https://github.com/sergeybarkov).
  - Обработка ошибок загрузки данных.
  - Декодирование ответа в utf-8 by [jonimnim](https://github.com/jonimnim).
- 30.01.2021 - **v.4.0.11**
- 09.07.2020 - **v.4.0.10**
  - Исправлен экспорт в KML [#36](https://github.com/rendrom/rosreestr2coord/issues/36).
  - Добавлена опция консоли `-v` для вывода текущей версии библиотеки.
- 28.05.2020 - **v.4.0.9**
  - Исправлена проблема с путями в Windows [#34](https://github.com/rendrom/rosreestr2coord/issues/30).
- 14.05.2020 - **v.4.0.8** by [alexandervlpl](https://github.com/alexandervlpl)
  - Оптимизировать склеивание тайлов [#30](https://github.com/rendrom/rosreestr2coord/issues/30).
- 12.05.2020 - **v.4.0.7**
  - Исправление экспорта мультиполигональной геометрии.
  - Экспорт в KML [#31](https://github.com/rendrom/rosreestr2coord/issues/31).
- 10.05.2020 - **v.4.0.6**
  - Обработка запросов с ошибоками, исправление кэширования.
- 01.05.2020 - **v.4.0.5**
  - Загрузка ЗОУИТ (-t 10).
  - Добавлен файл привязки к получаемому растру.
- 21.04.2020 - **v.4.0.4** by [magican](https://github.com/magican)
  - небольшой рефакторинг - подготовка к type и pep тестам.
  - добавлен poetry.
  - добавлен Makefile.
  - добавлены тесты (pytest).
- 08.04.2020 - **v.4.0.0**
  - Координаты всегда в WGS84.
  - Всегда добавляются атрибуты.
  - Каталог заменен на кэширование запростов.
  - Из проекта удалён GUI (будет переписан на вебсервер).
- 18.03.2020 - Обеспечение совместимости с новой версией api [публичной кадастровой карты](https://pkk.rosreestr.ru/).
- 28.10.2019 - Перевод на Python3 by [botanegg](https://github.com/botanegg).
- 16.10.2019 - Исправление функции загрузки данных с росреестра by [botanegg](https://github.com/botanegg).
- 11.09.2018 - Исправление ошибки формирование полигональной геометрии при экспорте в GEOJSON [#8](https://github.com/rendrom/rosreestr2coord/issues/8) by [denny123](https://github.com/denny123).
- 12.03.2018 - Исправление функции завершения выполнения операций в консоли при нажатии на Ctrl+C.
- 05.03.2018 - Добавлена возможность загрузки через прокси [#7](https://github.com/rendrom/rosreestr2coord/issues/5) by [Niakr1s](https://github.com/Niakr1s).
- 09.03.2017 - Добавлена поддержка пользовательского интерфейса с интерактивной картой.
- 17.10.2016 - Увеличена точность вычисления контуров участков.
- 14.10.2016 - Обработка участков с несколькими полигонами.
- 06.10.2016 - Осуществление экспорта таблиц в формате csv.
- 05.10.2016 - Пакетная загрузка участков по списку кадастровых номеров из файла, перевод координат в WGS84.
- 03.10.2016 - Добавлена возможность выбора типа площади.
- 05.09.2016 - Изменен формат записи координат, добавлена возможность хранить мультиполигональную геометрию.
- 23.05.2016 - В тестовом режиме работает восстановление полигонов с отверстиями по PNG.
- 21.05.2016 - Были внесены изменения, чтобы вернуть работу с распознаванием точек по PNG. Упала точность, пропала способность рисовать полигоны и выделять отверстия.
- 21.05.2016 - На публичных кадастровых картах заблокировали SVG и внесли ещё некоторые изменения в работу сервисов. В связи с этим перестало работать приложение.
