Дело в том, что мне интересно, чтобы в компоновщике карт можно было автоматически рассчитывать поворот карты. У меня есть много карт в одном файле с их собственными параметрами проекции, и я хотел бы определить поворот карты в компоновщике карт на основе формулы проекции (или что-то еще?)
например, расположение одной конкретной карты в проекте:
Проекция
В карте композитора карта выглядит как граница
И с выбранным углом поворота для карты с их параметрами проекции:
Угол поворота карты различен для каждой карты в зависимости от ее местоположения и параметров проекции.
Можно ли автоматизировать этот процесс и автоматически рассчитать угол поворота карты, так как не нужно каждый раз находить это значение вручную (я хотел бы создать универсальный композитор для всех карт через меню создания атласа)?
источник
Ответы:
Ниже решение, найденное @ndawson в комментариях к вопросу. Пожалуйста, не стесняйтесь комментировать и улучшать этот ответ.
Запустите из панели инструментов обработки инструмент Ориентированный минимальный ограничивающий прямоугольник на сетке конверта карты, которую вы уже используете.
Это создаст слой, который должен быть полностью идентичен вашему исходному слою. В таблице атрибутов вы найдете поле УГОЛ
Теперь вы должны иметь возможность использовать это поле ANGLE в компоновщике, чтобы заполнить данные, определенные для вращения:
Похоже, проблема заключается в том, что угол не всегда прост в использовании, поскольку он зависит от способа создания исходных многоугольников. Я провел несколько тестов, и это зависит от того, каким образом вы нарисовали исходные полигоны. Возможно, вам придется настроить значения атрибутов поля ANGLe соответственно:
(красный - оригинальные полигоны, черный - полигоны инструмента OMBB). Я оцифровал для примера аналогичные полигоны двумя разными способами (направо или налево)
Чтобы вернуть значение угла к исходному слою, вы можете использовать операцию объединения пространственного местоположения.
источник