Class XYShape

java.lang.Object
org.apache.lucene.document.XYShape

public class XYShape extends Object
A cartesian shape utility class for indexing and searching geometries whose vertices are unitless x, y values.

This class defines seven static factory methods for common indexing and search operations:

WARNING: Like LatLonPoint, vertex values are indexed with some loss of precision from the original double values.
See Also:
  • Method Details

    • createIndexableFields

      public static Field[] createIndexableFields(String fieldName, XYPolygon polygon)
      create indexable fields for cartesian polygon geometry
    • createIndexableFields

      public static Field[] createIndexableFields(String fieldName, XYPolygon polygon, boolean checkSelfIntersections)
      create indexable fields for cartesian polygon geometry. If checkSelfIntersections is set to true, the validity of the provided polygon is checked with a small performance penalty.
    • createIndexableFields

      public static Field[] createIndexableFields(String fieldName, XYLine line)
      create indexable fields for cartesian line geometry
    • createIndexableFields

      public static Field[] createIndexableFields(String fieldName, float x, float y)
      create indexable fields for cartesian point geometry
    • newBoxQuery

      public static Query newBoxQuery(String field, ShapeField.QueryRelation queryRelation, float minX, float maxX, float minY, float maxY)
      create a query to find all cartesian shapes that intersect a defined bounding box *
    • newLineQuery

      public static Query newLineQuery(String field, ShapeField.QueryRelation queryRelation, XYLine... lines)
      create a query to find all cartesian shapes that intersect a provided linestring (or array of linestrings) *
    • newPolygonQuery

      public static Query newPolygonQuery(String field, ShapeField.QueryRelation queryRelation, XYPolygon... polygons)
      create a query to find all cartesian shapes that intersect a provided polygon (or array of polygons) *
    • newPointQuery

      public static Query newPointQuery(String field, ShapeField.QueryRelation queryRelation, float[]... points)
      create a query to find all indexed shapes that comply the ShapeField.QueryRelation with the provided point
    • newDistanceQuery

      public static Query newDistanceQuery(String field, ShapeField.QueryRelation queryRelation, XYCircle... circle)
      create a query to find all cartesian shapes that intersect a provided circle (or arrays of circles) *
    • newGeometryQuery

      public static Query newGeometryQuery(String field, ShapeField.QueryRelation queryRelation, XYGeometry... xyGeometries)
      create a query to find all indexed geo shapes that intersect a provided geometry collection note: Components do not support dateline crossing