do not log NotFound errors when collecting relations for relation members
(other NotFounds are already discarded)master
parent
ada5423e7e
commit
3c271279b2
|
@ -140,4 +140,18 @@
|
||||||
<tag k="type" v="route"/>
|
<tag k="type" v="route"/>
|
||||||
</relation>
|
</relation>
|
||||||
|
|
||||||
|
<!-- relation with missing members -->
|
||||||
|
<node id="120101" version="1" timestamp="2015-12-31T23:59:99Z" lat="53.0" lon="8.200">
|
||||||
|
<tag k="name" v="Stop"/>
|
||||||
|
</node>
|
||||||
|
|
||||||
|
<relation id="120901" version="23" timestamp="2015-06-02T04:13:19Z">
|
||||||
|
<member type="node" ref="120101" role="stop"/>
|
||||||
|
<member type="relation" ref="120102" role="stop"/> <!-- missing -->
|
||||||
|
<member type="node" ref="120103" role="stop"/> <!-- missing -->
|
||||||
|
<tag k="route" v="bus"/>
|
||||||
|
<tag k="type" v="route"/>
|
||||||
|
</relation>
|
||||||
|
|
||||||
|
|
||||||
</osm>
|
</osm>
|
||||||
|
|
|
@ -60,7 +60,7 @@ func TestRouteRelation_MemberGeomUpdated1(t *testing.T) {
|
||||||
t.Fatal(rows)
|
t.Fatal(rows)
|
||||||
}
|
}
|
||||||
g := ts.g.FromWkt(rows[0]["wkt"])
|
g := ts.g.FromWkt(rows[0]["wkt"])
|
||||||
if math.Abs(g.Length() - 111.32448543701321) > 0.00000001 {
|
if math.Abs(g.Length()-111.32448543701321) > 0.00000001 {
|
||||||
t.Fatal(g.Length())
|
t.Fatal(g.Length())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,6 +73,14 @@ func TestRouteRelation_MemberGeomUpdated1(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestRouteRelation_NoRouteWithMissingMember(t *testing.T) {
|
||||||
|
// current implementation: route members are all or nothing.
|
||||||
|
// if one member is missing, no member is imported
|
||||||
|
if r := ts.queryDynamic(t, "osm_route_members", "osm_id = -120901 AND member = 120101"); len(r) > 0 {
|
||||||
|
t.Error("found member from route with missing members")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// #######################################################################
|
// #######################################################################
|
||||||
|
|
||||||
func TestRouteRelation_Update(t *testing.T) {
|
func TestRouteRelation_Update(t *testing.T) {
|
||||||
|
@ -87,7 +95,7 @@ func TestRouteRelation_MemberGeomUpdated2(t *testing.T) {
|
||||||
t.Fatal(rows)
|
t.Fatal(rows)
|
||||||
}
|
}
|
||||||
g := ts.g.FromWkt(rows[0]["wkt"])
|
g := ts.g.FromWkt(rows[0]["wkt"])
|
||||||
if math.Abs(g.Length() - 184.97560221624542) > 0.00000001 {
|
if math.Abs(g.Length()-184.97560221624542) > 0.00000001 {
|
||||||
t.Fatal(g.Length())
|
t.Fatal(g.Length())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -225,10 +225,10 @@ func handleRelationMembers(rw *RelationWriter, r *element.Relation, geos *geosp.
|
||||||
if m.Type == element.RELATION {
|
if m.Type == element.RELATION {
|
||||||
mrel, err := rw.osmCache.Relations.GetRelation(m.Id)
|
mrel, err := rw.osmCache.Relations.GetRelation(m.Id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == cache.NotFound {
|
if err != cache.NotFound {
|
||||||
log.Warn(err)
|
log.Warn(err)
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
r.Members[i].Elem = &mrel.OSMElem
|
r.Members[i].Elem = &mrel.OSMElem
|
||||||
} else if m.Type == element.NODE {
|
} else if m.Type == element.NODE {
|
||||||
|
|
Loading…
Reference in New Issue