Веб-приложение для визуализации кадастровых участков на интерактивной карте. Система автоматически обрабатывает Excel файл с данными из реестра лотов, извлекает кадастровые номера, геокодирует адреса и отображает все участки на карте с возможностью фильтрации и детального просмотра.
- Интерактивная карта на базе Leaflet с маркерами участков
- Кластеризация маркеров для удобного отображения большого количества участков
- Попапы с информацией при клике на маркер (кадастровый номер, площадь, цена, адрес, статус)
- Цветовая индикация:
- 🟢 Зеленые маркеры - точные координаты
- 🟠 Оранжевые маркеры - примерные координаты
- Поиск по кадастровому номеру, адресу или описанию
- Фильтры:
- Все участки
- С точными координатами
- С примерными координатами
- С указанной ценой
- Список участков с возможностью прокрутки
- Карточки участков с ключевой информацией:
- Кадастровый номер
- Адрес
- Площадь
- Цена (если указана)
- Статус
- Форма собственности
- Вид торгов
- Общее количество участков
- Количество участков с точными координатами
- Количество участков с примерными координатами
- Общая площадь всех участков
- Количество участков с ценой
- Общая сумма цен
cadastral-map/
├── cadastral_map_final.html # Главная страница с картой
├── cadastral_data_with_coords.json # Обработанные данные (489 участков)
├── process_all_lots.py # ⭐ Основной скрипт (геокодирование OSM)
├── get_real_coordinates.py # Альтернатива (API Росреестра)
├── get_coordinates_api.py # Прямой доступ к ПКК API
├── cadastral_processor.py # Старая версия
├── Выгрузка результатов поиска в реестре лотов.xlsx # Входные данные
└── README.md # Документация
- Frontend: React 18, Babel (встроенная компиляция)
- Карты: Leaflet 1.9.4, Leaflet.markercluster
- Backend обработка: Python (pandas, requests)
- Данные: JSON
- Стилизация: CSS3 с градиентами и анимациями
pip install pandas openpyxl requestsПоместите Excel файл в корень проекта и запустите:
python3 process_all_lots.pyСкрипт обработает все участки (~5-10 минут):
- Извлечет кадастровые номера из Excel
- Геокодирует адреса через OpenStreetMap Nominatim
- Сохранит результат в
cadastral_data_with_coords.json
Результат: 489 участков обработано, 322 с координатами (65%)
Запустите локальный веб-сервер (требуется для работы из-за CORS):
python3 -m http.server 8000Откройте в браузере:
http://localhost:8000/cadastral_map_final.html
- Поиск - введите кадастровый номер или адрес
- Фильтры - выберите категорию участков
- Клик на карточку - карта центрируется на участке
- Клик на маркер - показывает детальную информацию
- "Показать все" - масштабирует карту на все участки
OpenStreetMap Nominatim API
- ✅ Стабильный и доступный
- ✅ Не требует регистрации
- ✅ Кэширование адресов (ускорение обработки)
⚠️ Ограничение: 1 запрос/секунду⚠️ Примерные координаты (уровень населенного пункта)
rosreestr2coord + API Росреестра
- ✅ Точные координаты и границы участков
- ✅ Полная геометрия
⚠️ Требует доступа к API ПКК⚠️ Может быть недоступен (SSL/сеть)
- ✅ Все 489 участков (было: только 50)
- ✅ Реальные координаты (было: случайные точки вокруг Казани)
- ✅ Исправлена обрезка панели (добавлен flex-shrink: 0)
- ✅ Решена CORS проблема (локальный веб-сервер)
- Файл из реестра лотов с колонками:
- Характеристики имущества (содержит кадастровый номер)
- Местонахождение имущества
- Начальная цена
- Статус лота
- И другие...
{
"cadastral_number": "16:33:060205:216",
"area": 1393.0,
"address": "Респ Татарстан, м.р-н Пестречинский",
"price": 66000.0,
"coordinates": {
"lat": 55.7887,
"lng": 49.1221,
"approximate": true
},
...
}- Адаптивный дизайн для мобильных устройств
- Плавная анимация при наведении и переходах
- Градиентный заголовок в фирменных цветах
- Кластеризация маркеров для оптимизации производительности
- Автоскролл к выбранному участку в списке
- Визуальная обратная связь при взаимодействии
- 🟢 Прием заявок - активный статус
- 🟠 Не состоялся - торги не состоялись
- ⚪ Другие статусы - нейтральное отображение
- Для корректной работы требуется подключение к интернету (загрузка тайлов карты)
- Примерные координаты генерируются для демонстрации, когда API недоступен
- Можно обрабатывать больше 50 участков, изменив лимит в скрипте
- Карта автоматически центрируется на Республике Татарстан
- Поиск по тексту - введите часть кадастрового номера или адреса
- Фильтры - выберите нужную категорию участков
- Клик на карточку - центрирует карту на участке
- Клик на маркер - открывает информационное окно
- Кнопка "Показать все" - масштабирует карту для отображения всех маркеров
Система может обрабатывать:
- До 10000+ участков с кластеризацией
- Поиск в реальном времени
- Динамическую загрузку координат
Разработано для работы с данными из реестра лотов Республики Татарстан