Reconstruct Surface (Data Management)

Available with Advanced license.

Summary

Generates DSM orthophotos, 2.5D meshes, 3D meshes, and point clouds from adjusted imagery.

License:

The Reconstruct Surface tool is only available through a limited, invitation-only beta testing release.

Usage

  • The Input Mosaic Dataset parameter value must be preadjusted. For information about block adjustment in ortho mapping, see block adjustment.

  • After the tool has been run, a Project.spr file will be created within the Reconstruction Folder value. If the Reconstruction Folder value is used again, the presence of the Project.spr file will cause the Input Mosaic Dataset parameter to be hidden in the Geoprocessing pane. This allows you to generate additional products without recalculating information from the input mosaic, as it is stored in the Project.spr file. To generate additional products for the same project, run the tool again.

  • If there are changes to the input mosaic dataset, specify a different folder for the Reconstruction Folder value. To generate products that reflect changes to the mosaic dataset, specify this new location and run the tool again.

  • Use the Area of Interest parameter to speed up processing and generate products for a subset of images in the input mosaic.

  • If the Reconstruction Options parameter is specified, the properties of the .json file or JSON string will set the defaults for the remaining optional parameters.

    The following list defines the keywords used by the Reconstruction Options parameter as either a .json file or a JSON string:

    • scenario—Specifies the type of imagery that will be used to generate the output products.
    • fwdOverlap—The forward (in-strip) overlap percentage between the images. This keyword is used when scenario is set to AERIAL_NADIR.
    • swdOverlap—The sideward (cross-strip) overlap percentage between the images. This keyword is used when scenario is set to AERIAL_NADIR.
    • quality—Specifies the quality of the final product.
    • products—Specifies the products to be generated.
    • srs—The geographic coordinate system of a project in WKT format.
    • tileSize—The tile size. Values can be AUTO or type double.
    • cellSize—The cell size of the output raster product. This value is automatically estimated, but it can be manually defined. Values can be AUTO or type double.
    • cellSizeMultiplicator—A cell size scalar value. This value is automatically estimated, but it can be manually defined. Values can be AUTO or type double.
    • areaX—The x-coordinates of the output extent.
    • areaY—The y-coordinates of the output extent.
    • areaZ—The z-coordinates of the output extent.
    • areaFeatures—The area of interest.
    • waterbodyFeatures—A polygon that specifies the extent of large water bodies.
    • correctionFeatures—A polygon that specifies the extent of all surfaces that are not water bodies.
    • gpuStatus—A Boolean value that specifies whether the GPU will be used for processing.
    • applyGlobalColorBalancing—A Boolean value that specifies whether color balancing will be applied.
    • orthoEnhanceTexture—A Boolean value that specifies whether textures will be enhanced for DSM ortho products.
    • meshEnahnceTexture—A Boolean value that specifies whether textures will be enhanced for mesh products.
    • force8BitColor—A Boolean value that specifies whether 8-bit color will be used regardless of the input.
    • dsmDepthBuffer—An integer value that defines how many of the highest points in a DSM cell will be used to compute the height value for the cell. By default, this value is determined automatically, but the value can also be specified manually.
    • exportAdditionalTFWs—A Boolean value that specifies whether additional .tfw files will be exported.
    • exportImagePyramidsInTIFFs—A Boolean value that specifies whether image pyramids will be exported in .tiff files.
    • dsmMetaProducts—Specifies the DSM meta information products that will be included in the output. Values can include any combination of DSM_CELL_POINT_COUNT, DSM_HEIGHT_COLORED, DSM_POINT_COLOR, DSM_POINT_COLOR_INTERPOLATE, DSM_BINARY_MASK, DSM_DISTANCE_MAP, DSM_POINT_MODEL_COUNT, DSM_CELL_SD, and DSM_ROUGHNESS.
    • meshAndTextureFormats—Specifies the mesh output format. Only specific combinations of mesh and texture formats are compatible. The supported combinations are listed in the table below. The OSGB and S3TC formats are used by default.

      MeshFileFormatTextureFileFormat

      OSGB

      S3TC

      CESIUM

      JPG and S3TC

      SLPK

      JPG, JPG, and DDS

      LOD_OBJ

      JPG, PNG, and DDS

      LOD_DAE

      JPG, PNG, and DDS

      DAE

      JPG and PNG

      OBJ

      JPG and PNG

    • cesiumOverImposeHeightsOnTargetEllipsoid—A Boolean value that specifies whether all dimensions including the height will be converted to the coordinate system used by Cesium (WGS 84) without any modifications. If this option is False, the height values of the input mesh will be interpreted as heights above the Cesium ellipsoid.
    • cesiumDracoCompression—A Boolean value that specifies whether the mesh size will be reduced to improve performance.
    • slpkExportInPCS— A Boolean value that specifies whether a coordinate system transformation will be performed for the SLPK mesh format. By default, SURE will convert SLPK mesh results to the WGS 84 coordinate system with EGM96 geoid heights. If True, no coordinate system transformation will be performed for the SLPK mesh format, except where a different coordinate system is required. When this option is True, the WKIDs for the horizontal and vertical coordinate systems and the height model and height unit must be defined.
  • The following is an example of the Reconstruction Options parameter value specified as a .json file:

    {
        "scenario": "AERIAL_NADIR",
        "fwdOverlap": .60,
        "swdOverlap": .30,
        "quality": "HIGH",
        "products": "DSM;TRUE_ORTHO;DSM_MESH",
        "areaX": [424960.019858008, 425010.984614762],
        "areaY": [5132484.30528369, 5132517.9432181],
        "gpuStatus": True,
        "applyGlobalColorBalancing": True,
        "dsmMetaProducts": "DSM_HEIGHT_COLORED;DSM_ROUGHNESS"
    
    }

Parameters

LabelExplanationData Type
Input Mosaic Dataset

The adjusted input mosaic dataset.

Mosaic Dataset; Mosaic Layer
Reconstruction Folder

The output dataset folder.

Folder
Reconstruction Options
(Optional)

A .json file or JSON string that specifies the values for the tool parameters.

If this parameter is specified, the properties of the .json file or JSON string will set the defaults for the remaining optional parameters.

File; String
Scenario
(Optional)

Specifies the type of imagery that will be used to generate the output products.

  • DefaultThe input imagery will be defined as having been acquired with drones or terrestrial cameras.
  • Aerial NadirThe input imagery will be defined as having been acquired with large, photogrammetric camera systems.
  • Aerial ObliqueThe input imagery will be defined as having been acquired with oblique camera systems.
String
Forward Overlap
(Optional)

The forward (in-strip) overlap percentage that will be used between the images. The default is 60.

This parameter is active when the Scenario parameter is set to Aerial Nadir.

Long
Sideward Overlap
(Optional)

The sideward (cross-strip) overlap percentage that will be used between the images. The default is 30.

This parameter is active when the Scenario parameter is set to Aerial Nadir.

Long
Quality
(Optional)

Specifies the quality of the final product.

  • UltraInput images will be used at their original (full) resolution.
  • HighInput images will be downsampled two times.
  • MediumInput images will be downsampled four times.
  • LowInput images will be downsampled eight times.
String
Products
(Optional)

Specifies the products that will be generated.

  • DSMA digital surface model (DSM) will be generated. This product will be selected by default when the Scenario parameter is set to Aerial Nadir.
  • True OrthoThe imagery will be orthorectified. This product will be selected by default when the Scenario parameter is set to Aerial Nadir.
  • DSM MeshA DSM mesh will be generated. This product will be selected by default when the Scenario parameter is set to Aerial Nadir.
  • Point CloudAn image point cloud will be generated. This product will be selected by default when the Scenario parameter is set to Default or Aerial Oblique.
  • MeshA 3D mesh will be generated. This product will be selected by default when the Scenario parameter is set to Default or Aerial Oblique.
String
Cell Size
(Optional)

The cell size of the output product.

Double; String
Area of Interest
(Optional)

The area of interest that will be used to select images for processing. The area of interest can be computed automatically or defined using an input shapefile.

If the value contains 3D geometries, the z-component will be ignored. If the value includes overlapping features, the union of these features will be computed.

  • NoneAll images will be used in processing.
  • AutoThe processing extent will be calculated automatically. This is the default.
Feature Class; Feature Layer; File; String
Waterbody Features
(Optional)

A polygon that will define the extent of large water bodies. For the best results, use a 3D shapefile.

Feature Class; Feature Layer; File; String
Correction Features
(Optional)

A polygon that will define the extent of all surfaces that are not water bodies. The value must be a 3D shapefile.

Feature Class; Feature Layer; File; String

Derived Output

LabelExplanationData Type
Updated Reconstruction Folder

The output reconstruction folder.

Folder

arcpy.management.ReconstructSurface(in_mosaic_dataset, recon_folder, {recon_options}, {scenario}, {fwd_overlap}, {swd_overlap}, {quality}, {products}, {cell_size}, {aoi}, {waterbody_features}, {correction_features})
NameExplanationData Type
in_mosaic_dataset

The adjusted input mosaic dataset.

If the recon_folder parameter value contains an existing project, specify None for the in_mosaic_dataset parameter.

Mosaic Dataset; Mosaic Layer
recon_folder

The output dataset folder.

Folder
recon_options
(Optional)

A .json file or JSON string that specifies the values for the tool parameters.

If this parameter is specified, the properties of the .json file or JSON string will set the defaults for the remaining optional parameters.

File; String
scenario
(Optional)

Specifies the type of imagery that will be used to generate the output products.

  • DEFAULTThe input imagery will be defined as having been acquired with drones or terrestrial cameras.
  • AERIAL_NADIRThe input imagery will be defined as having been acquired with large, photogrammetric camera systems.
  • AERIAL_OBLIQUEThe input imagery will be defined as having been acquired with oblique camera systems.
String
fwd_overlap
(Optional)

The forward (in-strip) overlap percentage that will be used between the images. The default is 60.

This parameter is enabled when the scenario parameter is set to AERIAL_NADIR.

Long
swd_overlap
(Optional)

The sideward (cross-strip) overlap percentage that will be used between the images. The default is 30.

This parameter is enabled when the scenario parameter is set to AERIAL_NADIR.

Long
quality
(Optional)

Specifies the quality of the final product.

  • ULTRAInput images will be used at their original (full) resolution.
  • HIGHInput images will be downsampled two times.
  • MEDIUMInput images will be downsampled four times.
  • LOWInput images will be downsampled eight times.
String
products
[products,...]
(Optional)

Specifies the products that will be generated.

  • DSMA digital surface model (DSM) will be generated. This product will be selected by default when the scenario parameter is set to AERIAL_NADIR.
  • TRUE_ORTHOThe imagery will be orthorectified. This product will be selected by default when the scenario parameter is set to AERIAL_NADIR.
  • DSM_MESHA DSM mesh will be generated. This product will be selected by default when the scenario parameter is set to AERIAL_NADIR.
  • POINT_CLOUDAn image point cloud will be generated. This product will be selected by default when the scenario parameter is set to DEFAULT or AERIAL_OBLIQUE.
  • MESHA 3D mesh will be generated. This product will be selected by default when the scenario parameter is set to DEFAULT or AERIAL_OBLIQUE.
String
cell_size
(Optional)

The cell size of the output product.

Double; String
aoi
(Optional)

The area of interest that will be used to select images for processing. The area of interest can be computed automatically or defined using an input shapefile.

If the value contains 3D geometries, the z-component will be ignored. If the value includes overlapping features, the union of these features will be computed.

  • NONEAll images will be used in processing.
  • AUTOThe processing extent will be calculated automatically. This is the default.
Feature Class; Feature Layer; File; String
waterbody_features
(Optional)

A polygon that will define the extent of large water bodies. For the best results, use a 3D shapefile.

Feature Class; Feature Layer; File; String
correction_features
(Optional)

A polygon that will define the extent of all surfaces that are not water bodies. The value must be a 3D shapefile.

Feature Class; Feature Layer; File; String

Derived Output

NameExplanationData Type
derived_recon_folder

The output reconstruction folder.

Folder

Code sample

ReconstructSurface example 1 (Python window)

This example creates a 3D mesh from orthoimagery.

# Import system modules
import arcpy

3d_surface = arcpy.management.ReconstructSurface(r"C:\SURE.gdb\droneMD", r"C:\RS_output", None, "DEFAULT", 
	   None, None, "HIGH", "TRUE_ORTHO", 0.1, r"\\shared_location\RMeTesting.gdb\AOI", None, 
	   r"\\shared_location\RMTesting.gdb\CorrectionFeature")
ReconstructSurface example 2 (Python window)

This example creates a DSM, DSM mesh, and True Ortho from orthoimagery

# Import system modules
import arcpy

surface = arcpy.management.ReconstructSurface(r"C:\SURE.gdb\droneMD_json", r"C:\RS_output_folder", 
	r'{"scenario":"DEFAULT","quality":"HIGH","products":"DSM;TRUE_ORTHO;DSM_MESH","cellSize":0.05,
	"correctionFeatures":"\\\\shared_location\\RMeTesting.gdb\\CorrectionFeature",
	"meshAndTextureFormats":{"OSGB":"S3TC","SLPK":"JPG","OBJ":"JPG","LOD_DAE":"PNG"},
	"applyGlobalColorBalancing":true,"meshEnhanceTexture":true,"areaFeatures":"\\\\shared_location\\RMeTesting.gdb\\AOI"}')
ReconstructSurface example 3 (stand-alone script)

This example creates multiple products from aerial nadir imagery.

# Import system modules
import arcpy


# Define input parameters
in_mosaic = "C:/SURE.gdb/farm"
out_folder = "C:/ScenarioNadir"
json_file = ""
scenario = "AERIAL_NADIR"
forward_overlap = 60
side_overlap = 30
out_quality = "ULTRA"
output_products = "DSM;TRUE_ORTHO;DSM_MESH"

#Execute - Generate Products
surface = arcpy.management.ReconstructSurface(in_mosaic, out_folder,json_file,
		scenario, forward_overlap, side_overlap, out_quality, output_products)

Environments

Licensing information

  • Basic: No
  • Standard: Requires Reality Mapping
  • Advanced: Requires Reality Mapping

Related topics