4 votos

Medición incorrecta de intersección entre polígonos

Tengo un mapa dividido en partes usando polígonos, y quiero medir la longitud de la frontera entre cada par. Estoy usando este script desde un tutorial para encontrar el real vecinos, y luego medir la comparte frontera con este código:

ring_f = QgsGeometry.fromPolyline(f.geometry().asPolygon()[0])
ring_intersecting = QgsGeometry.fromPolyline(intersecting_f.geometry().asPolygon()[0])
ring_intersection = ring_f.intersection(ring_intersecting)

Donde f es la característica activa y intersecting_f se procesa en una lista de todas las características de la intersección de f. Sin embargo, el guión está dando incompleta mediciones en algunas características. Por ejemplo, a continuación se presentan, cuya frontera común está cerca de 367m medidos manualmente utilizando Qgis, pero el script devuelve 224.91. Wierdly suficiente, lo que hace el script devuelve coincide con la medición entre las cruces rojas rodeado de verde por mí (sería bueno ahora lo que se cruza por el camino).

sections 2 and 8

¿Alguien tiene alguna idea de qué puede estar pasando?

1voto

nickh Puntos 118

Resulta había huecos entre los polígonos, que me detectó el uso de la topología de corrector.

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: