diff --git a/opendm/dem/commands.py b/opendm/dem/commands.py index 6f0ad8a1..d68f1702 100755 --- a/opendm/dem/commands.py +++ b/opendm/dem/commands.py @@ -102,13 +102,13 @@ def create_dem(input_point_cloud, dem_type, output_type='max', radiuses=['0.56'] w, h = (RES_FLOOR, int(math.ceil(ext_height / ext_width * RES_FLOOR))) else: w, h = (int(math.ceil(ext_width / ext_height * RES_FLOOR)), RES_FLOOR) - + floor_ratio = prev_w / float(w) resolution *= floor_ratio radiuses = [str(float(r) * floor_ratio) for r in radiuses] log.ODM_WARNING("Really low resolution DEM requested %s will set floor at %s pixels. Resolution changed to %s. The scale of this reconstruction might be off." % ((prev_w, prev_h), RES_FLOOR, resolution)) - + final_dem_pixels = w * h num_splits = int(max(1, math.ceil(math.log(math.ceil(final_dem_pixels / float(max_tile_size * max_tile_size)))/math.log(2)))) @@ -144,7 +144,7 @@ def create_dem(input_point_cloud, dem_type, output_type='max', radiuses=['0.56'] 'minx': minx, 'maxx': maxx, 'miny': miny, - 'maxy': maxy + 'maxy': maxy }, 'filename': filename }) @@ -157,7 +157,7 @@ def create_dem(input_point_cloud, dem_type, output_type='max', radiuses=['0.56'] def process_tile(q): log.ODM_INFO("Generating %s (%s, radius: %s, resolution: %s)" % (q['filename'], output_type, q['radius'], resolution)) - + d = pdal.json_gdal_base(q['filename'], output_type, q['radius'], resolution, q['bounds']) if dem_type == 'dtm': @@ -175,7 +175,7 @@ def create_dem(input_point_cloud, dem_type, output_type='max', radiuses=['0.56'] output_path = os.path.abspath(os.path.join(outdir, output_file)) # Verify tile results - for t in tiles: + for t in tiles: if not os.path.exists(t['filename']): raise Exception("Error creating %s, %s failed to be created" % (output_file, t['filename'])) @@ -225,14 +225,14 @@ def create_dem(input_point_cloud, dem_type, output_type='max', radiuses=['0.56'] '"{geotiff_tmp}" "{geotiff_small}"'.format(**kwargs)) # Fill scaled - gdal_fillnodata(['.', - '-co', 'NUM_THREADS=%s' % kwargs['threads'], + gdal_fillnodata(['.', + '-co', 'NUM_THREADS=%s' % kwargs['threads'], '-co', 'BIGTIFF=IF_SAFER', '--config', 'GDAL_CACHE_MAX', str(kwargs['max_memory']) + '%', '-b', '1', '-of', 'GTiff', kwargs['geotiff_small'], kwargs['geotiff_small_filled']]) - + # Merge filled scaled DEM with unfilled DEM using bilinear interpolation run('gdalbuildvrt -resolution highest -r bilinear "%s" "%s" "%s"' % (merged_vrt_path, geotiff_small_filled_path, geotiff_tmp_path)) run('gdal_translate ' @@ -258,11 +258,11 @@ def create_dem(input_point_cloud, dem_type, output_type='max', radiuses=['0.56'] os.replace(geotiff_path, output_path) if os.path.exists(geotiff_tmp_path): - if not keep_unfilled_copy: + if not keep_unfilled_copy: os.remove(geotiff_tmp_path) else: os.replace(geotiff_tmp_path, io.related_file_path(output_path, postfix=".unfilled")) - + for cleanup_file in [tiles_vrt_path, tiles_file_list, merged_vrt_path, geotiff_small_path, geotiff_small_filled_path]: if os.path.exists(cleanup_file): os.remove(cleanup_file) for t in tiles: @@ -295,7 +295,7 @@ def compute_euclidean_map(geotiff_path, output_path, overwrite=False): log.ODM_WARNING("Cannot compute euclidean distance file: %s" % output_path) else: log.ODM_WARNING("Cannot compute euclidean map, gdal_proximity is missing") - + else: log.ODM_INFO("Found a euclidean distance map: %s" % output_path) return output_path