[Portugal] Como repetir um um script de python na consola de python em QGIS

Patrícia Pécurto patricia.pecurto gmail.com
Quarta-Feira, 13 de Maio de 2015 - 02:30:47 PDT


Bom dia Jorge,

Desde já agradeço a sua disponibilidade para me ajudar.
Entendi a forma como devo substituir o "_9" no entanto não entendi como
integra-la no código processing.runalg() e colocar tudo dentro do loop,
substituindo a string de alteração pelo código "re.sub".
Pode por pff. exemplificar para a minha primeira linha do código:

processing.runalg("qgis:joinattributestable",
"D:\PATRICIA\IG\QGIS\DIST_COSTA_etrs89.shp",
"D:\PATRICIA\DOCUMENTOS\ESTACOES METEOROLOGICAS\DADOS
METEOROLOGICOS\HR\H_1999_1_9.xlsx", "EST", "num",
"D:\PATRICIA\IG\QGIS\FWI\HR\ETACOES_HR_1999_1_9")

Obrigada pela atenção,

Patrícia Fernandes.




2015-05-12 21:28 GMT+01:00 Mendes de Jesus, Jorge <
jorge.mendesdejesus  wur.nl>:

> Assim de cabeca, usando regular expressions
>
>
> import re
> for number in xrange(2,31+1):
>       print   re.sub(r'(_9)',"_%s" % number,
> "D:\PATRICIA\DOCUMENTOS\ESTACOES METEOROLOGICAS\DADOS
> METEOROLOGICOS\HR\H_1999_1_9.xlsx")
>
> Eu reparei que o 9 tem sempre um _ antes
>
> Este loop faz um print da string com do ficheiro com os valores entre 2 e
> 31 onde o number 9 e' substituido pelos numeros entre 2 e 31.
>
> No codigo com  processing.runalg basta alterar a string de alteracao pelo
> codigo re.sub e depois meter tudo dentro do loop
>
> Alem tem uma outra idea ????
>
> Jorge de Jesus
>
>
>
>
> ________________________________
> From: portugal-bounces  lists.osgeo.org <portugal-bounces  lists.osgeo.org>
> on behalf of Patrícia Pécurto <patricia.pecurto  gmail.com>
> Sent: 12 May 2015 20:57
> To: Portugal  lists.osgeo.org
> Subject: [Portugal] Como repetir um um script de python na consola de
> python em QGIS
>
> Boa tarde,
>
> Sou nova utilizadora de linguagem python, e preciso de ajuda na construção
> de um script que criei e que o resultado final funciona,  é o que eu
> necessito mas só corre uma vez. A minha dúvida é a seguinte: se eu quiser
> repetir este código todo mas em vez de ter o nº 9 a bold tiver o mesmo
> script, substituindo o nº 9 pelos nºs 2, 3, 4,...,31 (inclusive). como devo
> proceder para não ficar com um código demasiado grande e moroso de
> construir.
>
> Obrigada.
>
> Patrícia Fernandes
>
> O código é o seguinte:
> <
> http://gis.stackexchange.com/questions/146979/how-to-create-loops-using-processing-algorithm-in-python-console-from-qgis#
> >
>
>
> processing.runalg("qgis:joinattributestable",
> "D:\PATRICIA\IG\QGIS\DIST_COSTA_etrs89.shp",
> "D:\PATRICIA\DOCUMENTOS\ESTACOES METEOROLOGICAS\DADOS
> METEOROLOGICOS\HR\H_1999_1_9.xlsx", "EST", "num",
> "D:\PATRICIA\IG\QGIS\FWI\HR\ETACOES_HR_1999_1_9")
>
> processing.runalg("qgis:selectbyattribute",
> "D:\PATRICIA\IG\QGIS\FWI\HR\ETACOES_HR_1999_1_9.shp", "H", 1, "NULL",
> "D:\PATRICIA\IG\QGIS\FWI\HR\ETACOES_HR_1999_1_9.shp")
>
> processing.runalg("qgis:saveselectedfeatures",
> "D:\PATRICIA\IG\QGIS\FWI\HR\ETACOES_HR_1999_1_9.shp",
> "D:\PATRICIA\IG\QGIS\FWI\HR\ESTACOES_HR_1999_1_9_SF_Int.shp")
>
> processing.runalg("qgis:selectbyattribute",
> "D:\PATRICIA\IG\QGIS\FWI\HR\ESTACOES_HR_1999_1_9_SF_Int.shp", "H", 1,
> "-999.9", "D:\PATRICIA\IG\QGIS\FWI\HR\ESTACOES_HR_1999_1_9_SF_Int.shp")
>
> processing.runalg("qgis:saveselectedfeatures",
> "D:\PATRICIA\IG\QGIS\FWI\HR\ESTACOES_HR_1999_1_9_SF_Int.shp",
> "D:\PATRICIA\IG\QGIS\FWI\HR\ESTACOES_HR_1999_1_9_SF.shp")
>
> processing.runalg("saga:inversedistanceweighted",
> "D:\PATRICIA\IG\QGIS\FWI\HR\ESTACOES_HR_1999_1_9_SF.shp", "H", 0, 2, 0, 1,
> 100, 0, 0, 8, "-152444.0, 180000.0, -302911.0, 280000.0", 100,
> "D:\PATRICIA\IG\QGIS\FWI\HR\Python_HR_Viz8_Cell100_9")
>
> _______________________________________________
> Portugal mailing list
> Portugal  lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/portugal
>
-------------- próxima parte ----------
Um anexo em HTML foi limpo...
URL: <http://lists.osgeo.org/pipermail/portugal/attachments/20150513/06bee7e6/attachment.html>


Mais informações acerca da lista Portugal