remove tagmatcher from Writer

master
Oliver Tonnhofer 2013-10-28 11:37:58 +01:00
parent 748354ba18
commit ce962c785e
5 changed files with 16 additions and 34 deletions

View File

@ -96,28 +96,24 @@ func Update(oscFile string, geometryLimiter *limit.Limiter, force bool) {
wayTagFilter := tagmapping.WayTagFilter() wayTagFilter := tagmapping.WayTagFilter()
nodeTagFilter := tagmapping.NodeTagFilter() nodeTagFilter := tagmapping.NodeTagFilter()
pointsTagMatcher := tagmapping.PointMatcher()
lineStringsTagMatcher := tagmapping.LineStringMatcher()
polygonsTagMatcher := tagmapping.PolygonMatcher()
relations := make(chan *element.Relation) relations := make(chan *element.Relation)
ways := make(chan *element.Way) ways := make(chan *element.Way)
nodes := make(chan *element.Node) nodes := make(chan *element.Node)
relWriter := writer.NewRelationWriter(osmCache, diffCache, relations, relWriter := writer.NewRelationWriter(osmCache, diffCache, relations,
db, polygonsTagMatcher, progress, config.BaseOptions.Srid) db, progress, config.BaseOptions.Srid)
relWriter.SetLimiter(geometryLimiter) relWriter.SetLimiter(geometryLimiter)
relWriter.SetExpireTiles(expiredTiles) relWriter.SetExpireTiles(expiredTiles)
relWriter.Start() relWriter.Start()
wayWriter := writer.NewWayWriter(osmCache, diffCache, ways, db, wayWriter := writer.NewWayWriter(osmCache, diffCache, ways, db,
lineStringsTagMatcher, polygonsTagMatcher, progress, config.BaseOptions.Srid) progress, config.BaseOptions.Srid)
wayWriter.SetLimiter(geometryLimiter) wayWriter.SetLimiter(geometryLimiter)
wayWriter.SetExpireTiles(expiredTiles) wayWriter.SetExpireTiles(expiredTiles)
wayWriter.Start() wayWriter.Start()
nodeWriter := writer.NewNodeWriter(osmCache, nodes, db, nodeWriter := writer.NewNodeWriter(osmCache, nodes, db,
pointsTagMatcher, progress, config.BaseOptions.Srid) progress, config.BaseOptions.Srid)
nodeWriter.SetLimiter(geometryLimiter) nodeWriter.SetLimiter(geometryLimiter)
nodeWriter.Start() nodeWriter.Start()

View File

@ -250,13 +250,10 @@ func mainimport() {
diffCache.Ways.SetLinearImport(true) diffCache.Ways.SetLinearImport(true)
} }
osmCache.Coords.SetReadOnly(true) osmCache.Coords.SetReadOnly(true)
pointsTagMatcher := tagmapping.PointMatcher()
lineStringsTagMatcher := tagmapping.LineStringMatcher()
polygonsTagMatcher := tagmapping.PolygonMatcher()
relations := osmCache.Relations.Iter() relations := osmCache.Relations.Iter()
relWriter := writer.NewRelationWriter(osmCache, diffCache, relations, relWriter := writer.NewRelationWriter(osmCache, diffCache, relations,
db, polygonsTagMatcher, progress, config.BaseOptions.Srid) db, progress, config.BaseOptions.Srid)
relWriter.SetLimiter(geometryLimiter) relWriter.SetLimiter(geometryLimiter)
relWriter.Start() relWriter.Start()
@ -266,7 +263,7 @@ func mainimport() {
ways := osmCache.Ways.Iter() ways := osmCache.Ways.Iter()
wayWriter := writer.NewWayWriter(osmCache, diffCache, ways, db, wayWriter := writer.NewWayWriter(osmCache, diffCache, ways, db,
lineStringsTagMatcher, polygonsTagMatcher, progress, config.BaseOptions.Srid) progress, config.BaseOptions.Srid)
wayWriter.SetLimiter(geometryLimiter) wayWriter.SetLimiter(geometryLimiter)
wayWriter.Start() wayWriter.Start()
@ -276,7 +273,7 @@ func mainimport() {
nodes := osmCache.Nodes.Iter() nodes := osmCache.Nodes.Iter()
nodeWriter := writer.NewNodeWriter(osmCache, nodes, db, nodeWriter := writer.NewNodeWriter(osmCache, nodes, db,
pointsTagMatcher, progress, config.BaseOptions.Srid) progress, config.BaseOptions.Srid)
nodeWriter.SetLimiter(geometryLimiter) nodeWriter.SetLimiter(geometryLimiter)
nodeWriter.Start() nodeWriter.Start()

View File

@ -6,7 +6,6 @@ import (
"imposm3/element" "imposm3/element"
"imposm3/geom" "imposm3/geom"
"imposm3/geom/geos" "imposm3/geom/geos"
"imposm3/mapping"
"imposm3/proj" "imposm3/proj"
"imposm3/stats" "imposm3/stats"
"log" "log"
@ -15,12 +14,11 @@ import (
type NodeWriter struct { type NodeWriter struct {
OsmElemWriter OsmElemWriter
nodes chan *element.Node nodes chan *element.Node
tagMatcher *mapping.TagMatcher
} }
func NewNodeWriter(osmCache *cache.OSMCache, nodes chan *element.Node, func NewNodeWriter(osmCache *cache.OSMCache, nodes chan *element.Node,
inserter database.Inserter, tagMatcher *mapping.TagMatcher, progress *stats.Statistics, inserter database.Inserter, progress *stats.Statistics,
srid int) *OsmElemWriter { srid int) *OsmElemWriter {
nw := NodeWriter{ nw := NodeWriter{
OsmElemWriter: OsmElemWriter{ OsmElemWriter: OsmElemWriter{
@ -30,8 +28,7 @@ func NewNodeWriter(osmCache *cache.OSMCache, nodes chan *element.Node,
inserter: inserter, inserter: inserter,
srid: srid, srid: srid,
}, },
nodes: nodes, nodes: nodes,
tagMatcher: tagMatcher,
} }
nw.OsmElemWriter.writer = &nw nw.OsmElemWriter.writer = &nw
return &nw.OsmElemWriter return &nw.OsmElemWriter

View File

@ -7,7 +7,6 @@ import (
"imposm3/element" "imposm3/element"
"imposm3/geom" "imposm3/geom"
"imposm3/geom/geos" "imposm3/geom/geos"
"imposm3/mapping"
"imposm3/proj" "imposm3/proj"
"imposm3/stats" "imposm3/stats"
"log" "log"
@ -16,12 +15,11 @@ import (
type RelationWriter struct { type RelationWriter struct {
OsmElemWriter OsmElemWriter
rel chan *element.Relation rel chan *element.Relation
tagMatcher *mapping.TagMatcher
} }
func NewRelationWriter(osmCache *cache.OSMCache, diffCache *cache.DiffCache, rel chan *element.Relation, func NewRelationWriter(osmCache *cache.OSMCache, diffCache *cache.DiffCache, rel chan *element.Relation,
inserter database.Inserter, tagMatcher *mapping.TagMatcher, progress *stats.Statistics, inserter database.Inserter, progress *stats.Statistics,
srid int) *OsmElemWriter { srid int) *OsmElemWriter {
rw := RelationWriter{ rw := RelationWriter{
OsmElemWriter: OsmElemWriter{ OsmElemWriter: OsmElemWriter{
@ -32,8 +30,7 @@ func NewRelationWriter(osmCache *cache.OSMCache, diffCache *cache.DiffCache, rel
inserter: inserter, inserter: inserter,
srid: srid, srid: srid,
}, },
rel: rel, rel: rel,
tagMatcher: tagMatcher,
} }
rw.OsmElemWriter.writer = &rw rw.OsmElemWriter.writer = &rw
return &rw.OsmElemWriter return &rw.OsmElemWriter

View File

@ -6,7 +6,6 @@ import (
"imposm3/element" "imposm3/element"
"imposm3/geom" "imposm3/geom"
"imposm3/geom/geos" "imposm3/geom/geos"
"imposm3/mapping"
"imposm3/proj" "imposm3/proj"
"imposm3/stats" "imposm3/stats"
"log" "log"
@ -15,14 +14,12 @@ import (
type WayWriter struct { type WayWriter struct {
OsmElemWriter OsmElemWriter
ways chan *element.Way ways chan *element.Way
lineStringTagMatcher *mapping.TagMatcher
polygonTagMatcher *mapping.TagMatcher
} }
func NewWayWriter(osmCache *cache.OSMCache, diffCache *cache.DiffCache, ways chan *element.Way, func NewWayWriter(osmCache *cache.OSMCache, diffCache *cache.DiffCache, ways chan *element.Way,
inserter database.Inserter, lineStringTagMatcher *mapping.TagMatcher, inserter database.Inserter,
polygonTagMatcher *mapping.TagMatcher, progress *stats.Statistics, srid int) *OsmElemWriter { progress *stats.Statistics, srid int) *OsmElemWriter {
ww := WayWriter{ ww := WayWriter{
OsmElemWriter: OsmElemWriter{ OsmElemWriter: OsmElemWriter{
osmCache: osmCache, osmCache: osmCache,
@ -32,9 +29,7 @@ func NewWayWriter(osmCache *cache.OSMCache, diffCache *cache.DiffCache, ways cha
inserter: inserter, inserter: inserter,
srid: srid, srid: srid,
}, },
ways: ways, ways: ways,
lineStringTagMatcher: lineStringTagMatcher,
polygonTagMatcher: polygonTagMatcher,
} }
ww.OsmElemWriter.writer = &ww ww.OsmElemWriter.writer = &ww
return &ww.OsmElemWriter return &ww.OsmElemWriter