14 votos

Crear "rectángulo oblicuo" con relación de anchura/altura máxima

Me gustaría crear un entorno rectángulo con maxiumum relación anchura/altura ("oblicuo del cuadro delimitador") a partir de un conjunto de características de entrada como se muestra en la siguiente imagen:

enter image description here

E. g. las funciones de PostGIS ST_Envelope y ST_Box2D así como de la OMF Transformadores BoundingBoxReplacer y BoundingBoxAccumulator generar eje paralelo en las cajas de contorno.

Cualquier sugerencia a través de enfoques con PostGIS, QGIS o FME más que bienvenidos!

11voto

jennz0r Puntos 48

Esta es, probablemente, la exageración en el procesamiento de frente y no es probable para ser una mejor solución matemática, sino como un ejemplo de una forma que se podía hacer, sino simplemente como una consulta

SELECT 
   id, rotated_by, oblique_bound
  FROM 
     (
     SELECT 
        m.id,
        r rotated_by, 
        ST_Rotate(ST_Envelope(ST_Rotate(m.geom, r)),-r) oblique_bound,
        row_number OVER (PARTITION BY id) 
                   ORDER BY ST_Area(ST_Rotate(ST_Envelope(ST_Rotate(m.geom, r)),-r))) N
       FROM 
          generate_series(0, 90, 0.1) N(r), my_table m
    ) s
WHERE N = 1;

Esta gira la geometría, crea los límites, se invierte la rotación de cada décima de grado entre 0 y 90. El resultado es, entonces, el cuadro de límite con el mínimo de área. Por supuesto, esto no es enteramente exacta de la forma de hacerlo y puede necesitar modificar el incremento de valor de la serie en función de sus requisitos.

6voto

John Feminella Puntos 123

QGIS tiene un algoritmo "mínimo orientado a recuadro" que hace exactamente esto.

5voto

Amy Puntos 46

El cuadro delimitador de un sustituto del transformador, que usted ha mencionado debe ser capaz de hacer esto. De acuerdo a la documentación,

Sustituye a la geometría de la entidad con cualquiera de sus dos dimensiones cuadro delimitador o de sus dos dimensiones mínimas orientadas cuadro delimitador.

El parámetro le permite elegir cualquiera de los ejes-algined o rectilíneo cuadro delimitador.

Al parecer, hay un sugerido de mejora a incluir en el ángulo del lado más largo de la orientada al cuadro delimitador. Esto es Seguro Número de PR#53924.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X