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, 2.5D meshes, 3D meshes, and point clouds from adjusted imagery.

License:

The Reconstruct Surface tool is only available with a ArcGIS Reality for ArcGIS Pro license, together with an ArcGIS Standard license or Advanced license.

Usage

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

  • After the tool has been run, a Project.spr file will be created in 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. The default value depends on the Processor Type environment value.
    • applyGlobalColorBalancing—A Boolean value that specifies whether color balancing will be applied. The default value is true.
    • orthoEnhanceTexture—A Boolean value that specifies whether textures will be enhanced for DSM ortho products. The default value is false.
    • meshEnhanceTexture—A Boolean value that specifies whether textures will be enhanced for mesh products. The default value is true.
    • colorBitDepth—An integer value that specifies the color bit depth of true ortho and DSM products. Valid values are 8 and 16. The default is 8 bit.
    • 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. The default value is true.
    • exportImagePyramidsInTIFFs—A Boolean value that specifies whether image pyramids will be exported in .tiff files. The default value is true.
    • 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

      3D_TILES

      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

    • 3dTilesOverImposeHeightsOnTargetEllipsoid—A Boolean value that specifies whether all dimensions including the height will be converted to the coordinate system used by Cesium (WGS84) without any modifications. If this option is false, the height values of the input mesh will be interpreted as heights above the Cesium ellipsoid. The default value is true.
    • 3dTilesExportInPCS—A Boolean value that specifies whether a coordinate system transformation will be performed for the 3D Tiles mesh format. If false, the 3D Tiles mesh results will be converted to the WGS84 coordinate system with EGM96 geoid heights. If true, no coordinate system transformation will be performed for the 3D Tiles mesh format, except where a different coordinate system is required. The default value is false.
    • slpkExportInPCS—A Boolean value that specifies whether a coordinate system transformation will be performed for the SLPK mesh format. If false, the SLPK mesh results will be converted to the WGS84 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. The default value is true.
  • Default values for the Reconstruction Options parameter are only used for a newly created reconstruction folder. If the reconstruction folder exists, the default values from the existing reconstruction folder persist.

  • 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 default values for the remaining optional parameters. See Usages above for a list of options.

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 DSM will be generated. This option will be selected by default when the Scenario parameter is set to Aerial Nadir.
  • True OrthoThe imagery will be orthorectified. This option will be selected by default when the Scenario parameter is set to Aerial Nadir.
  • DSM MeshA DSM mesh will be generated. This option will be selected by default when the Scenario parameter is set to Aerial Nadir.
  • Point CloudAn image point cloud will be generated. This option will be selected by default when the Scenario parameter is set to Default or Aerial Oblique.
  • MeshA 3D mesh will be generated. This option 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 Layer; File; String
Waterbody Features
(Optional)

A polygon that will define the extent of large water bodies. For the best results, use 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.

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 default values for the remaining optional parameters. See Usages above for a list of options.

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 DSM will be generated. This option will be selected by default when the scenario parameter is set to AERIAL_NADIR.
  • TRUE_ORTHOThe imagery will be orthorectified. This option will be selected by default when the scenario parameter is set to AERIAL_NADIR.
  • DSM_MESHA DSM mesh will be generated. This option will be selected by default when the scenario parameter is set to AERIAL_NADIR.
  • POINT_CLOUDAn image point cloud will be generated. This option will be selected by default when the scenario parameter is set to DEFAULT or AERIAL_OBLIQUE.
  • MESHA 3D mesh will be generated. This option 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 Layer; File; String
waterbody_features
(Optional)

A polygon that will define the extent of large water bodies. For the best results, use 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, "DEFAULT", 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":"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,"areaFeatures":"\\\\shared_location\\RMeTesting.gdb\\AOI"}')
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,	scenario, forward_overlap, side_overlap, out_quality, output_products)

Environments

Licensing information

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

Related topics