Mercurial > gemma
view cmd/octree2contour/store.go @ 727:41c8dc61f38f
Moved octree loading stuff to octree package.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Sat, 22 Sep 2018 21:57:30 +0200 |
parents | 5af9ab39e715 |
children | 39b5cf9a6b8f |
line wrap: on
line source
package main import ( "database/sql" "gemma.intevation.de/gemma/pkg/octree" ) type result struct { h float64 lines octree.MultiLineStringZ } const insertSQL = ` INSERT INTO waterway.contour_lines (height, geom) VALUES ($1, ST_Transform( ST_SetSRID(ST_GeomFromWKB($2), $3), 4326)::geography) ` func store(all []result, epsg uint32) error { return run(func(db *sql.DB) error { tx, err := db.Begin() if err != nil { return err } defer tx.Rollback() stmt, err := tx.Prepare(insertSQL) if err != nil { return err } for _, r := range all { if _, err := stmt.Exec(r.h, r.lines.AsWKB(), epsg); err != nil { return err } } return tx.Commit() }) }