Skip to content

Ручка для порождения новых изолиний #24

@Encapsulateed

Description

@Encapsulateed

Сделать ручку PUT /projects/{id}/extend

Что нужно сделать
Догенерация изолиний, если пользователь вышел за пределы.

Базовое описание
Запрос:

{
  "bbox": [minLon, minLat, maxLon, maxLat]
}

Ответ: обновлённый список полигонов, добавленные уровни/части.

Логика работы
1. Проверить, пересекается ли запрошенный bbox с project.bbox.

3. Если полностью внутри → вернуть существующие полигоны (ничего не создаём).

4. Если частично/полностью вне →  • Определить «недостающую» область missing = bbox - project.bbox;  • Сгенерировать дополнительный набор полигонов внутри missing (IsolineGeneratorService);  • В транзакции: insert в isolines, обновить project.bbox = ST_Envelope(ST_Union(old_bbox, missing));  • Вернуть новые + прежние полигоны.-- Прочая информация: в будущем можно заменить случайную генерацию на алгоритм на основе рельефа/доступности.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions