Skip to content

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

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));  • Вернуть новые + прежние полигоны.-- Прочая информация: в будущем можно заменить случайную генерацию на алгоритм на основе рельефа/доступности.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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