Más

Anchura media de polígonos irregulares QGIS 2.12.0 Lyon


Me interesa examinar el ancho promedio de las calles, que son polígonos irregulares, para un proyecto. Estoy usando QGIS 2.12.0 Lyon y tengo líneas (cables de alimentación) y polígonos (calles) como capas. Para un análisis más detallado, necesito saber qué tan anchas son las calles, que se superponen con los cables, en promedio. Ya encontré una solución para este tema en ¿Cómo puedo calcular el ancho promedio de un polígono ?, pero desafortunadamente no me deshago de los mensajes de error cuando intento aplicar la solución de Peter Krauss en QGIS y me dicen que es mejor crear una nueva pregunta en lugar de preguntar allí. Para mí es bastante claro que no hay una solución perfecta para encontrar el ancho promedio para polígonos irregulares, pero aproximadamente sería suficiente para mí. Especialmente porque mi conocimiento en programación es realmente muy malo para esto.

Si la capa de cables de alimentación se superpone a la capa de la calle transversalmente, puedo usar la longitud de la nueva capa que se crea por intersección.

(calle = azul, cable = negro, intersección = naranja)

Pero si el cable no se superpone transversalmente sino a lo largo de la calle, necesito el ancho promedio de la calle y no una selección puntual en un punto porque el ancho puede cambiar. También puede haber curvas o cruces en la calle, lo que lo empeora aún más.

(calle = azul, parte afectada de la capa de la calle = violeta, cable = negro, intersección = naranja)

Además, estoy buscando una forma en la que no tenga que hacer tanto trabajo manual como dibujar líneas, sino una solución en la que pueda recordar el ancho promedio de cada calle en cualquier momento.

¿Quizás alguien pueda explicar todos los pasos necesarios para que pueda usarlo?


Puede comenzar a partir de dos valores conocidos, el área y el perímetro ($ área y $ perímetro en la calculadora archivada). Como necesita un ancho promedio, imaginemos que tenemos un rectángulo (largo, ancho)

Área = largo x ancho Perímetro = 2 x (largo + ancho)

Tenemos dos incógnitas y dos ecuaciones (no lineales), sustituyamos largo del primero al segundo:

largo = Área / ancho Perímetro = 2 x Área / ancho + 2 x ancho

Multipliquemos la segunda ecuación con ancho y reorganizar para obtener una ecuación cuadrática para ancho:

2 x ancho ^ 2 - Perímetro x ancho + 2 x Área = 0

Resolviendo esto, obtienes dos raíces, el valor positivo más pequeño es un promedio ancho. Se puede utilizar en la calculadora de campo para calcular ancho para cada polígono.


Esta respuesta no es específica de QGIS.

(perímetro / pi) / (perímetro ** 2 / (4 * pi) / área)

Es decir:

Diámetro de un círculo con el mismo perímetro que el polígono --------------------------------------- ------------------------- (Área de un círculo con el mismo perímetro que el polígono) / Área

Editar: escribir la fórmula de esta manera hace que la lógica de la misma sea mucho más clara:

(perímetro / pi) * área / (perímetro ** 2 / (4 * pi)) (Diámetro de un círculo con el mismo perímetro que el polígono) * Área / (Área de un círculo con el mismo perímetro que el polígono)

Vea más detalles, y una implementación de ArcPy, aquí.


Ver el vídeo: Como Exibir as Dimensões dos Lados de Polígonos no QGIS. Plugin Shape Tools (Octubre 2021).