13 votos

¿Cuantificar los desniveles de los límites de los polígonos?

Tengo dos polígonos: Polígono 1 y Polígono 2.

Utilizando dos métricas, el área y la longitud del perímetro, quiero expresar cuantitativamente que el polígono 1 tiene un perímetro más desigual/irregular que el polígono 2.

enter image description here

Cada polígono tiene la misma longitud de perímetro, pero cada uno cubre áreas bastante diferentes. Para cuantificar el desnivel/irregularidad de cada polígono, el cálculo debería ser:

area/perimeter 

o

perimeter/area 

Pensé que perimeter/area pero luego encontré esta entrada del blog que utiliza area/perimeter : http://www.r-bloggers.com/measuring-the-gerrymander-with-spatstat/

3voto

CodeRot Puntos 785

Echa un vistazo a un programa llamado FRAGSTATS ( http://www.umass.edu/landeco/research/fragstats/downloads/fragstats_downloads.html ). En la sección de métricas de los parches se menciona el "índice de dimensión fractal", cuyas notas dicen: "El índice de dimensión fractal es atractivo porque refleja la complejidad de la forma en una gama de escalas espaciales (tamaños de parches). Así, al igual que el índice de forma (SHAPE), supera una de las principales limitaciones de la relación perímetro-área recta como medida de la complejidad de la forma." ( http://www.umass.edu/landeco/research/fragstats/documents/Metrics/Shape%20Metrics/Metrics/P9%20-%20FRAC.htm ).

1voto

Alessandro Cuttin Puntos 116

La relación del área con el perímetro no significa mucho, un cuadrado y un rectángulo probablemente se tomarían para tener igual dentadura pero podrían tener el mismo perímetro y cuanto más lejos del cuadrado esté el rectángulo, menor será el área.

Para calcular el "jaggedness" creo que necesitas saber cuántos de los vértices están en ángulos mayores de 180 grados. Esto no debería ser muy difícil de calcular si se utiliza un almacén de geometría en el que se conoce el sentido de rotación del polígono (normalmente en sentido contrario a las agujas del reloj, en cuyo caso si se va del punto 1 al punto 2, el ángulo supera los 180 grados si el punto 3 está a la derecha de la línea definida por los puntos 1 y 2). En caso contrario, hay que determinar primero la rotación.

1voto

Robert Fraser Puntos 231

Pruebe el índice de perímetro normalizado ( http://clear.uconn.edu/tools/Shape_Metrics/ ). El índice de perímetro normalizado utiliza el círculo de área igual para normalizar la métrica. Así, la fórmula es efectivamente (en Python, importando math) normPeriIndex = (2*math.sqrt(math.pi*Area))/perimeter

Para su ejemplo:

Polígono 1: Índice de perímetro normalizado = 0,358

Polígono 2: Índice de perímetro normalizado = 0,947

El índice de perímetro normalizado compara el perímetro de entrada con el polígono más compacto con la misma área (círculo de área igual), lo que significa que puede utilizarlo para identificar características con límites irregulares. La otra gran cosa es que es fácil y rápido de calcular.

También se puede mirar la dispersión normalizada, que calcula la distancia media de los puntos a lo largo del perímetro desde el centroide (dispersión). Para esto también se calcularía la desviación, que es la diferencia media entre cada distancia y el radio del círculo de área igual, entonces la fórmula final sería (dispersión - desviación)/dispersión.

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