Mercurial > gemma
comparison pkg/imports/sr.go @ 5678:4abbb62d2bed sr-v2
Write mesh version to database.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Sun, 11 Feb 2024 10:25:50 +0100 |
parents | bbc257dd9abf |
children | 03dfbe675842 |
comparison
equal
deleted
inserted
replaced
5677:a57be8bfb6ea | 5678:4abbb62d2bed |
---|---|
172 ST_AsBinary(ST_Buffer(ST_Transform(ST_GeomFromWKB($1, $2::integer), $3::integer), 0.1)), | 172 ST_AsBinary(ST_Buffer(ST_Transform(ST_GeomFromWKB($1, $2::integer), $3::integer), 0.1)), |
173 ST_Area(ST_Transform(ST_GeomFromWKB($1, $2::integer), $3::integer))` | 173 ST_Area(ST_Transform(ST_GeomFromWKB($1, $2::integer), $3::integer))` |
174 | 174 |
175 insertMeshSQL = ` | 175 insertMeshSQL = ` |
176 UPDATE waterway.sounding_results SET | 176 UPDATE waterway.sounding_results SET |
177 mesh_checksum = $2, mesh_index = $3 | 177 mesh_checksum = $2, mesh_index = $3, mesh_index_version = $4 |
178 WHERE id = $1` | 178 WHERE id = $1` |
179 | 179 |
180 repairBoundarySQL = ` | 180 repairBoundarySQL = ` |
181 SELECT | 181 SELECT |
182 ST_AsBinary(ST_Buffer(ST_MakeValid(ST_GeomFromWKB($1, $2::integer)), 0.0)), | 182 ST_AsBinary(ST_Buffer(ST_MakeValid(ST_GeomFromWKB($1, $2::integer)), 0.0)), |
740 return nil, err | 740 return nil, err |
741 } | 741 } |
742 | 742 |
743 if m.SurveyType != models.SurveyTypeMarking { | 743 if m.SurveyType != models.SurveyTypeMarking { |
744 var index []byte | 744 var index []byte |
745 | 745 var version int |
746 index, err = final.Bytes() | 746 |
747 index, version, err = final.Bytes(nil) | |
747 if err != nil { | 748 if err != nil { |
748 return nil, err | 749 return nil, err |
749 } | 750 } |
750 | 751 |
751 h := sha1.New() | 752 h := sha1.New() |
752 h.Write(index) | 753 h.Write(index) |
753 checksum := hex.EncodeToString(h.Sum(nil)) | 754 checksum := hex.EncodeToString(h.Sum(nil)) |
754 _, err = tx.ExecContext(ctx, insertMeshSQL, id, checksum, index) | 755 _, err = tx.ExecContext(ctx, insertMeshSQL, id, checksum, index, version) |
755 if err != nil { | 756 if err != nil { |
756 return nil, err | 757 return nil, err |
757 } | 758 } |
758 feedback.Info("Storing mesh index took %s.", time.Since(start)) | 759 feedback.Info("Storing mesh index took %s.", time.Since(start)) |
759 err = generateIsoAreas( | 760 err = generateIsoAreas( |