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(