lucene-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From a.@apache.org
Subject [12/50] lucene-solr:jira/solr-11458-2: 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.
Date Mon, 04 Dec 2017 17:48:56 GMT
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.


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/a514a12d
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/a514a12d
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/a514a12d

Branch: refs/heads/jira/solr-11458-2
Commit: a514a12d0cb34d40dd3a1561a6b92c83907b9bec
Parents: cc8802e
Author: Karl Wright <DaddyWri@gmail.com>
Authored: Fri Nov 24 10:37:21 2017 -0500
Committer: Karl Wright <DaddyWri@gmail.com>
Committed: Fri Nov 24 10:37:21 2017 -0500

----------------------------------------------------------------------
 .../apache/lucene/spatial3d/geom/GeoExactCircle.java |  6 +++++-
 .../apache/lucene/spatial3d/geom/GeoCircleTest.java  | 15 +++++++++++++++
 2 files changed, 20 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a514a12d/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/GeoExactCircle.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/GeoExactCircle.java
b/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/GeoExactCircle.java
index 8bba244..1c79474 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/GeoExactCircle.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/GeoExactCircle.java
@@ -221,7 +221,11 @@ class GeoExactCircle extends GeoBaseCircle {
       this.backBounds = backPlanes;
     }
     
-    this.edgePoints = new GeoPoint[]{edgePoint};      
+    this.edgePoints = new GeoPoint[]{edgePoint};
+    
+    if (!isWithin(northPoint) || !isWithin(southPoint) || !isWithin(eastPoint) || !isWithin(westPoint))
{
+      throw new IllegalArgumentException("Exact circle cannot be constructed this large given
the planet model provided");
+    }
     //System.out.println("Is edgepoint within? "+isWithin(edgePoint));
   }
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a514a12d/lucene/spatial3d/src/test/org/apache/lucene/spatial3d/geom/GeoCircleTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/test/org/apache/lucene/spatial3d/geom/GeoCircleTest.java
b/lucene/spatial3d/src/test/org/apache/lucene/spatial3d/geom/GeoCircleTest.java
index 3f35ef3..a272d3d 100755
--- a/lucene/spatial3d/src/test/org/apache/lucene/spatial3d/geom/GeoCircleTest.java
+++ b/lucene/spatial3d/src/test/org/apache/lucene/spatial3d/geom/GeoCircleTest.java
@@ -551,4 +551,19 @@ public class GeoCircleTest extends LuceneTestCase {
     assertEquals(westPoint.getLongitude(), bounds.getLeftLongitude(), 1e-2);
     assertEquals(eastPoint.getLongitude(), bounds.getRightLongitude(), 1e-2);
   }
+
+  @Test
+  public void testLUCENE8065(){
+    boolean isIllegal = false;
+    try {
+      GeoCircle circle1 = GeoCircleFactory.makeExactGeoCircle(PlanetModel.WGS84, 0.03186456479560385,
-2.2254294002683617, 1.5702573535090856, 8.184299676008562E-6);
+    } catch (IllegalArgumentException e) {
+      isIllegal = true;
+    }
+    assertTrue(isIllegal);
+    /*
+    GeoCircle circle2 = GeoCircleFactory.makeExactGeoCircle(PlanetModel.WGS84, 0.03186456479560385,
-2.2254294002683617 , 1.5698163157923914, 1.0E-5);
+    assertTrue(circle1.getRelationship(circle2) != GeoArea.DISJOINT);
+    */
+  }
 }


Mime
View raw message