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).
¿Alguien tiene alguna idea de qué puede estar pasando?