Salve a tutti

oggi mi sono cimentato per la prima volta con uno script in python per
automatizzare l'operazione di esportazione di molti raster dal mapset,
sottoforma di geotiff.

Per la precisione vorrei esportare tutti i raster che iniziano con la
lettera maiuscola S.


Sono partito da un pezzo di codice trovato in rete e l'ho modificato.


#!/usr/bin/env python


import grass.script as gscript

import sys


def main():

gscript.run_command('g.region', flags='p')

rastlist = gscript.read_command('g.list',type='rast')

rastlist1 = rastlist.split(':', 1)[1]

rastlist2 = rastlist1.split('-', 1)[0]

RastListClean=rastlist2.split()

folderOut = '/media/giacomo/Volume/Livorno/outraster/raster'


for rasterOut in RastListClean:

if rasterOut.startswith("S"):

folderFileOut = folderOut + "/" + rasterOut + '.tiff'

grass.run_command('r.out.gdal', input=rasterOut, output=folderFileOut,
format='GTiff')


if __name__ == '__main__':

main()



Ho ottenuto questo messaggio di errore:


File "/home/giacomo/Desktop/prova.py", line 9, in main

rastlist1 = rastlist.split(':', 1)[1]

IndexError: list index out of range


Non mi aspettavo certo che tutto funzionasse alla prima, non sono ne un
genio di python tantomeno di GRASS (purtroppo).

La cosa che mi ha lasciato perplesso è che non riesco a capire come
debuggare il mio codice.

Non trovo una shell pyhon interattiva all'interno di GRASS grazie alla
quale è possibile testare parti di codice (QGIS ad esempio ce l'ha).

Magari c'è (sicuramente) e io non l'ho ancora trovata.

Sapete darmi qualche dritta?


W GRASS!


Grazie
_______________________________________________
GRASS-Italia mailing list
GRASS-Italia@listserv.unipr.it
http://listserv.unipr.it/mailman/listinfo/grass-italia

Rispondere a