renamed pbf parser package to parser/pbf
parent
83af982f2c
commit
5398171a23
|
@ -6,7 +6,7 @@ import (
|
|||
"fmt"
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
"goposm/element"
|
||||
"goposm/parser"
|
||||
"goposm/parser/pbf"
|
||||
"log"
|
||||
"os"
|
||||
"runtime"
|
||||
|
@ -16,7 +16,7 @@ import (
|
|||
)
|
||||
|
||||
type Entry struct {
|
||||
Pos parser.BlockPosition
|
||||
Pos pbf.BlockPosition
|
||||
NodeFirst, NodeLast int64
|
||||
WayFirst, WayLast int64
|
||||
RelFirst, RelLast int64
|
||||
|
@ -41,11 +41,11 @@ func searchNode(nodes []element.Node, id int64) (*element.Node, error) {
|
|||
}
|
||||
|
||||
func (entry *Entry) readWay(id int64) (*element.Way, error) {
|
||||
block := parser.ReadPrimitiveBlock(entry.Pos)
|
||||
stringtable := parser.NewStringTable(block.GetStringtable())
|
||||
block := pbf.ReadPrimitiveBlock(entry.Pos)
|
||||
stringtable := pbf.NewStringTable(block.GetStringtable())
|
||||
|
||||
for _, group := range block.Primitivegroup {
|
||||
parsedWays := parser.ReadWays(group.Ways, block, stringtable)
|
||||
parsedWays := pbf.ReadWays(group.Ways, block, stringtable)
|
||||
if len(parsedWays) > 0 {
|
||||
i := sort.Search(len(parsedWays), func(i int) bool {
|
||||
return parsedWays[i].Id >= id
|
||||
|
@ -59,11 +59,11 @@ func (entry *Entry) readWay(id int64) (*element.Way, error) {
|
|||
}
|
||||
|
||||
func (entry *Entry) readRel(id int64) (*element.Relation, error) {
|
||||
block := parser.ReadPrimitiveBlock(entry.Pos)
|
||||
stringtable := parser.NewStringTable(block.GetStringtable())
|
||||
block := pbf.ReadPrimitiveBlock(entry.Pos)
|
||||
stringtable := pbf.NewStringTable(block.GetStringtable())
|
||||
|
||||
for _, group := range block.Primitivegroup {
|
||||
parsedRels := parser.ReadRelations(group.Relations, block, stringtable)
|
||||
parsedRels := pbf.ReadRelations(group.Relations, block, stringtable)
|
||||
if len(parsedRels) > 0 {
|
||||
i := sort.Search(len(parsedRels), func(i int) bool {
|
||||
return parsedRels[i].Id >= id
|
||||
|
@ -76,8 +76,8 @@ func (entry *Entry) readRel(id int64) (*element.Relation, error) {
|
|||
return nil, &NotFound{id}
|
||||
}
|
||||
|
||||
func CreateEntry(pos parser.BlockPosition) Entry {
|
||||
block := parser.ReadPrimitiveBlock(pos)
|
||||
func CreateEntry(pos pbf.BlockPosition) Entry {
|
||||
block := pbf.ReadPrimitiveBlock(pos)
|
||||
|
||||
entry := Entry{pos, -1, -1, -1, -1, -1, -1}
|
||||
|
||||
|
@ -301,7 +301,7 @@ func init() {
|
|||
func (index *IndexCache) Rebuild() {
|
||||
indices := make(chan Entry)
|
||||
|
||||
positions := parser.PBFBlockPositions(index.pbfFilename)
|
||||
positions := pbf.PBFBlockPositions(index.pbfFilename)
|
||||
|
||||
waitParser := sync.WaitGroup{}
|
||||
for i := 0; i < runtime.NumCPU(); i++ {
|
||||
|
@ -363,14 +363,14 @@ func (loader *Loader) loadNode(id int64) (*element.Node, error) {
|
|||
nodes, ok := loader.nodes[entry.Pos.Offset]
|
||||
if !ok {
|
||||
entry.Pos.Filename = loader.filename
|
||||
block := parser.ReadPrimitiveBlock(entry.Pos)
|
||||
block := pbf.ReadPrimitiveBlock(entry.Pos)
|
||||
nodes = make([]element.Node, 0, len(block.Primitivegroup)*8000)
|
||||
for _, group := range block.Primitivegroup {
|
||||
dense := group.GetDense()
|
||||
if dense != nil {
|
||||
nodes = append(nodes, parser.ReadDenseNodes(dense, block, nil)...)
|
||||
}
|
||||
nodes = append(nodes, parser.ReadNodes(group.Nodes, block, nil)...)
|
||||
nodes = append(nodes, pbf.ReadNodes(group.Nodes, block, nil)...)
|
||||
}
|
||||
loader.nodes[entry.Pos.Offset] = nodes
|
||||
}
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
package parser
|
||||
package pbf
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"code.google.com/p/goprotobuf/proto"
|
||||
"compress/zlib"
|
||||
structs "encoding/binary"
|
||||
"goposm/parser/osmpbf"
|
||||
"goposm/parser/pbf/osmpbf"
|
||||
"io"
|
||||
"log"
|
||||
"os"
|
|
@ -1,9 +1,9 @@
|
|||
package parser
|
||||
package pbf
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"goposm/element"
|
||||
"goposm/parser/osmpbf"
|
||||
"goposm/parser/pbf/osmpbf"
|
||||
"log"
|
||||
"os"
|
||||
)
|
|
@ -1,11 +1,11 @@
|
|||
package parser
|
||||
package pbf
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"code.google.com/p/goprotobuf/proto"
|
||||
"compress/zlib"
|
||||
"fmt"
|
||||
"goposm/parser/osmpbf"
|
||||
"goposm/parser/pbf/osmpbf"
|
||||
"io"
|
||||
"log"
|
||||
"os"
|
|
@ -4,7 +4,7 @@ import (
|
|||
"goposm/cache"
|
||||
"goposm/element"
|
||||
"goposm/mapping"
|
||||
"goposm/parser"
|
||||
"goposm/parser/pbf"
|
||||
"goposm/stats"
|
||||
"os"
|
||||
"runtime"
|
||||
|
@ -48,14 +48,14 @@ func ReadPbf(cache *cache.OSMCache, progress *stats.Statistics, tagmapping *mapp
|
|||
ways := make(chan []element.Way, 4)
|
||||
relations := make(chan []element.Relation, 4)
|
||||
|
||||
positions := parser.PBFBlockPositions(filename)
|
||||
positions := pbf.PBFBlockPositions(filename)
|
||||
|
||||
waitParser := sync.WaitGroup{}
|
||||
for i := 0; int64(i) < nParser; i++ {
|
||||
waitParser.Add(1)
|
||||
go func() {
|
||||
for pos := range positions {
|
||||
parser.ParseBlock(
|
||||
pbf.ParseBlock(
|
||||
pos,
|
||||
coords,
|
||||
nodes,
|
||||
|
|
Loading…
Reference in New Issue