Creates a file which is a mapped reprojection of an input source file. |
Example 1 Geographic Lat/Lon Projection Example 2 Oblique Stereographic Projection Example 3 Lambert Azimuthal Equal AreaProjection Example 4 Lambert Azimuthal Equal Area Projection (SST) Example 5 True Color Imagery Example 6 Geographic Lat/Lon Projection (alternate) Notes 1 Resampling Options |
Example 1 Geographic Lat/Lon Projection
This example uses a standard geographic lat/lon projection with pixel resolution of 0.009 degrees (roughly 1km resolution). The CRS (coordinate reference system) is fully defined within the graph file.
Command Line Entry
gpt ReprojectGraphEx01.xml -p ReprojectEx01.par -Pifile=A2017023193500.L2_LAC_OC.nc -Pofile=A2017023193500_ReprojectEx01.dim |
File = ReprojectGraphEx01.xml
<graph id="ReprojectGeoLatLonGraph"> <version>1.0</version> <node id="Read"> <operator>Read</operator> <sources/> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ifile}</file> <formatName>SeaDAS-L2</formatName> </parameters> </node> <node id="Reproject"> <operator>Reproject</operator> <sources> <sourceProduct refid="Read"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <wktFile/> <crs> GEOGCS["WGS84(DD)", DATUM["WGS84", SPHEROID["WGS84", 6378137.0, 298.257223563]], PRIMEM["Greenwich", 0.0], UNIT["degree", 0.017453292519943295], AXIS["Geodetic longitude", EAST], AXIS["Geodetic latitude", NORTH]] </crs> <resampling>${resampling}</resampling> <orientation>0.0</orientation> <pixelSizeX>${pixelSize}</pixelSizeX> <pixelSizeY>${pixelSize}</pixelSizeY> <orthorectify>false</orthorectify> <noDataValue>NaN</noDataValue> <includeTiePointGrids>true</includeTiePointGrids> <addDeltaBands>false</addDeltaBands> </parameters> </node> <node id="Write"> <operator>Write</operator> <sources> <sourceProduct refid="Reproject"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ofile}</file> <formatName>BEAM-DIMAP</formatName> </parameters> </node> </graph> |
File = ReprojectEx01.par
pixelSize=0.009 resampling=Bilinear maskExpression=!l2_flags.HIGLINT and !l2_flags.HISATZEN and !l2_flags.LOWLW and !l2_flags.HILT retainValidPixelExpression=true applyValidPixelExpression=true |
Example 2 Oblique Stereographic Projection
This example uses an oblique stereographic projection with pixel resolution of 1km. The CRS (coordinate reference system) is defined within the graph file, but the location specific parameters "central_meridian" and "latitude_of_origin" are defined for convenience within the par file for reusability of the graph file.
Command Line Entry
gpt ReprojectGraphEx02.xml -p ReprojectEx02.par --Pifile=A2017023193500.L2_LAC_OC.nc -Pofile=A2017023193500_ReprojectEx02.dim |
File = ReprojectGraphEx02.xml
<graph id="ReprojectObliqueStereoGraph"> <version>1.0</version> <node id="Read"> <operator>Read</operator> <sources/> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ifile}</file> <formatName>SeaDAS-L2</formatName> </parameters> </node> <node id="Reproject"> <operator>Reproject</operator> <sources> <sourceProduct refid="Read"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <wktFile/> <crs> PROJCS["Oblique_Stereographic / World Geodetic System 1984", GEOGCS["WGS84(DD)", DATUM["WGS84", SPHEROID["WGS84", 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["Oblique_Stereographic"], PARAMETER["central_meridian", ${lon}], PARAMETER["latitude_of_origin", ${lat}], PARAMETER["scale_factor", 1.0], PARAMETER["false_easting", 0.0], PARAMETER["false_northing", 0.0], UNIT["m", 1.0], AXIS["Easting", EAST], AXIS["Northing", NORTH]] </crs> <resampling>${resampling}</resampling> <orientation>0.0</orientation> <pixelSizeX>${pixelSize}</pixelSizeX> <pixelSizeY>${pixelSize}</pixelSizeY> <orthorectify>false</orthorectify> <noDataValue>NaN</noDataValue> <includeTiePointGrids>true</includeTiePointGrids> <addDeltaBands>false</addDeltaBands> </parameters> </node> <node id="Write"> <operator>Write</operator> <sources> <sourceProduct refid="Reproject"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ofile}</file> <formatName>BEAM-DIMAP</formatName> </parameters> </node> </graph> |
File = ReprojectEx02.par
lat=25.0 lon=-90.0 pixelSize=1000.0 resampling=Bilinear maskExpression=!l2_flags.HIGLINT and !l2_flags.HISATZEN and !l2_flags.LOWLW and !l2_flags.HILT retainValidPixelExpression=true applyValidPixelExpression=true |
Here is what example 2 would look like if you use the GUI, in which case there are no variables. The following graph will load into the GUI via the GraphBuilder tool (note: you need to edit the ifile and ofile paths).
File = ReprojectGraphGUIEx02.xml
<graph id="Graph"> <version>1.0</version> <node id="Read"> <operator>Read</operator> <sources/> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>/Users/seadas/GPT_Cookbook/ReprojectEx02/A2017023193500.L2_LAC_OC.nc</file> <formatName>SeaDAS-L2</formatName> </parameters> </node> <node id="Reproject"> <operator>Reproject</operator> <sources> <sourceProduct refid="Read"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <wktFile/> <crs> PROJCS["Oblique_Stereographic / World Geodetic System 1984", GEOGCS["WGS84(DD)", DATUM["WGS84", SPHEROID["WGS84", 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["Oblique_Stereographic"], PARAMETER["central_meridian", -90.0], PARAMETER["latitude_of_origin", 25.0], PARAMETER["scale_factor", 1.0], PARAMETER["false_easting", 0.0], PARAMETER["false_northing", 0.0], UNIT["m", 1.0], AXIS["Easting", EAST], AXIS["Northing", NORTH]] </crs> <resampling>Bilinear</resampling> <referencePixelX/> <referencePixelY/> <easting/> <northing/> <orientation>0.0</orientation> <pixelSizeX>1000.0</pixelSizeX> <pixelSizeY>1000.0</pixelSizeY> <width/> <height/> <tileSizeX/> <tileSizeY/> <orthorectify>false</orthorectify> <elevationModelName/> <noDataValue>NaN</noDataValue> <includeTiePointGrids>true</includeTiePointGrids> <addDeltaBands>false</addDeltaBands> </parameters> </node> <node id="Write"> <operator>Write</operator> <sources> <sourceProduct refid="Reproject"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>/Users/seadas/GPT_Cookbook/ReprojectEx02/A2017023193500_RprojectGUIEx02.dim</file> <formatName>BEAM-DIMAP</formatName> </parameters> </node> <applicationData id="Presentation"> <Description/> <node id="Read"> <displayPosition x="37.0" y="134.0"/> </node> <node id="Reproject"> <displayPosition x="313.0" y="270.0"/> </node> <node id="Write"> <displayPosition x="455.0" y="135.0"/> </node> </applicationData> </graph> |
Example 3 Lambert Azimuthal Equal Area Projection
This example uses an Lambert azimuthal equal area projection with pixel resolution of 1km. Similar to example 2, the CRS (coordinate reference system) is defined within the graph file, but the location specific parameters "longitude_of_center" and "latitude_of_center" are defined for convenience within the par file for reusability of the graph file.
Command Line Entry
gpt ReprojectGraphEx03.xml -p ReprojectEx03.par --Pifile=A2017023193500.L2_LAC_OC.nc -Pofile=A2017023193500_ReprojectEx03.dim |
File = ReprojectGraphEx03.xml
<graph id="ReprojectLambertAzGraph"> <version>1.0</version> <node id="Read"> <operator>Read</operator> <sources/> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ifile}</file> <formatName>SeaDAS-L2</formatName> </parameters> </node> <node id="Reproject"> <operator>Reproject</operator> <sources> <sourceProduct refid="Read"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <wktFile/> <crs> PROJECS["Lambert_Azimuthal_Equal_Area / World Geodetic System 1984" GEOGCS["World Geodetic System 1984", DATUM["World Geodetic System 1984", SPHEROID["WGS84", 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", ${lat}], PARAMETER["longitude_of_center", ${lon}], PARAMETER["false_easting", 0.0], PARAMETER["false_northing", 0.0], UNIT["m", 1.0], AXIS["Easting", EAST], AXIS["Northing", NORTH]] </crs> <resampling>${resampling}</resampling> <orientation>0.0</orientation> <pixelSizeX>${pixelSize}</pixelSizeX> <pixelSizeY>${pixelSize}</pixelSizeY> <orthorectify>false</orthorectify> <noDataValue>NaN</noDataValue> <includeTiePointGrids>true</includeTiePointGrids> <addDeltaBands>false</addDeltaBands> </parameters> </node> <node id="Write"> <operator>Write</operator> <sources> <sourceProduct refid="Reproject"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ofile}</file> <formatName>BEAM-DIMAP</formatName> </parameters> </node> </graph> |
File = ReprojectEx03.par
lat=25.0 lon=-90.0 pixelSize=1000.0 resampling=Bilinear maskExpression=!l2_flags.HIGLINT and !l2_flags.HISATZEN and !l2_flags.LOWLW and !l2_flags.HILT retainValidPixelExpression=true applyValidPixelExpression=true |
Example 4 Lambert Azimuthal Equal Area Projection (SST)
Same as example 3 except for SST file.
Command Line Entry
gpt ReprojectGraphEx04.xml -p ReprojectEx04.par -P-ifile=AUQA_MODIS.20101010T180508.L2.SST.nc -Pofile=AUQA_MODIS.20101010T180508_ReprojectEx04.dim |
File = ReprojectGraphEx04.xml
<graph id="ReprojectLambertAzGraph"> <version>1.0</version> <node id="Read"> <operator>Read</operator> <sources/> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ifile}</file> <formatName>SeaDAS-L2</formatName> </parameters> </node> <node id="Reproject"> <operator>Reproject</operator> <sources> <sourceProduct refid="Read"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <wktFile/> <crs> PROJECS["Lambert_Azimuthal_Equal_Area / World Geodetic System 1984" GEOGCS["World Geodetic System 1984", DATUM["World Geodetic System 1984", SPHEROID["WGS84", 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", ${lat}], PARAMETER["longitude_of_center", ${lon}], PARAMETER["false_easting", 0.0], PARAMETER["false_northing", 0.0], UNIT["m", 1.0], AXIS["Easting", EAST], AXIS["Northing", NORTH]] </crs> <resampling>${resampling}</resampling> <orientation>0.0</orientation> <pixelSizeX>${pixelSize}</pixelSizeX> <pixelSizeY>${pixelSize}</pixelSizeY> <orthorectify>false</orthorectify> <noDataValue>NaN</noDataValue> <includeTiePointGrids>true</includeTiePointGrids> <addDeltaBands>false</addDeltaBands> </parameters> </node> <node id="Write"> <operator>Write</operator> <sources> <sourceProduct refid="Reproject"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ofile}</file> <formatName>BEAM-DIMAP</formatName> </parameters> </node> </graph> |
File = ReprojectGrah04.par
lat=37.0 lon=-76.0 pixelSize=1000.0 resampling=Bilinear maskExpression=qual_sst == 0 or qual_sst == 1 retainValidPixelExpression=true applyValidPixelExpression=true |
Example 5 True Color Imagery
This is basically the same as example 2 except refined for something like true color. In this case if we are perhaps dealing with the rhos bands (surface reflectance) then we may not want the brightest clouds being masked out so we need to deactivate all the masking. HISATZEN is however masked out as it can be a bit blurry at high sensor zenith angles. For convenience and flexibility, the parameters are mostly hard coded in the graph file with only lat, lon, and res being sent in. In this case they are sent in directly from the command line.
Command Line Entry
gpt ReprojectGraphEx05.xml -Pifile=A2017023193500.L2_HKM_TC.nc -Plat=25.0 -Plon=-90.0 -Pres=500.0 -t A2017023193500_ReprojectEx05.dim |
... or in generic form ..
gpt ReprojectGraphEx05.xml -Pifile={IFILE} -Plat={LAT} -Plon={LON} -Pres={RES} -Pofile={OFILE} |
File = ReprojectGraphEx05.xml
<graph id="ReprojectTCGraph"> <version>1.0</version> <node id="Read"> <operator>Read</operator> <sources/> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ifile}</file> <formatName>SeaDAS-L2</formatName> </parameters> </node> <node id="Reproject"> <operator>Reproject</operator> <sources> <sourceProduct refid="Read"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <wktFile/> <crs> PROJCS["Oblique_Stereographic / World Geodetic System 1984", GEOGCS["WGS84(DD)", DATUM["WGS84", SPHEROID["WGS84", 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["Oblique_Stereographic"], PARAMETER["central_meridian", ${lon}], PARAMETER["latitude_of_origin", ${lat}], PARAMETER["scale_factor", 1.0], PARAMETER["false_easting", 0.0], PARAMETER["false_northing", 0.0], UNIT["m", 1.0], AXIS["Easting", EAST], AXIS["Northing", NORTH]] </crs> <resampling>Bilinear</resampling> <orientation>0.0</orientation> <pixelSizeX>${res}</pixelSizeX> <pixelSizeY>${res}</pixelSizeY> <orthorectify>false</orthorectify> <noDataValue>NaN</noDataValue> <includeTiePointGrids>true</includeTiePointGrids> <addDeltaBands>false</addDeltaBands> </parameters> </node> <node id="Write"> <operator>Write</operator> <sources> <sourceProduct refid="Reproject"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ofile}</file> <formatName>BEAM-DIMAP</formatName> </parameters> </node> </graph> |
Example 6 Geographic Lat/Lon Projection (alternate)
This is identical to Example 1 except illustrates placing the entire CRS within the parameters file.
Command Line Entry
gpt ReprojectGraphEx06.xml -p ReprojectEx06.par -Pifile=A2017023193500.L2_LAC_OC.nc -Pofile=A2017023193500_ReprojectEx06.dim |
File = ReprojectEx06.xml
<graph id="ReprojectGraphEx06"> <version>1.0</version> <node id="Read"> <operator>Read</operator> <sources/> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ifile}</file> <formatName>SeaDAS-L2</formatName> </parameters> </node> <node id="Reproject"> <operator>Reproject</operator> <sources> <sourceProduct refid="Read"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <wktFile/> <crs>${crs}</crs> <resampling>${resampling}</resampling> <orientation>0.0</orientation> <pixelSizeX>${pixelSize}</pixelSizeX> <pixelSizeY>${pixelSize}</pixelSizeY> <orthorectify>false</orthorectify> <noDataValue>NaN</noDataValue> <includeTiePointGrids>true</includeTiePointGrids> <addDeltaBands>false</addDeltaBands> </parameters> </node> <node id="Write"> <operator>Write</operator> <sources> <sourceProduct refid="Reproject"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ofile}</file> <formatName>BEAM-DIMAP</formatName> </parameters> </node> </graph> |
File = ReprojectEx06.par
pixelSize=0.009 resampling=Bilinear maskExpression=!l2_flags.HIGLINT and !l2_flags.HISATZEN and !l2_flags.LOWLW and !l2_flags.HILT retainValidPixelExpression=true applyValidPixelExpression=true crs=GEOGCS["WGS84(DD)", DATUM["WGS84", SPHEROID["WGS84", 6378137.0, 298.257223563]], PRIMEM["Greenwich", 0.0], UNIT["degree", 0.017453292519943295], AXIS["Geodetic longitude", EAST], AXIS["Geodetic latitude", NORTH]] |
Notes 1 Resampling Options
Here is a full list of the resampling options and their specific names as used by the Reproject operator. Please be aware that these names differ for the Collocate operator. We may address this discrepancy in a future SeaDAS release.
resampling=Nearest resampling=Bilinear resampling=Bicubic |