1
+ import os
2
+ from sextante .parameters .ParameterFile import ParameterFile
3
+ from sextante .fusion .FusionUtils import FusionUtils
4
+ from sextante .parameters .ParameterNumber import ParameterNumber
5
+ from sextante .outputs .OutputRaster import OutputRaster
6
+ from sextante .parameters .ParameterSelection import ParameterSelection
7
+ from sextante .fusion .FusionAlgorithm import FusionAlgorithm
8
+
9
+ class GridSurfaceCreate (FusionAlgorithm ):
10
+
11
+ INPUT = "INPUT"
12
+ OUTPUT = "OUTPUT"
13
+ CELLSIZE = "CELLSIZE"
14
+ XYUNITS = "XYUNITS"
15
+ ZUNITS = "ZUNITS"
16
+ UNITS = ["Meter" , "Feet" ]
17
+
18
+ def defineCharacteristics (self ):
19
+ self .name = "Create Grid Surface"
20
+ self .group = "Surface"
21
+ self .addParameter (ParameterFile (self .INPUT , "Input las layer" ))
22
+ self .addParameter (ParameterNumber (self .CELLSIZE , "Cellsize" , 0 , None , 10.0 ))
23
+ self .addParameter (ParameterSelection (self .XYUNITS , "XY Units" , self .UNITS ))
24
+ self .addParameter (ParameterSelection (self .ZUNITS , "Z Units" , self .UNITS ))
25
+ self .addOutput (OutputRaster (self .OUTPUT , "PLANS DTM surface" ))
26
+ self .addAdvancedModifiers ()
27
+
28
+ def processAlgorithm (self , progress ):
29
+ commands = [os .path .join (FusionUtils .FusionPath (), "GridSurfaceCreate.exe" )]
30
+ commands .append ("/verbose" )
31
+ self .addAdvancedModifiersToCommand (commands )
32
+ commands .append (self .getOutputValue (self .OUTPUT ))
33
+ commands .append (str (self .getParameterValue (self .CELLSIZE )))
34
+ commands .append (self .UNITS [self .getParameterValue (self .XYUNITS )][0 ])
35
+ commands .append (self .UNITS [self .getParameterValue (self .ZUNITS )][0 ])
36
+ commands .append ("0" )
37
+ commands .append ("0" )
38
+ commands .append ("0" )
39
+ commands .append ("0" )
40
+ files = self .getParameterValue (self .INPUT ).split (";" )
41
+ if len (files ) == 1 :
42
+ commands .append (self .getParameterValue (self .INPUT ))
43
+ else :
44
+ FusionUtils .createFileList (files )
45
+ commands .append (FusionUtils .tempFileListFilepath ())
46
+ FusionUtils .runFusion (commands , progress )
0 commit comments