1616import org .elasticsearch .test .ESTestCase ;
1717import org .hamcrest .Matchers ;
1818
19+ import static org .elasticsearch .common .geo .GeoUtils .normalizeLat ;
20+ import static org .elasticsearch .common .geo .GeoUtils .normalizeLon ;
1921import static org .elasticsearch .search .aggregations .bucket .geogrid .GeoTileUtils .MAX_ZOOM ;
2022import static org .elasticsearch .search .aggregations .bucket .geogrid .GeoTileUtils .checkPrecisionRange ;
2123import static org .elasticsearch .search .aggregations .bucket .geogrid .GeoTileUtils .hashToGeoPoint ;
@@ -53,20 +55,20 @@ public void testLongEncode() {
5355 assertEquals (0x77FFFF4580000000L , longEncode (179.999 , 89.999 , 29 ));
5456 assertEquals (0x740000BA7FFFFFFFL , longEncode (-179.999 , -89.999 , 29 ));
5557 assertEquals (0x0800000040000001L , longEncode (1 , 1 , 2 ));
56- assertEquals (0x0C00000060000000L , longEncode (-20 , 100 , 3 ));
58+ assertEquals (0x0C00000060000000L , longEncode (-20 , normalizeLat ( 100 ) , 3 ));
5759 assertEquals (0x71127D27C8ACA67AL , longEncode (13 , -15 , 28 ));
5860 assertEquals (0x4C0077776003A9ACL , longEncode (-12 , 15 , 19 ));
59- assertEquals (0x140000024000000EL , longEncode (-328.231870 , 16.064082 , 5 ));
60- assertEquals (0x6436F96B60000000L , longEncode (-590.769588 , 89.549167 , 25 ));
61- assertEquals (0x6411BD6BA0A98359L , longEncode (999.787079 , 51.830093 , 25 ));
62- assertEquals (0x751BD6BBCA983596L , longEncode (999.787079 , 51.830093 , 29 ));
63- assertEquals (0x77CF880A20000000L , longEncode (-557.039740 , -632.103969 , 29 ));
61+ assertEquals (0x140000024000000EL , longEncode (normalizeLon ( -328.231870 ) , 16.064082 , 5 ));
62+ assertEquals (0x6436F96B60000000L , longEncode (normalizeLon ( -590.769588 ) , 89.549167 , 25 ));
63+ assertEquals (0x6411BD6BA0A98359L , longEncode (normalizeLon ( 999.787079 ) , 51.830093 , 25 ));
64+ assertEquals (0x751BD6BBCA983596L , longEncode (normalizeLon ( 999.787079 ) , 51.830093 , 29 ));
65+ assertEquals (0x77CF880A20000000L , longEncode (normalizeLon ( -557.039740 ), normalizeLat ( -632.103969 ) , 29 ));
6466 assertEquals (0x7624FA4FA0000000L , longEncode (13 , 88 , 29 ));
6567 assertEquals (0x7624FA4FBFFFFFFFL , longEncode (13 , -88 , 29 ));
6668 assertEquals (0x0400000020000000L , longEncode (13 , 89 , 1 ));
6769 assertEquals (0x0400000020000001L , longEncode (13 , -89 , 1 ));
68- assertEquals (0x0400000020000000L , longEncode (13 , 95 , 1 ));
69- assertEquals (0x0400000020000001L , longEncode (13 , -95 , 1 ));
70+ assertEquals (0x0400000020000000L , longEncode (13 , normalizeLat ( 95 ) , 1 ));
71+ assertEquals (0x0400000020000001L , longEncode (13 , normalizeLat ( -95 ) , 1 ));
7072
7173 expectThrows (IllegalArgumentException .class , () -> longEncode (0 , 0 , -1 ));
7274 expectThrows (IllegalArgumentException .class , () -> longEncode (-1 , 0 , MAX_ZOOM + 1 ));
@@ -78,20 +80,20 @@ public void testLongEncodeFromString() {
7880 assertEquals (0x77FFFF4580000000L , longEncode (stringEncode (longEncode (179.999 , 89.999 , 29 ))));
7981 assertEquals (0x740000BA7FFFFFFFL , longEncode (stringEncode (longEncode (-179.999 , -89.999 , 29 ))));
8082 assertEquals (0x0800000040000001L , longEncode (stringEncode (longEncode (1 , 1 , 2 ))));
81- assertEquals (0x0C00000060000000L , longEncode (stringEncode (longEncode (-20 , 100 , 3 ))));
83+ assertEquals (0x0C00000060000000L , longEncode (stringEncode (longEncode (-20 , normalizeLat ( 100 ) , 3 ))));
8284 assertEquals (0x71127D27C8ACA67AL , longEncode (stringEncode (longEncode (13 , -15 , 28 ))));
8385 assertEquals (0x4C0077776003A9ACL , longEncode (stringEncode (longEncode (-12 , 15 , 19 ))));
84- assertEquals (0x140000024000000EL , longEncode (stringEncode (longEncode (-328.231870 , 16.064082 , 5 ))));
85- assertEquals (0x6436F96B60000000L , longEncode (stringEncode (longEncode (-590.769588 , 89.549167 , 25 ))));
86- assertEquals (0x6411BD6BA0A98359L , longEncode (stringEncode (longEncode (999.787079 , 51.830093 , 25 ))));
87- assertEquals (0x751BD6BBCA983596L , longEncode (stringEncode (longEncode (999.787079 , 51.830093 , 29 ))));
88- assertEquals (0x77CF880A20000000L , longEncode (stringEncode (longEncode (-557.039740 , -632.103969 , 29 ))));
86+ assertEquals (0x140000024000000EL , longEncode (stringEncode (longEncode (normalizeLon ( -328.231870 ) , 16.064082 , 5 ))));
87+ assertEquals (0x6436F96B60000000L , longEncode (stringEncode (longEncode (normalizeLon ( -590.769588 ) , 89.549167 , 25 ))));
88+ assertEquals (0x6411BD6BA0A98359L , longEncode (stringEncode (longEncode (normalizeLon ( 999.787079 ) , 51.830093 , 25 ))));
89+ assertEquals (0x751BD6BBCA983596L , longEncode (stringEncode (longEncode (normalizeLon ( 999.787079 ) , 51.830093 , 29 ))));
90+ assertEquals (0x77CF880A20000000L , longEncode (stringEncode (longEncode (normalizeLon ( -557.039740 ), normalizeLat ( -632.103969 ) , 29 ))));
8991 assertEquals (0x7624FA4FA0000000L , longEncode (stringEncode (longEncode (13 , 88 , 29 ))));
9092 assertEquals (0x7624FA4FBFFFFFFFL , longEncode (stringEncode (longEncode (13 , -88 , 29 ))));
9193 assertEquals (0x0400000020000000L , longEncode (stringEncode (longEncode (13 , 89 , 1 ))));
9294 assertEquals (0x0400000020000001L , longEncode (stringEncode (longEncode (13 , -89 , 1 ))));
93- assertEquals (0x0400000020000000L , longEncode (stringEncode (longEncode (13 , 95 , 1 ))));
94- assertEquals (0x0400000020000001L , longEncode (stringEncode (longEncode (13 , -95 , 1 ))));
95+ assertEquals (0x0400000020000000L , longEncode (stringEncode (longEncode (13 , normalizeLat ( 95 ) , 1 ))));
96+ assertEquals (0x0400000020000001L , longEncode (stringEncode (longEncode (13 , normalizeLat ( -95 ) , 1 ))));
9597
9698 expectThrows (IllegalArgumentException .class , () -> longEncode ("12/asdf/1" ));
9799 expectThrows (IllegalArgumentException .class , () -> longEncode ("foo" ));
0 commit comments