# HG changeset patch # User Sascha L. Teichmann # Date 1551903226 -3600 # Node ID 3f61b84ae7a627709ce8c4bb6c118d247c2ee1f0 # Parent 45d51a49f191606504e43e83292c4f23f5e642e7 SR import: Set missing EPSG code to TIN. diff -r 45d51a49f191 -r 3f61b84ae7a6 pkg/imports/sr.go --- a/pkg/imports/sr.go Wed Mar 06 17:51:58 2019 +0100 +++ b/pkg/imports/sr.go Wed Mar 06 21:13:46 2019 +0100 @@ -265,20 +265,17 @@ return nil, err } clippingPolygon.Indexify() - feedback.Info("Building clipping polygon took %v.", time.Since(start)) start = time.Now() var reproj []byte - err = tx.QueryRow(reprojectPointsSQL, + if err = tx.QueryRow(reprojectPointsSQL, xyzWKB, m.EPSG, epsg, - ).Scan(&reproj) - - if err != nil { + ).Scan(&reproj); err != nil { return nil, err } @@ -295,7 +292,6 @@ if err != nil { return nil, err } - feedback.Info("Triangulation took %v.", time.Since(start)) start = time.Now() @@ -304,7 +300,6 @@ var str octree.STRTree str.Build(tin) - feedback.Info("Building STR tree took %v", time.Since(start)) start = time.Now() @@ -315,37 +310,35 @@ start = time.Now() + tin.EPSG = epsg + builder := octree.NewBuilder(tin) builder.Build(removed) octreeIndex, err := builder.Bytes() - feedback.Info("Building octree took %v.", - time.Since(start)) if err != nil { return nil, err } + feedback.Info("Building octree took %v.", time.Since(start)) start = time.Now() h := sha1.New() h.Write(octreeIndex) checksum := hex.EncodeToString(h.Sum(nil)) _, err = tx.Exec(insertOctreeSQL, id, checksum, octreeIndex) - feedback.Info("Storing octree index took %s.", - time.Since(start)) if err != nil { return nil, err } + feedback.Info("Storing octree index took %s.", time.Since(start)) tree := builder.Tree() - tree.EPSG = epsg - builder = nil // not needed from now on start = time.Now() err = generateContours(tree, tx, id) - feedback.Info("Generating and storing contour lines took %s.", - time.Since(start)) if err != nil { return nil, err } + feedback.Info("Generating and storing contour lines took %s.", + time.Since(start)) // Store for potential later removal. if err = track(ctx, tx, importID, "waterway.sounding_results", id); err != nil { @@ -354,14 +347,12 @@ if err = tx.Commit(); err != nil { feedback.Error( - "Storing sounding result failed after %v.", - time.Since(begin)) + "Storing sounding result failed after %v.", time.Since(begin)) return nil, err } feedback.Info( - "Storing sounding result was successful after %v.", - time.Since(begin)) + "Storing sounding result was successful after %v.", time.Since(begin)) summary := struct { Bottleneck string `json:"bottleneck"` @@ -374,7 +365,8 @@ Lat: lat, Lon: lon, } - return &summary, err + + return &summary, nil } // CleanUp removes the folder containing the ZIP file with the @@ -525,7 +517,7 @@ defer stmt.Close() // Adjust contour lines heights to multiples of contourStepWidth - heights := make([]float64, 0) + var heights []float64 h := contourStepWidth * math.Ceil(tree.Min.Z/contourStepWidth) for ; h <= tree.Max.Z; h += contourStepWidth { heights = append(heights, h)