O problema é que eu desejo tornar possível calcular automaticamente a rotação do mapa no compositor de mapas. Eu tenho muitos mapas em um arquivo com seus próprios parâmetros de projeção e gostaria de definir a rotação do mapa no compositor de mapas com base na fórmula de projeção (ou outra coisa?)
por exemplo, localize um mapa específico no projeto:
A projeção é
No limite do mapa do compositor de mapas, parece
E com o ângulo de rotação selecionado para o mapa com seus parâmetros de projeção:
O ângulo de rotação do mapa é diferente para cada mapa, dependendo da localização e dos parâmetros de projeção.
É possível automatizar esse processo e calcular o ângulo de rotação do mapa automaticamente, pois não encontra esse valor manualmente todas as vezes (eu gostaria de criar o compositor universal para todos os mapas via menu de geração de atlas)?
fonte
Respostas:
Abaixo uma solução encontrada por @ndawson nos comentários da pergunta. Por favor, sinta-se livre para comentar e melhorar esta resposta.
Execute da caixa de ferramentas de processamento a ferramenta Caixa delimitadora mínima orientada na grade de envelopes de mapa que você já usa.
Isso criará uma camada que deve ser bastante idêntica à sua camada original. Você encontrará na tabela de atributos um campo ANGLE
Agora você deve poder usar este campo ANGLE no compositor para preencher o campo de dados definido para rotação:
O problema parece ser que o ângulo nem sempre é fácil de usar, pois depende da maneira como os polígonos iniciais são feitos. Fiz alguns testes e depende de como você desenhou seus polígonos de origem. Você pode precisar ajustar os valores dos atributos do campo ANGLe de acordo:
(vermelho é polígonos originais, em preto os polígonos da ferramenta OMBB). Digitalizei para os exemplos semelhantes de polígonos de duas maneiras diferentes (indo para a direita ou esquerda)
Para retornar o valor do ângulo à sua camada original, você pode usar uma operação de junção de localização espacial.
fonte