:: Python :: tin.to.raster :: |
---|
Nello script v.quota.py si calcola la quota di un
singolo punto appartenente ad un vettoriale 3D. Questa tipologia di copertura, se è realizzata
mediante facce triangolari, è detta TIN, per apprendere come realizzarla utilizzando
Grass, si faccia riferimento alle seguenti pagine:
Costruzione TIN da Punti Quotati,
Costruzione TIN da Curve di Livello e
Costruzione TIN da Entità Quotate.
Si analizza ora, lo script tin.to.raster.py (*) sviluppato per convertire i TIN in coperture vettoriali; all'utente è sufficiente indicare il nome di un TIN e il nome di un nuovo raster nelle cui celle, durante l'elaborazione, vengono inseriti i valori delle quote calcolate. L'applicativo preleva in automatico i valori delle impostazioni della regione corrente e quindi il numero di righe e colonne, la risoluzione lungo x e y, ecc. Noti questi valori, in un doppio ciclo for dei quali, il più l'esterno incrementa le ordinate e il più interno le ascisse, si calcola la quota da assegnare alla singola cella mediante la funzione Vect_tin_get_z(map_info, x, y, byref(z), None, None). Si tenga presente che la conversione richiede diversi minuti, ad esempio, per un raster di circa 10.000.000 di celle il tempo di elaborazione si aggira intorno ai 12 minuti.
#!/usr/bin/env python #**************************************************************** #* #* MODULE: tin.to.raster, v 1.0.3 #* #* AUTHOR(S): Antonio Alliegro #* #* PURPOSE: Converte coperture TIN in raster #* #* COPYRIGHT: (C) 2011-2012 Antonio Alliegro Civil Engineer #* Salerno, Italy #* antonioall(at)libero.it #* #* First Version: 2011/09/08 #* Last Version: 2012/09/29 #* #* This program is free software under the #* GNU General Public License (>=v2). #* Read the file COPYING that comes with GRASS #* for details. #* #**************************************************************** #%module #% description: Converte coperture TIN in raster #% keywords: TIN, vector, raster #%end #%option #% key: map #% type: string #% gisprompt: old,vector,vector #% key_desc: tin #% description: Nome copertura TIN #% required: yes #%end #%option #% key: output #% type: string #% gisprompt: new,cell,raster #% key_desc: raster #% description: Nome copertura raster #% required: yes #%end import os, sys import grass.script as grass from grass.lib.gis import * from grass.lib.vector import * def main(): input = options['map'] output = options['output'] Visualizza il file sorgente di tin.to.raster.py NOTA (*): La libreria grass.lib è disponibile a partire dalla versione 6.4.2 di Grass. Pertanto il presente applicativo non è utilizzabile nelle versioni 6.4.1, 6.4.0 e precedenti.
Argomenti correlati:
|