Using the Ortho process
The Ortho process produces an orthorectified image based on a sensor definition and a terrain model.
The Ortho process is automatically included in the processing chain when a raster is added to an image service definition when using one of the Orthorectification raster types. Each of these raster types has a tab that allows you to specify the parameters for the Ortho process. The Ortho process is not generally added to an existing service.
About orthorectification
Across an unrectified image, there are inaccuracies due to distortions from the sensor and the earth's terrain. For example, since satellite imagery can be collected by scanning side to side along a path, this movement while collecting means that a spatially adjacent part of an image may have been collected from a nonadjacent part of the sensor, and although there are algorithms that bring this together before it is delivered to you, it can be improved. By orthorectifying an image, the distortions are geometrically removed, creating a planimetric image at every location with consistent scale across all parts. In other words, orthorectification is the process of stretching the image to match the spatial accuracy of a map by considering location, elevation, and sensor information.
You can produce an accurately orthorectified raster dataset using the sensor definition file, provided by the image vendor, and an accurate terrain model, such as a digital elevation model (DEM). The terrain model can be provided as a raster dataset, or a fixed value can be defined. However, in areas of diverse terrain, there are obvious advantages with regard to the accuracy of the orthorectification if a high-resolution terrain model is used. A scale and offset can also be applied to the elevation data to account for simple geoids or different units. To create the orthorectified image, the terrain model needs to be sampled, and a number of parameters must define the frequency and type of terrain sampling. By applying the information within the associated sensor definition file, you can determine the correct input pixel location for each ground pixel by applying the coefficient to the latitude, longitude, and height value of the pixel.
There are two types of fixed elevation values that can be used in the Ortho process: Fixed Z or Average Z. Fixed Z is an elevation value you enter on the Orthorectification Process Definition dialog box or the dialog box you use when you're adding the raster data. Average Z is an elevation value that is read from the sensor definition file.
Companies such as DigitalGlobe or Space Imaging deliver some of their images with the sensor definition file as rational polynomial coefficients (RPC),essentially, the abstraction of their proprietary camera model, which can be used to geometrically correct the image. Images from DigitalGlobe store RPC information in a <file name>.rpb file, and Space Imaging offers images with RPC information stored in a <file name>_rpc.txt file. Other companies, such as aerial imaging firms, may deliver their sensor definitions as part of their output from programs such as MATCH-AT and ISAT.
When using an elevation model, you need to be aware if the elevations referred to in the sensor definition use the ellipsoidal or orthometric heights, because the heights of your elevation model must use the equivalent measurement.
For orthorectification using elevation data from any source, any value less than -998.0 and greater than 35000 is considered a NoData value and results in no image being processed around that area.
Ortho process parameters
The parameters on the Orthorectification Process Definition dialog box are the same as the parameters on the dialog boxes used when adding a raster dataset with one of the Orthorectification raster types.
- Sampling method—Defines the sampling method by which raster pixels are sampled by the server. Depending on the application, the sampling method can be changed. More accurate radiometry values are obtained using the nearest neighbor sampling but can result in jagged edges of features. Bilinear interpolation provides smoother edges and lines but can result in some smoothing of the image.
- Nearest Neighbor—The color of a pixel in the new image is the color of the nearest pixel of the original image.
- Bilinear Interpolation—Determines the value of a new pixel based on a weighted average of the four pixels in the nearest 2 x 2 neighborhood of the pixel in the original image. The averaging has an antialiasing effect and therefore produces relatively smooth edges. This sampling method performs linear interpolation first in one direction, then the other. This takes about five times as long as the nearest neighbor interpolation method.
- Cubic Convolution—This sampling method can also be termed bicubic interpolation. The output interpolated pixel value is calculated using the 16 closest pixels of the input. The calculation is done by performing four cubic convolutions in one direction (horizontally or vertically), then one more cubic convolution is performed in the perpendicular direction. This sampling method takes about seven times longer than the bilinear interpolation method.
- Terrain type—The type of terrain model or value that is used.
- Fixed Z—Uses the value entered in the Fixed Z value text box
- Average Z—Uses the average z-value that is defined within the sensor definition
- DEM—Uses the DEM entered in the DEM source ID text box
- Terrain sampling method—The sampling method that is used to sample the elevation model.
- DEM source ID or digital elevation model—The elevation model to use. If specifying the source ID, this is the ID of the raster or service containing the DEM. If specifying a digital elevation model, this can be an .flt file or an elevation image service definition (saved as an .ISRef).
- Fixed Z value—The elevation value to use when Terrain type is set to Fixed Z.
- Background color—A default value that is used as a background color for areas of no image data. This can be overwritten by the client.
The accuracy of the generated orthophoto is relative to the accuracy of the sensor definition, the accuracy of the digital elevation model, and how often the elevation model is sampled to represent the terrain. In flat areas, a lower sampling density is often adequate, whereas in areas of undulating terrain, a higher sampling density is required. Higher sampling densities increase the processing time. There are three values that control the sampling density:
- Max.number of cells—The maximum number of cells that are used during the orthorectification processing. When an orthorectified image is created for a specified client request, the elevation model is sampled to no more than the specified number of cells. This is to ensure that there are not too many CPU-expensive computations made per request. If the value is set to less than or equal to 0, then it is considered undefined; therefore, the maximum number of cells is unlimited.
- Minimum grid spacing of DEM—The minimum grid spacing, in meters, that is used when sampling from the DEM. For maximum accuracy, this value should be set to approximately half of the highest resolution spacing of the DEM. If the value is less than or equal to 0, then it is considered undefined.
- Anchor spacing—The distance measured in output pixels between sampling points. A value of 100 implies that for each 100 pixels in the output, one sampling point is taken. A screen resolution of 1000 by 800 pixels would result in a total of 8,000 samples. For higher accuracy, 4 is the recommended value.
During the Ortho process, the largest values specified for Minimum grid spacing of DEM and Anchor spacing are applied first, then the sampling is limited by the Max.number of cells value.
The terrain offset values are used to transform the terrain height values to those that are required by the sensor definition (if necessary). There are three values that can be specified:
- Terrain for offset 1—Applied to the terrain before scaling.
- Terrain scale—Scale factor applied to the terrain. This value could be used to provide a simple geoid correction.
Terrain = (Value + TerrainOffset1) * TerrainScale) + TerrainOffset2
- Terrain for offset 2—Applied to the terrain after scaling.
Terrain = (Value + TerrainOffset1) * TerrainScale) + TerrainOffset2
To convert to approximate ellipsoidal heights for a local area, you can apply a scale and shift using the terrain offset and scale parameters. Alternatively, you can use the Convert Pixel Type process or Image Algebra process to convert the orthometric height using a geoid before applying the Ortho process. To do this, apply the following equation:
h = H + Nwhere,
h = ellipsoidal height
H = orthometric (geoid) height
N = geoidal separation
There are two additional parameters presented when adding aerial imagery that allow you to enter the clip percentages. The values for these parameters are used to clip a percentage from the edges of each frame (raster dataset) as well as for computing the approximate footprints for each. Separate control is given for forward and side overlap, since the forward overlap is often larger so that more can be clipped off. Typically there is at least 60 percent forward overlap and 25 percent side overlap. Clipping these overlapping edges allows artifacts to be removed along the edge of the frames at the cost of reducing the overlap available between the imagery.
- Forward clip percentage—Percentage of the raster dataset to be clipped when computing the approximate footprints along the forward overlap. Forward overlap is the overlap from one frame to the next in the direction of flight.
- Sideways clip percentage—Percentage of the raster dataset to be clipped when computing the approximate footprints along the side overlap. Side overlap is the overlap from one flight line to the next.