Mercurial > gemma
comparison cmd/tin2octree/main.go @ 672:5fa2eaffac84 octree
octree: Always compress the index with snappy as its halves its size.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 19 Sep 2018 10:57:37 +0200 |
parents | a3d722e1f593 |
children | aeaa2adf5a8b |
comparison
equal
deleted
inserted
replaced
671:010cc30fdf48 | 672:5fa2eaffac84 |
---|---|
1 package main | 1 package main |
2 | 2 |
3 import ( | 3 import ( |
4 "bufio" | |
5 "database/sql" | 4 "database/sql" |
6 "flag" | 5 "flag" |
7 "io" | |
8 "log" | 6 "log" |
9 "math" | 7 "math" |
10 "os" | 8 "os" |
11 "time" | 9 "time" |
12 | 10 |
18 var ( | 16 var ( |
19 bottleneck = flag.String("bottleneck", "", "bottleneck id") | 17 bottleneck = flag.String("bottleneck", "", "bottleneck id") |
20 date = flag.String("date", "", "date info") | 18 date = flag.String("date", "", "date info") |
21 file = flag.String("file", "", "save to file") | 19 file = flag.String("file", "", "save to file") |
22 | 20 |
23 utm = flag.Bool("utm", false, "fetch in matchin UTM zone") | 21 utm = flag.Bool("utm", false, "fetch in matchin UTM zone") |
24 snap = flag.Bool("snappy", false, "use snappy compression") | |
25 | 22 |
26 dbhost = flag.String("dbhost", "localhost", "database host") | 23 dbhost = flag.String("dbhost", "localhost", "database host") |
27 dbport = flag.Uint("dbport", 5432, "database port") | 24 dbport = flag.Uint("dbport", 5432, "database port") |
28 dbname = flag.String("dbname", "gemma", "database user") | 25 dbname = flag.String("dbname", "gemma", "database user") |
29 dbuser = flag.String("dbuser", "scott", "database user") | 26 dbuser = flag.String("dbuser", "scott", "database user") |
144 if *file != "" { | 141 if *file != "" { |
145 f, err := os.Create(*file) | 142 f, err := os.Create(*file) |
146 if err != nil { | 143 if err != nil { |
147 log.Printf("error: %v\n", err) | 144 log.Printf("error: %v\n", err) |
148 } | 145 } |
149 type flusher interface { | 146 out := snappy.NewBufferedWriter(f) |
150 io.Writer | |
151 Flush() error | |
152 } | |
153 var out flusher | |
154 if *snap { | |
155 out = snappy.NewBufferedWriter(f) | |
156 } else { | |
157 out = bufio.NewWriter(f) | |
158 } | |
159 if err := t.Serialize(out); err != nil { | 147 if err := t.Serialize(out); err != nil { |
160 f.Close() | 148 f.Close() |
161 log.Fatalf("error: %v\n", err) | 149 log.Fatalf("error: %v\n", err) |
162 } | 150 } |
163 if err := tb.Serialize(out); err != nil { | 151 if err := tb.Serialize(out); err != nil { |