Mercurial > gemma
diff pkg/octree/classbreaks.go @ 4214:49564382ffff
Added a import queue job to recalculate the contour lines of the sounding results if the heights have changed.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 16 Aug 2019 13:15:34 +0200 |
parents | 37d5c4441c70 |
children | 7a9388943840 |
line wrap: on
line diff
--- a/pkg/octree/classbreaks.go Wed Aug 14 17:12:23 2019 +0200 +++ b/pkg/octree/classbreaks.go Fri Aug 16 13:15:34 2019 +0200 @@ -58,22 +58,9 @@ return heights } -func LoadClassBreaks(ctx context.Context, tx *sql.Tx, key string) ([]float64, error) { - - var config sql.NullString - - err := tx.QueryRowContext(ctx, selectClassBreaksSQL, key).Scan(&config) +func ParseClassBreaks(config string) ([]float64, error) { - switch { - case err == sql.ErrNoRows: - return nil, nil - case err != nil: - return nil, err - case !config.Valid: - return nil, errors.New("Invalid config string") - } - - parts := strings.Split(config.String, ",") + parts := strings.Split(config, ",") classes := make([]float64, 0, len(parts)) for _, part := range parts { if idx := strings.IndexRune(part, ':'); idx >= 0 { @@ -93,6 +80,24 @@ return classes, nil } +func LoadClassBreaks(ctx context.Context, tx *sql.Tx, key string) ([]float64, error) { + + var config sql.NullString + + err := tx.QueryRowContext(ctx, selectClassBreaksSQL, key).Scan(&config) + + switch { + case err == sql.ErrNoRows: + return nil, nil + case err != nil: + return nil, err + case !config.Valid: + return nil, errors.New("Invalid config string") + } + + return ParseClassBreaks(config.String) +} + func ExtrapolateClassBreaks(cbs []float64, min, max float64) []float64 { if min > max { min, max = max, min