POSTGIS obtener la longitud máxima del polígono y el ancho promedio

13

Tengo en postgis una tabla de tipos de polígonos.

Necesito calcular automáticamente la longitud máxima del polígono:

Yelsegundoeselanchopromedio:

Ahora estoy dudando si es posible, ya que aunque todos mis polígonos serán casi rectangulares en otros casos, puede ser realmente ambiguo y es casi imposible distinguir entre ancho y alto.

Veamos si alguien puede arrojar luz sobre esto.

Saludos,

    
pregunta Egidi 30.01.2015 - 10:57

2 respuestas

12

Para la primera parte de tu pregunta: ¿Qué pasa con ST_LongestLine utilizando la misma geometría dos veces como entrada?

SELECT 
  ST_Length(ST_LongestLine(
   (SELECT geom FROM mylayer WHERE gid=1),
   (SELECT geom FROM mylayer WHERE gid=1))
);

Para la segunda parte de tu pregunta:

En cuanto al cálculo del ancho promedio de los polígonos, se pueden encontrar algunas respuestas interesantes aquí: ¿Cómo puedo calcular el ancho promedio de un polígono? ?

    
respondido por el Thomas B 30.01.2015 - 18:05
6

Para la primera parte, use ST_MaxDistance

  

Devuelve la distancia máxima bidimensional entre dos cadenas en unidades proyectadas. Si g1 y g2 son la misma geometría, la función devolverá la distancia entre los dos vértices más alejados entre sí en esa geometría.

Ejemplo:

SELECT
gid,
ST_MaxDistance(geom, geom) AS "Max Length"
FROM layer
    
respondido por el raphael 30.01.2015 - 18:28

Lea otras preguntas en las etiquetas