153GIS2 - 10. cvičení - GRASS GIS: Porovnání verzí

Z GeoWikiCZ
m (→‎4: nazev_eng)
mBez shrnutí editace
Řádek 1: Řádek 1:
{{Upravit}}
Stránka obsahuje ukázky skriptů v [[Python|Pythonu]] pro [[GRASS GIS]] z [[153GIS2 2009 - 10. cvičení|10. cvičení GIS2]].
Stránka obsahuje ukázky skriptů v [[Python|Pythonu]] pro [[GRASS GIS]] z [[153GIS2 2009 - 10. cvičení|10. cvičení GIS2]].



Verze z 26. 5. 2009, 18:08

Stránka obsahuje ukázky skriptů v Pythonu pro GRASS GIS z 10. cvičení GIS2.

1

from grass.script import vector as grass

for nazev in grass.vector_columns(map = 'obce').keys():
    print nazev

2

from grass.script import core, vector as grass
 
select = grass.vector_db_select(map = "obce",
                                where = "NAZEV = 'Liberec'")

idx = select['columns'].index('OB01')
ob01 = 0
for record in select['values'].itervalues():
    ob01 += int(record[idx])

nazev_idx = select['columns'].index('NAZEV')
for record in grass.vector_db_select(map = "obce",
                                     where = "OB01 > %d" % ob01)['values'].itervalues():
    print unicode(record[nazev_idx], 'latin2').ljust(15), record[idx]

3

import sys
from grass.script import core, vector as grass

input = sys.argv[1]     # String - nazev obce
output = sys.argv[2]    # cesta k textovemu souboru

select = grass.vector_db_select(map = "obce",
                                where = "NAZEV = 'Liberec'")

idx = select['columns'].index('OB01')
ob01 = 0
for record in select['values'].itervalues():
    ob01 += int(record[idx])

nazev_idx = select['columns'].index('NAZEV')
f = open(output, 'w')
try:
    for record in grass.vector_db_select(map = "obce",
                                         where = "OB01 > %d" % ob01)['values'].itervalues():
        f.write("%s%s\n" % (record[nazev_idx].ljust(15), record[idx]))
finally:
    f.close()

4

from grass.script import core, vector as grass

for record in grass.vector_db_select(map = 'kraje',
                                     columns = "NAZEV_ENG")['values'].itervalues():
    val = unicode(record[0], 'ascii')
    print val
    grass.run_command('v.extract',
                      quiet = True,
                      overwrite = True,
                      input = 'kraje',
                      output = 'kraje_' + val,
                      where = "NAZEV_ENG = '%s'" % val)