Gostaria de criar um retângulo circundante com uma relação largura / altura máxima ("caixa delimitadora oblíqua") a partir de um conjunto de recursos de entrada, como mostra a imagem abaixo:
Por exemplo, as funções PostGIS ST_Envelope
e ST_Box2D
também os transformadores FME BoundingBoxReplacer
e BoundingBoxAccumulator
geram caixas delimitadoras de eixos paralelos.
Todas as sugestões usando abordagens com PostGIS, QGIS ou FME são muito bem-vindas!
Respostas:
Provavelmente, isso é um exagero no processamento e é provável que exista uma solução matemática melhor, mas como um exemplo de como isso poderia ser feito simplesmente como uma consulta
Isso gira a geometria, cria os limites, inverte a rotação para cada décimo de grau entre 0 e 90. O resultado é então a caixa delimitadora com a menor área. Obviamente, essa não é uma maneira totalmente precisa de fazê-lo e pode precisar de ajustes no valor do incremento na série, dependendo de seus requisitos.
fonte
O QGIS possui um algoritmo de "caixa delimitadora orientada mínima", que faz exatamente isso.
fonte
Processing toolbox -> QGIS geoalgorithms -> Vector General tools -> Oriented minimum bounding box
O transformador substituto da caixa delimitadora , que você mencionou, deve poder fazer isso. De acordo com a documentação,
O parâmetro permite que você escolha a caixa delimitadora com alginidade do eixo ou retilínea.
Aparentemente, há um aprimoramento sugerido para incluir o ângulo do lado mais longo da caixa delimitadora orientada. Este é o número seguro PR # 53924.
fonte