Commit Graph

388 Commits

Author SHA1 Message Date
Karl Wright e06554ad40 LUCENE-8227: Widen plane envelopes a small amount to allow for some imprecision when intersecting inner and outer edges. 2018-03-30 08:36:47 -04:00
Shalin Shekhar Mangar b78d980097 LUCENE-8227: Remove unused import to make precommit happy 2018-03-30 16:54:44 +05:30
Karl Wright bc40f6c7e2 LUCENE-8227: Redevelop path iterator implementations to make them robust against edges on paths. 2018-03-30 06:43:42 -04:00
Karl Wright 5b429df56f LUCENE-8227: Under pressure, had to @Ignore tests that caused intermittent failures. This means no further work on Geo3D until these tests can be re-enabled. 2018-03-29 10:37:28 -04:00
Karl Wright 6dcb6ae641 LUCENE-8227: Handle identical planes properly in GeoComplexPolygon. 2018-03-27 19:05:27 -04:00
Karl Wright 26ba705a4f LUCENE-8220: Fix yet another case where we cannot tile. 2018-03-26 06:20:34 -04:00
Karl Wright 85c182607b LUCENE-8220: Add general makeGeoPolygon variant that decides the best technology for you. 2018-03-25 12:20:41 -04:00
Karl Wright 273a829c46 LUCENE-8220: Switch over to using GeoComplexPolygon if we can't tile a polygon. 2018-03-25 08:17:08 -04:00
Karl Wright 5e1d6f36f7 LUCENE-8220: Code cleanup in preparation for returning GeoComplexPolygon as an alternative instead of tiling. 2018-03-25 07:41:20 -04:00
Karl Wright 9e5468adcd LUCENE-8220: need a continue, not a break 2018-03-25 03:58:51 -04:00
Karl Wright d49ba5c333 LUCENE-8220: Refine how handle tiling coplanarities further. 2018-03-25 03:46:08 -04:00
Karl Wright 086682bc33 LUCENE-8220: Handle polygon tiling issues in a more robust way. 2018-03-24 11:03:15 -04:00
Karl Wright cd39314a00 LUCENE-8214: Do a better job of selecting the test point for a geocomplexpolygon. 2018-03-18 16:12:29 -04:00
Karl Wright 349579f010 LUCENE-8211: Handle the case where we've got a full-half-world single-plane path in GeoComplexPolygon. 2018-03-16 10:43:54 -04:00
Karl Wright b896fe68a7 LUCENE-8208: Use a tighter definition of identical when it comes to vectors. 2018-03-15 12:29:30 -04:00
Ignacio Vera e3032dd3fc LUCENE-8126: New spatial prefix tree (SPT) based on google S2 geometry 2018-03-02 10:29:07 +01:00
Karl Wright d21e104de2 LUCENE-8187: Reduce the count of test iterations for nightly because it was causing timeouts. 2018-02-27 17:15:42 -05:00
Erick Erickson 1fe45606b9 SOLR-12028: BadApple and AwaitsFix annotations usage 2018-02-26 20:35:12 -08:00
Karl Wright 00f970cec6 Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/lucene-solr 2018-02-13 17:00:34 -05:00
Karl Wright 34354e90fe LUCENE-8173: Tighten the envelope so Gram-Schmidt gets a tighter answer. Less likely to blow up later. 2018-02-13 17:00:18 -05:00
Christine Poerschke 6b6927ea6f LUCENE-8171: Remove unused import. 2018-02-13 17:36:48 +00:00
Karl Wright dd08400a3d LUCENE-8171: Check only for exactly zero magnitude vector, and otherwise let the iterative code try to converge. 2018-02-13 10:31:13 -05:00
Karl Wright 4f351fd21b LUCENE-8171: Refactor vector constructor to support later changes, and add an ignored test for a precision issue. 2018-02-13 09:53:04 -05:00
Ishan Chattopadhyaya 277097cd24 LUCENE-8157: Fixing precommit 2018-02-10 20:07:41 +05:30
Karl Wright 1fe34f1e89 LUCENE-8157: Do a better job of handling coplanar points in polygon construction. Thanks to Ignacio Vera for his help on this code. 2018-02-10 07:53:36 -05:00
Karl Wright ebb346d582 LUCENE-8141: Do a better job of making sure polygon points are not coplanar. Committed on behalf of Ignacio Vera. 2018-01-31 08:20:58 -05:00
Karl Wright c10ba5a6d9 LUCENE-8139: Optimize polygon interior point discovery to check center of mass first. Committed on behalf of Ignacio Vera. 2018-01-25 10:33:42 -05:00
Karl Wright ad131bde32 LUCENE-8136: Adopt iterative convergence for construction of planes from two vectors. Thanks, Ignacio Vera! 2018-01-25 07:03:45 -05:00
Karl Wright a7a28ec170 LUCENE-8133: Increase MINIMUM_RESOLUTION to 1.5e-12. 2018-01-23 07:34:49 -05:00
Karl Wright bdfbe433a3 LUCENE-8107: Fix test to not pick too large a distance. Committed on behalf of Ignacio Vera. 2018-01-02 06:38:13 -05:00
Karl Wright 8b732099c7 LUCENE-8095: Improve javadocs for circle constructors, and rename some variables. 2017-12-13 07:09:46 -05:00
Karl Wright 952f4c4e59 LUCENE-8089: Add PlanetModel method that returns true if planetmodel is a sphere. 2017-12-11 04:21:52 -05:00
Karl Wright a948adc390 LUCENE-8088: Fix for random shape generator; committed on behalf of Ignacio Vera. 2017-12-10 06:37:10 -05:00
Karl Wright dcb84701a4 Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/lucene-solr 2017-12-08 05:41:33 -05:00
Karl Wright 18f12fdb28 LUCENE-8080: Detect when we are constructing a bogus exact circle, and throw an IllegalArgumentException in that case. Committed on behalf of Ignacio Vera. 2017-12-08 05:41:11 -05:00
Adrien Grand 4fc5a872de LUCENE-4100: Faster disjunctions when the hit count is not needed. 2017-12-07 10:49:39 +01:00
Karl Wright 3fcee1266e LUCENE-8076: It is possible to create planet models that are not normalized and this messes up surface distance computations. Therefore, normalize these computations. Committed on behalf of Ignacio Vera. 2017-12-03 04:27:51 -05:00
Karl Wright 6c3869f8b1 LUCENE-8071: Handle large concave circles properly. Committed on behalf of Ignacio Vera. 2017-12-01 10:44:58 -05:00
Karl Wright 249dac1a5d LUCENE-8070: Put in a check that prevents a bogus exact circle from being created. 2017-11-30 20:51:50 -05:00
Karl Wright cabaafa194 LUCENE-8067: Refactor exact circle tests. Committed on behalf of Ignacio Vera. 2017-11-28 03:01:05 -05:00
Karl Wright e3d78ef13e LUCENE-8066: Simplify exact circle computations to work on a sector basis rather than using an articulation line. Committed on behalf of Ignacio Vera. 2017-11-25 13:29:32 -05:00
Karl Wright a514a12d0c LUCENE-8065: Some exact circles near 90 degrees are still concave because of planet model, so throw an exception when we construct one of those. 2017-11-24 10:37:21 -05:00
Karl Wright cc8802e60e LUCENE-8064: Generate polygon holes properly in testing. Committed on behalf of Ignacio Vera. 2017-11-24 06:25:55 -05:00
Karl Wright 558fc4b52b LUCENE-8061: Add convenience factory methods for building solids and BBoxes using bounds objects. Committed in part on behalf of Ignacio Vera. 2017-11-22 15:02:23 -05:00
Karl Wright 9776e1f4a0 LUCENE-8057: getBounds() for exact circle did not include segment endpoints. 2017-11-22 11:07:52 -05:00
Karl Wright d0d8a75717 LUCENE-8056: Use perpendicular bounding planes for segments of exact circles. 2017-11-22 06:51:19 -05:00
Karl Wright bff695cf34 LUCENE-8054: Use backbounds to stop spuriosly rejecting points that are within the exact circle. 2017-11-21 18:05:20 -05:00
Karl Wright 0516a58827 LUCENE-8054: Fix exact circle construction to correct failing test. 2017-11-21 04:59:11 -05:00
Alan Woodward 276e317e94 LUCENE-8042: Add SegmentCachable interface 2017-11-10 12:17:50 +00:00
Karl Wright dae5c570b9 Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/lucene-solr 2017-11-08 07:29:28 -05:00
Karl Wright 3d95c170de LUCENE-8039: Add delta distance method to augment internal distance. 2017-11-08 07:26:43 -05:00
Alan Woodward a886a001a4 LUCENE-8017: Add Weight.getCacheHelper() 2017-11-03 10:40:14 +00:00
Karl Wright 154edb8e3c LUCENE-8032: Limit size of exact circle so that approximation planes don't intersect at angles greater than 180 degrees. 2017-11-02 10:43:40 -04:00
Karl Wright feda2ad006 LUCENE-7990: Fix polygon generator to not generate crossing polygons. Committed on behalf of Ignacio Vera. 2017-10-24 15:42:50 -04:00
Karl Wright 61d1e96b80 LUCENE-7970: Remove restriction on maximum cutoff angle, since it's really a radius. 2017-09-27 04:41:08 -04:00
Karl Wright cc16055efe LUCENE-7970: Add test suite for GeoExactCircle. Committed on behalf of Ignacio Vera. 2017-09-27 04:31:18 -04:00
Karl Wright 49583ed13d LUCENE-7970: Handle the case where we generate only a pair of identical planes, as might happen when the center is near a pole. 2017-09-26 03:20:32 -04:00
Karl Wright f8f19562ee LUCENE-7970: Correct a misinterpretation of bearing direction 2017-09-25 03:06:49 -04:00
Karl Wright 2c79710618 LUCENE-7970: Add an exact version of a circle, which uses Vicenty logic to construct out of planes. 2017-09-25 02:20:16 -04:00
Karl Wright 347ab7e86f LUCENE-7970: Separate bounds computation method into its own interface, in prep for creating shapes that can't implement intersects() 2017-09-23 03:59:08 -04:00
Karl Wright 39100a8d4c LUCENE-7970: Increase maximum iteration count and decrease cutoff for abort in order to get test to pass. 2017-09-22 19:29:01 -04:00
Karl Wright 1a698c4e4a LUCENE-7970: Add bearing point test. Committed on behalf of Ignacio Vera. 2017-09-22 10:37:25 -04:00
Karl Wright d84beb415c LUCENE-7970: Add surface point on bearing method to PlanetModel. Committed on behalf of Ignacio Vera. 2017-09-22 02:01:00 -04:00
Karl Wright ab965d506c LUCENE-7955: Add tests for nearest path distance, degenerate path. 2017-09-15 02:20:11 -04:00
Karl Wright 8cb64ed926 LUCENE-7962: Revamp how computeNearestDistance is done to make it return the distance where the point is truly nearest to the given path. 2017-09-14 13:50:41 -04:00
Karl Wright c317ad8c1f LUCENE-7955: GeoDegeneratePath did not compute endpoint bounding planes properly. 2017-09-14 10:50:44 -04:00
Karl Wright 12b0acdf7c LUCENE-7906: Fix random shape generator. Committed on behalf of Ignacio Vera. 2017-09-14 03:51:54 -04:00
Karl Wright b8d48fa7a6 LUCENE-7967: Within check for GeoDegeneratePoint did not allow precision allowance. 2017-09-12 08:34:39 -04:00
Karl Wright e44ee16c74 LUCENE-7906: Include missing file 2017-09-11 10:48:03 -04:00
Karl Wright cd425d609c LUCENE-7906: Add new shapes to testing paradigm. Committed on behalf of Ignacio Vera. 2017-09-11 09:00:47 -04:00
Karl Wright 64d142858d LUCENE-7955: Add the new shape to the standard objects class 2017-09-10 07:33:29 -04:00
Karl Wright 80ae2699cf LUCENE-7955: Adjust degenerate path logic to not consider endpoints unless needed. 2017-09-10 07:03:30 -04:00
Karl Wright fe7582e9d7 LUCENE-7965: GeoBBoxFactory was constructing the wrong shape at the poles, if the longitude range provided was greater than 180 degrees. 2017-09-09 01:01:33 -04:00
Karl Wright c09678e540 LUCENE-7955: Add zero-width path support. 2017-09-08 12:18:39 -04:00
Karl Wright 99ae6f87c8 LUCENE-7962: Add path support for computing distance along the path only. 2017-09-08 01:19:29 -04:00
Karl Wright 98b9c5802e LUCENE-7947: Add GeoPointShape interface etc. Committed on behalf of Ignacio Vera. 2017-08-31 08:47:00 -04:00
Karl Wright faad8ae6a8 LUCENE-7936: Improve serialization by using a shortcut way of describing classes. 2017-08-30 10:40:38 -04:00
Karl Wright 1cc3d8050c LUCENE-7942: Replace a tab that shouldn't have been there. 2017-08-29 09:52:17 -04:00
Karl Wright 8fc61e5628 LUCENE-7936: Missed a constructor for deserialization support. 2017-08-29 05:50:45 -04:00
Karl Wright c01d692bac LUCENE-7942: Explicitly require conversion to 'aggregation' form before aggregating distances, plus require a conversion back. This is more efficient than my initial commit for this ticket, since sqrt values will be cached for path segments, and will not need to be recomputed. 2017-08-29 01:16:11 -04:00
Karl Wright 200beab09e LUCENE-7943: Disable an overly-aggressive assertion. 2017-08-28 12:34:33 -04:00
Karl Wright 72818637f2 LUCENE-7941: Test for GeoDegeneratePoints relationships, committed on behalf of Ignacio Vera. 2017-08-28 06:08:53 -04:00
Karl Wright 92c94d8ca2 LUCENE-7942: Add aggregateDistances() method to DistanceStyle, and use it in GeoStandardPath to aggregate distances from segment to segment. 2017-08-28 01:49:53 -04:00
Karl Wright d640c92b9f LUCENE-7941: Add a crossing primitive in Plane. 2017-08-26 07:38:55 -04:00
Karl Wright 2b8cea09bb LUCENE-7941: Broaden the contract for intersects() method, and implement the broadened contract in GeoDegeneratePoint. 2017-08-26 05:06:54 -04:00
Karl Wright 287ab9dc40 LUCENE-7936: Fix broken GeoComplexPolygon serialization. 2017-08-25 12:06:30 -04:00
Karl Wright e157f1f8c2 LUCENE-7941: Clarify contract for intersects() method. 2017-08-25 11:42:29 -04:00
Karl Wright 554f0d5f20 LUCENE-7936: Complete the serialization/deserialization implementation of Geo3d. 2017-08-25 10:07:25 -04:00
Karl Wright 26b7644d00 LUCENE-7936: Committing a randomized serialization test on behalf of Ignacio Vera, along with fixes. 2017-08-25 07:58:33 -04:00
Karl Wright 693db3fe38 LUCENE-7936: Complete the work to support serialization and deserialization of individual Geo3D objects. This adds support for GeoComplexPolygon and the composites. 2017-08-25 02:52:11 -04:00
Karl Wright fd11646af2 LUCENE-7936: Implement serialization/deserialization for all objects except GeoComplexPolygon and composites. 2017-08-24 13:41:22 -04:00
Karl Wright 6b8f98db93 LUCENE-7936: Add Geo3d framework for serialization and deserialization. 2017-08-23 10:00:31 -04:00
Karl Wright 94b695e672 LUCENE-7934: Add planet model interface. 2017-08-20 08:01:19 -04:00
Karl Wright 84d8385fb9 LUCENE-7918: Fix incorrect equals method. 2017-08-10 07:09:48 -04:00
Karl Wright 18e1b40b1c LUCENE-7918: Revamp the API for composites so that it's generic and useful for many kinds of shapes. Committed (as was LUCENE-7906) on behalf of Ignacio Vera. 2017-08-07 07:01:19 -04:00
Karl Wright 23d383765b LUCENE-7906: More fixes for precommit breakage: can't use Math.toRadians 2017-08-03 17:29:40 -04:00
Karl Wright dd00446bb9 LUCENE-7906: Add missing constructor to make precommit happy 2017-08-03 11:43:42 -04:00
Karl Wright c6ae049662 LUCENE-7906: Add missing override, fixing javadoc 2017-08-03 11:26:32 -04:00
Karl Wright a381bdbaaa LUCENE-7906: Fix ant precommit issue with test license header. 2017-08-03 10:55:17 -04:00
Karl Wright 39d6be4ecc LUCENE-7606: Add spatial relationships between all currently-defined Geo shapes 2017-08-03 09:32:11 -04:00
Karl Wright 2eba4cebc5 LUCENE-7906: Logic fix for crosses condition 2017-07-26 10:35:35 -04:00
Karl Wright 08ea9a787e LUCENE-7853: Return the public interface, not the private implementation 2017-05-31 15:03:44 -04:00
Karl Wright 71411df0cf LUCENE-7853: Add methods for people to use who know their polygon's characteristics 2017-05-31 07:55:53 -04:00
Karl Wright fed7343d2e LUCENE-7849: GeoWideLongitudeSlice can fail to construct 2017-05-24 09:46:15 -04:00
Adrien Grand e80643e5a7 LUCENE-7753: Make fields static when possible. 2017-03-31 17:28:21 +02:00
Mike McCandless 716d43eca9 LUCENE-7742: fix places where we were unboxing and then re-boxing according to FindBugs 2017-03-15 06:03:54 -04:00
Alan Woodward 8c2ef3bc7f LUCENE-7644: FieldComparatorSource.newComparator() doesn't need to throw IOException
This allos us to also remove the throws clause on SortField.getComparator(),
TopDocs.merge() and various Collector constructors
2017-01-18 19:17:19 +00:00
Karl Wright 283b329bbb LUCENE-7511: Introduce Vector.MINIMUM_ANGULAR_RESOLUTION. 2016-12-27 19:41:55 -05:00
Dawid Weiss a19ec194d2 LUCENE-7513: Update to randomizedtesting 2.4.0. 2016-10-21 11:14:37 +02:00
Adrien Grand c22725f0b5 LUCENE-7494: Give points a per-field API. 2016-10-18 10:14:27 +02:00
Adrien Grand 32446e9205 LUCENE-7453: Create a Lucene70Codec. 2016-10-04 10:50:34 +02:00
Karl Wright 31d07eda18 LUCENE-7430: Add extra space in the shape bounding box to handle quantization issues. 2016-10-02 15:43:23 -04:00
Karl Wright 3182cd9872 Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/lucene-solr 2016-10-02 15:18:22 -04:00
Karl Wright 08ca33f57e LUCENE-7430: Add some explicit delta for bounds objects that corresponds to point resolution in doc values. 2016-10-02 15:17:58 -04:00
Mike McCandless f7aa200d40 LUCENE-7407: switch doc values usage to an iterator API, based on DocIdSetIterator, instead of random acces, freeing codecs for future improvements 2016-09-21 09:41:41 -04:00
Karl Wright 884aa1609a LUCENE-7424: GeoPolygon computation of intersection bounds was incorrect. 2016-08-25 18:09:50 -04:00
Karl Wright aa9b5204da LUCENE-7412: Make sure no combined edge of a polygon extends for more than 180 degrees. 2016-08-20 07:35:38 -04:00
Karl Wright 5d06ca3da0 LUCENE-7408: Detect degenerate case in lagrangian bounds computation when it pops up. 2016-08-10 02:29:15 -04:00
Karl Wright 2828f4e8e0 LUCENE-7402: If intersection computation falls off the world, bounds includes whole world. 2016-08-04 08:12:08 -04:00
Mike McCandless 1aecdd28d1 LUCENE-7390: revert this change, since it's obsoleted by the much better LUCENE-7396 2016-07-29 14:02:00 -04:00
Mike McCandless 3a0a9fd2c2 LUCENE-7390: improve points indexing performance by letting the codec use transient heap in proportion to IndexWriter's indexing buffer, by default 2016-07-25 11:33:34 -04:00
Adrien Grand 5def78ba10 LUCENE-7368: Remove queryNorm. 2016-07-12 14:38:36 +02:00
Karl Wright d954c78cea LUCENE-7357: If the points for path segment intersections are ambiguous, throw an IllegalArgumentException. 2016-06-28 06:27:21 -04:00
Karl Wright b11e48c755 LUCENE-7194: Ban Math.toRadians and Math.toDegrees 2016-06-22 03:53:47 -04:00
Christine Poerschke 52f5c50246 LUCENE-7319: remove unused imports 2016-06-13 09:59:14 +01:00
Mike McCandless a923d945b4 LUCENE-7327: fix rare test bug 2016-06-10 10:18:01 -04:00
Mike McCandless ff8c42a70d LUCENE-7316: improve test 2016-06-07 07:56:53 -04:00
Karl Wright e9e7d0a287 LUCENE-7316: Use intersections in bounds computations for GeoConvexPolygon and GeoConcavePolygon. 2016-06-07 07:10:38 -04:00
Mike McCandless dee57ce23f LUCENE-7312: fix geo3d's encoding to always round down 2016-06-04 18:16:04 -04:00
Karl Wright e990bd534a LUCENE-7310: Increase bounds slop factor by 2x to cover a specific failure. 2016-06-01 09:17:16 -04:00
Dawid Weiss e44509f2df LUCENE-7277: Make Query.hashCode and Query.equals abstract. 2016-05-24 10:33:15 +02:00
Karl Wright c0784d29bd LUCENE-7290: Restore XYZBounds fudge factor to its previous value. 2016-05-20 13:54:09 -04:00
Karl Wright 908225d174 LUCENE-7290: Add support for calculating bounds for intersections. 2016-05-20 13:49:13 -04:00
Karl Wright 8290302667 LUCENE-7290: Roll back resolution increase. 2016-05-19 05:08:58 -04:00
Karl Wright 56bae72a45 LUCENE-7290: Decrease MINIMUM_RESOLUTION, since it's too big for at least one test case. 2016-05-18 20:34:49 -04:00
Karl Wright cc26341345 LUCENE-7212: Add outside distance classes and methods. 2016-05-18 09:03:52 -04:00
Karl Wright 2a810938ba LUCENE-7212: Rename the public method for path sort fields. 2016-05-18 08:34:54 -04:00
Karl Wright 417c37279e LUCENE-7212: Add tests for encoding/decoding. 2016-05-18 07:58:35 -04:00
Karl Wright a911eb8561 LUCENE-7288: Return POSITIVE_INFINITY for points outside of shape, not MAX_VALUE. 2016-05-18 07:07:08 -04:00
Karl Wright 07af00d8e7 LUCENE-7212: Add Geo3D sorted document fields. 2016-05-17 17:20:39 -04:00
Karl Wright 05178b3e58 Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/lucene-solr 2016-05-16 06:43:23 -04:00
Karl Wright 351878223d LUCENE-7212: Add geo3d doc values field 2016-05-12 09:39:10 -04:00
Mike McCandless 849fd54f2c LUCENE-6766: Merge branch 'master' into index_sort 2016-05-06 19:17:31 -04:00
Mike McCandless 8fe78da23c LUCENE-6766: make new Lucene62Codec, with new segment info format that reads/writes the index sort, to support index sorting; remove all usage of SlowCompositeReaderWrapper; also sort ids when merging norms; CheckIndex verifies sort 2016-05-06 16:41:26 -04:00
Karl Wright da6426f03c LUCENE-7241: Get rid of one more allocation during isWithin processing. 2016-05-06 07:36:50 -04:00
Karl Wright 6c6667e60e LUCENE-7241: Get rid of allocation for vector that we don't need. 2016-05-05 16:35:25 -04:00
Karl Wright 7d4f387384 LUCENE-7241: More performance improvements 2016-05-05 16:16:55 -04:00
Karl Wright d4c5586032 LUCENE-7241: Don't allocate GeoPoints we aren't going to return. 2016-05-05 14:47:40 -04:00
Karl Wright 382ffdb636 LUCENE-7241: More performance improvements. 2016-05-05 07:54:09 -04:00
Karl Wright 551d267ff5 LUCENE-7241: Another minor optimization. 2016-05-05 03:36:53 -04:00