7 votos

Cómo determinar si un objeto es un círculo

Tengo un shapefile de polígonos que consta de muchas características de formas diferentes. Me gustaría identificar sólo las formas que son círculos. ¿Hay alguna forma de hacerlo? ¿Es un cálculo que podría hacer en la calculadora de campo?

Gracias...

enter image description here

9voto

Hugo Puntos 2156

Yo calcularía la relación de delgadez, que para un círculo perfecto será igual a 1,0. La fórmula de la relación de delgadez es T = 4pi(A/(P*P))

7voto

M. B. Altaie Puntos 11

Para las formas simples en el espacio cartesiano, basta con comparar el área y el perímetro: si se resuelve A = pi*r1^2 y P = 2*pi*r2 para r1 y r2, y r1 == r2, entonces la figura es circular. Por supuesto, la proyección y la densidad de los vértices influyen, pero dado tu ejemplo, debería ser bastante fácil encontrar un umbral aceptable.

1voto

John Kramlich Puntos 286

No estoy seguro de que este sea el mejor método, pero una forma es extraer el centroide, calcular el radio y luego utilizarlo para calcular la circunferencia. Entonces, ¿comparar la circunferencia calculada con la longitud del perímetro de la forma?

-1voto

Zerotoinfinity Puntos 111

Acabo de tropezar con esta pregunta a través de la Red de Preguntas Calientes y no tengo experiencia con ningún software de SIG, pero suponiendo que un shapefile con polígonos sólo se reduce a matrices con puntos, entonces usted debe ser capaz de comparar el número de puntos en el objeto como polígono círculos (u objetos similares, pero parece estar trabajando con cualquiera de las formas cuadradas y círculos) tienden a tener lotes de puntos, mientras que las formas "normales" tienen como máximo unos 30 (el máximo que se tiene es 11). oh, bueno, sólo es una idea.

Lo único que podría ser problemático es que los círculos más pequeños tienen menos puntos, por lo que, como alternativa, se podría tomar la distancia media entre dos puntos posteriores, que debería ser mucho menor para los objetos de tipo circular.

En cualquier caso, si el field calculator es incapaz de hacer este tipo de cosas, entonces, por favor, indíquelo y borraré mi respuesta, simplemente me sorprendió veros discutir soluciones bastante complejas a un problema aparentemente sencillo.

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