Processing math: 100%

1 votos

¿Cómo calcular los búferes de determinadas funciones?

He utilizado el siguiente fragmento de código para encontrar el búfer.

def buffer(self):
    layer = self.iface.activeLayer()
    distance = float( self.dlg.DistancelineEdit.text() )
    city = self.dlg.Citycombo.currentText()
    expr = QgsExpression('"name_1" = \'' + city + '\'' )
    it = layer.getFeatures( QgsFeatureRequest( expr ) )
    feature = it.next()

    # Perform a buffer on the feature geometry
    myBufferPolygon = feature.geometry().buffer(dist, 50)

Se producen dos errores

feature = it.next()
    StopIteration.

2.distancia = float( self.dlg.DistancelineEdit.text() ) ValueError: no se pudo convertir cadena a float:

0voto

tobes Puntos 19

Parece que su solicitud de función no devuelve ninguna función coincidente. Por eso el iterador resultante está vacío.

Para introducir valores numéricos, utilice un cuadro giratorio en lugar de un campo de texto.

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