Tutorial: Create a digital surface model product from satellite imagery in ArcGIS Reality for ArcGIS Pro

Available with Advanced license.

In ArcGIS Pro, you can photogrammetrically correct satellite imagery to remove geometric distortions induced by the platform and terrain displacement. After removing these distortions, you can generate ArcGIS Reality for ArcGIS Pro products, including digital surface model (DSM) and a DSM mesh. In this tutorial, you will generate a high-resolution DSM.

First, you will set up a Reality mapping workspace to manage your satellite imagery collection. Next, you will perform a block adjustment, followed by a refined adjustment using ground control points. Finally, you'll generate a DSM.

ArcGIS Pro can process satellite images from many sensor platforms, as long as the image orientation is described by a rational polynomial coefficients (RPC) model or a rigorous sensor model. This model is typically embedded in the image file or included as a separate metadata file.

Create a Reality mapping workspace

A Reality mapping workspace is an ArcGIS Pro subproject that is dedicated to reality mapping workflows. It is a container within an ArcGIS Pro project folder that stores the resources and derived files that belong to a single image collection in a Reality mapping task.

The imagery packaged for this tutorial was collected and provided by Maxar Technologies. It includes a pair of multispectral and panchromatic images, a table of ground control points, and a DEM.

  1. Download the tutorial dataset and save it to C:\sampledata\RM_satellite_tutorial.
  2. Unzip the data.
  3. In ArcGIS Pro, create a project using the Map template and sign in to your ArcGIS Online account if necessary.
  4. On the Imagery tab, in the Reality Mapping group, click the New Workspace drop-down menu and choose New Workspace.
  5. On the Workspace Configuration page, type a name for the workspace.
  6. Ensure that the Workspace Type option is set to Reality Mapping.
  7. From the Sensor Data Type drop-down list, choose Satellite.
  8. Optionally, from the Basemap drop-down list, choose a basemap as a backdrop for the image collection.
  9. Optionally, check the Allow adjustment reset check box for the option of reverting your workspace to a previous state.
  10. Click Next.

    New Reality Mapping Workspace wizard

  11. In the Image Collection window, under the Sensor Type drop-down menu, choose GeoEye-1.
  12. Under Folder Containing Images, click the Browse button and browse to the tutorial data folder on your machine and choose the imagery folder (GeoEye_NAD83_UTM10N).
  13. Under Spatial Reference, click the Browse button spatial reference.
  14. In the Spatial Reference window, under Current XY, set the spatial reference to NAD 83 UTM Zone 10N (WKID 26910).
  15. Under Current Z, expand Vertical Coordinate System and under Gravity-related, expand World and choose EGM96 Geoid.
  16. Click OK to close the Spatial Reference window and click Next.

    Image Collection pane

  17. In the Data Loader window, under Elevation Source, choose DEM. Under DEM, browse to the DEM provided with the tutorial dataset.

    This DEM will be used to support the block adjustment process.

  18. Most elevation data uses orthometric heights, so you will need to apply a geoid correction. Under Geoid correction, ensure EGM96 is selected.
  19. Under Processing Template, choose Panchomatic.
  20. Ensure Estimate Statistics option is checked.
  21. Expand Pre-processing and check the box next to Calculate Statistics.

    This will expose the Calculate Statistics options.

  22. Set the Number of Columns to Skip and Number of Rows to Skip values as 5.
  23. Accept all other defaults and click Finish.

    Data Loader

    Once the workspace has been created, the images and image footprints will be displayed in the map. A Reality Mapping category has also been added to the Contents pane, where the source imagery data and derived Reality mapping products will be stored.

    The initial display of imagery in the workspace confirms that all images and necessary metadata were provided to initiate the workspace. The images have not been aligned or adjusted, so the mosaic may not appear geometrically correct.

    A new Reality Mapping tab will be added to the ArcGIS Pro main menu. Clicking this tab will expose a series of tools and workflows dedicated to Reality mapping. In the Product category, all the buttons are unavailable because the images are not yet adjusted.

    Satellite Workspace
    Satellite image © 2020 Maxar Technologies

Remove NoData

Next, you will remove the NoData areas surrounding the valid satellite imagery.

  1. On the main menu, click the Analysis tab, then click Tools in the Geoprocessing group.

    The Geoprocessing pane appears.

  2. In the Geoprocessing pane search window, type build footprint.

    The Build Footprints geoprocessing tool dialog box appears.

  3. For Mosaic Dataset, choose the image collection from the drop-down list.
  4. Accept all other defaults and click Run.

    Once complete, the NoData areas are removed and the image footprint updates accordingly.

Block adjustment

After you have created your Reality mapping workspace, the next step is to perform block adjustment using the tools in the Adjust and Refine groups. The block adjustment will first calculate tie points, which are common points in areas of image overlap. The tie points will be used to calculate the orientation of each image, known as exterior orientation in photogrammetry.

  1. On the Reality Mapping tab, in the Adjust group, click Adjust Adjust.
  2. In the Adjust window, under Transformation Type, choose RPC. The Rational Polynomial Coefficients (RPC) transformation will be applied in the adjustment, which is used for satellite imagery that contains RPC information within the metadata.
  3. In the Adjust window, under Blunder Point Threshold, set a value of 3. Tie points with a residual error greater than this value will not be used in computing the adjustment. The unit of measure is pixels.
  4. Check the box next to Reproject Tie Points.

    This will ensure that the tie point map coordinates are calculated.

  5. Under Tie Point Matching in the Adjust pane, ensure your parameter settings match those in the example below.

    Adjustment settings for satellite imagery

  6. Click Run to perform block adjustment.
  7. After the adjustment is complete, turn on the Tie Points layer in the Contents pane to view the distribution of generated tie points on the map. Your tie point distribution may differ from that shown below.

    Tie points distributed on satellite imagery

  8. Tie point residuals or accuracy reporting can be viewed in the logs file. On the Reality Mapping tab, in the Review group, click LogsLogs View to access Logs file. Tie point residuals are displayed in the row labeled RMSE_Tie_Image(x,y). The units for tie point RSME is pixels.

    Your residual may differ slightly from the example below.

    Tie point log

  9. Following the initial adjustment, notice that two buttons in the Product category are now active. These buttons highlight the imagery products that can be generated. Before generating products, ground control points will be used to improve the absolute accuracy of the images.

Add ground control points

Ground control points (GCPs) are points with known x,y,z ground coordinates. They are often obtained from ground survey or existing data and used to ensure that the images will be accurately georeferenced in the ground coordinate system. Block adjustment can be applied without GCPs and still ensure relative accuracy, but adding GCPs increases the absolute accuracy of the adjusted imagery. If you do not have GCPs from a ground survey, but you have a georeferenced raster layer (raster dataset, mosaic dataset, or image service), you can add it as a reference to compute GCPs.

GCPs selected from a reference layer and saved in a text file can also be imported and used to enhance adjustment accuracy. For this tutorial, you'll use this import method to add GCPs to the project

Import GCPs

To import GCPs, complete the following steps:

  1. On the Reality Mapping tab, in the Refine group, click Manage GCPs to open the GCP Manager.
  2. In the GCP Manager window, click the Import GCPs button Import GCPs.
  3. In the Import GCPs window, browse to and select the GCP file (Vancouver_NAD83-UTM10N.csv). Click OK.
  4. Under Set GCP Spatial Reference, click the Browse button spatial reference. For Current XY, expand Layers, and choose NAD 1983 UTM Zone 10N. Accept all other defaults and click OK to accept the changes and close the Spatial Reference window.

    The Current Z, or vertical coordinate system (VCS), was not set because the digital elevation model used to extract height values for the GCPs did not have a VCS defined. If the DEM you used had a defined VCS, the Current Z (VCS) would have been set with matching coordinates.

  5. For Geographic Transformations, accept the defaults. No transformations are required, as the horizontal spatial reference of the GCPs and the workspace are the same.
  6. Ensure the field mappings are correct.
  7. Click the browse button below GCP Photo Location and browse to and select the folder containing the images of the GCP locations. Click OK.
  8. For Photo File Extension, choose PNG from the drop-down list.

    Import GCPs

  9. Click OK to import the GCPs.

    Once the GCPs have been imported, the table in the GCP Manager will be populated.

    GCPs added to the projects

    In GCP Manager, the first GCP in the list will be selected by default, and a preview of the image where the GCP is located is displayed in the Preview section.

  10. To add tie points for the selected GCP, in the Preview section, click the View GCP Photo button to display the GCP image chip. Use the mouse wheel to zoom in on the image chip to see the GCP location indicated by a red arrow.
  11. Click the Add Tie Point button Add GCP or Tie Point to add a tie point in the image viewer for each image. The tie points for other images will be automatically calculated by the image matching algorithm where possible, although each tie point should be checked for accuracy. If the tie point is not automatically identified, add the tie point manually by selecting the appropriate location in the image.
  12. Repeat steps 10 and 11 to select and add tie points for the remaining GCPs.
  13. After each GCP has been measured with tie points, select point PP_GCP02 and right-click to change it a Check Point. This point will not be used in the adjustment process due to uncertainty in its exact location.
  14. After adding GCPs and checkpoints, the adjustment must be run again to incorporate these points. Click Adjust.

    GCP Manager

Review adjustment results

Adjustment quality results can be viewed in GCP Manager by analyzing the residuals for each GCP. Residuals represent the difference between the measured and computed position of a point. They are measured in the units of the project spatial referencing system. After completing adjustment with GCPs, three new fields, dX, dY, and dZ, are added to the GCP Manager table and display the residuals for each GCP. The quality of the fit between the adjusted block and the map coordinate system can be evaluated using these values. The Root Mean Square Error (RMSE) of the residuals can be viewed by expanding the Residual Overview section of GCP Manager.

Adjustment results for satellite imagery

Additional adjustment statistics are provided in the adjustment report. To generate the report, under the Reality Mapping tab, in the Review group, click Adjustment Report.

Adjustment report for satellite imagery

Generate a digital surface model (DSM)

Once the block adjustment is complete, 2D imagery products can be generated using the tools in the Product group on the Reality Mapping tab. Multiple products can be generated simultaneously using the Multiple Products wizard, or individually by selecting the applicable product tool from the Product group. The types of products that can be generated from satellite sensor data includes a DSM, and a DSM mesh. Only a DSM will be generated in this tutorial.

A DSM is a first surface product which includes the elevations of trees, buildings, and other above-ground features.

To generate a DSM from satellite imagery using the DSM wizard, follow the steps below.

  1. On the Reality Mapping tab, in the Product group, click the DSM button to open the Reality Mapping Products wizard.
  2. Click Shared Advanced Settings to open the dialog box, where you can define parameters that will impact the Reality mapping products to be generated.

    The Quality and Scenario values are set automatically and should not be changed to ensure optimum performance and product quality. If you want to generate a reduced-resolution product, the Quality value can be lowered. See Shared Advanced Settings for more information about the impact of various quality settings on product generation.

  3. Ensure that Quality is set to Ultra.
  4. Accept the Pixel Size default value to generate the DSM at source image resolution.
  5. For Product Boundary, accept the default settings so the entire project area will be processed.

    It is recommended that you provide a product boundary for the following reasons:

    • Define the proper output extent—When a product boundary is not defined, the application automatically defines an extent based on various dataset parameters that may not match the project extent.
    • Reduce processing time—If the required product extent is smaller than the image collection extent, defining a product boundary reduces the processing duration and automatically clips the output to the boundary extent.

  6. For Waterbody Features, select SatTut_WaterBody.shp from the tutorial data location.
  7. Accept all the other default values and click OK.

    The Advanced Products Settings dialog box closes, and returns you to the Products Generation Settings pane in the Reality Mapping Products wizard.

  8. Click Next to go to the DSM Settings pane. Ensure your settings matches the following:
    1. Output TypeMosaic
    2. FormatCloud Raster Format
    3. CompressionNone
    4. ResamplingBilinear
  9. Click Finish to start the product generation process.

    Once processing is complete, the DSM product is added to the Contents pane in the Data Products category, and the 2D map view. It is also added to the Catalog pane in the Reality Mapping container, and the DEMs folder.

    DSM product


The default vertical coordinate system (VCS) of the output DSM is WGS84 (ellipsoidal height). If you need to convert the output to a different projection or coordinate system, use the Project tool.

In this tutorial, you created a Reality mapping workspace for satellite imagery and used tools on the Reality Mapping tab to apply a photogrammetric adjustment with ground control points. You then used the Reality Mapping DSM wizard to generate a high-resolution DSM.

The satellite imagery used in this tutorial was acquired and provided by Maxar Technologies.

Related topics