Store subset of opennames data in gob format and use that to restore index.
This commit is contained in:
parent
66d4c6243a
commit
86022818da
13 changed files with 195 additions and 77 deletions
|
@ -10,25 +10,17 @@ import (
|
|||
"os"
|
||||
"path"
|
||||
|
||||
"github.com/ray1729/gpx-utils/pkg/openname"
|
||||
"github.com/ray1729/gpx-utils/pkg/placenames"
|
||||
)
|
||||
|
||||
func main() {
|
||||
openNames := flag.String("opname", "", "Path to Ordnance Server Open Names zip archive")
|
||||
gpxFile := flag.String("gpx", "", "Path to GPX file")
|
||||
dirName := flag.String("dir", "", "Directory to scan for GPX files")
|
||||
flag.Parse()
|
||||
if *openNames == "" {
|
||||
log.Fatal("--opname is required")
|
||||
}
|
||||
if (*gpxFile == "" && *dirName == "") || (*gpxFile != "" && *dirName != "") {
|
||||
log.Fatal("exactly one of --dir or --gpx is required")
|
||||
}
|
||||
rt, err := openname.BuildIndex(*openNames)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
gs, err := openname.NewGPXSummarizer(rt)
|
||||
gs, err := placenames.NewGPXSummarizer()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
@ -42,7 +34,7 @@ func main() {
|
|||
}
|
||||
}
|
||||
|
||||
func summarizeDirectory(gs *openname.GPXSummarizer, dirName string) error {
|
||||
func summarizeDirectory(gs *placenames.GPXSummarizer, dirName string) error {
|
||||
files, err := ioutil.ReadDir(dirName)
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -78,7 +70,7 @@ func summarizeDirectory(gs *openname.GPXSummarizer, dirName string) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func summarizeSingleFile(gs *openname.GPXSummarizer, filename string) error {
|
||||
func summarizeSingleFile(gs *placenames.GPXSummarizer, filename string) error {
|
||||
r, err := os.Open(filename)
|
||||
if err != nil {
|
||||
return fmt.Errorf("error opening %s for reading: %v", filename, err)
|
||||
|
@ -93,7 +85,7 @@ func summarizeSingleFile(gs *openname.GPXSummarizer, filename string) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func writeSummary(s *openname.TrackSummary, w io.Writer) error {
|
||||
func writeSummary(s *placenames.TrackSummary, w io.Writer) error {
|
||||
enc := json.NewEncoder(w)
|
||||
enc.SetIndent("", " ")
|
||||
if err := enc.Encode(s); err != nil {
|
||||
|
|
18
cmd/save-gob/main.go
Normal file
18
cmd/save-gob/main.go
Normal file
|
@ -0,0 +1,18 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"github.com/ray1729/gpx-utils/pkg/openname"
|
||||
)
|
||||
|
||||
func main() {
|
||||
log.SetFlags(0)
|
||||
if len(os.Args) != 3 {
|
||||
log.Fatal("Usage: %s INFILE OUTFILE", os.Args[0])
|
||||
}
|
||||
if err := openname.Save(os.Args[1], os.Args[2]); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
|
@ -10,7 +10,7 @@ import (
|
|||
"os"
|
||||
"strconv"
|
||||
|
||||
"github.com/ray1729/gpx-utils/pkg/openname"
|
||||
"github.com/ray1729/gpx-utils/pkg/placenames"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
@ -18,15 +18,7 @@ func main() {
|
|||
if listenAddr == "" {
|
||||
listenAddr = ":8000"
|
||||
}
|
||||
openNames := os.Getenv("OPNAMES")
|
||||
if openNames == "" {
|
||||
log.Fatal("OPNAMES not set")
|
||||
}
|
||||
rt, err := openname.BuildIndex(openNames)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
gs, err := openname.NewGPXSummarizer(rt)
|
||||
gs, err := placenames.NewGPXSummarizer()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
@ -35,7 +27,7 @@ func main() {
|
|||
log.Fatal(http.ListenAndServe(listenAddr, nil))
|
||||
}
|
||||
|
||||
var gpxSummarizer *openname.GPXSummarizer
|
||||
var gpxSummarizer *placenames.GPXSummarizer
|
||||
|
||||
func rwgpsHandler(w http.ResponseWriter, r *http.Request) {
|
||||
q := r.URL.Query()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue