Quantificando a desigualdade dos limites dos polígonos?

13

Eu tenho dois polígonos: Polígono 1 e Polígono 2.

Usando duas métricas, área e comprimento do perímetro, quero expressar quantitativamente que o polígono 1 tem um perímetro mais desigual / irregular / irregular que o polígono 2.

insira a descrição da imagem aqui

Cada polígono tem o mesmo comprimento de perímetro, mas cada um cobre áreas bastante diferentes. Para quantificar a irregularidade / irregularidade / irregularidade de cada polígono, o cálculo deve ser:

area/perimeter 

ou

perimeter/area 

Eu pensei perimeter/area, mas depois encontrei este post que usa area/perimeter: http://www.r-bloggers.com/measuring-the-gerrymander-with-spatstat/

luciano
fonte
7
Nenhuma dessas razões faz sentido, porque ambas dependem das unidades de medida. Você pode torná-las independentes das unidades, formando uma função homogênea de zero grau, como perímetro / sqrt (área). Tais medidas são frequentemente chamadas de "tortuosidade". Algumas outras abordagens podem ser encontradas pesquisando nosso site sobre tortuosidade .
whuber
Qual é a pergunta? F1 (X) / F2 (Y) ou F2 (Y) / F1 (X) não são medidas diferentes, da mesma forma que a não é uma medida diferente de 1 / a.
21713 BradHards
1
@ Bradadds Muitas pessoas argumentam que a e 1 / a são maneiras diferentes de expressar a mesma quantidade subjacente, mesmo que exista uma relação matemática entre elas. A não linearidade desse relacionamento implica que não se trata de uma simples mudança de unidades. As duas expressões devem ser consideradas genuinamente diferentes, assim como (digamos) concentração e concentração de log são formas diferentes de expressar concentração, ou milhas por galão e galões por milha são formas essencialmente diferentes de expressar a economia de combustível. (E note que galões por milha seria interpretado como desperdício , não "economia".)
whuber

Respostas:

3

Dê uma olhada no programa chamado FRAGSTATS ( http://www.umass.edu/landeco/research/fragstats/downloads/fragstats_downloads.html ). Na seção de métricas de remendo, ele menciona o "Índice de dimensão fractal", que as notas afirmam "O índice de dimensão fractal é atraente porque reflete a complexidade da forma em uma escala de escalas espaciais (tamanhos de remendo). Assim, como o índice de forma (SHAPE), supera uma das principais limitações da razão área-perímetro reta como uma medida da complexidade da forma. ” ( http://www.umass.edu/landeco/research/fragstats/documents/Metrics/Shape%20Metrics/Metrics/P9%20-%20FRAC.htm ).

user14134
fonte
Eu acrescentaria que a fórmula para calcular o Índice de Dimensão Fractal parece simples de calcular sem a necessidade do próprio software FRAGSTATS. A fórmula é mostrada no link acima. O Índice de dimensão fractal aproxima-se de 1 para formas com perímetros muito simples, como quadrados, e aproxima-se de 2 para formas muito complexas.
user14134
1

A relação da área com o perímetro não significa muito, provavelmente um quadrado e um retângulo teriam a mesma irregularidade, mas eles poderiam ter o mesmo perímetro e, quanto mais longe do quadrado, menor a área.

Para calcular a "irregularidade", acho que você precisa saber quantos dos vértices estão em ângulos maiores que 180 graus. Isso não deve ser muito difícil de calcular se você estiver usando um armazenamento de geometria onde a direção de rotação do polígono é conhecida (normalmente no sentido anti-horário, nesse caso, se você for do ponto 1 ao ponto 2, o ângulo excederá 180 graus se o ponto 3 está à direita da linha definida pelos pontos 1 e 2). Caso contrário, você precisará determinar a rotação primeiro.

Russell na ISC
fonte
Isso é basicamente o que eu estava pensando. Algum tipo de "contagem" de ângulos agudos no perímetro.
Baltok
1
O problema com esta proposta é que depende de como a forma é representada mais do que da própria forma, o que a torna arbitrária e não confiável. Por exemplo, pode-se substituir todos os pontos afiados de uma forma por uma sequência de dois vértices muito espaçados, com ângulos inferiores a 180 graus, sem modificar visivelmente a forma. A importância desta resposta reside em salientar que a pergunta não pode ser respondida sem uma descrição operacional do que "entulho" deve significar.
whuber
Estou assumindo que "irregular" significa "com concavidade". O exemplo irregular acima tem várias concavidades. Tomando isso como descrição operacional, não há como criar uma concavidade em um polígono sem criar um ângulo maior que 180 graus em relação à direção de rotação dos vértices do polígono
Russell no ISC
Também estou assumindo que o polígono não é auto-interceptável.
Russell no ISC
1
@ Russell Isso é bom, mas ainda não funciona. Uma "concavidade" pode ser representada por um único vértice ou por uma sequência de milhares de vértices côncavos espaçados (o que ocorre, por exemplo, quando o recurso é criado subtraindo buffers de outros recursos). Mais uma vez, o problema é que sua proposta depende de detalhes irrelevantes da representação da forma, e não de propriedades inerentes à própria forma. Isso pode ser superado de várias maneiras, estimando-se a dimensão fractal ou a curvatura total absoluta, etc. , mas sua resposta não parece estar indo nessa direção.
whuber
1

Experimente o Índice de perímetro normalizado ( http://clear.uconn.edu/tools/Shape_Metrics/ ). O índice de perímetro normalizado usa o círculo de área igual para normalizar a métrica. Portanto, a fórmula é efetivamente (em Python, importe matemática)normPeriIndex = (2*math.sqrt(math.pi*Area))/perimeter

Para o seu exemplo:

Polígono 1: Índice de Perímetro Normalizado = 0,358

Polígono 2: Índice de Perímetro Normalizado = 0,947

O índice de perímetro normalizado compara o perímetro de entrada com o polígono mais compacto com a mesma área (círculo de área igual), o que significa que você pode usá-lo para identificar recursos com limites irregulares. A outra grande coisa é que é fácil e rápido de calcular.

Você também pode observar a dispersão normalizada, que calcula a distância média dos pontos ao longo do perímetro do centróide (dispersão). Para isso, você também calcularia o desvio, que é a diferença média entre cada distância e o raio do círculo de área igual, a fórmula final seria (dispersão - desvio) / dispersão.

crld
fonte