You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ds...@apache.org on 2016/03/08 02:19:57 UTC
[16/32] lucene-solr git commit: LUCENE-7056: Geo3D package re-org
(cherry picked from commit 0093e26)
LUCENE-7056: Geo3D package re-org
(cherry picked from commit 0093e26)
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/3a31a8c7
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/3a31a8c7
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/3a31a8c7
Branch: refs/heads/branch_6x
Commit: 3a31a8c7686b27e90f9683c4d3a0cdd2e89d3e91
Parents: d7ee7c6
Author: David Smiley <ds...@apache.org>
Authored: Mon Mar 7 17:29:46 2016 -0500
Committer: David Smiley <ds...@apache.org>
Committed: Mon Mar 7 20:06:05 2016 -0500
----------------------------------------------------------------------
lucene/CHANGES.txt | 2 +
.../lucene/spatial/spatial4j/Geo3dShape.java | 12 +-
.../lucene/spatial/spatial4j/Geo3dRptTest.java | 14 +-
.../Geo3dShapeRectRelationTestCase.java | 18 +-
.../Geo3dShapeSphereModelRectRelationTest.java | 16 +-
.../Geo3dShapeWGS84ModelRectRelationTest.java | 16 +-
.../spatial/spatial4j/geo3d/GeoPointTest.java | 80 -
.../org/apache/lucene/geo3d/ArcDistance.java | 56 -
.../apache/lucene/geo3d/BasePlanetObject.java | 57 -
.../org/apache/lucene/geo3d/BaseXYZSolid.java | 167 --
.../java/org/apache/lucene/geo3d/Bounds.java | 113 --
.../org/apache/lucene/geo3d/DistanceStyle.java | 83 -
.../org/apache/lucene/geo3d/Geo3DPoint.java | 112 --
.../java/org/apache/lucene/geo3d/Geo3DUtil.java | 59 -
.../java/org/apache/lucene/geo3d/GeoArea.java | 67 -
.../org/apache/lucene/geo3d/GeoAreaFactory.java | 55 -
.../java/org/apache/lucene/geo3d/GeoBBox.java | 36 -
.../org/apache/lucene/geo3d/GeoBBoxFactory.java | 111 --
.../org/apache/lucene/geo3d/GeoBaseBBox.java | 72 -
.../org/apache/lucene/geo3d/GeoBaseCircle.java | 34 -
.../lucene/geo3d/GeoBaseDistanceShape.java | 56 -
.../lucene/geo3d/GeoBaseMembershipShape.java | 56 -
.../org/apache/lucene/geo3d/GeoBasePolygon.java | 34 -
.../org/apache/lucene/geo3d/GeoBaseShape.java | 59 -
.../java/org/apache/lucene/geo3d/GeoCircle.java | 25 -
.../apache/lucene/geo3d/GeoCircleFactory.java | 43 -
.../geo3d/GeoCompositeMembershipShape.java | 117 --
.../lucene/geo3d/GeoCompositePolygon.java | 31 -
.../apache/lucene/geo3d/GeoConvexPolygon.java | 288 ---
.../geo3d/GeoDegenerateHorizontalLine.java | 215 ---
.../lucene/geo3d/GeoDegenerateLatitudeZone.java | 138 --
.../geo3d/GeoDegenerateLongitudeSlice.java | 153 --
.../apache/lucene/geo3d/GeoDegeneratePoint.java | 135 --
.../lucene/geo3d/GeoDegenerateVerticalLine.java | 205 ---
.../org/apache/lucene/geo3d/GeoDistance.java | 59 -
.../apache/lucene/geo3d/GeoDistanceShape.java | 27 -
.../apache/lucene/geo3d/GeoLatitudeZone.java | 198 ---
.../apache/lucene/geo3d/GeoLongitudeSlice.java | 204 ---
.../apache/lucene/geo3d/GeoMembershipShape.java | 27 -
.../lucene/geo3d/GeoNorthLatitudeZone.java | 165 --
.../apache/lucene/geo3d/GeoNorthRectangle.java | 263 ---
.../apache/lucene/geo3d/GeoOutsideDistance.java | 55 -
.../java/org/apache/lucene/geo3d/GeoPath.java | 797 ---------
.../java/org/apache/lucene/geo3d/GeoPoint.java | 193 --
.../org/apache/lucene/geo3d/GeoPolygon.java | 26 -
.../apache/lucene/geo3d/GeoPolygonFactory.java | 187 --
.../org/apache/lucene/geo3d/GeoRectangle.java | 288 ---
.../java/org/apache/lucene/geo3d/GeoShape.java | 63 -
.../org/apache/lucene/geo3d/GeoSizeable.java | 40 -
.../lucene/geo3d/GeoSouthLatitudeZone.java | 168 --
.../apache/lucene/geo3d/GeoSouthRectangle.java | 259 ---
.../apache/lucene/geo3d/GeoStandardCircle.java | 168 --
.../geo3d/GeoWideDegenerateHorizontalLine.java | 238 ---
.../lucene/geo3d/GeoWideLongitudeSlice.java | 208 ---
.../lucene/geo3d/GeoWideNorthRectangle.java | 286 ---
.../apache/lucene/geo3d/GeoWideRectangle.java | 319 ----
.../lucene/geo3d/GeoWideSouthRectangle.java | 284 ---
.../java/org/apache/lucene/geo3d/GeoWorld.java | 106 --
.../org/apache/lucene/geo3d/LatLonBounds.java | 322 ----
.../org/apache/lucene/geo3d/LinearDistance.java | 56 -
.../lucene/geo3d/LinearSquaredDistance.java | 56 -
.../org/apache/lucene/geo3d/Membership.java | 46 -
.../org/apache/lucene/geo3d/NormalDistance.java | 56 -
.../lucene/geo3d/NormalSquaredDistance.java | 56 -
.../src/java/org/apache/lucene/geo3d/Plane.java | 1657 ------------------
.../org/apache/lucene/geo3d/PlanetModel.java | 277 ---
.../lucene/geo3d/PointInGeo3DShapeQuery.java | 210 ---
.../org/apache/lucene/geo3d/SidedPlane.java | 175 --
.../apache/lucene/geo3d/StandardXYZSolid.java | 417 -----
.../src/java/org/apache/lucene/geo3d/Tools.java | 41 -
.../java/org/apache/lucene/geo3d/Vector.java | 378 ----
.../java/org/apache/lucene/geo3d/XYZBounds.java | 267 ---
.../java/org/apache/lucene/geo3d/XYZSolid.java | 26 -
.../apache/lucene/geo3d/XYZSolidFactory.java | 67 -
.../java/org/apache/lucene/geo3d/XYdZSolid.java | 213 ---
.../java/org/apache/lucene/geo3d/XdYZSolid.java | 212 ---
.../org/apache/lucene/geo3d/XdYdZSolid.java | 138 --
.../java/org/apache/lucene/geo3d/dXYZSolid.java | 216 ---
.../org/apache/lucene/geo3d/dXYdZSolid.java | 138 --
.../org/apache/lucene/geo3d/dXdYZSolid.java | 138 --
.../org/apache/lucene/geo3d/dXdYdZSolid.java | 146 --
.../org/apache/lucene/geo3d/package-info.java | 21 -
.../org/apache/lucene/spatial3d/Geo3DPoint.java | 114 ++
.../org/apache/lucene/spatial3d/Geo3DUtil.java | 59 +
.../spatial3d/PointInGeo3DShapeQuery.java | 215 +++
.../lucene/spatial3d/geom/ArcDistance.java | 56 +
.../lucene/spatial3d/geom/BasePlanetObject.java | 57 +
.../lucene/spatial3d/geom/BaseXYZSolid.java | 167 ++
.../apache/lucene/spatial3d/geom/Bounds.java | 113 ++
.../lucene/spatial3d/geom/DistanceStyle.java | 83 +
.../apache/lucene/spatial3d/geom/GeoArea.java | 67 +
.../lucene/spatial3d/geom/GeoAreaFactory.java | 55 +
.../apache/lucene/spatial3d/geom/GeoBBox.java | 36 +
.../lucene/spatial3d/geom/GeoBBoxFactory.java | 111 ++
.../lucene/spatial3d/geom/GeoBaseBBox.java | 72 +
.../lucene/spatial3d/geom/GeoBaseCircle.java | 34 +
.../spatial3d/geom/GeoBaseDistanceShape.java | 56 +
.../spatial3d/geom/GeoBaseMembershipShape.java | 56 +
.../lucene/spatial3d/geom/GeoBasePolygon.java | 34 +
.../lucene/spatial3d/geom/GeoBaseShape.java | 59 +
.../apache/lucene/spatial3d/geom/GeoCircle.java | 25 +
.../lucene/spatial3d/geom/GeoCircleFactory.java | 43 +
.../geom/GeoCompositeMembershipShape.java | 117 ++
.../spatial3d/geom/GeoCompositePolygon.java | 31 +
.../lucene/spatial3d/geom/GeoConvexPolygon.java | 288 +++
.../geom/GeoDegenerateHorizontalLine.java | 215 +++
.../geom/GeoDegenerateLatitudeZone.java | 138 ++
.../geom/GeoDegenerateLongitudeSlice.java | 153 ++
.../spatial3d/geom/GeoDegeneratePoint.java | 135 ++
.../geom/GeoDegenerateVerticalLine.java | 205 +++
.../lucene/spatial3d/geom/GeoDistance.java | 59 +
.../lucene/spatial3d/geom/GeoDistanceShape.java | 27 +
.../lucene/spatial3d/geom/GeoLatitudeZone.java | 198 +++
.../spatial3d/geom/GeoLongitudeSlice.java | 204 +++
.../spatial3d/geom/GeoMembershipShape.java | 27 +
.../spatial3d/geom/GeoNorthLatitudeZone.java | 165 ++
.../spatial3d/geom/GeoNorthRectangle.java | 263 +++
.../spatial3d/geom/GeoOutsideDistance.java | 55 +
.../apache/lucene/spatial3d/geom/GeoPath.java | 797 +++++++++
.../apache/lucene/spatial3d/geom/GeoPoint.java | 193 ++
.../lucene/spatial3d/geom/GeoPolygon.java | 26 +
.../spatial3d/geom/GeoPolygonFactory.java | 187 ++
.../lucene/spatial3d/geom/GeoRectangle.java | 288 +++
.../apache/lucene/spatial3d/geom/GeoShape.java | 63 +
.../lucene/spatial3d/geom/GeoSizeable.java | 40 +
.../spatial3d/geom/GeoSouthLatitudeZone.java | 168 ++
.../spatial3d/geom/GeoSouthRectangle.java | 259 +++
.../spatial3d/geom/GeoStandardCircle.java | 168 ++
.../geom/GeoWideDegenerateHorizontalLine.java | 238 +++
.../spatial3d/geom/GeoWideLongitudeSlice.java | 208 +++
.../spatial3d/geom/GeoWideNorthRectangle.java | 286 +++
.../lucene/spatial3d/geom/GeoWideRectangle.java | 319 ++++
.../spatial3d/geom/GeoWideSouthRectangle.java | 284 +++
.../apache/lucene/spatial3d/geom/GeoWorld.java | 106 ++
.../lucene/spatial3d/geom/LatLonBounds.java | 322 ++++
.../lucene/spatial3d/geom/LinearDistance.java | 56 +
.../spatial3d/geom/LinearSquaredDistance.java | 56 +
.../lucene/spatial3d/geom/Membership.java | 46 +
.../lucene/spatial3d/geom/NormalDistance.java | 56 +
.../spatial3d/geom/NormalSquaredDistance.java | 56 +
.../org/apache/lucene/spatial3d/geom/Plane.java | 1657 ++++++++++++++++++
.../lucene/spatial3d/geom/PlanetModel.java | 277 +++
.../lucene/spatial3d/geom/SidedPlane.java | 175 ++
.../lucene/spatial3d/geom/StandardXYZSolid.java | 417 +++++
.../org/apache/lucene/spatial3d/geom/Tools.java | 41 +
.../apache/lucene/spatial3d/geom/Vector.java | 378 ++++
.../apache/lucene/spatial3d/geom/XYZBounds.java | 267 +++
.../apache/lucene/spatial3d/geom/XYZSolid.java | 26 +
.../lucene/spatial3d/geom/XYZSolidFactory.java | 67 +
.../apache/lucene/spatial3d/geom/XYdZSolid.java | 213 +++
.../apache/lucene/spatial3d/geom/XdYZSolid.java | 212 +++
.../lucene/spatial3d/geom/XdYdZSolid.java | 138 ++
.../apache/lucene/spatial3d/geom/dXYZSolid.java | 216 +++
.../lucene/spatial3d/geom/dXYdZSolid.java | 138 ++
.../lucene/spatial3d/geom/dXdYZSolid.java | 138 ++
.../lucene/spatial3d/geom/dXdYdZSolid.java | 146 ++
.../lucene/spatial3d/geom/package-info.java | 22 +
.../apache/lucene/spatial3d/package-info.java | 21 +
lucene/spatial3d/src/java/overview.html | 3 +-
.../org/apache/lucene/geo3d/GeoBBoxTest.java | 364 ----
.../org/apache/lucene/geo3d/GeoCircleTest.java | 415 -----
.../lucene/geo3d/GeoConvexPolygonTest.java | 91 -
.../org/apache/lucene/geo3d/GeoModelTest.java | 110 --
.../org/apache/lucene/geo3d/GeoPathTest.java | 270 ---
.../org/apache/lucene/geo3d/GeoPolygonTest.java | 165 --
.../test/org/apache/lucene/geo3d/PlaneTest.java | 64 -
.../org/apache/lucene/geo3d/TestGeo3DPoint.java | 801 ---------
.../org/apache/lucene/geo3d/XYZSolidTest.java | 220 ---
.../apache/lucene/spatial3d/TestGeo3DPoint.java | 810 +++++++++
.../lucene/spatial3d/geom/GeoBBoxTest.java | 364 ++++
.../lucene/spatial3d/geom/GeoCircleTest.java | 410 +++++
.../spatial3d/geom/GeoConvexPolygonTest.java | 91 +
.../lucene/spatial3d/geom/GeoModelTest.java | 110 ++
.../lucene/spatial3d/geom/GeoPathTest.java | 270 +++
.../lucene/spatial3d/geom/GeoPointTest.java | 77 +
.../lucene/spatial3d/geom/GeoPolygonTest.java | 165 ++
.../apache/lucene/spatial3d/geom/PlaneTest.java | 64 +
.../lucene/spatial3d/geom/XYZSolidTest.java | 220 +++
178 files changed, 15186 insertions(+), 15153 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 290421a..ca59e6b 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -126,6 +126,8 @@ API Changes
* LUCENE-7072: Geo3DPoint always uses WGS84 planet model.
(Robert Muir, Mike McCandless)
+* LUCENE-7056: Geo3D classes are in different packages now. (David Smiley)
+
Optimizations
* LUCENE-6891: Use prefix coding when writing points in
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial-extras/src/java/org/apache/lucene/spatial/spatial4j/Geo3dShape.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/spatial4j/Geo3dShape.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/spatial4j/Geo3dShape.java
index 518fb32..9fa6d8e 100644
--- a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/spatial4j/Geo3dShape.java
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/spatial4j/Geo3dShape.java
@@ -23,12 +23,12 @@ import org.locationtech.spatial4j.shape.Rectangle;
import org.locationtech.spatial4j.shape.Shape;
import org.locationtech.spatial4j.shape.SpatialRelation;
import org.locationtech.spatial4j.shape.impl.RectangleImpl;
-import org.apache.lucene.geo3d.LatLonBounds;
-import org.apache.lucene.geo3d.GeoArea;
-import org.apache.lucene.geo3d.GeoAreaFactory;
-import org.apache.lucene.geo3d.GeoPoint;
-import org.apache.lucene.geo3d.GeoShape;
-import org.apache.lucene.geo3d.PlanetModel;
+import org.apache.lucene.spatial3d.geom.LatLonBounds;
+import org.apache.lucene.spatial3d.geom.GeoArea;
+import org.apache.lucene.spatial3d.geom.GeoAreaFactory;
+import org.apache.lucene.spatial3d.geom.GeoPoint;
+import org.apache.lucene.spatial3d.geom.GeoShape;
+import org.apache.lucene.spatial3d.geom.PlanetModel;
/**
* A Spatial4j Shape wrapping a {@link GeoShape} ("Geo3D") -- a 3D planar geometry based Spatial4j Shape implementation.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dRptTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dRptTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dRptTest.java
index d26bb29..e62b857 100644
--- a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dRptTest.java
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dRptTest.java
@@ -32,13 +32,13 @@ import org.apache.lucene.spatial.prefix.tree.GeohashPrefixTree;
import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
import org.apache.lucene.spatial.query.SpatialOperation;
import org.apache.lucene.spatial.serialized.SerializedDVStrategy;
-import org.apache.lucene.geo3d.GeoBBoxFactory;
-import org.apache.lucene.geo3d.GeoStandardCircle;
-import org.apache.lucene.geo3d.GeoPath;
-import org.apache.lucene.geo3d.GeoPoint;
-import org.apache.lucene.geo3d.GeoPolygonFactory;
-import org.apache.lucene.geo3d.GeoShape;
-import org.apache.lucene.geo3d.PlanetModel;
+import org.apache.lucene.spatial3d.geom.GeoBBoxFactory;
+import org.apache.lucene.spatial3d.geom.GeoStandardCircle;
+import org.apache.lucene.spatial3d.geom.GeoPath;
+import org.apache.lucene.spatial3d.geom.GeoPoint;
+import org.apache.lucene.spatial3d.geom.GeoPolygonFactory;
+import org.apache.lucene.spatial3d.geom.GeoShape;
+import org.apache.lucene.spatial3d.geom.PlanetModel;
import org.junit.Test;
import static org.locationtech.spatial4j.distance.DistanceUtils.DEGREES_TO_RADIANS;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java
index 134b8c7..d58985f 100644
--- a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java
@@ -25,15 +25,15 @@ import org.locationtech.spatial4j.distance.DistanceUtils;
import org.locationtech.spatial4j.shape.Circle;
import org.locationtech.spatial4j.shape.Point;
import org.locationtech.spatial4j.shape.RectIntersectionTestHelper;
-import org.apache.lucene.geo3d.LatLonBounds;
-import org.apache.lucene.geo3d.GeoBBox;
-import org.apache.lucene.geo3d.GeoBBoxFactory;
-import org.apache.lucene.geo3d.GeoStandardCircle;
-import org.apache.lucene.geo3d.GeoPath;
-import org.apache.lucene.geo3d.GeoPoint;
-import org.apache.lucene.geo3d.GeoPolygonFactory;
-import org.apache.lucene.geo3d.GeoShape;
-import org.apache.lucene.geo3d.PlanetModel;
+import org.apache.lucene.spatial3d.geom.LatLonBounds;
+import org.apache.lucene.spatial3d.geom.GeoBBox;
+import org.apache.lucene.spatial3d.geom.GeoBBoxFactory;
+import org.apache.lucene.spatial3d.geom.GeoStandardCircle;
+import org.apache.lucene.spatial3d.geom.GeoPath;
+import org.apache.lucene.spatial3d.geom.GeoPoint;
+import org.apache.lucene.spatial3d.geom.GeoPolygonFactory;
+import org.apache.lucene.spatial3d.geom.GeoShape;
+import org.apache.lucene.spatial3d.geom.PlanetModel;
import org.junit.Rule;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeSphereModelRectRelationTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeSphereModelRectRelationTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeSphereModelRectRelationTest.java
index 2d95823..3bce480 100644
--- a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeSphereModelRectRelationTest.java
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeSphereModelRectRelationTest.java
@@ -20,14 +20,14 @@ import java.util.ArrayList;
import java.util.List;
import org.locationtech.spatial4j.shape.Rectangle;
-import org.apache.lucene.geo3d.GeoArea;
-import org.apache.lucene.geo3d.GeoBBox;
-import org.apache.lucene.geo3d.GeoBBoxFactory;
-import org.apache.lucene.geo3d.GeoStandardCircle;
-import org.apache.lucene.geo3d.GeoPoint;
-import org.apache.lucene.geo3d.GeoPolygonFactory;
-import org.apache.lucene.geo3d.GeoShape;
-import org.apache.lucene.geo3d.PlanetModel;
+import org.apache.lucene.spatial3d.geom.GeoArea;
+import org.apache.lucene.spatial3d.geom.GeoBBox;
+import org.apache.lucene.spatial3d.geom.GeoBBoxFactory;
+import org.apache.lucene.spatial3d.geom.GeoStandardCircle;
+import org.apache.lucene.spatial3d.geom.GeoPoint;
+import org.apache.lucene.spatial3d.geom.GeoPolygonFactory;
+import org.apache.lucene.spatial3d.geom.GeoShape;
+import org.apache.lucene.spatial3d.geom.PlanetModel;
import org.junit.Test;
public class Geo3dShapeSphereModelRectRelationTest extends Geo3dShapeRectRelationTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeWGS84ModelRectRelationTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeWGS84ModelRectRelationTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeWGS84ModelRectRelationTest.java
index 3b026c3..b59d7df 100644
--- a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeWGS84ModelRectRelationTest.java
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeWGS84ModelRectRelationTest.java
@@ -16,14 +16,14 @@
*/
package org.apache.lucene.spatial.spatial4j;
-import org.apache.lucene.geo3d.GeoArea;
-import org.apache.lucene.geo3d.GeoBBox;
-import org.apache.lucene.geo3d.GeoBBoxFactory;
-import org.apache.lucene.geo3d.GeoCircle;
-import org.apache.lucene.geo3d.GeoStandardCircle;
-import org.apache.lucene.geo3d.GeoPath;
-import org.apache.lucene.geo3d.GeoPoint;
-import org.apache.lucene.geo3d.PlanetModel;
+import org.apache.lucene.spatial3d.geom.GeoArea;
+import org.apache.lucene.spatial3d.geom.GeoBBox;
+import org.apache.lucene.spatial3d.geom.GeoBBoxFactory;
+import org.apache.lucene.spatial3d.geom.GeoCircle;
+import org.apache.lucene.spatial3d.geom.GeoStandardCircle;
+import org.apache.lucene.spatial3d.geom.GeoPath;
+import org.apache.lucene.spatial3d.geom.GeoPoint;
+import org.apache.lucene.spatial3d.geom.PlanetModel;
import org.junit.Test;
public class Geo3dShapeWGS84ModelRectRelationTest extends Geo3dShapeRectRelationTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/geo3d/GeoPointTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/geo3d/GeoPointTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/geo3d/GeoPointTest.java
deleted file mode 100644
index 4446474..0000000
--- a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/geo3d/GeoPointTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.spatial.spatial4j.geo3d;
-
-import org.apache.lucene.geo3d.GeoPoint;
-import org.apache.lucene.geo3d.PlanetModel;
-import org.apache.lucene.util.LuceneTestCase;
-import org.junit.Test;
-
-import org.locationtech.spatial4j.distance.DistanceUtils;
-
-import static com.carrotsearch.randomizedtesting.RandomizedTest.randomFloat;
-
-/**
- * Test basic GeoPoint functionality.
- */
-public class GeoPointTest extends LuceneTestCase {
-
- @Test
- public void testConversion() {
- testPointRoundTrip(PlanetModel.SPHERE, 90 * DistanceUtils.DEGREES_TO_RADIANS, 0, 1e-6);
- testPointRoundTrip(PlanetModel.SPHERE, -90 * DistanceUtils.DEGREES_TO_RADIANS, 0, 1e-6);
- testPointRoundTrip(PlanetModel.WGS84, 90 * DistanceUtils.DEGREES_TO_RADIANS, 0, 1e-6);
- testPointRoundTrip(PlanetModel.WGS84, -90 * DistanceUtils.DEGREES_TO_RADIANS, 0, 1e-6);
-
- final int times = atLeast(100);
- for (int i = 0; i < times; i++) {
- final double pLat = (randomFloat() * 180.0 - 90.0) * DistanceUtils.DEGREES_TO_RADIANS;
- final double pLon = (randomFloat() * 360.0 - 180.0) * DistanceUtils.DEGREES_TO_RADIANS;
- testPointRoundTrip(PlanetModel.SPHERE, pLat, pLon, 1e-6);//1e-6 since there's a square root in there (Karl says)
- testPointRoundTrip(PlanetModel.WGS84, pLat, pLon, 1e-6);
- }
- }
-
- protected void testPointRoundTrip(PlanetModel planetModel, double pLat, double pLon, double epsilon) {
- final GeoPoint p1 = new GeoPoint(planetModel, pLat, pLon);
- // In order to force the reverse conversion, we have to construct a geopoint from just x,y,z
- final GeoPoint p2 = new GeoPoint(p1.x, p1.y, p1.z);
- // Now, construct the final point based on getLatitude() and getLongitude()
- final GeoPoint p3 = new GeoPoint(planetModel, p2.getLatitude(), p2.getLongitude());
- double dist = p1.arcDistance(p3);
- assertEquals(0, dist, epsilon);
- }
-
- @Test
- public void testSurfaceDistance() {
- final int times = atLeast(100);
- for (int i = 0; i < times; i++) {
- final double p1Lat = (randomFloat() * 180.0 - 90.0) * DistanceUtils.DEGREES_TO_RADIANS;
- final double p1Lon = (randomFloat() * 360.0 - 180.0) * DistanceUtils.DEGREES_TO_RADIANS;
- final double p2Lat = (randomFloat() * 180.0 - 90.0) * DistanceUtils.DEGREES_TO_RADIANS;
- final double p2Lon = (randomFloat() * 360.0 - 180.0) * DistanceUtils.DEGREES_TO_RADIANS;
- final GeoPoint p1 = new GeoPoint(PlanetModel.SPHERE, p1Lat, p1Lon);
- final GeoPoint p2 = new GeoPoint(PlanetModel.SPHERE, p2Lat, p2Lon);
- final double arcDistance = p1.arcDistance(p2);
- // Compute ellipsoid distance; it should agree for a sphere
- final double surfaceDistance = PlanetModel.SPHERE.surfaceDistance(p1,p2);
- assertEquals(arcDistance, surfaceDistance, 1e-6);
- }
- }
-
- @Test(expected = IllegalArgumentException.class)
- public void testBadLatLon() {
- new GeoPoint(PlanetModel.SPHERE, 50.0, 32.2);
- }
-}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/ArcDistance.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/ArcDistance.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/ArcDistance.java
deleted file mode 100644
index c49fd1f..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/ArcDistance.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-/**
- * Arc distance computation style.
- *
- * @lucene.experimental
- */
-public class ArcDistance implements DistanceStyle {
-
- /** An instance of the ArcDistance DistanceStyle. */
- public final static ArcDistance INSTANCE = new ArcDistance();
-
- /** Constructor.
- */
- public ArcDistance() {
- }
-
- @Override
- public double computeDistance(final GeoPoint point1, final GeoPoint point2) {
- return point1.arcDistance(point2);
- }
-
- @Override
- public double computeDistance(final GeoPoint point1, final double x2, final double y2, final double z2) {
- return point1.arcDistance(x2,y2,z2);
- }
-
- @Override
- public double computeDistance(final PlanetModel planetModel, final Plane plane, final GeoPoint point, final Membership... bounds) {
- return plane.arcDistance(planetModel, point, bounds);
- }
-
- @Override
- public double computeDistance(final PlanetModel planetModel, final Plane plane, final double x, final double y, final double z, final Membership... bounds) {
- return plane.arcDistance(planetModel, x,y,z, bounds);
- }
-
-}
-
-
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/BasePlanetObject.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/BasePlanetObject.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/BasePlanetObject.java
deleted file mode 100644
index c64b974..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/BasePlanetObject.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-/**
- * All Geo3D shapes can derive from this base class, which furnishes
- * some common code
- *
- * @lucene.internal
- */
-public abstract class BasePlanetObject {
-
- /** This is the planet model embedded in all objects derived from this
- * class. */
- protected final PlanetModel planetModel;
-
- /** Constructor creating class instance given a planet model.
- * @param planetModel is the planet model.
- */
- public BasePlanetObject(final PlanetModel planetModel) {
- this.planetModel = planetModel;
- }
-
- /** Returns the {@link PlanetModel} provided when this shape was created. */
- public PlanetModel getPlanetModel() {
- return planetModel;
- }
-
- @Override
- public int hashCode() {
- return planetModel.hashCode();
- }
-
- @Override
- public boolean equals(final Object o) {
- if (!(o instanceof BasePlanetObject))
- return false;
- return planetModel.equals(((BasePlanetObject)o).planetModel);
- }
-}
-
-
-
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/BaseXYZSolid.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/BaseXYZSolid.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/BaseXYZSolid.java
deleted file mode 100644
index 52bd5da..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/BaseXYZSolid.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-/**
- * Base class of a family of 3D rectangles, bounded on six sides by X,Y,Z limits
- *
- * @lucene.internal
- */
-public abstract class BaseXYZSolid extends BasePlanetObject implements XYZSolid {
-
- /** Unit vector in x */
- protected static final Vector xUnitVector = new Vector(1.0, 0.0, 0.0);
- /** Unit vector in y */
- protected static final Vector yUnitVector = new Vector(0.0, 1.0, 0.0);
- /** Unit vector in z */
- protected static final Vector zUnitVector = new Vector(0.0, 0.0, 1.0);
-
- /** Vertical plane normal to x unit vector passing through origin */
- protected static final Plane xVerticalPlane = new Plane(0.0, 1.0, 0.0, 0.0);
- /** Vertical plane normal to y unit vector passing through origin */
- protected static final Plane yVerticalPlane = new Plane(1.0, 0.0, 0.0, 0.0);
-
- /** Empty point vector */
- protected static final GeoPoint[] EMPTY_POINTS = new GeoPoint[0];
-
- /**
- * Base solid constructor.
- *@param planetModel is the planet model.
- */
- public BaseXYZSolid(final PlanetModel planetModel) {
- super(planetModel);
- }
-
- /** Construct a single array from a number of individual arrays.
- * @param pointArrays is the array of point arrays.
- * @return the single unified array.
- */
- protected static GeoPoint[] glueTogether(final GeoPoint[]... pointArrays) {
- int count = 0;
- for (final GeoPoint[] pointArray : pointArrays) {
- count += pointArray.length;
- }
- final GeoPoint[] rval = new GeoPoint[count];
- count = 0;
- for (final GeoPoint[] pointArray : pointArrays) {
- for (final GeoPoint point : pointArray) {
- rval[count++] = point;
- }
- }
- return rval;
- }
-
- @Override
- public boolean isWithin(final Vector point) {
- return isWithin(point.x, point.y, point.z);
- }
-
- @Override
- public abstract boolean isWithin(final double x, final double y, final double z);
-
- // Signals for relationship of edge points to shape
-
- /** All edgepoints inside shape */
- protected final static int ALL_INSIDE = 0;
- /** Some edgepoints inside shape */
- protected final static int SOME_INSIDE = 1;
- /** No edgepoints inside shape */
- protected final static int NONE_INSIDE = 2;
- /** No edgepoints at all (means a shape that is the whole world) */
- protected final static int NO_EDGEPOINTS = 3;
-
- /** Determine the relationship between this area and the provided
- * shape's edgepoints.
- *@param path is the shape.
- *@return the relationship.
- */
- protected int isShapeInsideArea(final GeoShape path) {
- final GeoPoint[] pathPoints = path.getEdgePoints();
- if (pathPoints.length == 0)
- return NO_EDGEPOINTS;
- boolean foundOutside = false;
- boolean foundInside = false;
- for (final GeoPoint p : pathPoints) {
- if (isWithin(p)) {
- foundInside = true;
- } else {
- foundOutside = true;
- }
- if (foundInside && foundOutside) {
- return SOME_INSIDE;
- }
- }
- if (!foundInside && !foundOutside)
- return NONE_INSIDE;
- if (foundInside && !foundOutside)
- return ALL_INSIDE;
- if (foundOutside && !foundInside)
- return NONE_INSIDE;
- return SOME_INSIDE;
- }
-
- /** Determine the relationship between a shape and this area's
- * edgepoints.
- *@param path is the shape.
- *@return the relationship.
- */
- protected int isAreaInsideShape(final GeoShape path) {
- final GeoPoint[] edgePoints = getEdgePoints();
- if (edgePoints.length == 0) {
- return NO_EDGEPOINTS;
- }
- boolean foundOutside = false;
- boolean foundInside = false;
- for (final GeoPoint p : edgePoints) {
- if (path.isWithin(p)) {
- foundInside = true;
- } else {
- foundOutside = true;
- }
- if (foundInside && foundOutside) {
- return SOME_INSIDE;
- }
- }
- if (!foundInside && !foundOutside)
- return NONE_INSIDE;
- if (foundInside && !foundOutside)
- return ALL_INSIDE;
- if (foundOutside && !foundInside)
- return NONE_INSIDE;
- return SOME_INSIDE;
- }
-
- /** Get the edge points for this shape.
- *@return the edge points.
- */
- protected abstract GeoPoint[] getEdgePoints();
-
- @Override
- public boolean equals(Object o) {
- if (!(o instanceof BaseXYZSolid))
- return false;
- BaseXYZSolid other = (BaseXYZSolid) o;
- return super.equals(other);
- }
-
- @Override
- public int hashCode() {
- return super.hashCode();
- }
-
-}
-
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Bounds.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Bounds.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Bounds.java
deleted file mode 100755
index 6717220..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Bounds.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-/**
- * An interface for accumulating bounds information.
- * The bounds object is initially empty. Bounding points
- * are then applied by supplying (x,y,z) tuples. It is also
- * possible to indicate the following edge cases:
- * (1) No longitude bound possible
- * (2) No upper latitude bound possible
- * (3) No lower latitude bound possible
- * When any of these have been applied, further application of
- * points cannot override that decision.
- *
- * @lucene.experimental
- */
-public interface Bounds {
-
- /** Add a general plane to the bounds description.
- *@param planetModel is the planet model.
- *@param plane is the plane.
- *@param bounds are the membership bounds for points along the arc.
- */
- public Bounds addPlane(final PlanetModel planetModel, final Plane plane, final Membership... bounds);
-
- /** Add a horizontal plane to the bounds description.
- * This method should EITHER use the supplied latitude, OR use the supplied
- * plane, depending on what is most efficient.
- *@param planetModel is the planet model.
- *@param latitude is the latitude.
- *@param horizontalPlane is the plane.
- *@param bounds are the constraints on the plane.
- *@return updated Bounds object.
- */
- public Bounds addHorizontalPlane(final PlanetModel planetModel,
- final double latitude,
- final Plane horizontalPlane,
- final Membership... bounds);
-
- /** Add a vertical plane to the bounds description.
- * This method should EITHER use the supplied longitude, OR use the supplied
- * plane, depending on what is most efficient.
- *@param planetModel is the planet model.
- *@param longitude is the longitude.
- *@param verticalPlane is the plane.
- *@param bounds are the constraints on the plane.
- *@return updated Bounds object.
- */
- public Bounds addVerticalPlane(final PlanetModel planetModel,
- final double longitude,
- final Plane verticalPlane,
- final Membership... bounds);
-
- /** Add a single point.
- *@param point is the point.
- *@return the updated Bounds object.
- */
- public Bounds addPoint(final GeoPoint point);
-
- /** Add an X value.
- *@param point is the point to take the x value from.
- *@return the updated object.
- */
- public Bounds addXValue(final GeoPoint point);
-
- /** Add a Y value.
- *@param point is the point to take the y value from.
- *@return the updated object.
- */
- public Bounds addYValue(final GeoPoint point);
-
- /** Add a Z value.
- *@param point is the point to take the z value from.
- *@return the updated object.
- */
- public Bounds addZValue(final GeoPoint point);
-
- /** Signal that the shape exceeds Math.PI in longitude.
- *@return the updated Bounds object.
- */
- public Bounds isWide();
-
- /** Signal that there is no longitude bound.
- *@return the updated Bounds object.
- */
- public Bounds noLongitudeBound();
-
- /** Signal that there is no top latitude bound.
- *@return the updated Bounds object.
- */
- public Bounds noTopLatitudeBound();
-
- /** Signal that there is no bottom latitude bound.
- *@return the updated Bounds object.
- */
- public Bounds noBottomLatitudeBound();
-
-}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/DistanceStyle.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/DistanceStyle.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/DistanceStyle.java
deleted file mode 100644
index 28056cb..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/DistanceStyle.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-/**
- * Distance computation styles, supporting various ways of computing
- * distance to shapes.
- *
- * @lucene.experimental
- */
-public interface DistanceStyle {
-
- // convenient access to built-in styles:
-
- /** Arc distance calculator */
- public static final ArcDistance ARC = ArcDistance.INSTANCE;
- /** Linear distance calculator */
- public static final LinearDistance LINEAR = LinearDistance.INSTANCE;
- /** Linear distance squared calculator */
- public static final LinearSquaredDistance LINEAR_SQUARED = LinearSquaredDistance.INSTANCE;
- /** Normal distance calculator */
- public static final NormalDistance NORMAL = NormalDistance.INSTANCE;
- /** Normal distance squared calculator */
- public static final NormalSquaredDistance NORMAL_SQUARED = NormalSquaredDistance.INSTANCE;
-
- /** Compute the distance from a point to another point.
- * @param point1 Starting point
- * @param point2 Final point
- * @return the distance
- */
- public default double computeDistance(final GeoPoint point1, final GeoPoint point2) {
- return computeDistance(point1, point2.x, point2.y, point2.z);
- }
-
- /** Compute the distance from a point to another point.
- * @param point1 Starting point
- * @param x2 Final point x
- * @param y2 Final point y
- * @param z2 Final point z
- * @return the distance
- */
- public double computeDistance(final GeoPoint point1, final double x2, final double y2, final double z2);
-
- /** Compute the distance from a plane to a point.
- * @param planetModel The planet model
- * @param plane The plane
- * @param point The point
- * @param bounds are the plane bounds
- * @return the distance
- */
- public default double computeDistance(final PlanetModel planetModel, final Plane plane, final GeoPoint point,
- final Membership... bounds) {
- return computeDistance(planetModel, plane, point.x, point.y, point.z, bounds);
- }
-
- /** Compute the distance from a plane to a point.
- * @param planetModel The planet model
- * @param plane The plane
- * @param x The point x
- * @param y The point y
- * @param z The point z
- * @param bounds are the plane bounds
- * @return the distance
- */
- public double computeDistance(final PlanetModel planetModel, final Plane plane, final double x, final double y, final double z, final Membership... bounds);
-
-}
-
-
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Geo3DPoint.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Geo3DPoint.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Geo3DPoint.java
deleted file mode 100644
index cde87f3..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Geo3DPoint.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.FieldType;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.NumericUtils;
-import org.apache.lucene.util.RamUsageEstimator;
-
-/**
- * Add this to a document to index lat/lon or x/y/z point, indexed as a 3D point.
- * Multiple values are allowed: just add multiple Geo3DPoint to the document with the
- * same field name.
- * <p>
- * This field defines static factory methods for creating a shape query:
- * <ul>
- * <li>{@link #newShapeQuery newShapeQuery()} for matching all points inside a specified shape
- * </ul>
- *
- * @lucene.experimental */
-public final class Geo3DPoint extends Field {
-
- /** Indexing {@link FieldType}. */
- public static final FieldType TYPE = new FieldType();
- static {
- TYPE.setDimensions(3, Integer.BYTES);
- TYPE.freeze();
- }
-
- /**
- * Creates a new Geo3DPoint field with the specified lat, lon (in radians).
- *
- * @throws IllegalArgumentException if the field name is null or lat or lon are out of bounds
- */
- public Geo3DPoint(String name, double lat, double lon) {
- super(name, TYPE);
- // Translate lat/lon to x,y,z:
- final GeoPoint point = new GeoPoint(PlanetModel.WGS84, lat, lon);
- fillFieldsData(point.x, point.y, point.z);
- }
-
- /**
- * Creates a new Geo3DPoint field with the specified x,y,z.
- *
- * @throws IllegalArgumentException if the field name is null or lat or lon are out of bounds
- */
- public Geo3DPoint(String name, double x, double y, double z) {
- super(name, TYPE);
- fillFieldsData(x, y, z);
- }
-
- private void fillFieldsData(double x, double y, double z) {
- byte[] bytes = new byte[12];
- encodeDimension(x, bytes, 0);
- encodeDimension(y, bytes, Integer.BYTES);
- encodeDimension(z, bytes, 2*Integer.BYTES);
- fieldsData = new BytesRef(bytes);
- }
-
- // public helper methods (e.g. for queries)
-
- /** Encode single dimension */
- public static void encodeDimension(double value, byte bytes[], int offset) {
- NumericUtils.intToSortableBytes(Geo3DUtil.encodeValue(PlanetModel.WGS84.getMaximumMagnitude(), value), bytes, offset);
- }
-
- /** Decode single dimension */
- public static double decodeDimension(byte value[], int offset) {
- return Geo3DUtil.decodeValueCenter(PlanetModel.WGS84.getMaximumMagnitude(), NumericUtils.sortableBytesToInt(value, offset));
- }
-
- /** Returns a query matching all points inside the provided shape.
- *
- * @param field field name. must not be {@code null}.
- * @param shape Which {@link GeoShape} to match
- */
- public static Query newShapeQuery(String field, GeoShape shape) {
- return new PointInGeo3DShapeQuery(field, shape);
- }
-
- @Override
- public String toString() {
- StringBuilder result = new StringBuilder();
- result.append(getClass().getSimpleName());
- result.append(" <");
- result.append(name);
- result.append(':');
-
- BytesRef bytes = (BytesRef) fieldsData;
- result.append(" x=" + decodeDimension(bytes.bytes, bytes.offset));
- result.append(" y=" + decodeDimension(bytes.bytes, bytes.offset + Integer.BYTES));
- result.append(" z=" + decodeDimension(bytes.bytes, bytes.offset + 2*Integer.BYTES));
- result.append('>');
- return result.toString();
- }
-}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Geo3DUtil.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Geo3DUtil.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Geo3DUtil.java
deleted file mode 100644
index 34880a1..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Geo3DUtil.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-class Geo3DUtil {
-
- /** Clips the incoming value to the allowed min/max range before encoding, instead of throwing an exception. */
- public static int encodeValueLenient(double planetMax, double x) {
- if (x > planetMax) {
- x = planetMax;
- } else if (x < -planetMax) {
- x = -planetMax;
- }
- return encodeValue(planetMax, x);
- }
-
- public static int encodeValue(double planetMax, double x) {
- if (x > planetMax) {
- throw new IllegalArgumentException("value=" + x + " is out-of-bounds (greater than planetMax=" + planetMax + ")");
- }
- if (x < -planetMax) {
- throw new IllegalArgumentException("value=" + x + " is out-of-bounds (less than than -planetMax=" + -planetMax + ")");
- }
- long y = Math.round (x * (Integer.MAX_VALUE / planetMax));
- assert y >= Integer.MIN_VALUE;
- assert y <= Integer.MAX_VALUE;
-
- return (int) y;
- }
-
- /** Center decode */
- public static double decodeValueCenter(double planetMax, int x) {
- return x * (planetMax / Integer.MAX_VALUE);
- }
-
- /** More negative decode, at bottom of cell */
- public static double decodeValueMin(double planetMax, int x) {
- return (((double)x) - 0.5) * (planetMax / Integer.MAX_VALUE);
- }
-
- /** More positive decode, at top of cell */
- public static double decodeValueMax(double planetMax, int x) {
- return (((double)x) + 0.5) * (planetMax / Integer.MAX_VALUE);
- }
-}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoArea.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoArea.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoArea.java
deleted file mode 100755
index 424e494..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoArea.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-/**
- * A GeoArea represents a standard 2-D breakdown of a part of sphere. It can
- * be bounded in latitude, or bounded in both latitude and longitude, or not
- * bounded at all. The purpose of the interface is to describe bounding shapes used for
- * computation of geo hashes.
- *
- * @lucene.experimental
- */
-public interface GeoArea extends Membership {
- // Since we don't know what each GeoArea's constraints are,
- // we put the onus on the GeoArea implementation to do the right thing.
- // This will, of course, rely heavily on methods provided by
- // the underlying GeoShape class.
-
- // Relationship values for "getRelationship()"
-
- /** The referenced shape CONTAINS this area */
- public static final int CONTAINS = 0;
- /** The referenced shape IS WITHIN this area */
- public static final int WITHIN = 1;
- /** The referenced shape OVERLAPS this area */
- public static final int OVERLAPS = 2;
- /** The referenced shape has no relation to this area */
- public static final int DISJOINT = 3;
-
- /**
- * Find the spatial relationship between a shape and the current geo area.
- * Note: return value is how the GeoShape relates to the GeoArea, not the
- * other way around. For example, if this GeoArea is entirely within the
- * shape, then CONTAINS should be returned. If the shape is entirely enclosed
- * by this GeoArea, then WITHIN should be returned.
- *
- * It is permissible to return OVERLAPS instead of WITHIN if the shape
- * intersects with the area at even a single point. So, a circle inscribed in
- * a rectangle could return either OVERLAPS or WITHIN, depending on
- * implementation. It is not permissible to return CONTAINS or DISJOINT
- * in this circumstance, however.
- *
- * Similarly, it is permissible to return OVERLAPS instead of CONTAINS
- * under conditions where the shape consists of multiple independent overlapping
- * subshapes, and the area overlaps one of the subshapes. It is not permissible
- * to return WITHIN or DISJOINT in this circumstance, however.
- *
- * @param shape is the shape to consider.
- * @return the relationship, from the perspective of the shape.
- */
- public int getRelationship(GeoShape shape);
-}
-
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoAreaFactory.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoAreaFactory.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoAreaFactory.java
deleted file mode 100755
index 24dd211..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoAreaFactory.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-/**
- * Factory for {@link org.apache.lucene.geo3d.GeoArea}.
- *
- * @lucene.experimental
- */
-public class GeoAreaFactory {
- private GeoAreaFactory() {
- }
-
- /**
- * Create a GeoArea of the right kind given the specified bounds.
- * @param planetModel is the planet model
- * @param topLat is the top latitude
- * @param bottomLat is the bottom latitude
- * @param leftLon is the left longitude
- * @param rightLon is the right longitude
- * @return a GeoArea corresponding to what was specified.
- */
- public static GeoArea makeGeoArea(final PlanetModel planetModel, final double topLat, final double bottomLat, final double leftLon, final double rightLon) {
- return GeoBBoxFactory.makeGeoBBox(planetModel, topLat, bottomLat, leftLon, rightLon);
- }
-
- /**
- * Create a GeoArea of the right kind given (x,y,z) bounds.
- * @param planetModel is the planet model
- * @param minX is the min X boundary
- * @param maxX is the max X boundary
- * @param minY is the min Y boundary
- * @param maxY is the max Y boundary
- * @param minZ is the min Z boundary
- * @param maxZ is the max Z boundary
- */
- public static GeoArea makeGeoArea(final PlanetModel planetModel, final double minX, final double maxX, final double minY, final double maxY, final double minZ, final double maxZ) {
- return XYZSolidFactory.makeXYZSolid(planetModel, minX, maxX, minY, maxY, minZ, maxZ);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBBox.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBBox.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBBox.java
deleted file mode 100755
index 10a2388..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBBox.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-/**
- * All bounding box shapes have this interface in common.
- * This describes methods that bounding boxes have above and beyond
- * GeoMembershipShape's.
- *
- * @lucene.experimental
- */
-public interface GeoBBox extends GeoMembershipShape, GeoSizeable, GeoArea {
-
- /**
- * Expand box by specified angle.
- *
- * @param angle is the angle amount to expand the GeoBBox by.
- * @return a new GeoBBox.
- */
- public GeoBBox expand(double angle);
-
-}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBBoxFactory.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBBoxFactory.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBBoxFactory.java
deleted file mode 100755
index 9a02ab9..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBBoxFactory.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-/**
- * Factory for {@link org.apache.lucene.geo3d.GeoBBox}.
- *
- * @lucene.experimental
- */
-public class GeoBBoxFactory {
- private GeoBBoxFactory() {
- }
-
- /**
- * Create a geobbox of the right kind given the specified bounds.
- *
- * @param planetModel is the planet model
- * @param topLat is the top latitude
- * @param bottomLat is the bottom latitude
- * @param leftLon is the left longitude
- * @param rightLon is the right longitude
- * @return a GeoBBox corresponding to what was specified.
- */
- public static GeoBBox makeGeoBBox(final PlanetModel planetModel, double topLat, double bottomLat, double leftLon, double rightLon) {
- //System.err.println("Making rectangle for topLat="+topLat*180.0/Math.PI+", bottomLat="+bottomLat*180.0/Math.PI+", leftLon="+leftLon*180.0/Math.PI+", rightlon="+rightLon*180.0/Math.PI);
- if (topLat > Math.PI * 0.5)
- topLat = Math.PI * 0.5;
- if (bottomLat < -Math.PI * 0.5)
- bottomLat = -Math.PI * 0.5;
- if (leftLon < -Math.PI)
- leftLon = -Math.PI;
- if (rightLon > Math.PI)
- rightLon = Math.PI;
- if (Math.abs(leftLon + Math.PI) < Vector.MINIMUM_RESOLUTION && Math.abs(rightLon - Math.PI) < Vector.MINIMUM_RESOLUTION) {
- if (Math.abs(topLat - Math.PI * 0.5) < Vector.MINIMUM_RESOLUTION && Math.abs(bottomLat + Math.PI * 0.5) < Vector.MINIMUM_RESOLUTION)
- return new GeoWorld(planetModel);
- if (Math.abs(topLat - bottomLat) < Vector.MINIMUM_RESOLUTION) {
- if (Math.abs(topLat - Math.PI * 0.5) < Vector.MINIMUM_RESOLUTION || Math.abs(topLat + Math.PI * 0.5) < Vector.MINIMUM_RESOLUTION)
- return new GeoDegeneratePoint(planetModel, topLat, 0.0);
- return new GeoDegenerateLatitudeZone(planetModel, topLat);
- }
- if (Math.abs(topLat - Math.PI * 0.5) < Vector.MINIMUM_RESOLUTION)
- return new GeoNorthLatitudeZone(planetModel, bottomLat);
- else if (Math.abs(bottomLat + Math.PI * 0.5) < Vector.MINIMUM_RESOLUTION)
- return new GeoSouthLatitudeZone(planetModel, topLat);
- return new GeoLatitudeZone(planetModel, topLat, bottomLat);
- }
- //System.err.println(" not latitude zone");
- double extent = rightLon - leftLon;
- if (extent < 0.0)
- extent += Math.PI * 2.0;
- if (topLat == Math.PI * 0.5 && bottomLat == -Math.PI * 0.5) {
- if (Math.abs(leftLon - rightLon) < Vector.MINIMUM_RESOLUTION)
- return new GeoDegenerateLongitudeSlice(planetModel, leftLon);
-
- if (extent >= Math.PI)
- return new GeoWideLongitudeSlice(planetModel, leftLon, rightLon);
-
- return new GeoLongitudeSlice(planetModel, leftLon, rightLon);
- }
- //System.err.println(" not longitude slice");
- if (Math.abs(leftLon - rightLon) < Vector.MINIMUM_RESOLUTION) {
- if (Math.abs(topLat - bottomLat) < Vector.MINIMUM_RESOLUTION)
- return new GeoDegeneratePoint(planetModel, topLat, leftLon);
- return new GeoDegenerateVerticalLine(planetModel, topLat, bottomLat, leftLon);
- }
- //System.err.println(" not vertical line");
- if (extent >= Math.PI) {
- if (Math.abs(topLat - bottomLat) < Vector.MINIMUM_RESOLUTION) {
- //System.err.println(" wide degenerate line");
- return new GeoWideDegenerateHorizontalLine(planetModel, topLat, leftLon, rightLon);
- }
- if (Math.abs(topLat - Math.PI * 0.5) < Vector.MINIMUM_RESOLUTION) {
- return new GeoWideNorthRectangle(planetModel, bottomLat, leftLon, rightLon);
- } else if (Math.abs(bottomLat + Math.PI * 0.5) < Vector.MINIMUM_RESOLUTION) {
- return new GeoWideSouthRectangle(planetModel, topLat, leftLon, rightLon);
- }
- //System.err.println(" wide rect");
- return new GeoWideRectangle(planetModel, topLat, bottomLat, leftLon, rightLon);
- }
- if (Math.abs(topLat - bottomLat) < Vector.MINIMUM_RESOLUTION) {
- if (Math.abs(topLat - Math.PI * 0.5) < Vector.MINIMUM_RESOLUTION || Math.abs(topLat + Math.PI * 0.5) < Vector.MINIMUM_RESOLUTION) {
- return new GeoDegeneratePoint(planetModel, topLat, 0.0);
- }
- //System.err.println(" horizontal line");
- return new GeoDegenerateHorizontalLine(planetModel, topLat, leftLon, rightLon);
- }
- if (Math.abs(topLat - Math.PI * 0.5) < Vector.MINIMUM_RESOLUTION) {
- return new GeoNorthRectangle(planetModel, bottomLat, leftLon, rightLon);
- } else if (Math.abs(bottomLat + Math.PI * 0.5) < Vector.MINIMUM_RESOLUTION) {
- return new GeoSouthRectangle(planetModel, topLat, leftLon, rightLon);
- }
- //System.err.println(" rectangle");
- return new GeoRectangle(planetModel, topLat, bottomLat, leftLon, rightLon);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseBBox.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseBBox.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseBBox.java
deleted file mode 100644
index f40a0a1..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseBBox.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-/**
- * All bounding box shapes can derive from this base class, which furnishes
- * some common code
- *
- * @lucene.internal
- */
-public abstract class GeoBaseBBox extends GeoBaseMembershipShape implements GeoBBox {
-
- /** Construct, given planet model.
- *@param planetModel is the planet model.
- */
- public GeoBaseBBox(final PlanetModel planetModel) {
- super(planetModel);
- }
-
- // Signals for relationship of edge points to shape
-
- /** All edgepoints inside shape */
- protected final static int ALL_INSIDE = 0;
- /** Some edgepoints inside shape */
- protected final static int SOME_INSIDE = 1;
- /** No edgepoints inside shape */
- protected final static int NONE_INSIDE = 2;
-
- /** Determine the relationship between this BBox and the provided
- * shape's edgepoints.
- *@param path is the shape.
- *@return the relationship.
- */
- protected int isShapeInsideBBox(final GeoShape path) {
- final GeoPoint[] pathPoints = path.getEdgePoints();
- boolean foundOutside = false;
- boolean foundInside = false;
- for (GeoPoint p : pathPoints) {
- if (isWithin(p)) {
- foundInside = true;
- } else {
- foundOutside = true;
- }
- if (foundInside && foundOutside) {
- return SOME_INSIDE;
- }
- }
- if (!foundInside && !foundOutside)
- return NONE_INSIDE;
- if (foundInside && !foundOutside)
- return ALL_INSIDE;
- if (foundOutside && !foundInside)
- return NONE_INSIDE;
- return SOME_INSIDE;
- }
-
-}
-
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseCircle.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseCircle.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseCircle.java
deleted file mode 100644
index 8c306d7..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseCircle.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-/**
- * GeoCircles have all the characteristics of GeoBaseDistanceShapes, plus GeoSizeable.
- *
- * @lucene.experimental
- */
-public abstract class GeoBaseCircle extends GeoBaseDistanceShape implements GeoCircle {
-
- /** Constructor.
- *@param planetModel is the planet model to use.
- */
- public GeoBaseCircle(final PlanetModel planetModel) {
- super(planetModel);
- }
-
-}
-
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseDistanceShape.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseDistanceShape.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseDistanceShape.java
deleted file mode 100644
index 1c8306a..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseDistanceShape.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-/**
- * Distance shapes have capabilities of both geohashing and distance
- * computation (which also includes point membership determination).
- *
- * @lucene.experimental
- */
-public abstract class GeoBaseDistanceShape extends GeoBaseMembershipShape implements GeoDistanceShape {
-
- /** Constructor.
- *@param planetModel is the planet model to use.
- */
- public GeoBaseDistanceShape(final PlanetModel planetModel) {
- super(planetModel);
- }
-
- @Override
- public boolean isWithin(Vector point) {
- return isWithin(point.x, point.y, point.z);
- }
-
- @Override
- public double computeDistance(final DistanceStyle distanceStyle, final GeoPoint point) {
- return computeDistance(distanceStyle, point.x, point.y, point.z);
- }
-
- @Override
- public double computeDistance(final DistanceStyle distanceStyle, final double x, final double y, final double z) {
- if (!isWithin(x,y,z)) {
- return Double.MAX_VALUE;
- }
- return distance(distanceStyle, x, y, z);
- }
-
- /** Called by a {@code computeDistance} method if X/Y/Z is not within this shape. */
- protected abstract double distance(final DistanceStyle distanceStyle, final double x, final double y, final double z);
-
-}
-
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseMembershipShape.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseMembershipShape.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseMembershipShape.java
deleted file mode 100644
index a6bba8f..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseMembershipShape.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-/**
- * Membership shapes have capabilities of both geohashing and membership
- * determination. This is a useful baseclass for them.
- *
- * @lucene.experimental
- */
-public abstract class GeoBaseMembershipShape extends GeoBaseShape implements GeoMembershipShape {
-
- /** Constructor.
- *@param planetModel is the planet model to use.
- */
- public GeoBaseMembershipShape(final PlanetModel planetModel) {
- super(planetModel);
- }
-
- @Override
- public boolean isWithin(Vector point) {
- return isWithin(point.x, point.y, point.z);
- }
-
- @Override
- public double computeOutsideDistance(final DistanceStyle distanceStyle, final GeoPoint point) {
- return computeOutsideDistance(distanceStyle, point.x, point.y, point.z);
- }
-
- @Override
- public double computeOutsideDistance(final DistanceStyle distanceStyle, final double x, final double y, final double z) {
- if (isWithin(x,y,z)) {
- return 0.0;
- }
- return outsideDistance(distanceStyle, x,y,z);
- }
-
- /** Called by a {@code computeOutsideDistance} method if X/Y/Z is not within this shape. */
- protected abstract double outsideDistance(final DistanceStyle distanceStyle, final double x, final double y, final double z);
-
-}
-
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBasePolygon.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBasePolygon.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBasePolygon.java
deleted file mode 100644
index 50ad0dc..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBasePolygon.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-/**
- * GeoBasePolygon objects are the base class of most GeoPolygon objects.
- *
- * @lucene.experimental
- */
-public abstract class GeoBasePolygon extends GeoBaseMembershipShape implements GeoPolygon {
-
- /** Constructor.
- *@param planetModel is the planet model to use.
- */
- public GeoBasePolygon(final PlanetModel planetModel) {
- super(planetModel);
- }
-
-}
-
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseShape.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseShape.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseShape.java
deleted file mode 100644
index 146cfe8..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseShape.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-/**
- * Base extended shape object.
- *
- * @lucene.internal
- */
-public abstract class GeoBaseShape extends BasePlanetObject implements GeoShape {
-
- /** Constructor.
- *@param planetModel is the planet model to use.
- */
- public GeoBaseShape(final PlanetModel planetModel) {
- super(planetModel);
- }
-
- @Override
- public void getBounds(Bounds bounds) {
- if (isWithin(planetModel.NORTH_POLE)) {
- bounds.noTopLatitudeBound().noLongitudeBound()
- .addPoint(planetModel.NORTH_POLE);
- }
- if (isWithin(planetModel.SOUTH_POLE)) {
- bounds.noBottomLatitudeBound().noLongitudeBound()
- .addPoint(planetModel.SOUTH_POLE);
- }
- if (isWithin(planetModel.MIN_X_POLE)) {
- bounds.addPoint(planetModel.MIN_X_POLE);
- }
- if (isWithin(planetModel.MAX_X_POLE)) {
- bounds.addPoint(planetModel.MAX_X_POLE);
- }
- if (isWithin(planetModel.MIN_Y_POLE)) {
- bounds.addPoint(planetModel.MIN_Y_POLE);
- }
- if (isWithin(planetModel.MAX_Y_POLE)) {
- bounds.addPoint(planetModel.MAX_Y_POLE);
- }
- }
-
-}
-
-
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCircle.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCircle.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCircle.java
deleted file mode 100755
index 154cdc4..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCircle.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-/**
- * Interface describing circular area with a center and radius.
- *
- * @lucene.experimental
- */
-public interface GeoCircle extends GeoDistanceShape, GeoSizeable {
-}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCircleFactory.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCircleFactory.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCircleFactory.java
deleted file mode 100644
index 2bb8ffc..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCircleFactory.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-/**
- * Class which constructs a GeoCircle representing an arbitrary circle.
- *
- * @lucene.experimental
- */
-public class GeoCircleFactory {
- private GeoCircleFactory() {
- }
-
- /**
- * Create a GeoCircle of the right kind given the specified bounds.
- * @param planetModel is the planet model.
- * @param latitude is the center latitude.
- * @param longitude is the center longitude.
- * @param radius is the radius angle.
- * @return a GeoCircle corresponding to what was specified.
- */
- public static GeoCircle makeGeoCircle(final PlanetModel planetModel, final double latitude, final double longitude, final double radius) {
- if (radius < Vector.MINIMUM_RESOLUTION) {
- return new GeoDegeneratePoint(planetModel, latitude, longitude);
- }
- return new GeoStandardCircle(planetModel, latitude, longitude, radius);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCompositeMembershipShape.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCompositeMembershipShape.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCompositeMembershipShape.java
deleted file mode 100755
index 25bdda0..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCompositeMembershipShape.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * GeoComposite is a set of GeoMembershipShape's, treated as a unit.
- *
- * @lucene.experimental
- */
-public class GeoCompositeMembershipShape implements GeoMembershipShape {
- /** The list of shapes. */
- protected final List<GeoMembershipShape> shapes = new ArrayList<GeoMembershipShape>();
-
- /** Constructor.
- */
- public GeoCompositeMembershipShape() {
- }
-
- /**
- * Add a shape to the composite.
- *@param shape is the shape to add.
- */
- public void addShape(final GeoMembershipShape shape) {
- shapes.add(shape);
- }
-
- @Override
- public boolean isWithin(final Vector point) {
- return isWithin(point.x, point.y, point.z);
- }
-
- @Override
- public boolean isWithin(final double x, final double y, final double z) {
- for (GeoMembershipShape shape : shapes) {
- if (shape.isWithin(x, y, z))
- return true;
- }
- return false;
- }
-
- @Override
- public GeoPoint[] getEdgePoints() {
- return shapes.get(0).getEdgePoints();
- }
-
- @Override
- public boolean intersects(final Plane p, final GeoPoint[] notablePoints, final Membership... bounds) {
- for (GeoMembershipShape shape : shapes) {
- if (shape.intersects(p, notablePoints, bounds))
- return true;
- }
- return false;
- }
-
- @Override
- public void getBounds(Bounds bounds) {
- for (GeoMembershipShape shape : shapes) {
- shape.getBounds(bounds);
- }
- }
-
- @Override
- public double computeOutsideDistance(final DistanceStyle distanceStyle, final GeoPoint point) {
- return computeOutsideDistance(distanceStyle, point.x, point.y, point.z);
- }
-
- @Override
- public double computeOutsideDistance(final DistanceStyle distanceStyle, final double x, final double y, final double z) {
- if (isWithin(x,y,z))
- return 0.0;
- double distance = Double.MAX_VALUE;
- for (GeoMembershipShape shape : shapes) {
- final double normalDistance = shape.computeOutsideDistance(distanceStyle, x, y, z);
- if (normalDistance < distance) {
- distance = normalDistance;
- }
- }
- return distance;
- }
-
- @Override
- public boolean equals(Object o) {
- if (!(o instanceof GeoCompositeMembershipShape))
- return false;
- GeoCompositeMembershipShape other = (GeoCompositeMembershipShape) o;
-
- return super.equals(o) && shapes.equals(other.shapes);
- }
-
- @Override
- public int hashCode() {
- return super.hashCode() * 31 + shapes.hashCode();//TODO cache
- }
-
- @Override
- public String toString() {
- return "GeoCompositeMembershipShape: {" + shapes + '}';
- }
-}
-
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a31a8c7/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCompositePolygon.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCompositePolygon.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCompositePolygon.java
deleted file mode 100644
index b537590..0000000
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCompositePolygon.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.geo3d;
-
-/**
- * GeoCompositePolygon is a specific implementation of GeoMembershipShape, which implements GeoPolygon explicitly.
- *
- * @lucene.experimental
- */
-public class GeoCompositePolygon extends GeoCompositeMembershipShape implements GeoPolygon {
- /** Constructor.
- */
- public GeoCompositePolygon() {
- }
-
-}
-