Updated hexer, added --pc-ept flag

Former-commit-id: 4810d07832
pull/1161/head
Piero Toffanin 2019-05-31 12:12:59 -04:00
rodzic e2bd8aac68
commit c44566bdc0
7 zmienionych plików z 19 dodań i 6 usunięć

Wyświetl plik

@ -8,8 +8,7 @@ ExternalProject_Add(${_proj_name}
STAMP_DIR ${_SB_BINARY_DIR}/stamp
#--Download step--------------
DOWNLOAD_DIR ${SB_DOWNLOAD_DIR}
URL https://github.com/hobu/hexer/archive/2898b96b1105991e151696391b9111610276258f.tar.gz
URL_MD5 e8f2788332ad212cf78efa81a82e95dd
URL https://github.com/hobu/hexer/archive/bc748fc16b51c562f68f6641574b7af4244adfa2.tar.gz
#--Update/Patch step----------
UPDATE_COMMAND ""
#--Configure step-------------

Wyświetl plik

@ -286,6 +286,11 @@ def config():
default=False,
help='Export the georeferenced point cloud in LAS format. Default: %(default)s')
parser.add_argument('--pc-ept',
action='store_true',
default=False,
help='Export the georeferenced point cloud in Entwine Point Tile (EPT) format. Default: %(default)s')
parser.add_argument('--pc-filter',
metavar='<positive float>',
type=float,

Wyświetl plik

@ -145,7 +145,7 @@ class Cropper:
boundary_file_path = self.path('boundary.json')
run('pdal info --boundary --filters.hexbin.edge_length=1 --filters.hexbin.threshold=0 {0} > {1}'.format(decimated_pointcloud_path, boundary_file_path))
run('pdal info --boundary --filters.hexbin.edge_size=1 --filters.hexbin.threshold=0 {0} > {1}'.format(decimated_pointcloud_path, boundary_file_path))
pc_geojson_boundary_feature = None

Wyświetl plik

@ -219,6 +219,7 @@ def get_submodel_argv(project_name = None, submodels_path = None, submodel_name
:return the same as argv, but removing references to --split,
setting/replacing --project-path and name
removing --rerun-from, --rerun, --rerun-all, --sm-cluster
removing --pc-las, --pc-csv, --pc-ept flags (processing these is wasteful)
adding --orthophoto-cutline
adding --dem-euclidean-map
adding --skip-3dmodel (split-merge does not support 3D model merging)
@ -226,7 +227,7 @@ def get_submodel_argv(project_name = None, submodels_path = None, submodel_name
"""
assure_always = ['--orthophoto-cutline', '--dem-euclidean-map', '--skip-3dmodel']
remove_always_2 = ['--split', '--split-overlap', '--rerun-from', '--rerun', '--gcp', '--end-with', '--sm-cluster']
remove_always_1 = ['--rerun-all']
remove_always_1 = ['--rerun-all', '--pc-csv', '--pc-las', '--pc-ept']
argv = sys.argv

Wyświetl plik

@ -318,6 +318,9 @@ class ODM_Tree(object):
# Split-merge
self.submodels_path = io.join_paths(self.root_path, 'submodels')
# Tiles
self.entwine_pointcloud = self.path("entwine_pointcloud")
def path(self, *args):
return os.path.join(self.root_path, *args)

Wyświetl plik

@ -9,7 +9,7 @@ from opendm import system
from opendm import context
from opendm.cropper import Cropper
from opendm import point_cloud
from opendm import entwine
class ODMGeoreferencingStage(types.ODM_Stage):
def process(self, args, outputs):
@ -136,6 +136,11 @@ class ODMGeoreferencingStage(types.ODM_Stage):
"-o \"{}\" ".format(
tree.odm_georeferencing_model_laz,
tree.odm_georeferencing_model_las))
# EPT point cloud output
if args.pc_ept:
log.ODM_INFO("Creating geo-referenced Entwine Point Tile output")
entwine.build([tree.odm_georeferencing_model_laz], tree.entwine_pointcloud, max_concurrency=args.max_concurrency)
if args.crop > 0:
log.ODM_INFO("Calculating cropping area and generating bounds shapefile from point cloud")

Wyświetl plik

@ -179,7 +179,7 @@ class ODMMergeStage(types.ODM_Stage):
try:
# pdal.merge_point_clouds(all_point_clouds, tree.odm_georeferencing_model_laz, args.verbose)
entwine.build(all_point_clouds, tree.path("entwine_pointcloud"), max_concurrency=args.max_concurrency)
entwine.build(all_point_clouds, tree.entwine_pointcloud, max_concurrency=args.max_concurrency)
except Exception as e:
log.ODM_WARNING("Could not merge point cloud: %s (skipping)" % str(e))
else: