Работающее демо · подготовлено 7 сентября 2026
Settlements UI
GIS-интерфейс для выбора объектов, редактирования полигонов, проверки геометрии и экспорта. Публичное демо работает на полностью синтетической карте.
01 / Задача
Редактирование геометрии на интерактивной карте
Изменение границ должно оставаться связано с карточкой объекта, проходить проверку и давать воспроизводимый результат экспорта.
Для кого: Специалисты, работающие с территориальными объектами и геометрией.
Мой вклад
- Прикладной интерфейс карточек, слоёв и редактирования геометрии.
- Работа с React/MobX, MapLibre, Mapbox Draw, GeoJSON и EWKB.
- Подготовка отдельного demo adapter без корпоративного API, registry-зависимостей и рабочих данных.
Интерфейс в работе
Сценарии, детали и состояния02 / Технологии
Стек и его роль
React / MobX
Карточки, application store и согласованное состояние выбора.
MapLibre / Mapbox Draw
Рендер карты, слои и интерактивное изменение вершин.
GeoJSON / EWKB
Обмен геометрией, преобразования и валидация.
Vite
Изолированная production-сборка без корпоративного registry.
03 / Решения
Как устроен проект
- Сохранены исходные application store, модели, контроллеры карты и проверки геометрии.
- Транспорт OData заменён локальным адаптером; карта не запрашивает внешние тайлы.
- Импорт разрешён только для встроенного GeoJSON-примера, повтор не создаёт дубликат.
04 / Проверка
Что попробовать
- Найдите объект, откройте карточку и включите режим редактирования.
- Переместите вершину полигона, проверьте геометрию и сохраните.
- Импортируйте встроенный пример, затем повторите импорт: останется пять объектов.
- Экспортируйте GeoJSON, сравните изменённую вершину и сбросьте карту.
Подтверждённые результаты
- Сохранено 12 содержательных кадров фактического интерфейса.
- Дата, сценарий и версия указаны у каждого кадра.
- Отдельного backend-процесса на VPS нет: Nginx раздаёт статику. Ресурсы общего Nginx нельзя честно приписать одному сайту.
- Измерено 6 повторений сценария; медиана 71.5 мс, максимум 819 мс. Время включает браузер и HTTPS; методика и ограничения приложены.
Границы и ограничения
- Четыре объекта и географическая подложка вымышлены; это не кадастровая или административная карта.
- Исходный репозиторий остаётся приватным. Серверный OData и исходный массовый импорт не развёрнуты.
- Production Vite-сборка и браузерные сценарии проверены; полный legacy TypeScript/lint набор не заявляется пройденным.
Нужны детали реализации?
Архитектура, code-map, API, проверка, развёртывание и реальные измерения.
Открыть документацию →Скачать материалы ↓