支持xml入参
This commit is contained in:
17
cmd/fus.go
17
cmd/fus.go
@@ -19,6 +19,8 @@ var fusCmd = &cobra.Command{
|
||||
Use: "fus",
|
||||
Short: "use GDAL_Pansharpen to merge PAN and MSS images",
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
initFUSParams()
|
||||
|
||||
fusedTiff := filepath.Base(mssImage)
|
||||
fusedTiff = strings.Replace(fusedTiff, "MSS", "FUS", -1)
|
||||
err := producer.GDALPansharpen(panImage, mssImage, filepath.Join(outputDir, fusedTiff))
|
||||
@@ -36,3 +38,18 @@ func init() {
|
||||
fusCmd.Flags().StringVarP(&outputDir, "output", "o", "", "path to the output directory")
|
||||
fusCmd.Flags().StringVarP(¶msXML, "params", "x", "", "path to the XML file containing parameters for GDAL_Pansharpen")
|
||||
}
|
||||
|
||||
func initFUSParams() {
|
||||
if paramsXML == "" {
|
||||
return
|
||||
}
|
||||
|
||||
task, err := producer.ParseXMLFUSTask(paramsXML)
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
|
||||
panImage = task.InputFileList.PanTiff
|
||||
mssImage = task.InputFileList.MssTiff
|
||||
outputDir = task.Params.OutputPath
|
||||
}
|
||||
|
||||
28
cmd/proc.go
28
cmd/proc.go
@@ -25,6 +25,8 @@ var procCmd = &cobra.Command{
|
||||
config.GViper = config.InitViper(configFile)
|
||||
logrus.SetLevel(config.GCONFIG.LogLevel)
|
||||
|
||||
initParams()
|
||||
|
||||
reg := producer.NewRegistrator(producer.DownSampled)
|
||||
reg.Params = params
|
||||
reg.Params.MssTiffFile = filepath.Join(params.OutputDir, strings.TrimSuffix(filepath.Base(params.MssRawFile), filepath.Ext(params.MssRawFile))+".tiff")
|
||||
@@ -92,3 +94,29 @@ func init() {
|
||||
procCmd.Flags().BoolVarP(&saveStrip, "save-strip", "", false, "save original and registered images as GDAL GTiff")
|
||||
procCmd.Flags().StringVarP(¶msXML, "params", "x", "", "params xml file path")
|
||||
}
|
||||
|
||||
func initParams() producer.Params {
|
||||
taskParams := params
|
||||
taskParams.MssTiffFile = filepath.Join(params.OutputDir, strings.TrimSuffix(filepath.Base(params.MssRawFile),
|
||||
filepath.Ext(params.MssRawFile))+".tiff")
|
||||
taskParams.PanTiffFile = filepath.Join(params.OutputDir,
|
||||
strings.TrimSuffix(filepath.Base(params.PanRawFile),
|
||||
filepath.Ext(params.PanRawFile))+".tiff")
|
||||
taskParams.FusTIffFile = strings.Replace(taskParams.MssTiffFile, ".tiff", "_FUS.tiff", 1)
|
||||
|
||||
if paramsXML == "" {
|
||||
return taskParams
|
||||
}
|
||||
|
||||
task, err := producer.ParseXMLImageTask(paramsXML)
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
|
||||
taskParams.PanRawFile = task.InputFileList.PanData
|
||||
taskParams.MssRawFile = task.InputFileList.MssData
|
||||
taskParams.AuxRawFile = task.InputFileList.AuxData
|
||||
taskParams.DoPansharpen = task.Params.DoPansharpen
|
||||
taskParams.OutputDir = task.Params.OutputPath
|
||||
return taskParams
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user