renamed pbf parser package to parser/pbf

master
Oliver Tonnhofer 2013-07-05 09:35:16 +02:00
parent 83af982f2c
commit 5398171a23
9 changed files with 28 additions and 28 deletions

View File

@ -6,7 +6,7 @@ import (
"fmt" "fmt"
_ "github.com/mattn/go-sqlite3" _ "github.com/mattn/go-sqlite3"
"goposm/element" "goposm/element"
"goposm/parser" "goposm/parser/pbf"
"log" "log"
"os" "os"
"runtime" "runtime"
@ -16,7 +16,7 @@ import (
) )
type Entry struct { type Entry struct {
Pos parser.BlockPosition Pos pbf.BlockPosition
NodeFirst, NodeLast int64 NodeFirst, NodeLast int64
WayFirst, WayLast int64 WayFirst, WayLast int64
RelFirst, RelLast 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) { func (entry *Entry) readWay(id int64) (*element.Way, error) {
block := parser.ReadPrimitiveBlock(entry.Pos) block := pbf.ReadPrimitiveBlock(entry.Pos)
stringtable := parser.NewStringTable(block.GetStringtable()) stringtable := pbf.NewStringTable(block.GetStringtable())
for _, group := range block.Primitivegroup { for _, group := range block.Primitivegroup {
parsedWays := parser.ReadWays(group.Ways, block, stringtable) parsedWays := pbf.ReadWays(group.Ways, block, stringtable)
if len(parsedWays) > 0 { if len(parsedWays) > 0 {
i := sort.Search(len(parsedWays), func(i int) bool { i := sort.Search(len(parsedWays), func(i int) bool {
return parsedWays[i].Id >= id 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) { func (entry *Entry) readRel(id int64) (*element.Relation, error) {
block := parser.ReadPrimitiveBlock(entry.Pos) block := pbf.ReadPrimitiveBlock(entry.Pos)
stringtable := parser.NewStringTable(block.GetStringtable()) stringtable := pbf.NewStringTable(block.GetStringtable())
for _, group := range block.Primitivegroup { for _, group := range block.Primitivegroup {
parsedRels := parser.ReadRelations(group.Relations, block, stringtable) parsedRels := pbf.ReadRelations(group.Relations, block, stringtable)
if len(parsedRels) > 0 { if len(parsedRels) > 0 {
i := sort.Search(len(parsedRels), func(i int) bool { i := sort.Search(len(parsedRels), func(i int) bool {
return parsedRels[i].Id >= id return parsedRels[i].Id >= id
@ -76,8 +76,8 @@ func (entry *Entry) readRel(id int64) (*element.Relation, error) {
return nil, &NotFound{id} return nil, &NotFound{id}
} }
func CreateEntry(pos parser.BlockPosition) Entry { func CreateEntry(pos pbf.BlockPosition) Entry {
block := parser.ReadPrimitiveBlock(pos) block := pbf.ReadPrimitiveBlock(pos)
entry := Entry{pos, -1, -1, -1, -1, -1, -1} entry := Entry{pos, -1, -1, -1, -1, -1, -1}
@ -204,8 +204,8 @@ func (index *IndexCache) queryNode(id int64) (Entry, error) {
} }
entry := Entry{} entry := Entry{}
stmt, err := index.db.Prepare( stmt, err := index.db.Prepare(
`select node_first, node_last, offset, size `select node_first, node_last, offset, size
from indices from indices
where node_first <= ? and node_last >= ?`) where node_first <= ? and node_last >= ?`)
if err != nil { if err != nil {
return entry, err return entry, err
@ -235,8 +235,8 @@ func (index *IndexCache) queryNode(id int64) (Entry, error) {
func (index *IndexCache) queryWay(id int64) (Entry, error) { func (index *IndexCache) queryWay(id int64) (Entry, error) {
entry := Entry{} entry := Entry{}
stmt, err := index.db.Prepare( stmt, err := index.db.Prepare(
`select way_first, way_last, offset, size `select way_first, way_last, offset, size
from indices from indices
where way_first <= ? and way_last >= ?`) where way_first <= ? and way_last >= ?`)
if err != nil { if err != nil {
return entry, err return entry, err
@ -254,8 +254,8 @@ func (index *IndexCache) queryWay(id int64) (Entry, error) {
func (index *IndexCache) queryRel(id int64) (Entry, error) { func (index *IndexCache) queryRel(id int64) (Entry, error) {
entry := Entry{} entry := Entry{}
stmt, err := index.db.Prepare( stmt, err := index.db.Prepare(
`select rel_first, rel_last, offset, size `select rel_first, rel_last, offset, size
from indices from indices
where rel_first <= ? and rel_last >= ?`) where rel_first <= ? and rel_last >= ?`)
if err != nil { if err != nil {
return entry, err return entry, err
@ -301,7 +301,7 @@ func init() {
func (index *IndexCache) Rebuild() { func (index *IndexCache) Rebuild() {
indices := make(chan Entry) indices := make(chan Entry)
positions := parser.PBFBlockPositions(index.pbfFilename) positions := pbf.PBFBlockPositions(index.pbfFilename)
waitParser := sync.WaitGroup{} waitParser := sync.WaitGroup{}
for i := 0; i < runtime.NumCPU(); i++ { 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] nodes, ok := loader.nodes[entry.Pos.Offset]
if !ok { if !ok {
entry.Pos.Filename = loader.filename entry.Pos.Filename = loader.filename
block := parser.ReadPrimitiveBlock(entry.Pos) block := pbf.ReadPrimitiveBlock(entry.Pos)
nodes = make([]element.Node, 0, len(block.Primitivegroup)*8000) nodes = make([]element.Node, 0, len(block.Primitivegroup)*8000)
for _, group := range block.Primitivegroup { for _, group := range block.Primitivegroup {
dense := group.GetDense() dense := group.GetDense()
if dense != nil { if dense != nil {
nodes = append(nodes, parser.ReadDenseNodes(dense, block, 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 loader.nodes[entry.Pos.Offset] = nodes
} }

View File

@ -1,11 +1,11 @@
package parser package pbf
import ( import (
"bytes" "bytes"
"code.google.com/p/goprotobuf/proto" "code.google.com/p/goprotobuf/proto"
"compress/zlib" "compress/zlib"
structs "encoding/binary" structs "encoding/binary"
"goposm/parser/osmpbf" "goposm/parser/pbf/osmpbf"
"io" "io"
"log" "log"
"os" "os"

View File

@ -1,9 +1,9 @@
package parser package pbf
import ( import (
"fmt" "fmt"
"goposm/element" "goposm/element"
"goposm/parser/osmpbf" "goposm/parser/pbf/osmpbf"
"log" "log"
"os" "os"
) )

View File

@ -1,11 +1,11 @@
package parser package pbf
import ( import (
"bytes" "bytes"
"code.google.com/p/goprotobuf/proto" "code.google.com/p/goprotobuf/proto"
"compress/zlib" "compress/zlib"
"fmt" "fmt"
"goposm/parser/osmpbf" "goposm/parser/pbf/osmpbf"
"io" "io"
"log" "log"
"os" "os"

View File

@ -4,7 +4,7 @@ import (
"goposm/cache" "goposm/cache"
"goposm/element" "goposm/element"
"goposm/mapping" "goposm/mapping"
"goposm/parser" "goposm/parser/pbf"
"goposm/stats" "goposm/stats"
"os" "os"
"runtime" "runtime"
@ -48,14 +48,14 @@ func ReadPbf(cache *cache.OSMCache, progress *stats.Statistics, tagmapping *mapp
ways := make(chan []element.Way, 4) ways := make(chan []element.Way, 4)
relations := make(chan []element.Relation, 4) relations := make(chan []element.Relation, 4)
positions := parser.PBFBlockPositions(filename) positions := pbf.PBFBlockPositions(filename)
waitParser := sync.WaitGroup{} waitParser := sync.WaitGroup{}
for i := 0; int64(i) < nParser; i++ { for i := 0; int64(i) < nParser; i++ {
waitParser.Add(1) waitParser.Add(1)
go func() { go func() {
for pos := range positions { for pos := range positions {
parser.ParseBlock( pbf.ParseBlock(
pos, pos,
coords, coords,
nodes, nodes,