Open andymstone opened 4 years ago
Seems legit.
Hope that someone can fix this.
@Test @Ignore
public void testIssue38() {
assertEquals("America/Godthab", TimezoneMapper.latLngToTimezoneString(65.842400, -52.665800));
assertNotEquals("America/Goose_Bay", TimezoneMapper.latLngToTimezoneString(65.842400, -52.665800));
}
I think there is a bug in
TimeZoneMapperConverter.split2Polys
where it splits a node with 2 non-overlapping polygons into 2 pure nodes. It works out if it can do the split on longitude/latitude, but then it always assignspoly1
toleft
andpoly2
toright
, but I think actually in the first branch of theif
statement (if (box1.lat1 > box2.lat2)
) you should assign the polygons the otherway around? Sincepoly1
is north ofpoly2
it should be assigned toright
? Similarly in the 3rd branch wherepoly1
is east ofpoly2
.The result of this error is cases like (65.842400, -52.665800) which should have time zone America/Godthab but doesn't because the wrong polygon ended up in the leaf node.