Class GeoTestUtil

java.lang.Object
org.apache.lucene.tests.geo.GeoTestUtil

public class GeoTestUtil extends Object
static methods for testing geo
  • Constructor Details

    • GeoTestUtil

      public GeoTestUtil()
  • Method Details

    • nextLatitude

      public static double nextLatitude()
      returns next pseudorandom latitude (anywhere)
    • nextLongitude

      public static double nextLongitude()
      returns next pseudorandom longitude (anywhere)
    • nextPointNear

      public static double[] nextPointNear(Rectangle rectangle)
      Returns next point (lat/lon) for testing near a Box. It may cross the dateline
    • nextPointNear

      public static double[] nextPointNear(Polygon polygon)
      Returns next point (lat/lon) for testing near a Polygon
    • nextBoxNear

      public static Rectangle nextBoxNear(Polygon polygon)
      Returns next box for testing near a Polygon
    • nextBox

      public static Rectangle nextBox()
      returns next pseudorandom box: can cross the 180th meridian
    • nextBoxNotCrossingDateline

      public static Rectangle nextBoxNotCrossingDateline()
      returns next pseudorandom box: does not cross the 180th meridian
    • createRegularPolygon

      public static Polygon createRegularPolygon(double centerLat, double centerLon, double radiusMeters, int gons)
      Makes an n-gon, centered at the provided lat/lon, and each vertex approximately distanceMeters away from the center.

      Do not invoke me across the dateline or a pole!!

    • nextPoint

      public static Point nextPoint()
    • nextLine

      public static Line nextLine()
    • nextCircle

      public static Circle nextCircle()
    • nextPolygon

      public static Polygon nextPolygon()
      returns next pseudorandom polygon
    • toSVG

      public static String toSVG(Object... objects)
      Returns svg of polygon for debugging.

      You can pass any number of objects: Polygon: polygon with optional holes Polygon[]: arrays of polygons for convenience Rectangle: for a box double[2]: as latitude,longitude for a point

      At least one object must be a polygon. The viewBox is formed around all polygons found in the arguments.

    • containsSlowly

      public static boolean containsSlowly(Polygon polygon, double latitude, double longitude)
      Simple slow point in polygon check (for testing)
    • readShape

      public static String readShape(String name) throws IOException
      reads a shape from file
      Throws:
      IOException