44 lines
785 B
Go
44 lines
785 B
Go
package extract
|
|
|
|
import (
|
|
"bytes"
|
|
"html"
|
|
|
|
"text/template"
|
|
)
|
|
|
|
var HDRTemplate = `ENVI
|
|
description = {
|
|
File Imported into ENVI.}
|
|
samples = {{.Samples}}
|
|
lines = {{.Lines}}
|
|
bands = {{.Bands}}
|
|
header offset = 0
|
|
file type = ENVI Standard
|
|
data type = 12
|
|
interleave = bsq
|
|
sensor type = Unknown
|
|
byte order = 0
|
|
wavelength units = Unknown`
|
|
|
|
// https://www.nv5geospatialsoftware.com/docs/ENVIHeaderFiles.html
|
|
type EnviHdr struct {
|
|
Samples int // samples (pixels) each line
|
|
Lines int
|
|
Bands int
|
|
}
|
|
|
|
func (h *EnviHdr) String() string {
|
|
var t *template.Template
|
|
t = template.New("template")
|
|
t, err := t.Parse(HDRTemplate)
|
|
if err != nil {
|
|
return ""
|
|
}
|
|
buf := new(bytes.Buffer)
|
|
t.Execute(buf, h)
|
|
buf = bytes.NewBufferString(html.UnescapeString(buf.String()))
|
|
|
|
return buf.String()
|
|
}
|