Error: gpt: Mosaic

Hello,

I want produce a Mosaic of two files from the command line using gpt.
At first I tried it with the simpelst command using all default values (gpt Mosaic [options] …):

/opt/local/perso/snap/bin/gpt Mosaic /data/benguela/travail_sauve/ohde/MER_RR__2PRBCM20040422_073812_000001492026_00135_11211_0187.N1 /data/benguela/travail_sauve/ohde/MER_RR__2PRBCM20040422_091310_000004732026_00136_11212_0188.N1

but I got the error:
org.esa.snap.core.gpf.OperatorException
at org.esa.snap.core.gpf.common.MosaicOp.createTargetProduct(MosaicOp.java:417)
at org.esa.snap.core.gpf.common.MosaicOp.initialize(MosaicOp.java:142)
at org.esa.snap.core.gpf.internal.OperatorContext.initializeOperator(OperatorContext.java:499)
at org.esa.snap.core.gpf.internal.OperatorContext.getTargetProduct(OperatorContext.java:278)
at org.esa.snap.core.gpf.Operator.getTargetProduct(Operator.java:359)
at org.esa.snap.core.gpf.main.CommandLineTool.runOperator(CommandLineTool.java:268)
at org.esa.snap.core.gpf.main.CommandLineTool.runGraphOrOperator(CommandLineTool.java:246)
at org.esa.snap.core.gpf.main.CommandLineTool.run(CommandLineTool.java:150)
at org.esa.snap.core.gpf.main.CommandLineTool.run(CommandLineTool.java:122)
at org.esa.snap.core.gpf.main.GPT.run(GPT.java:54)
at org.esa.snap.core.gpf.main.GPT.main(GPT.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.esa.snap.runtime.Launcher.lambda$run$12(Launcher.java:55)
at org.esa.snap.runtime.Engine.runClientCode(Engine.java:186)
at org.esa.snap.runtime.Launcher.run(Launcher.java:51)
at org.esa.snap.runtime.Launcher.main(Launcher.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:62)
at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:57)
Caused by: java.lang.NullPointerException
at org.esa.snap.core.gpf.common.MosaicOp.addTargetBands(MosaicOp.java:422)
at org.esa.snap.core.gpf.common.MosaicOp.createTargetProduct(MosaicOp.java:413)
… 24 more
Error: org.esa.snap.core.gpf.OperatorException

At second I tried it with a xml-file:

<graph id="Namibia">
 <version>1.0</version>
 <node id="MosaicNamibia">
  <operator>Mosaic</operator>
  <sources>
  <sourceProducts>${sourceProducts}</sourceProducts>
  </sources>
  <parameters>
   <variables>
     <variable>
       <name>algal_2</name>
     </variable>
   </variables>
   <combine>OR</combine>
   <crs>EPSG:4326</crs>
   <orthorectify>false</orthorectify>
   <resampling>Nearest</resampling>
   <westBound>0.0</westBound>
   <northBound>-10.0</northBound>
   <eastBound>25.0</eastBound>
   <southBound>-36.0</southBound>
   <pixelSizeX>0.011904481</pixelSizeX>
   <pixelSizeY>0.011904481</pixelSizeY>
  </parameters>
 </node>
</graph>

on the command line:

/opt/local/perso/snap/bin/gpt /data/benguela/travail_sauve/ohde/OMP_LEGOS/IDL-Programme/idl/snap/gpt-mosaic/mosaic_test.xml -e -t /data/benguela/travail_sauve/ohde/test.N1.dim -f BEAM-DIMAP -SsourceProducts=/data/benguela/travail_sauve/ohde/MER_RR__2PRBCM20040422_073812_000001492026_00135_11211_0187.N1 /data/benguela/travail_sauve/ohde/MER_RR__2PRBCM20040422_091310_000004732026_00136_11212_0188.N1

but I got the error:
java.lang.NullPointerException
at com.bc.ceres.core.Assert.notNull(Assert.java:94)
at org.esa.snap.core.dataop.barithm.BandArithmetic.parseExpression(BandArithmetic.java:112)
at org.esa.snap.core.dataop.barithm.BandArithmetic.getRefRasters(BandArithmetic.java:199)
at org.esa.snap.core.dataop.barithm.BandArithmetic.getValidMaskExpression(BandArithmetic.java:245)
at org.esa.snap.core.dataop.barithm.BandArithmetic.getValidMaskExpression(BandArithmetic.java:237)
at org.esa.snap.core.gpf.common.MosaicOp.createValidMaskExpression(MosaicOp.java:234)
at org.esa.snap.core.gpf.common.MosaicOp.createAlphaImages(MosaicOp.java:207)
at org.esa.snap.core.gpf.common.MosaicOp.initialize(MosaicOp.java:148)
at org.esa.snap.core.gpf.internal.OperatorContext.initializeOperator(OperatorContext.java:499)
at org.esa.snap.core.gpf.internal.OperatorContext.getTargetProduct(OperatorContext.java:278)
at org.esa.snap.core.gpf.Operator.getTargetProduct(Operator.java:359)
at org.esa.snap.core.gpf.graph.NodeContext.initTargetProduct(NodeContext.java:74)
at org.esa.snap.core.gpf.graph.GraphContext.initNodeContext(GraphContext.java:195)
at org.esa.snap.core.gpf.graph.GraphContext.initNodeContext(GraphContext.java:178)
at org.esa.snap.core.gpf.graph.GraphContext.initOutput(GraphContext.java:162)
at org.esa.snap.core.gpf.graph.GraphContext.(GraphContext.java:91)
at org.esa.snap.core.gpf.graph.GraphContext.(GraphContext.java:64)
at org.esa.snap.core.gpf.graph.GraphProcessor.executeGraph(GraphProcessor.java:130)
at org.esa.snap.core.gpf.main.DefaultCommandLineContext.executeGraph(DefaultCommandLineContext.java:84)
at org.esa.snap.core.gpf.main.CommandLineTool.executeGraph(CommandLineTool.java:502)
at org.esa.snap.core.gpf.main.CommandLineTool.runGraph(CommandLineTool.java:350)
at org.esa.snap.core.gpf.main.CommandLineTool.runGraphOrOperator(CommandLineTool.java:249)
at org.esa.snap.core.gpf.main.CommandLineTool.run(CommandLineTool.java:150)
at org.esa.snap.core.gpf.main.CommandLineTool.run(CommandLineTool.java:122)
at org.esa.snap.core.gpf.main.GPT.run(GPT.java:54)
at org.esa.snap.core.gpf.main.GPT.main(GPT.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.esa.snap.runtime.Launcher.lambda$run$12(Launcher.java:55)
at org.esa.snap.runtime.Engine.runClientCode(Engine.java:186)
at org.esa.snap.runtime.Launcher.run(Launcher.java:51)
at org.esa.snap.runtime.Launcher.main(Launcher.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:62)
at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:57)
Error: java.lang.NullPointerException

At third I tried it with the Mosaicing in SNAP and it works.
What could be the reasons for the errors?

Hi,
in the variable declaration you did not set the required expression. Your code would need to look like this:
<< variables >
< < variable >
<< name>algal_2<< /name >
<< expression > algal_2 < /expression >
<< /variable >
<< /variables >
Note that you can have a look at the parameters in xml-format in the UI when you choose File->Display Parameters . In the file menu you can also load and save parameters which you might use in a graph.

Hello,

yes, this was the problem. Now it works.

Thank you.

2 posts were split to a new topic: How to create mosaci of JERS-1 data