diff pkg/imports/sr.go @ 5710:37c8feeecb4d

Merged branch sr-v2 into default.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 20 Feb 2024 21:28:56 +0100
parents 148abae1fcd0
children 6270951dda28
line wrap: on
line diff
--- a/pkg/imports/sr.go	Wed Feb 14 16:56:28 2024 +0100
+++ b/pkg/imports/sr.go	Tue Feb 20 21:28:56 2024 +0100
@@ -174,7 +174,7 @@
 
 	insertMeshSQL = `
 UPDATE waterway.sounding_results SET
-  mesh_checksum = $2, mesh_index = $3
+  mesh_checksum = $2, mesh_index = $3, mesh_index_version = $4
 WHERE id = $1`
 
 	repairBoundarySQL = `
@@ -512,9 +512,14 @@
 	if err := xyz.FromWKB(reproj); err != nil {
 		return nil, err
 	}
-
 	feedback.Info("Reprojecting points to EPSG %d took %v.",
 		epsg, time.Since(start))
+
+	start = time.Now()
+	xyz = xyz.QuantizeXY(mesh.QuantScale)
+	feedback.Info("Quantizing points in X/Y to 1/%d took %v.",
+		mesh.QuantScale, time.Since(start))
+
 	feedback.Info("Number of reprojected points: %d", len(xyz))
 	feedback.Info("Triangulate XYZ data.")
 
@@ -741,9 +746,11 @@
 	}
 
 	if m.SurveyType != models.SurveyTypeMarking {
-		var index []byte
+		final.OptimizeForSerialization(-1)
 
-		index, err = final.Bytes()
+		var index []byte
+		var version int
+		index, version, err = final.Bytes(-1)
 		if err != nil {
 			return nil, err
 		}
@@ -751,7 +758,7 @@
 		h := sha1.New()
 		h.Write(index)
 		checksum := hex.EncodeToString(h.Sum(nil))
-		_, err = tx.ExecContext(ctx, insertMeshSQL, id, checksum, index)
+		_, err = tx.ExecContext(ctx, insertMeshSQL, id, checksum, index, version)
 		if err != nil {
 			return nil, err
 		}