Reconstruct Surface (Reality Mapping)

Available with Advanced license.

Available for an ArcGIS organization with the ArcGIS Reality license.

Summary

Generates a digital surface model (DSM), true orthos, DSM meshes, 3D meshes, and point clouds from adjusted imagery.

Usage

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

  • When the tool is run, a reality.json file will be created in the Reconstruction Folder parameter value. If the tool is run again using the same Reconstruction Folder value, the presence of the reality.json file will set the Scenario, Quality, Waterbody Features, and Correction Features parameters based on the parameter values from the previous run. To generate additional products for the same project, run the tool again.

    Note:

    To reset the values used for the Waterbody Features and the Correction Features parameters, set those parameter values to NONE.

  • 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, provide 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 dataset.

  • 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.

    Note:

    If the same property is set using the Reconstruction Options parameter and a remaining optional parameter, the optional parameter value will overwrite the Reconstruction Options value.

    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.
    • 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.
    • tilingOrigin—The map coordinates of the tiling origin. For example, "tilingOrigin": [0, 0]
    • areaFeatures—The area of interest.
    • waterbodyFeatures—A polygon that defines the extent of large water bodies.
    • correctionFeatures—A polygon that defines the extent of all surfaces that are not water bodies.
    • dsmMetaProducts—Specifies the DSM meta information products that will be included in the output. Values can include any combination of DSM_BINARY_MASK, DSM_DISTANCE_MAP, and DSM_POINT_MODEL_COUNT.
    • meshFormats—Specifies the mesh output format. Valid values are SLPK, OBJ, and 3D_TILES for example, "meshFormats": "SLPK;OBJ;3D_TILES". The default value is SLPK.
    • processingFolder—The processing location in local storage. The default value is the local temp folder. The content generated will be deleted after processing is completed.
    • resultsFolder—The output location of the processing results. The default value is the reconstruction folder.
  • The following is an example of the Reconstruction Options parameter value specified as JSON:

    {
        "scenario": "AERIAL_NADIR",
        "fwdOverlap": .60,
        "swdOverlap": .30,
        "quality": "ULTRA",
        "products": "DSM;TRUE_ORTHO;DSM_MESH",
        "dsmMetaProducts": "DSM_BINARY_MASK;DSM_DISTANCE_MAP",
        "resultsFolder": "C:\\RMResultsFolder"
    }
  • Legacy:

    At ArcGIS Pro 3.2, the Scenario parameter's Default option was replaced with the Drone option. Additionally, the following parameter options have been deprecated:

    • Quality parameter—The Medium and Low options were deprecated.
    • Area of Interest parameter—The Auto option was deprecated.

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 value is provided, the properties of the .json file or JSON string will set the default values for the remaining optional parameters. See the Usages section for a list of options.

File; String
Scenario
(Optional)

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

  • DroneThe 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.
  • SatelliteThe input imagery will be defined as having been acquired with a satellite.
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.

  • UltraThe highest level of density point cloud will be used. Input images will be used at their original (full) resolution.
  • HighThe high level of density point cloud will be used. Input images will be downsampled two times.
String
Products
(Optional)

Specifies the products that will be generated.

  • DSMA DSM will be generated. This option will be specified by default when the Scenario parameter is set to Aerial Nadir or Satellite.
  • True OrthoThe imagery will be orthorectified. This option will be specified by default when the Scenario parameter is set to Aerial Nadir and Satellite.
  • DSM MeshA DSM mesh will be generated. This option will be specified by default when the Scenario parameter is set to Aerial Nadir or Satellite.
  • Point CloudAn image point cloud will be generated. This option will be specified by default when the Scenario parameter is set to Drone or Aerial Oblique.
  • MeshA 3D mesh will be generated. This option will be specified by default when the Scenario parameter is set to Drone 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 polygon.

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.

Feature Layer; File; String
Waterbody Features
(Optional)

A polygon that will define the extent of large water bodies. The value must be a 3D feature.

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 feature.

Feature Layer; File; String

Derived Output

LabelExplanationData Type
Updated Reconstruction Folder

The output reconstruction folder.

Folder

arcpy.rm.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.

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 value is provided, the properties of the .json file or JSON string will set the default values for the remaining optional parameters. See the Usages section for a list of options.

File; String
scenario
(Optional)

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

  • DRONEThe 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.
  • SATELLITEThe input imagery will be defined as having been acquired with a satellite.
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.

  • ULTRAThe highest level of density point cloud will be used. Input images will be used at their original (full) resolution.
  • HIGHThe high level of density point cloud will be used. Input images will be downsampled two times.
String
products
[products,...]
(Optional)

Specifies the products that will be generated.

  • DSMA DSM will be generated. This option will be specified by default when the scenario parameter is set to AERIAL_NADIR or SATELLITE.
  • TRUE_ORTHOThe imagery will be orthorectified. This option will be specified by default when the scenario parameter is set to AERIAL_NADIR.
  • DSM_MESHA DSM mesh will be generated. This option will be specified by default when the scenario parameter is set to AERIAL_NADIR or SATELLITE.
  • POINT_CLOUDAn image point cloud will be generated. This option will be specified by default when the scenario parameter is set to DRONE or AERIAL_OBLIQUE.
  • MESHA 3D mesh will be generated. This option will be selected by specified when the scenario parameter is set to DRONE 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 polygon.

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.

Feature Layer; File; String
waterbody_features
(Optional)

A polygon that will define the extent of large water bodies. The value must be a 3D feature.

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 feature.

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 3D products from an adjusted mosaic dataset.

# ReconstructSurface example 1 (Python window) 
# This example creates 3D products from an adjusted mosaic dataset. 

# Import system modules 
import arcpy 

products_3d = arcpy.rm.ReconstructSurface(r"C:\ReconstructSurface.gdb\droneMD", r"C:\RS_output", None, "DRONE", None, None, "HIGH", "POINT_CLOUD;MESH", 0.1, r"\\shared_location\RMeTesting.gdb\AOI", None, r"\\shared_location\RMTesting.gdb\CorrectionFeature")
ReconstructSurface example 2 (Python window)

This example creates DSM, DSM mesh, and true ortho products using a JSON string.

# ReconstructSurface example 2 (Python window) 
# This example creates DSM, DSM mesh, and True Ortho products using JSON string. 

# Import system modules 

import arcpy

products_2d = arcpy.rm.ReconstructSurface(r"C:\ReconstructSurface.gdb\droneMD_json", r"C:\RS_output_folder", r'{"scenario":"DRONE","quality":"ULTRA","products":"DSM;TRUE_ORTHO;DSM_MESH","cellSize":0.05,"correctionFeatures":"\\\\shared_location\\RMeTesting.gdb\\CorrectionFeature","areaFeatures":"\\\\shared_location\\RMeTesting.gdb\\AOI","processingFolder":"\\\\shared_location\\RMeprocessingFolder"}')
ReconstructSurface example 3 (stand-alone script)

This example creates multiple 2D products from aerial nadir imagery.

#ReconstructSurface example 3 (stand-alone script) 
#This example creates multiple 2D products from aerial nadir imagery. 

# Import system modules 
import arcpy 

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

#Execute - Generate Products 
products = arcpy.rm.ReconstructSurface(in_mosaic, out_folder, json_file,senario, forward_overlap, side_overlap, out_quality, output_products)

Environments

This tool does not use any geoprocessing environments.

Licensing information

  • Basic: No
  • Standard: Requires ArcGIS Reality for ArcGIS Pro
  • Advanced: Requires ArcGIS Reality for ArcGIS Pro

Related topics