Skip to content
Permalink
Browse files

Update TinSurfaceCreate.py

minor adjustments and some funtionalities added (first return selection, output as .asc)
  • Loading branch information
spono committed Nov 16, 2015
1 parent 96040ab commit 5ec337a0d351b3fb5ce4044238de581e8fe28b82
Showing with 24 additions and 8 deletions.
  1. +24 −8 python/plugins/processing/algs/lidar/fusion/TinSurfaceCreate.py
@@ -2,7 +2,7 @@

"""
***************************************************************************
Catalog.py
TINSurfaceCreate.py
---------------------
Date : June 2014
Copyright : (C) 2014 by Agresta S. Coop
@@ -27,21 +27,23 @@
from processing.core.parameters import ParameterFile
from processing.core.parameters import ParameterNumber
from processing.core.parameters import ParameterSelection
from processing.core.parameters import ParameterString
from processing.core.outputs import OutputFile
from FusionAlgorithm import FusionAlgorithm
from FusionUtils import FusionUtils
from processing.core.parameters import ParameterString



class TinSurfaceCreate(FusionAlgorithm):

INPUT = 'INPUT'
OUTPUT_DTM = 'OUTPUT_DTM'
OUTPUT = 'OUTPUT'
CELLSIZE = 'CELLSIZE'
XYUNITS = 'XYUNITS'
ZUNITS = 'ZUNITS'
UNITS = ['Meter', 'Feet']
CLASS = 'CLASS'
RETURN = 'RETURN'

def defineCharacteristics(self):
self.name, self.i18n_name = self.trAlgorithm('Tin Surface Create')
@@ -54,20 +56,28 @@ def defineCharacteristics(self):
self.tr('XY Units'), self.UNITS))
self.addParameter(ParameterSelection(self.ZUNITS,
self.tr('Z Units'), self.UNITS))
self.addOutput(OutputFile(self.OUTPUT_DTM,
self.tr('DTM Output Surface'), 'dtm'))
self.addOutput(OutputFile(self.OUTPUT,
self.tr('.dtm output surface'), 'dtm'))
class_var = ParameterString(self.CLASS,
self.tr('Class'), 2, False, True)
self.tr('Class'), '', False, True)
class_var.isAdvanced = True
self.addParameter(class_var)
return_sel = ParameterString(self.RETURN,
self.tr('Select specific return'), '', False, True)
return_sel.isAdvanced = True
self.addParameter(return_sel)

def processAlgorithm(self, progress):
commands = [os.path.join(FusionUtils.FusionPath(), 'TINSurfaceCreate.exe')]
commands.append('/verbose')
class_var = self.getParameterValue(self.CLASS)
if unicode(class_var).strip() != '':
if unicode(class_var).strip():
commands.append('/class:' + unicode(class_var))
commands.append(self.getOutputValue(self.OUTPUT_DTM))
return_sel = self.getParameterValue(self.RETURN)
if unicode(return_sel).strip():
commands.append('/return:' + unicode(return_sel))
outFile = self.getOutputValue(self.OUTPUT)
commands.append(outFile)
commands.append(unicode(self.getParameterValue(self.CELLSIZE)))
commands.append(self.UNITS[self.getParameterValue(self.XYUNITS)][0])
commands.append(self.UNITS[self.getParameterValue(self.ZUNITS)][0])
@@ -81,3 +91,9 @@ def processAlgorithm(self, progress):
else:
commands.extend(files)
FusionUtils.runFusion(commands, progress)
commands = [os.path.join(FusionUtils.FusionPath(), 'DTM2ASCII.exe')]
#commands.append('/raster')
commands.append(outFile)
commands.append(self.getOutputValue(self.OUTPUT))
p = subprocess.Popen(commands, shell=True)
p.wait()

0 comments on commit 5ec337a

Please sign in to comment.
You can’t perform that action at this time.