Creates a new file which is a collocated joining of two input source files. |
Example 1 Files Which Contain Unique Band Names Example 2 Files Which May Contain Identical Band Names Example 3 Use of Suffix as Parameter Notes 1 Resampling Options |
Example 1 Files Which Contain Unique Band Names
This creates a collocated file from two file which contain unique band names. No band names in one input file can match those in the other input file. This is a very simple example of joining two level3 mapped files together.
Command Line Entry
gpt CollocateGraphEx01.xml -Pifile1=V20172132017243.L3m_MO_SNPP_CHL_chlor_a_9km.nc -Pifile2=V20172132017243.L3m_MO_SNPP_KD490_Kd_490_9km.nc -Pofile=CollocateEx01.dim |
File = CollocateGraphEx01.xml
<graph id="CollocateGraphEx01"> <version>1.0</version> <node id="Read"> <operator>Read</operator> <sources/> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ifile1}</file> <formatName>SeaDAS-L3</formatName> </parameters> </node> <node id="Read(2)"> <operator>Read</operator> <sources/> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ifile2}</file> <formatName>SeaDAS-L3</formatName> </parameters> </node> <node id="CollocateNode"> <operator>Collocate</operator> <sources> <sourceProduct refid="Read"/>> <sourceProduct.1 refid="Read(2)"/>> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <targetProductType>COLLOCATED</targetProductType> <renameMasterComponents>false</renameMasterComponents> <renameDependentComponents>false</renameDependentComponents> <resamplingType>NEAREST_NEIGHBOUR</resamplingType> </parameters> </node> <node id="Write"> <operator>Write</operator> <sources> <sourceProduct refid="Collocate"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ofile}</file> <formatName>BEAM-DIMAP</formatName> </parameters> </node> </graph> |
Here is what example 1 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 ifile1, ifile2 and ofile paths).
File = CollocateGraphGUIEx01.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/CollocateEx01/V20172132017243.L3m_MO_SNPP_CHL_chlor_a_9km.nc</file> <formatName>SeaDAS-L3</formatName> </parameters> </node> <node id="Read(2)"> <operator>Read</operator> <sources/> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>/Users/seadas/GPT_Cookbook/CollocateEx01/V20172132017243.L3m_MO_SNPP_KD490_Kd_490_9km.nc</file> <formatName>SeaDAS-L3</formatName> </parameters> </node> <node id="CollocateNode"> <operator>Collocate</operator> <sources> <sourceProduct refid="Read"/>> <sourceProduct.1 refid="Read(2)"/>> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <sourceProductPaths/> <masterProductName>V20172132017243.L3m_MO_SNPP_CHL_chlor_a_9km.nc</masterProductName> <targetProductName>_collocated</targetProductName> <targetProductType>COLLOCATED</targetProductType> <renameMasterComponents>false</renameMasterComponents> <renameDependentComponents>false</renameDependentComponents> <masterComponentPattern>${ORIGINAL_NAME}_M</masterComponentPattern> <dependentComponentPattern>${ORIGINAL_NAME}_S${DEPENDENT_NUMBER_ID}</dependentComponentPattern> <resamplingType>NEAREST_NEIGHBOUR</resamplingType> </parameters> </node> <node id="Write"> <operator>Write</operator> <sources> <sourceProduct refid="Collocate"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>/Users/seadas/GPT_Cookbook/CollocateEx01/Collocate.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="Read(2)"> <displayPosition x="59.0" y="198.0"/> </node> <node id="Collocate"> <displayPosition x="264.0" y="254.0"/> </node> <node id="Write"> <displayPosition x="455.0" y="135.0"/> </node> </applicationData> </graph> |
Example 2 Files Which May Contain Identical Band Names
This creates a collocated file from two file which may contain identical band names. To accomplish this, the original band name is preserved with the addition of a suffix relating to which source file the band came from.
Command Line Entry
gpt CollocateGraphEx02.xml -p CollocateEx02.par -Pifile1=AQUA_MODIS.20020101_20021231.L3m.YR.NSST.sst.9km.nc -Pifile2=AQUA_MODIS.20160101_20161231.L3m.YR.NSST.sst.9km.nc -Pofile=CollocateEx02.dim |
File = CollocateGraphEx02.xml
<graph id="CollocateGraphEx02"> <version>1.0</version> <node id="Read"> <operator>Read</operator> <sources/> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ifile1}</file> <formatName>SeaDAS-L3</formatName> </parameters> </node> <node id="Read(2)"> <operator>Read</operator> <sources/> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ifile2}</file> <formatName>SeaDAS-L3</formatName> </parameters> </node> <node id="Collocate"> <operator>Collocate</operator> <sources> <sourceProduct refid="Read"/>> <sourceProduct.1 refid="Read(2)"/>> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <targetProductType>COLLOCATED</targetProductType> <renameMasterComponents>${renameReference}</renameMasterComponents> <renameDependentComponents>${renameDependent}</renameDependentComponents> <masterComponentPattern>${referenceComponentPattern}</masterComponentPattern> <dependentComponentPattern>${dependentComponentPattern}</dependentComponentPattern> <resamplingType>${resamplingType}</resamplingType> </parameters> </node> <node id="Write"> <operator>Write</operator> <sources> <sourceProduct refid="Collocate"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ofile}</file> <formatName>BEAM-DIMAP</formatName> </parameters> </node> </graph> |
File = CollocateEx02.par
renameReference=true renameDependent=true referenceComponentPattern=${ORIGINAL_NAME}_R dependentComponentPattern=${ORIGINAL_NAME}_D resamplingType=NEAREST_NEIGHBOUR |
Example 3 Use of Suffix as Parameter
A slight variant on example 2 where now we pass in band names suffixes related to the actual input file names.
Command Line Entry
gpt CollocateGraphEx03.xml -p CollocateEx03.par -Pifile1=AQUA_MODIS.20020101_20021231.L3m.YR.NSST.sst.9km.nc -Pifile2=AQUA_MODIS.20160101_20161231.L3m.YR.NSST.sst.9km.nc -PreferenceSuffix=2002 -PdependentSuffix=2016 -Pofile=CollocateEx03.dim |
File = CollocateGraphEx03.xml
<graph id="CollocateGraphEx03"> <version>1.0</version> <node id="Read"> <operator>Read</operator> <sources/> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ifile1}</file> <formatName>SeaDAS-L3</formatName> </parameters> </node> <node id="Read(2)"> <operator>Read</operator> <sources/> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ifile2}</file> <formatName>SeaDAS-L3</formatName> </parameters> </node> <node id="Collocate"> <operator>Collocate</operator> <sources> <sourceProduct refid="Read"/>> <sourceProduct.1 refid="Read(2)"/>> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <targetProductType>COLLOCATED</targetProductType> <renameMasterComponents>${renameReference}</renameMasterComponents> <renameDependentComponents>${renameDependent}</renameDependentComponents> <masterComponentPattern>${ORIGINAL_NAME}_${referenceSuffix}</masterComponentPattern> <dependentComponentPattern>${ORIGINAL_NAME}_${dependentSuffix}</dependentComponentPattern> <resamplingType>${resamplingType}</resamplingType> </parameters> </node> <node id="Write"> <operator>Write</operator> <sources> <sourceProduct refid="Collocate"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <file>${ofile}</file> <formatName>BEAM-DIMAP</formatName> </parameters> </node> </graph> |
File = CollocateEx03.par
renameReference=true renameDependent=true resamplingType=NEAREST_NEIGHBOUR |
Notes 1 Resampling Options
Here is a full list of the resampling options and their specific names as used by the Collocate operator. Please be aware that these names differ for the operators Reproject and Mosaic. We will address this in a future SeaDAS release.
resamplingType=NEAREST_NEIGHBOUR resamplingType=BILINEAR_INTERPOLATION resamplingType=CUBIC_CONVOLUTION resamplingType=BISINC_INTERPOLATION resamplingType=BICUBIC_INTERPOLATION |