From 4ec962f0022451f41433b47c73eb703543773ba9 Mon Sep 17 00:00:00 2001 From: Oliver Tonnhofer Date: Tue, 30 Jul 2013 08:17:47 +0200 Subject: [PATCH] renamed geom/clipper to geom/limit --- diff/process.go | 10 ++++----- geom/geom.go | 2 +- geom/index/spatialindex.go | 6 ++--- geom/{clipper => limit}/hamburg_clip.geojson | 0 geom/{clipper/clipper.go => limit/limit.go} | 18 +++++++-------- .../clipper_test.go => limit/limit_test.go} | 22 +++++++++---------- goposm.go | 18 +++++++-------- writer/nodes.go | 4 ++-- writer/relations.go | 4 ++-- writer/ways.go | 4 ++-- writer/writer.go | 8 +++---- 11 files changed, 48 insertions(+), 48 deletions(-) rename geom/{clipper => limit}/hamburg_clip.geojson (100%) rename geom/{clipper/clipper.go => limit/limit.go} (95%) rename geom/{clipper/clipper_test.go => limit/limit_test.go} (92%) diff --git a/diff/process.go b/diff/process.go index 05a4238..81ee4c8 100644 --- a/diff/process.go +++ b/diff/process.go @@ -10,7 +10,7 @@ import ( diffstate "goposm/diff/state" "goposm/element" "goposm/expire" - "goposm/geom/clipper" + "goposm/geom/limit" "goposm/logging" "goposm/mapping" "goposm/stats" @@ -20,7 +20,7 @@ import ( var log = logging.NewLogger("diff") -func Update(oscFile string, geometryClipper *clipper.Clipper, force bool) { +func Update(oscFile string, geometryLimiter *limit.Limiter, force bool) { state, err := diffstate.ParseFromOsc(oscFile) if err != nil { log.Fatal(err) @@ -105,19 +105,19 @@ func Update(oscFile string, geometryClipper *clipper.Clipper, force bool) { relWriter := writer.NewRelationWriter(osmCache, diffCache, relations, db, polygonsTagMatcher, progress, config.DiffImportOptions.Base.Srid) - relWriter.SetClipper(geometryClipper) + relWriter.SetLimiter(geometryLimiter) relWriter.SetExpireTiles(expiredTiles) relWriter.Start() wayWriter := writer.NewWayWriter(osmCache, diffCache, ways, db, lineStringsTagMatcher, polygonsTagMatcher, progress, config.DiffImportOptions.Base.Srid) - wayWriter.SetClipper(geometryClipper) + wayWriter.SetLimiter(geometryLimiter) wayWriter.SetExpireTiles(expiredTiles) wayWriter.Start() nodeWriter := writer.NewNodeWriter(osmCache, nodes, db, pointsTagMatcher, progress, config.DiffImportOptions.Base.Srid) - nodeWriter.SetClipper(geometryClipper) + nodeWriter.SetLimiter(geometryLimiter) nodeWriter.Start() nodeIds := make(map[int64]bool) diff --git a/geom/geom.go b/geom/geom.go index 793aa25..76dc195 100644 --- a/geom/geom.go +++ b/geom/geom.go @@ -31,7 +31,7 @@ var ( func Point(g *geos.Geos, node element.Node) (*geos.Geom, error) { geom := g.Point(node.Long, node.Lat) if geom == nil { - return nil, NewGeomError("couldn't create point") + return nil, NewGeomError("couldn't create point", 1) } g.DestroyLater(geom) return geom, nil diff --git a/geom/index/spatialindex.go b/geom/index/spatialindex.go index bca5b83..d042324 100644 --- a/geom/index/spatialindex.go +++ b/geom/index/spatialindex.go @@ -3,15 +3,15 @@ package main import ( "flag" "fmt" - "goposm/geom/clipper" "goposm/geom/geos" + "goposm/geom/limit" "log" ) func main() { flag.Parse() - clipper, err := clipper.NewFromOgrSource(flag.Arg(0)) + limiter, err := limit.NewFromOgrSource(flag.Arg(0)) if err != nil { log.Fatal(err) } @@ -21,6 +21,6 @@ func main() { line := g.FromWkt("LINESTRING(1106543 7082055, 1107105.2 7087540.0)") - result, err := clipper.Clip(line) + result, err := limiter.Clip(line) fmt.Println(result, err) } diff --git a/geom/clipper/hamburg_clip.geojson b/geom/limit/hamburg_clip.geojson similarity index 100% rename from geom/clipper/hamburg_clip.geojson rename to geom/limit/hamburg_clip.geojson diff --git a/geom/clipper/clipper.go b/geom/limit/limit.go similarity index 95% rename from geom/clipper/clipper.go rename to geom/limit/limit.go index 3c738c8..a4aefa7 100644 --- a/geom/clipper/clipper.go +++ b/geom/limit/limit.go @@ -1,4 +1,4 @@ -package clipper +package limit import ( "errors" @@ -9,7 +9,7 @@ import ( "strings" ) -var log = logging.NewLogger("Clipper") +var log = logging.NewLogger("limiter") // Tile bbox into multiple sub-boxes, each of `width` size. @@ -86,17 +86,17 @@ func SplitPolygonAtGrid(g *geos.Geos, geom *geos.Geom, gridWidth, currentGridWid return result, nil } -type Clipper struct { +type Limiter struct { index *geos.Index bufferedPrep *geos.PreparedGeom bufferedBbox geos.Bounds } -func NewFromOgrSource(source string) (*Clipper, error) { +func NewFromOgrSource(source string) (*Limiter, error) { return NewFromOgrSourceWithBuffered(source, 0.0) } -func NewFromOgrSourceWithBuffered(source string, buffer float64) (*Clipper, error) { +func NewFromOgrSourceWithBuffered(source string, buffer float64) (*Limiter, error) { ds, err := ogr.Open(source) if err != nil { return nil, err @@ -161,7 +161,7 @@ func NewFromOgrSourceWithBuffered(source string, buffer float64) (*Clipper, erro return nil, errors.New("unable to prepare limitto polygons") } } - return &Clipper{index, prep, bbox}, nil + return &Limiter{index, prep, bbox}, nil } func filterGeometryByType(g *geos.Geos, geom *geos.Geom, targetType string) []*geos.Geom { @@ -202,11 +202,11 @@ func filterGeometryByType(g *geos.Geos, geom *geos.Geom, targetType string) []*g return []*geos.Geom{} } -func (clipper *Clipper) Clip(geom *geos.Geom) ([]*geos.Geom, error) { +func (l *Limiter) Clip(geom *geos.Geom) ([]*geos.Geom, error) { g := geos.NewGeos() defer g.Finish() - hits := g.IndexQuery(clipper.index, geom) + hits := g.IndexQuery(l.index, geom) if len(hits) == 0 { return nil, nil @@ -239,7 +239,7 @@ func (clipper *Clipper) Clip(geom *geos.Geom) ([]*geos.Geom, error) { return mergeGeometries(g, intersections, geomType), nil } -func (c *Clipper) IntersectsBuffer(g *geos.Geos, x, y float64) bool { +func (c *Limiter) IntersectsBuffer(g *geos.Geos, x, y float64) bool { if c.bufferedPrep == nil { return true } diff --git a/geom/clipper/clipper_test.go b/geom/limit/limit_test.go similarity index 92% rename from geom/clipper/clipper_test.go rename to geom/limit/limit_test.go index b2a3e58..9c2448e 100644 --- a/geom/clipper/clipper_test.go +++ b/geom/limit/limit_test.go @@ -1,4 +1,4 @@ -package clipper +package limit import ( "goposm/geom/geos" @@ -260,17 +260,17 @@ func TestFilterGeometryByType(t *testing.T) { func TestClipper(t *testing.T) { g := geos.NewGeos() defer g.Finish() - clipper, err := NewFromOgrSource("./hamburg_clip.geojson") + limiter, err := NewFromOgrSource("./hamburg_clip.geojson") if err != nil { t.Fatal(err) } - result, err := clipper.Clip(g.FromWkt("POINT(0 0)")) + result, err := limiter.Clip(g.FromWkt("POINT(0 0)")) if err != nil || result != nil { t.Fatal(err) } - result, err = clipper.Clip(g.FromWkt("POINT(1106543 7082055)")) + result, err = limiter.Clip(g.FromWkt("POINT(1106543 7082055)")) if err != nil { t.Fatal(err) } @@ -278,7 +278,7 @@ func TestClipper(t *testing.T) { t.Fatal() } - result, err = clipper.Clip(g.FromWkt("LINESTRING(1106543 7082055, 1107105.2 7087540.0)")) + result, err = limiter.Clip(g.FromWkt("LINESTRING(1106543 7082055, 1107105.2 7087540.0)")) if err != nil { t.Fatal(err) } @@ -287,7 +287,7 @@ func TestClipper(t *testing.T) { } geom := g.FromWkt("POLYGON((1106543 7082055, 1107105.2 7087540.0, 1112184.9 7084424.5, 1106543 7082055))") - result, err = clipper.Clip(geom) + result, err = limiter.Clip(geom) if err != nil { t.Fatal(err) } @@ -302,14 +302,14 @@ func TestClipper(t *testing.T) { func TestClipperWithBuffer(t *testing.T) { g := geos.NewGeos() defer g.Finish() - clipper, err := NewFromOgrSourceWithBuffered("./hamburg_clip.geojson", 10000.0) + limiter, err := NewFromOgrSourceWithBuffered("./hamburg_clip.geojson", 10000.0) if err != nil { t.Fatal(err) } - if clipper.IntersectsBuffer(g, 1106543, 7082055) != true { + if limiter.IntersectsBuffer(g, 1106543, 7082055) != true { t.Fatal() } - if clipper.IntersectsBuffer(g, 1006543, 7082055) != false { + if limiter.IntersectsBuffer(g, 1006543, 7082055) != false { t.Fatal() } } @@ -317,14 +317,14 @@ func TestClipperWithBuffer(t *testing.T) { func BenchmarkClipper(b *testing.B) { g := geos.NewGeos() defer g.Finish() - clipper, err := NewFromOgrSource("./hamburg_clip.geojson") + limiter, err := NewFromOgrSource("./hamburg_clip.geojson") if err != nil { b.Fatal(err) } geom := g.FromWkt("LINESTRING(1106543 7082055, 1107105.2 7087540.0)") for i := 0; i < b.N; i++ { - result, err := clipper.Clip(geom) + result, err := limiter.Clip(geom) if err != nil { b.Fatal(err) } diff --git a/goposm.go b/goposm.go index 227ed1d..cb1681e 100644 --- a/goposm.go +++ b/goposm.go @@ -8,7 +8,7 @@ import ( _ "goposm/database/postgis" "goposm/diff" state "goposm/diff/state" - "goposm/geom/clipper" + "goposm/geom/limit" "goposm/logging" "goposm/mapping" "goposm/parser/pbf" @@ -70,11 +70,11 @@ func main() { reportErrors(errs) break } - var geometryClipper *clipper.Clipper + var geometryLimiter *limit.Limiter if config.DiffImportOptions.Base.LimitTo != "" { var err error step := log.StartStep("Reading limitto geometries") - geometryClipper, err = clipper.NewFromOgrSource(config.DiffImportOptions.Base.LimitTo) + geometryLimiter, err = limit.NewFromOgrSource(config.DiffImportOptions.Base.LimitTo) if err != nil { log.Fatal(err) } @@ -82,7 +82,7 @@ func main() { } for _, oscFile := range config.DiffImportFlags.Args() { - diff.Update(oscFile, geometryClipper, false) + diff.Update(oscFile, geometryLimiter, false) } default: log.Fatal("invalid command") @@ -135,11 +135,11 @@ func mainimport() { log.Fatal("-revertdeploy not compatible with -deployproduction/-removebackup") } - var geometryClipper *clipper.Clipper + var geometryLimiter *limit.Limiter if config.ImportOptions.Write && config.ImportOptions.Base.LimitTo != "" { var err error step := log.StartStep("Reading limitto geometries") - geometryClipper, err = clipper.NewFromOgrSource(config.ImportOptions.Base.LimitTo) + geometryLimiter, err = limit.NewFromOgrSource(config.ImportOptions.Base.LimitTo) if err != nil { log.Fatal(err) } @@ -254,7 +254,7 @@ func mainimport() { relations := osmCache.Relations.Iter() relWriter := writer.NewRelationWriter(osmCache, diffCache, relations, db, polygonsTagMatcher, progress, config.ImportOptions.Base.Srid) - relWriter.SetClipper(geometryClipper) + relWriter.SetLimiter(geometryLimiter) relWriter.Start() // blocks till the Relations.Iter() finishes @@ -264,7 +264,7 @@ func mainimport() { ways := osmCache.Ways.Iter() wayWriter := writer.NewWayWriter(osmCache, diffCache, ways, db, lineStringsTagMatcher, polygonsTagMatcher, progress, config.ImportOptions.Base.Srid) - wayWriter.SetClipper(geometryClipper) + wayWriter.SetLimiter(geometryLimiter) wayWriter.Start() // blocks till the Ways.Iter() finishes @@ -274,7 +274,7 @@ func mainimport() { nodes := osmCache.Nodes.Iter() nodeWriter := writer.NewNodeWriter(osmCache, nodes, db, pointsTagMatcher, progress, config.ImportOptions.Base.Srid) - nodeWriter.SetClipper(geometryClipper) + nodeWriter.SetLimiter(geometryLimiter) nodeWriter.Start() // blocks till the Nodes.Iter() finishes diff --git a/writer/nodes.go b/writer/nodes.go index f96055c..2cdc3d7 100644 --- a/writer/nodes.go +++ b/writer/nodes.go @@ -66,8 +66,8 @@ func (nw *NodeWriter) loop() { continue } - if nw.clipper != nil { - parts, err := nw.clipper.Clip(n.Geom.Geom) + if nw.limiter != nil { + parts, err := nw.limiter.Clip(n.Geom.Geom) if err != nil { log.Println(err) continue diff --git a/writer/relations.go b/writer/relations.go index 06a3f01..739b3e7 100644 --- a/writer/relations.go +++ b/writer/relations.go @@ -107,8 +107,8 @@ NextRel: continue NextRel } - if rw.clipper != nil { - parts, err := rw.clipper.Clip(r.Geom.Geom) + if rw.limiter != nil { + parts, err := rw.limiter.Clip(r.Geom.Geom) if err != nil { log.Println(err) continue NextRel diff --git a/writer/ways.go b/writer/ways.go index a203d03..ae2b161 100644 --- a/writer/ways.go +++ b/writer/ways.go @@ -109,8 +109,8 @@ func (ww *WayWriter) buildAndInsert(geos *geos.Geos, w *element.Way, matches []m return } - if ww.clipper != nil { - parts, err := ww.clipper.Clip(way.Geom.Geom) + if ww.limiter != nil { + parts, err := ww.limiter.Clip(way.Geom.Geom) if err != nil { log.Println(err) return diff --git a/writer/writer.go b/writer/writer.go index 6e7062b..db0f1cb 100644 --- a/writer/writer.go +++ b/writer/writer.go @@ -5,7 +5,7 @@ import ( "goposm/database" "goposm/element" "goposm/expire" - "goposm/geom/clipper" + "goposm/geom/limit" "goposm/mapping" "goposm/stats" "runtime" @@ -26,14 +26,14 @@ type OsmElemWriter struct { progress *stats.Statistics insertBuffer database.RowInserter wg *sync.WaitGroup - clipper *clipper.Clipper + limiter *limit.Limiter writer looper srid int expireTiles *expire.Tiles } -func (writer *OsmElemWriter) SetClipper(clipper *clipper.Clipper) { - writer.clipper = clipper +func (writer *OsmElemWriter) SetLimiter(limiter *limit.Limiter) { + writer.limiter = limiter } func (writer *OsmElemWriter) Start() {