2012-10-04 19:33:47 +02:00
# -*- coding: utf-8 -*-
"""
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2013-09-24 22:06:50 +02:00
LAStoolsAlgorithm . py
2012-10-04 19:33:47 +02:00
- - - - - - - - - - - - - - - - - - - - -
Date : August 2012
Copyright : ( C ) 2012 by Victor Olaya
Email : volayaf at gmail dot com
2013-09-24 22:06:50 +02:00
- - - - - - - - - - - - - - - - - - - - -
2014-05-19 19:58:33 +02:00
Date : April 2014
Copyright : ( C ) 2014 by Martin Isenburg
2013-09-24 22:06:50 +02:00
Email : martin near rapidlasso point com
2012-10-04 19:33:47 +02:00
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* This program is free software ; you can redistribute it and / or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation ; either version 2 of the License , or *
* ( at your option ) any later version . *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
"""
__author__ = ' Victor Olaya '
__date__ = ' August 2012 '
__copyright__ = ' (C) 2012, Victor Olaya '
# This will get replaced with a git SHA1 when you do a git archive
__revision__ = ' $Format: % H$ '
2012-09-15 18:25:25 +03:00
import os
from PyQt4 import QtGui
2013-09-24 22:06:50 +02:00
from processing . core . GeoAlgorithm import GeoAlgorithm
2014-05-19 19:58:33 +02:00
2014-04-17 01:41:25 +02:00
from LAStoolsUtils import LAStoolsUtils
2014-05-19 19:58:33 +02:00
2014-07-14 14:19:09 +02:00
from processing . core . parameters import ParameterFile
from processing . core . parameters import ParameterBoolean
from processing . core . parameters import ParameterNumber
from processing . core . parameters import ParameterString
from processing . core . parameters import ParameterSelection
from processing . core . outputs import OutputFile
from processing . core . outputs import OutputRaster
from processing . core . outputs import OutputVector
2012-09-15 18:25:25 +03:00
2013-09-24 22:06:50 +02:00
class LAStoolsAlgorithm ( GeoAlgorithm ) :
2012-09-15 18:25:25 +03:00
2014-05-19 19:58:33 +02:00
VERBOSE = " VERBOSE "
2014-12-22 12:32:37 +01:00
GUI = " GUI "
2014-05-19 19:58:33 +02:00
CORES = " CORES "
INPUT_LASLAZ = " INPUT_LASLAZ "
INPUT_DIRECTORY = " INPUT_DIRECTORY "
INPUT_WILDCARDS = " INPUT_WILDCARDS "
2014-12-22 12:32:37 +01:00
MERGED = " MERGED "
2014-05-19 19:58:33 +02:00
OUTPUT_LASLAZ = " OUTPUT_LASLAZ "
OUTPUT_DIRECTORY = " OUTPUT_DIRECTORY "
OUTPUT_APPENDIX = " OUTPUT_APPENDIX "
OUTPUT_POINT_FORMAT = " OUTPUT_POINT_FORMAT "
OUTPUT_POINT_FORMATS = [ " laz " , " las " ]
OUTPUT_RASTER = " OUTPUT_RASTER "
OUTPUT_RASTER_FORMAT = " OUTPUT_RASTER_FORMAT "
OUTPUT_RASTER_FORMATS = [ " tif " , " bil " , " img " , " dtm " , " asc " , " xyz " , " png " , " jpg " ]
OUTPUT_VECTOR = " OUTPUT_VECTOR "
OUTPUT_VECTOR_FORMAT = " OUTPUT_VECTOR_FORMAT "
OUTPUT_VECTOR_FORMATS = [ " shp " , " wkt " , " kml " , " txt " ]
ADDITIONAL_OPTIONS = " ADDITIONAL_OPTIONS "
TEMPORARY_DIRECTORY = " TEMPORARY_DIRECTORY "
HORIZONTAL_FEET = " HORIZONTAL_FEET "
VERTICAL_FEET = " VERTICAL_FEET "
FILES_ARE_FLIGHTLINES = " FILES_ARE_FLIGHTLINES "
2014-12-22 12:32:37 +01:00
APPLY_FILE_SOURCE_ID = " APPLY_FILE_SOURCE_ID "
2014-05-19 19:58:33 +02:00
STEP = " STEP "
FILTER_RETURN_CLASS_FLAGS1 = " FILTER_RETURN_CLASS_FLAGS1 "
FILTER_RETURN_CLASS_FLAGS2 = " FILTER_RETURN_CLASS_FLAGS2 "
FILTER_RETURN_CLASS_FLAGS3 = " FILTER_RETURN_CLASS_FLAGS3 "
2014-05-21 21:25:18 +02:00
FILTERS_RETURN_CLASS_FLAGS = [ " --- " , " keep_last " , " keep_first " , " keep_middle " , " keep_single " , " drop_single " ,
" keep_double " , " keep_class 2 " , " keep_class 2 8 " , " keep_class 8 " , " keep_class 6 " ,
2014-12-22 12:32:37 +01:00
" keep_class 9 " , " keep_class 3 4 5 " , " keep_class 2 6 " , " drop_class 7 " , " drop_withheld " , " drop_synthetic " ]
2014-05-19 19:58:33 +02:00
FILTER_COORDS_INTENSITY1 = " FILTER_COORDS_INTENSITY1 "
FILTER_COORDS_INTENSITY2 = " FILTER_COORDS_INTENSITY2 "
FILTER_COORDS_INTENSITY3 = " FILTER_COORDS_INTENSITY3 "
FILTER_COORDS_INTENSITY1_ARG = " FILTER_COORDS_INTENSITY1_ARG "
FILTER_COORDS_INTENSITY2_ARG = " FILTER_COORDS_INTENSITY2_ARG "
FILTER_COORDS_INTENSITY3_ARG = " FILTER_COORDS_INTENSITY3_ARG "
2014-12-22 12:32:37 +01:00
FILTERS_COORDS_INTENSITY = [ " --- " , " drop_x_above " , " drop_x_below " , " drop_y_above " , " drop_y_below " , " drop_z_above " ,
" drop_z_below " , " drop_intensity_above " , " drop_intensity_below " , " drop_gps_time_above " ,
2014-05-21 21:25:18 +02:00
" drop_gps_time_below " , " drop_scan_angle_above " , " drop_scan_angle_below " , " keep_point_source " ,
" drop_point_source " , " drop_point_source_above " , " drop_point_source_below " , " keep_user_data " ,
" drop_user_data " , " drop_user_data_above " , " drop_user_data_below " , " keep_every_nth " ,
2014-05-19 19:58:33 +02:00
" keep_random_fraction " , " thin_with_grid " ]
TRANSFORM_COORDINATE1 = " TRANSFORM_COORDINATE1 "
TRANSFORM_COORDINATE2 = " TRANSFORM_COORDINATE2 "
TRANSFORM_COORDINATE1_ARG = " TRANSFORM_COORDINATE1_ARG "
TRANSFORM_COORDINATE2_ARG = " TRANSFORM_COORDINATE2_ARG "
TRANSFORM_COORDINATES = [ " --- " , " translate_x " , " translate_y " , " translate_z " , " scale_x " , " scale_y " , " scale_z " , " clamp_z_above " , " clamp_z_below " ]
TRANSFORM_OTHER1 = " TRANSFORM_OTHER1 "
TRANSFORM_OTHER2 = " TRANSFORM_OTHER2 "
TRANSFORM_OTHER1_ARG = " TRANSFORM_OTHER1_ARG "
TRANSFORM_OTHER2_ARG = " TRANSFORM_OTHER2_ARG "
2014-05-21 21:25:18 +02:00
TRANSFORM_OTHERS = [ " --- " , " scale_intensity " , " translate_intensity " , " clamp_intensity_above " , " clamp_intensity_below " ,
" scale_scan_angle " , " translate_scan_angle " , " translate_gps_time " , " set_classification " , " set_user_data " ,
2014-05-19 19:58:33 +02:00
" set_point_source " , " scale_rgb_up " , " scale_rgb_down " , " repair_zero_returns " ]
2012-09-15 18:25:25 +03:00
def getIcon ( self ) :
2014-05-19 19:58:33 +02:00
filepath = os . path . dirname ( __file__ ) + " /../../../images/tool.png "
2012-09-15 18:25:25 +03:00
return QtGui . QIcon ( filepath )
def checkBeforeOpeningParametersDialog ( self ) :
2013-09-24 22:06:50 +02:00
path = LAStoolsUtils . LAStoolsPath ( )
2014-05-19 19:58:33 +02:00
if path == " " :
2015-01-14 20:57:56 +02:00
return self . tr ( ' LAStools folder is not configured. \n Please '
' configure it before running LAStools algorithms. ' )
2013-09-24 22:06:50 +02:00
def addParametersVerboseGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterBoolean ( LAStoolsAlgorithm . VERBOSE , self . tr ( " verbose " ) , False ) )
self . addParameter ( ParameterBoolean ( LAStoolsAlgorithm . GUI , self . tr ( " open LAStools GUI " ) , False ) )
2013-09-24 22:06:50 +02:00
def addParametersVerboseCommands ( self , commands ) :
if self . getParameterValue ( LAStoolsAlgorithm . VERBOSE ) :
2014-05-19 19:58:33 +02:00
commands . append ( " -v " )
2014-12-22 12:32:37 +01:00
if self . getParameterValue ( LAStoolsAlgorithm . GUI ) :
commands . append ( " -gui " )
2014-05-19 19:58:33 +02:00
def addParametersCoresGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterNumber ( LAStoolsAlgorithm . CORES , self . tr ( " number of cores " ) , 1 , 32 , 4 ) )
2014-05-19 19:58:33 +02:00
def addParametersCoresCommands ( self , commands ) :
cores = self . getParameterValue ( LAStoolsAlgorithm . CORES )
if cores != 1 :
commands . append ( " -cores " )
2015-08-16 20:57:24 +02:00
commands . append ( unicode ( cores ) )
2013-09-24 22:06:50 +02:00
def addParametersPointInputGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterFile ( LAStoolsAlgorithm . INPUT_LASLAZ , self . tr ( " input LAS/LAZ file " ) , False , False ) )
2013-09-24 22:06:50 +02:00
def addParametersPointInputCommands ( self , commands ) :
input = self . getParameterValue ( LAStoolsAlgorithm . INPUT_LASLAZ )
fix python pep8 warnings and fix some revealed errors
pep8 --ignore=E111,E128,E201,E202,E203,E211,E221,E222,E225,E226,E227,E231,E241,E261,E265,E272,E302,E303,E501,E701 \
--exclude="ui_*.py,debian/*,python/ext-libs/*" \
.
2015-02-01 14:15:42 +01:00
if input is not None :
2014-05-19 19:58:33 +02:00
commands . append ( " -i " )
2013-09-24 22:06:50 +02:00
commands . append ( input )
2014-05-21 21:25:18 +02:00
2014-05-19 19:58:33 +02:00
def addParametersPointInputFolderGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterFile ( LAStoolsAlgorithm . INPUT_DIRECTORY , self . tr ( " input directory " ) , True , False ) )
self . addParameter ( ParameterString ( LAStoolsAlgorithm . INPUT_WILDCARDS , self . tr ( " input wildcard(s) " ) , " *.laz " ) )
2014-05-19 19:58:33 +02:00
def addParametersPointInputFolderCommands ( self , commands ) :
input = self . getParameterValue ( LAStoolsAlgorithm . INPUT_DIRECTORY )
wildcards = self . getParameterValue ( LAStoolsAlgorithm . INPUT_WILDCARDS ) . split ( )
for wildcard in wildcards :
commands . append ( " -i " )
fix python pep8 warnings and fix some revealed errors
pep8 --ignore=E111,E128,E201,E202,E203,E211,E221,E222,E225,E226,E227,E231,E241,E261,E265,E272,E302,E303,E501,E701 \
--exclude="ui_*.py,debian/*,python/ext-libs/*" \
.
2015-02-01 14:15:42 +01:00
if input is not None :
2014-05-19 19:58:33 +02:00
commands . append ( ' " ' + input + " \\ " + wildcard + ' " ' )
else :
commands . append ( ' " ' + wildcard + ' " ' )
2013-10-01 20:52:22 +03:00
2014-12-22 12:32:37 +01:00
def addParametersPointInputMergedGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterBoolean ( LAStoolsAlgorithm . MERGED , self . tr ( " merge all input files on-the-fly into one " ) , False ) )
2014-12-22 12:32:37 +01:00
def addParametersPointInputMergedCommands ( self , commands ) :
if self . getParameterValue ( LAStoolsAlgorithm . MERGED ) :
commands . append ( " -merged " )
def addParametersGenericInputFolderGUI ( self , wildcard ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterFile ( LAStoolsAlgorithm . INPUT_DIRECTORY , self . tr ( " input directory " ) , True , False ) )
self . addParameter ( ParameterString ( LAStoolsAlgorithm . INPUT_WILDCARDS , self . tr ( " input wildcard(s) " ) , wildcard ) )
2014-12-22 12:32:37 +01:00
def addParametersGenericInputFolderCommands ( self , commands ) :
input = self . getParameterValue ( LAStoolsAlgorithm . INPUT_DIRECTORY )
wildcards = self . getParameterValue ( LAStoolsAlgorithm . INPUT_WILDCARDS ) . split ( )
for wildcard in wildcards :
commands . append ( " -i " )
fix python pep8 warnings and fix some revealed errors
pep8 --ignore=E111,E128,E201,E202,E203,E211,E221,E222,E225,E226,E227,E231,E241,E261,E265,E272,E302,E303,E501,E701 \
--exclude="ui_*.py,debian/*,python/ext-libs/*" \
.
2015-02-01 14:15:42 +01:00
if input is not None :
2014-12-22 12:32:37 +01:00
commands . append ( ' " ' + input + " \\ " + wildcard + ' " ' )
else :
commands . append ( ' " ' + wildcard + ' " ' )
2013-09-24 22:06:50 +02:00
def addParametersHorizontalFeetGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterBoolean ( LAStoolsAlgorithm . HORIZONTAL_FEET , self . tr ( " horizontal feet " ) , False ) )
2013-09-24 22:06:50 +02:00
def addParametersHorizontalFeetCommands ( self , commands ) :
if self . getParameterValue ( LAStoolsAlgorithm . HORIZONTAL_FEET ) :
2014-05-19 19:58:33 +02:00
commands . append ( " -feet " )
2013-09-24 22:06:50 +02:00
def addParametersVerticalFeetGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterBoolean ( LAStoolsAlgorithm . VERTICAL_FEET , self . tr ( " vertical feet " ) , False ) )
2013-09-24 22:06:50 +02:00
def addParametersVerticalFeetCommands ( self , commands ) :
if self . getParameterValue ( LAStoolsAlgorithm . VERTICAL_FEET ) :
2014-05-19 19:58:33 +02:00
commands . append ( " -elevation_feet " )
2013-09-24 22:06:50 +02:00
def addParametersHorizontalAndVerticalFeetGUI ( self ) :
self . addParametersHorizontalFeetGUI ( )
self . addParametersVerticalFeetGUI ( )
def addParametersHorizontalAndVerticalFeetCommands ( self , commands ) :
self . addParametersHorizontalFeetCommands ( commands )
self . addParametersVerticalFeetCommands ( commands )
2014-05-21 21:25:18 +02:00
2013-09-24 22:06:50 +02:00
def addParametersFilesAreFlightlinesGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterBoolean ( LAStoolsAlgorithm . FILES_ARE_FLIGHTLINES , self . tr ( " files are flightlines " ) , False ) )
2013-09-24 22:06:50 +02:00
def addParametersFilesAreFlightlinesCommands ( self , commands ) :
if self . getParameterValue ( LAStoolsAlgorithm . FILES_ARE_FLIGHTLINES ) :
2014-05-19 19:58:33 +02:00
commands . append ( " -files_are_flightlines " )
2013-09-24 22:06:50 +02:00
2014-12-22 12:32:37 +01:00
def addParametersApplyFileSourceIdGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterBoolean ( LAStoolsAlgorithm . APPLY_FILE_SOURCE_ID , self . tr ( " apply file source ID " ) , False ) )
2014-12-22 12:32:37 +01:00
def addParametersApplyFileSourceIdCommands ( self , commands ) :
if self . getParameterValue ( LAStoolsAlgorithm . APPLY_FILE_SOURCE_ID ) :
commands . append ( " -apply_file_source_ID " )
2013-09-24 22:06:50 +02:00
def addParametersStepGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterNumber ( LAStoolsAlgorithm . STEP , self . tr ( " step size / pixel size " ) , 0 , None , 1.0 ) )
2013-09-24 22:06:50 +02:00
def addParametersStepCommands ( self , commands ) :
step = self . getParameterValue ( LAStoolsAlgorithm . STEP )
if step != 0.0 :
2014-05-19 19:58:33 +02:00
commands . append ( " -step " )
2015-08-16 20:57:24 +02:00
commands . append ( unicode ( step ) )
2013-09-24 22:06:50 +02:00
2014-05-19 19:58:33 +02:00
def getParametersStepValue ( self ) :
step = self . getParameterValue ( LAStoolsAlgorithm . STEP )
2014-05-21 21:25:18 +02:00
return step
2014-05-19 19:58:33 +02:00
def addParametersPointOutputGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addOutput ( OutputFile ( LAStoolsAlgorithm . OUTPUT_LASLAZ , self . tr ( " output LAS/LAZ file " ) , " laz " ) )
2013-09-24 22:06:50 +02:00
2014-05-19 19:58:33 +02:00
def addParametersPointOutputCommands ( self , commands ) :
2013-09-24 22:06:50 +02:00
output = self . getOutputValue ( LAStoolsAlgorithm . OUTPUT_LASLAZ )
fix python pep8 warnings and fix some revealed errors
pep8 --ignore=E111,E128,E201,E202,E203,E211,E221,E222,E225,E226,E227,E231,E241,E261,E265,E272,E302,E303,E501,E701 \
--exclude="ui_*.py,debian/*,python/ext-libs/*" \
.
2015-02-01 14:15:42 +01:00
if output is not None :
2014-05-19 19:58:33 +02:00
commands . append ( " -o " )
2013-09-24 22:06:50 +02:00
commands . append ( output )
def addParametersPointOutputFormatGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterSelection ( LAStoolsAlgorithm . OUTPUT_POINT_FORMAT , self . tr ( " output format " ) , LAStoolsAlgorithm . OUTPUT_POINT_FORMATS , 0 ) )
2013-09-24 22:06:50 +02:00
def addParametersPointOutputFormatCommands ( self , commands ) :
2014-05-19 19:58:33 +02:00
format = self . getParameterValue ( LAStoolsAlgorithm . OUTPUT_POINT_FORMAT )
commands . append ( " -o " + LAStoolsAlgorithm . OUTPUT_POINT_FORMATS [ format ] )
2013-09-24 22:06:50 +02:00
def addParametersRasterOutputGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addOutput ( OutputRaster ( LAStoolsAlgorithm . OUTPUT_RASTER , self . tr ( " Output raster file " ) ) )
2013-09-24 22:06:50 +02:00
def addParametersRasterOutputCommands ( self , commands ) :
2014-05-19 19:58:33 +02:00
commands . append ( " -o " )
2013-09-24 22:06:50 +02:00
commands . append ( self . getOutputValue ( LAStoolsAlgorithm . OUTPUT_RASTER ) )
2014-05-19 19:58:33 +02:00
def addParametersRasterOutputFormatGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterSelection ( LAStoolsAlgorithm . OUTPUT_RASTER_FORMAT , self . tr ( " output format " ) , LAStoolsAlgorithm . OUTPUT_RASTER_FORMATS , 0 ) )
2014-05-19 19:58:33 +02:00
def addParametersRasterOutputFormatCommands ( self , commands ) :
format = self . getParameterValue ( LAStoolsAlgorithm . OUTPUT_RASTER_FORMAT )
commands . append ( " -o " + LAStoolsAlgorithm . OUTPUT_RASTER_FORMATS [ format ] )
2013-09-24 22:06:50 +02:00
def addParametersVectorOutputGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addOutput ( OutputVector ( LAStoolsAlgorithm . OUTPUT_VECTOR , self . tr ( " Output vector file " ) ) )
2013-09-24 22:06:50 +02:00
def addParametersVectorOutputCommands ( self , commands ) :
2014-05-19 19:58:33 +02:00
commands . append ( " -o " )
2013-09-24 22:06:50 +02:00
commands . append ( self . getOutputValue ( LAStoolsAlgorithm . OUTPUT_VECTOR ) )
2014-05-19 19:58:33 +02:00
def addParametersVectorOutputFormatGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterSelection ( LAStoolsAlgorithm . OUTPUT_VECTOR_FORMAT , self . tr ( " output format " ) , LAStoolsAlgorithm . OUTPUT_VECTOR_FORMATS , 0 ) )
2014-05-19 19:58:33 +02:00
def addParametersVectorOutputFormatCommands ( self , commands ) :
format = self . getParameterValue ( LAStoolsAlgorithm . OUTPUT_VECTOR_FORMAT )
commands . append ( " -o " + LAStoolsAlgorithm . OUTPUT_VECTOR_FORMATS [ format ] )
def addParametersOutputDirectoryGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterFile ( LAStoolsAlgorithm . OUTPUT_DIRECTORY , self . tr ( " output directory " ) , True ) )
2014-05-19 19:58:33 +02:00
def addParametersOutputDirectoryCommands ( self , commands ) :
odir = self . getParameterValue ( LAStoolsAlgorithm . OUTPUT_DIRECTORY )
if odir != " " :
commands . append ( " -odir " )
commands . append ( odir )
def addParametersOutputAppendixGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterString ( LAStoolsAlgorithm . OUTPUT_APPENDIX , self . tr ( " output appendix " ) ) )
2014-05-19 19:58:33 +02:00
def addParametersOutputAppendixCommands ( self , commands ) :
odix = self . getParameterValue ( LAStoolsAlgorithm . OUTPUT_APPENDIX )
if odix != " " :
commands . append ( " -odix " )
commands . append ( odix )
def addParametersTemporaryDirectoryGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterFile ( LAStoolsAlgorithm . TEMPORARY_DIRECTORY , self . tr ( " empty temporary directory " ) , True , False ) )
2014-05-19 19:58:33 +02:00
def addParametersTemporaryDirectoryAsOutputDirectoryCommands ( self , commands ) :
odir = self . getParameterValue ( LAStoolsAlgorithm . TEMPORARY_DIRECTORY )
if odir != " " :
commands . append ( " -odir " )
commands . append ( odir )
def addParametersTemporaryDirectoryAsInputFilesCommands ( self , commands , files ) :
idir = self . getParameterValue ( LAStoolsAlgorithm . TEMPORARY_DIRECTORY )
if idir != " " :
commands . append ( " -i " )
commands . append ( idir + ' \\ ' + files )
def addParametersAdditionalGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterString ( LAStoolsAlgorithm . ADDITIONAL_OPTIONS , self . tr ( " additional command line parameter(s) " ) ) )
2014-05-19 19:58:33 +02:00
def addParametersAdditionalCommands ( self , commands ) :
additional_options = self . getParameterValue ( LAStoolsAlgorithm . ADDITIONAL_OPTIONS ) . split ( )
for option in additional_options :
commands . append ( option )
2013-09-24 22:06:50 +02:00
def addParametersFilter1ReturnClassFlagsGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterSelection ( LAStoolsAlgorithm . FILTER_RETURN_CLASS_FLAGS1 , self . tr ( " filter (by return, classification, flags) " ) ,
2014-05-19 19:58:33 +02:00
LAStoolsAlgorithm . FILTERS_RETURN_CLASS_FLAGS , 0 ) )
2013-09-24 22:06:50 +02:00
def addParametersFilter1ReturnClassFlagsCommands ( self , commands ) :
2014-05-19 19:58:33 +02:00
filter1 = self . getParameterValue ( LAStoolsAlgorithm . FILTER_RETURN_CLASS_FLAGS1 )
2013-09-24 22:06:50 +02:00
if filter1 != 0 :
2014-05-19 19:58:33 +02:00
commands . append ( " - " + LAStoolsAlgorithm . FILTERS_RETURN_CLASS_FLAGS [ filter1 ] )
2013-09-24 22:06:50 +02:00
def addParametersFilter2ReturnClassFlagsGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterSelection ( LAStoolsAlgorithm . FILTER_RETURN_CLASS_FLAGS2 , self . tr ( " second filter (by return, classification, flags) " ) ,
2014-05-19 19:58:33 +02:00
LAStoolsAlgorithm . FILTERS_RETURN_CLASS_FLAGS , 0 ) )
2013-09-24 22:06:50 +02:00
def addParametersFilter2ReturnClassFlagsCommands ( self , commands ) :
2014-05-19 19:58:33 +02:00
filter2 = self . getParameterValue ( LAStoolsAlgorithm . FILTER_RETURN_CLASS_FLAGS2 )
2013-09-24 22:06:50 +02:00
if filter2 != 0 :
2014-05-19 19:58:33 +02:00
commands . append ( " - " + LAStoolsAlgorithm . FILTERS_RETURN_CLASS_FLAGS [ filter2 ] )
2013-09-24 22:06:50 +02:00
def addParametersFilter3ReturnClassFlagsGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterSelection ( LAStoolsAlgorithm . FILTER_RETURN_CLASS_FLAGS3 , self . tr ( " third filter (by return, classification, flags) " ) ,
2014-05-19 19:58:33 +02:00
LAStoolsAlgorithm . FILTERS_RETURN_CLASS_FLAGS , 0 ) )
2013-09-24 22:06:50 +02:00
def addParametersFilter3ReturnClassFlagsCommands ( self , commands ) :
2014-05-19 19:58:33 +02:00
filter3 = self . getParameterValue ( LAStoolsAlgorithm . FILTER_RETURN_CLASS_FLAGS3 )
2013-09-24 22:06:50 +02:00
if filter3 != 0 :
2014-05-19 19:58:33 +02:00
commands . append ( " - " + LAStoolsAlgorithm . FILTERS_RETURN_CLASS_FLAGS [ filter3 ] )
2013-09-24 22:06:50 +02:00
def addParametersFilter1CoordsIntensityGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterSelection ( LAStoolsAlgorithm . FILTER_COORDS_INTENSITY1 , self . tr ( " filter (by coordinate, intensity, GPS time, ...) " ) ,
2014-05-19 19:58:33 +02:00
LAStoolsAlgorithm . FILTERS_COORDS_INTENSITY , 0 ) )
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterString ( LAStoolsAlgorithm . FILTER_COORDS_INTENSITY1_ARG , self . tr ( " value for filter (by coordinate, intensity, GPS time, ...) " ) ) )
2013-09-24 22:06:50 +02:00
def addParametersFilter1CoordsIntensityCommands ( self , commands ) :
2014-05-19 19:58:33 +02:00
filter1 = self . getParameterValue ( LAStoolsAlgorithm . FILTER_COORDS_INTENSITY1 )
filter1_arg = self . getParameterValue ( LAStoolsAlgorithm . FILTER_COORDS_INTENSITY1_ARG )
fix python pep8 warnings and fix some revealed errors
pep8 --ignore=E111,E128,E201,E202,E203,E211,E221,E222,E225,E226,E227,E231,E241,E261,E265,E272,E302,E303,E501,E701 \
--exclude="ui_*.py,debian/*,python/ext-libs/*" \
.
2015-02-01 14:15:42 +01:00
if filter1 != 0 and filter1_arg is not None :
2014-05-19 19:58:33 +02:00
commands . append ( " - " + LAStoolsAlgorithm . FILTERS_COORDS_INTENSITY [ filter1 ] )
2013-09-24 22:06:50 +02:00
commands . append ( filter1_arg )
def addParametersFilter2CoordsIntensityGUI ( self ) :
2015-01-14 20:57:56 +02:00
self . addParameter ( ParameterSelection ( LAStoolsAlgorithm . FILTER_COORDS_INTENSITY2 , self . tr ( " second filter (by coordinate, intensity, GPS time, ...) " ) , LAStoolsAlgorithm . FILTERS_COORDS_INTENSITY , 0 ) )
self . addParameter ( ParameterString ( LAStoolsAlgorithm . FILTER_COORDS_INTENSITY2_ARG , self . tr ( " value for second filter (by coordinate, intensity, GPS time, ...) " ) ) )
2013-09-24 22:06:50 +02:00
def addParametersFilter2CoordsIntensityCommands ( self , commands ) :
2014-05-19 19:58:33 +02:00
filter2 = self . getParameterValue ( LAStoolsAlgorithm . FILTER_COORDS_INTENSITY2 )
filter2_arg = self . getParameterValue ( LAStoolsAlgorithm . FILTER_COORDS_INTENSITY2_ARG )
fix python pep8 warnings and fix some revealed errors
pep8 --ignore=E111,E128,E201,E202,E203,E211,E221,E222,E225,E226,E227,E231,E241,E261,E265,E272,E302,E303,E501,E701 \
--exclude="ui_*.py,debian/*,python/ext-libs/*" \
.
2015-02-01 14:15:42 +01:00
if filter2 != 0 and filter2_arg is not None :
2014-05-19 19:58:33 +02:00
commands . append ( " - " + LAStoolsAlgorithm . FILTERS_COORDS_INTENSITY [ filter2 ] )
2013-09-24 22:06:50 +02:00
commands . append ( filter2_arg )
def addParametersTransform1CoordinateGUI ( self ) :
2014-05-21 21:25:18 +02:00
self . addParameter ( ParameterSelection ( LAStoolsAlgorithm . TRANSFORM_COORDINATE1 ,
2015-01-14 20:57:56 +02:00
self . tr ( " transform (coordinates) " ) , LAStoolsAlgorithm . TRANSFORM_COORDINATES , 0 ) )
2014-05-21 21:25:18 +02:00
self . addParameter ( ParameterString ( LAStoolsAlgorithm . TRANSFORM_COORDINATE1_ARG ,
2015-01-14 20:57:56 +02:00
self . tr ( " value for transform (coordinates) " ) ) )
2013-09-24 22:06:50 +02:00
def addParametersTransform1CoordinateCommands ( self , commands ) :
2014-05-19 19:58:33 +02:00
transform1 = self . getParameterValue ( LAStoolsAlgorithm . TRANSFORM_COORDINATE1 )
transform1_arg = self . getParameterValue ( LAStoolsAlgorithm . TRANSFORM_COORDINATE1_ARG )
fix python pep8 warnings and fix some revealed errors
pep8 --ignore=E111,E128,E201,E202,E203,E211,E221,E222,E225,E226,E227,E231,E241,E261,E265,E272,E302,E303,E501,E701 \
--exclude="ui_*.py,debian/*,python/ext-libs/*" \
.
2015-02-01 14:15:42 +01:00
if transform1 != 0 and transform1_arg is not None :
2014-05-19 19:58:33 +02:00
commands . append ( " - " + LAStoolsAlgorithm . TRANSFORM_COORDINATES [ transform1 ] )
2013-09-24 22:06:50 +02:00
commands . append ( transform1_arg )
def addParametersTransform2CoordinateGUI ( self ) :
2014-05-21 21:25:18 +02:00
self . addParameter ( ParameterSelection ( LAStoolsAlgorithm . TRANSFORM_COORDINATE2 ,
2015-01-14 20:57:56 +02:00
self . tr ( " second transform (coordinates) " ) , LAStoolsAlgorithm . TRANSFORM_COORDINATES , 0 ) )
2014-05-21 21:25:18 +02:00
self . addParameter ( ParameterString ( LAStoolsAlgorithm . TRANSFORM_COORDINATE2_ARG ,
2015-01-14 20:57:56 +02:00
self . tr ( " value for second transform (coordinates) " ) ) )
2013-09-24 22:06:50 +02:00
def addParametersTransform2CoordinateCommands ( self , commands ) :
2014-05-19 19:58:33 +02:00
transform2 = self . getParameterValue ( LAStoolsAlgorithm . TRANSFORM_COORDINATE2 )
transform2_arg = self . getParameterValue ( LAStoolsAlgorithm . TRANSFORM_COORDINATE2_ARG )
fix python pep8 warnings and fix some revealed errors
pep8 --ignore=E111,E128,E201,E202,E203,E211,E221,E222,E225,E226,E227,E231,E241,E261,E265,E272,E302,E303,E501,E701 \
--exclude="ui_*.py,debian/*,python/ext-libs/*" \
.
2015-02-01 14:15:42 +01:00
if transform2 != 0 and transform2_arg is not None :
2014-05-19 19:58:33 +02:00
commands . append ( " - " + LAStoolsAlgorithm . TRANSFORM_COORDINATES [ transform2 ] )
2013-09-24 22:06:50 +02:00
commands . append ( transform2_arg )
def addParametersTransform1OtherGUI ( self ) :
2014-05-21 21:25:18 +02:00
self . addParameter ( ParameterSelection ( LAStoolsAlgorithm . TRANSFORM_OTHER1 ,
2015-01-14 20:57:56 +02:00
self . tr ( " transform (intensities, scan angles, GPS times, ...) " ) , LAStoolsAlgorithm . TRANSFORM_OTHERS , 0 ) )
2014-05-21 21:25:18 +02:00
self . addParameter ( ParameterString ( LAStoolsAlgorithm . TRANSFORM_OTHER1_ARG ,
2015-01-14 20:57:56 +02:00
self . tr ( " value for transform (intensities, scan angles, GPS times, ...) " ) ) )
2013-09-24 22:06:50 +02:00
def addParametersTransform1OtherCommands ( self , commands ) :
transform1 = self . getParameterValue ( LAStoolsAlgorithm . TRANSFORM_OTHER1 )
2014-05-19 19:58:33 +02:00
transform1_arg = self . getParameterValue ( LAStoolsAlgorithm . TRANSFORM_OTHER1_ARG )
2013-09-24 22:06:50 +02:00
if transform1 != 0 :
2014-05-19 19:58:33 +02:00
commands . append ( " - " + LAStoolsAlgorithm . TRANSFORM_OTHERS [ transform1 ] )
fix python pep8 warnings and fix some revealed errors
pep8 --ignore=E111,E128,E201,E202,E203,E211,E221,E222,E225,E226,E227,E231,E241,E261,E265,E272,E302,E303,E501,E701 \
--exclude="ui_*.py,debian/*,python/ext-libs/*" \
.
2015-02-01 14:15:42 +01:00
if transform1 < 11 and transform1_arg is not None :
2013-09-24 22:06:50 +02:00
commands . append ( transform1_arg )
def addParametersTransform2OtherGUI ( self ) :
2014-05-21 21:25:18 +02:00
self . addParameter ( ParameterSelection ( LAStoolsAlgorithm . TRANSFORM_OTHER2 ,
2015-01-14 20:57:56 +02:00
self . tr ( " second transform (intensities, scan angles, GPS times, ...) " ) , LAStoolsAlgorithm . TRANSFORM_OTHERS , 0 ) )
2014-05-21 21:25:18 +02:00
self . addParameter ( ParameterString ( LAStoolsAlgorithm . TRANSFORM_OTHER2_ARG ,
2015-01-14 20:57:56 +02:00
self . tr ( " value for second transform (intensities, scan angles, GPS times, ...) " ) ) )
2013-09-24 22:06:50 +02:00
def addParametersTransform2OtherCommands ( self , commands ) :
transform2 = self . getParameterValue ( LAStoolsAlgorithm . TRANSFORM_OTHER2 )
2014-05-19 19:58:33 +02:00
transform2_arg = self . getParameterValue ( LAStoolsAlgorithm . TRANSFORM_OTHER2_ARG )
2013-09-24 22:06:50 +02:00
if transform2 != 0 :
2014-05-19 19:58:33 +02:00
commands . append ( " - " + LAStoolsAlgorithm . TRANSFORM_OTHERS [ transform2 ] )
fix python pep8 warnings and fix some revealed errors
pep8 --ignore=E111,E128,E201,E202,E203,E211,E221,E222,E225,E226,E227,E231,E241,E261,E265,E272,E302,E303,E501,E701 \
--exclude="ui_*.py,debian/*,python/ext-libs/*" \
.
2015-02-01 14:15:42 +01:00
if transform2 < 11 and transform2_arg is not None :
2013-09-24 22:06:50 +02:00
commands . append ( transform2_arg )