allways call Expire with wgs84 coords

master
Oliver Tonnhofer 2016-11-22 17:06:58 +01:00
parent 02e2abfd2a
commit bba7d68380
5 changed files with 17 additions and 10 deletions

View File

@ -7,7 +7,6 @@ import (
"github.com/omniscale/imposm3/element"
"github.com/omniscale/imposm3/expire"
"github.com/omniscale/imposm3/mapping"
"github.com/omniscale/imposm3/proj"
)
type Deleter struct {
@ -134,8 +133,7 @@ func (d *Deleter) deleteRelation(id int64, deleteRefs bool, deleteMembers bool)
if err != nil {
continue
}
proj.NodesToMerc(m.Way.Nodes)
expire.ExpireNodes(d.expireor, m.Way.Nodes)
expire.ExpireNodes(d.expireor, m.Way.Nodes, 4326)
}
}
return nil
@ -179,7 +177,7 @@ func (d *Deleter) deleteWay(id int64, deleteRefs bool) error {
if err != nil {
return err
}
expire.ExpireNodes(d.expireor, elem.Nodes)
expire.ExpireNodes(d.expireor, elem.Nodes, 4326)
}
return nil
}

View File

@ -2,14 +2,23 @@ package expire
import (
"github.com/omniscale/imposm3/element"
"github.com/omniscale/imposm3/proj"
)
type Expireor interface {
Expire(long, lat float64)
}
func ExpireNodes(expireor Expireor, nodes []element.Node) {
for _, nd := range nodes {
expireor.Expire(nd.Long, nd.Lat)
func ExpireNodes(expireor Expireor, nodes []element.Node, srid int) {
if srid == 4326 {
for _, nd := range nodes {
expireor.Expire(nd.Long, nd.Lat)
}
} else if srid == 4326 {
for _, nd := range nodes {
expireor.Expire(proj.MercToWgs(nd.Long, nd.Lat))
}
} else {
panic("unsupported srid")
}
}

View File

@ -49,10 +49,10 @@ func (nw *NodeWriter) loop() {
for n := range nw.nodes {
nw.progress.AddNodes(1)
if matches := nw.pointMatcher.MatchNode(n); len(matches) > 0 {
nw.NodeToSrid(n)
if nw.expireor != nil {
nw.expireor.Expire(n.Long, n.Lat)
}
nw.NodeToSrid(n)
point, err := geomp.Point(geos, *n)
if err != nil {
if errl, ok := err.(ErrorLevel); !ok || errl.Level() > 0 {

View File

@ -125,7 +125,7 @@ NextRel:
if inserted && rw.expireor != nil {
for _, m := range allMembers {
if m.Way != nil {
expire.ExpireNodes(rw.expireor, m.Way.Nodes)
expire.ExpireNodes(rw.expireor, m.Way.Nodes, rw.srid)
}
}
}

View File

@ -112,7 +112,7 @@ func (ww *WayWriter) loop() {
}
if inserted && ww.expireor != nil {
expire.ExpireNodes(ww.expireor, w.Nodes)
expire.ExpireNodes(ww.expireor, w.Nodes, ww.srid)
}
if ww.diffCache != nil {
ww.diffCache.Coords.AddFromWay(w)