Reproject Operator |

# Reproject Operator Description

## Overview

Name: | `Reproject`
Full name: | `org.esa.snap.core.gpf.common.reproject.ReprojectionOp`
Purpose: | Reprojection of a source product to a target Coordinate Reference System.
Version: | 1.0

## Description

The reprojection operator is used to geo-reference data products. Beside plain reprojection it is able to use a Digital Elevation Model (DEM) to orthorectify a data product and to collocate one product with another.

The following XML sample shows how to integrate the {@code Reproject} operator in a processing graph (an Lambert_Azimuthal_Equal_Area projection using the WGS-84 datum):

        <node id="reprojectNode">
            <operator>Reproject</operator>
            <sources>
                <sourceProducts>readNode</sourceProducts>
            </sources>
            <parameters>
                <wktFile/>
                <crs>
                  PROJCS["Lambert_Azimuthal_Equal_Area / World Geodetic System 1984",
                    GEOGCS["World Geodetic System 1984",
                       DATUM["World Geodetic System 1984",
                          SPHEROID["WGS 84", 6378137.0, 298.257223563, AUTHORITY["EPSG","7030"]],
                       AUTHORITY["EPSG","6326"]],
                       PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]],
                       UNIT["degree", 0.017453292519943295],
                       AXIS["Geodetic longitude", EAST],
                       AXIS["Geodetic latitude", NORTH]],
                    PROJECTION["Lambert_Azimuthal_Equal_Area"],
                    PARAMETER["latitude_of_center", 0.0],
                    PARAMETER["longitude_of_center", 0.0],
                    PARAMETER["false_easting", 0.0],
                    PARAMETER["false_northing", 0.0],
                    UNIT["m", 1.0],
                    AXIS["Easting", EAST],
                    AXIS["Northing", NORTH]]
                </crs>
                <resampling>Nearest</resampling>
                <referencePixelX>0.5</referencePixelX>
                <referencePixelY>0.5</referencePixelY>
                <easting>9.5</easting>
                <northing>56.84</northing>
                <orientation>0.0</orientation>
                <pixelSizeX>0.012</pixelSizeX>
                <pixelSizeY>0.012</pixelSizeY>
                <width>135010246</width>
                <height>116629771</height>
                <orthorectify>false</orthorectify>
                <elevationModelName/>
                <noDataValue>NaN</noDataValue>
                <includeTiePointGrids>true</includeTiePointGrids>
                <addDeltaBands>false</addDeltaBands>
                <applyValidPixelExpression>false</applyValidPixelExpression>
                <retainValidPixelExpression>false</retainValidPixelExpression>
                <maskExpression>false</maskExpression>
            </parameters>
        </node>

## Sources

Name | Description
--- | ---
`sourceProduct` | The product which will be reprojected.
`collocationProduct` | The source product will be collocated with this product.

## Parameters

Name | Data Type | Default | Description | Constraints
--- | --- | --- | --- | ---
`wktFile` | `File` | `` | A file which contains the target Coordinate Reference System in WKT format. |
`crs` | `String` | `` | A text specifying the target Coordinate Reference System, either in WKT or as an authority code. For appropriate EPSG authority codes see (www.epsg-registry.org). AUTO authority can be used with code 42001 (UTM), and 42002 (Transverse Mercator) where the scene center is used as reference. Examples: EPSG:4326, AUTO:42001 |
`resampling` | `String` | `Nearest` | The method used for resampling of floating-point raster data. | value set: [Nearest, Bilinear, Bicubic]
`referencePixelX` | `Double` | `` | The X-position of the reference pixel. |
`referencePixelY` | `Double` | `` | The Y-position of the reference pixel. |
`easting` | `Double` | `` | The easting of the reference pixel. |
`northing` | `Double` | `` | The northing of the reference pixel. |
`orientation` | `Double` | `0` | The orientation of the output product (in degree). | interval: [-360,360]
`pixelSizeX` | `Double` | `` | The pixel size in X direction given in CRS units. |
`pixelSizeY` | `Double` | `` | The pixel size in Y direction given in CRS units. |
`width` | `Integer` | `` | The width of the target product. |
`height` | `Integer` | `` | The height of the target product. |
`tileSizeX` | `Integer` | `` | The tile size in X direction. |
`tileSizeY` | `Integer` | `` | The tile size in Y direction. |
`orthorectify` | `boolean` | `false` | Whether the source product should be orthorectified. (Not applicable to all products) |
`elevationModelName` | `String` | `` | The name of the elevation model for the orthorectification. If not given tie-point data is used. |
`noDataValue` | `Double` | `` | The value used to indicate no-data. |
`includeTiePointGrids` | `boolean` | `true` | Whether tie-point grids should be included in the output product. |
`addDeltaBands` | `boolean` | `false` | Whether to add delta longitude and latitude bands. |
`applyValidPixelExpression` | `boolean` | `true` | Constrain which pixels get used based on the valid expression of the source file bands. |
`retainValidPixelExpression` | `boolean` | `true` | The valid pixel expression of each of the source file bands will be retained and stored in the corresponding bands of the reprojected file. |
`maskExpression` | `boolean` | `false` | Custom logical expression to constrain which pixels of the source band get used. |