Package org.apache.lucene.spatial.spatial4j

# Class Geo3dShapeFactory

java.lang.Object
org.apache.lucene.spatial.spatial4j.Geo3dShapeFactory

All Implemented Interfaces:
  `S2ShapeFactory`, `org.locationtech.spatial4j.shape.ShapeFactory`

public class Geo3dShapeFactory extends Object implements S2ShapeFactory
Geo3d implementation of `S2ShapeFactory`

WARNING: This API is experimental and might change in incompatible ways in the next release.

## Nested Class Summary

## Nested classes/interfaces inherited from interface org.locationtech.spatial4j.shape.ShapeFactory

`org.locationtech.spatial4j.shape.ShapeFactory.LineStringBuilder, org.locationtech.spatial4j.shape.ShapeFactory.MultiLineStringBuilder, org.locationtech.spatial4j.shape.ShapeFactory.MultiPointBuilder, org.locationtech.spatial4j.shape.ShapeFactory.MultiPolygonBuilder, org.locationtech.spatial4j.shape.ShapeFactory.MultiShapeBuilder<T extends org.locationtech.spatial4j.shape.Shape>, org.locationtech.spatial4j.shape.ShapeFactory.PointsBuilder<T>, org.locationtech.spatial4j.shape.ShapeFactory.PolygonBuilder`

## Constructor Summary

Constructors
Constructor
Description
`Geo3dShapeFactory(org.locationtech.spatial4j.context.SpatialContext context, org.locationtech.spatial4j.context.SpatialContextFactory factory)`

## Method Summary

Modifier and Type
Method
Description
`org.locationtech.spatial4j.shape.Circle`
`circle(double x, double y, double distance)`
`org.locationtech.spatial4j.shape.Circle`
`circle(org.locationtech.spatial4j.shape.Point point, double distance)`
`org.locationtech.spatial4j.shape.Shape`
`getS2CellShape(com.google.common.geometry.S2CellId cellId)`
Factory method for S2 cell shapes.
`org.locationtech.spatial4j.context.SpatialContext`
`getSpatialContext()`
`boolean`
`isNormWrapLongitude()`
`org.locationtech.spatial4j.shape.ShapeFactory.LineStringBuilder`
`lineString()`
`org.locationtech.spatial4j.shape.Shape`
`lineString(List<org.locationtech.spatial4j.shape.Point> list, double distance)`
`org.locationtech.spatial4j.shape.ShapeFactory.MultiLineStringBuilder`
`multiLineString()`
`org.locationtech.spatial4j.shape.ShapeFactory.MultiPointBuilder`
`multiPoint()`
`org.locationtech.spatial4j.shape.ShapeFactory.MultiPolygonBuilder`
`multiPolygon()`
`<T extends org.locationtech.spatial4j.shape.Shape>
org.locationtech.spatial4j.shape.ShapeFactory.MultiShapeBuilder<T>`
`multiShape(Class<T> aClass)`
`<S extends org.locationtech.spatial4j.shape.Shape>
org.locationtech.spatial4j.shape.ShapeCollection<S>`
`multiShape(List<S> list)`
`double`
`normDist(double distance)`
`double`
`normX(double x)`
`double`
`normY(double y)`
`double`
`normZ(double z)`
`org.locationtech.spatial4j.shape.Point`
`pointXY(double x, double y)`
`org.locationtech.spatial4j.shape.Point`
`pointXYZ(double x, double y, double z)`
`org.locationtech.spatial4j.shape.ShapeFactory.PolygonBuilder`
`polygon()`
`org.locationtech.spatial4j.shape.Rectangle`
`rect(double minX, double maxX, double minY, double maxY)`
`org.locationtech.spatial4j.shape.Rectangle`
`rect(org.locationtech.spatial4j.shape.Point point, org.locationtech.spatial4j.shape.Point point1)`
`void`
`setCircleAccuracy(double circleAccuracy)`
Set the accuracy for circles in decimal degrees.
`void`
`verifyX(double x)`
`void`
`verifyY(double y)`
`void`
`verifyZ(double v)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.locationtech.spatial4j.shape.ShapeFactory

`pointLatLon`

## Constructor Details

### Geo3dShapeFactory

public Geo3dShapeFactory(org.locationtech.spatial4j.context.SpatialContext context, org.locationtech.spatial4j.context.SpatialContextFactory factory)

## Method Details

### getSpatialContext

public org.locationtech.spatial4j.context.SpatialContext getSpatialContext()

Specified by:
  `getSpatialContext` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### setCircleAccuracy

public void setCircleAccuracy(double circleAccuracy)
Set the accuracy for circles in decimal degrees. Note that accuracy has no effect when the planet model is a sphere. In that case, circles are always fully precise.

Parameters:
  `circleAccuracy` - the provided accuracy in decimal degrees.

### isNormWrapLongitude

public boolean isNormWrapLongitude()

Specified by:
  `isNormWrapLongitude` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### normX

public double normX(double x)

Specified by:
  `normX` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### normY

public double normY(double y)

Specified by:
  `normY` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### normZ

public double normZ(double z)

Specified by:
  `normZ` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### normDist

public double normDist(double distance)

Specified by:
  `normDist` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### verifyX

public void verifyX(double x)

Specified by:
  `verifyX` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### verifyY

public void verifyY(double y)

Specified by:
  `verifyY` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### verifyZ

public void verifyZ(double v)

Specified by:
  `verifyZ` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### pointXY

public org.locationtech.spatial4j.shape.Point pointXY(double x, double y)

Specified by:
  `pointXY` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### pointXYZ

public org.locationtech.spatial4j.shape.Point pointXYZ(double x, double y, double z)

Specified by:
  `pointXYZ` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### rect

public org.locationtech.spatial4j.shape.Rectangle rect(org.locationtech.spatial4j.shape.Point point, org.locationtech.spatial4j.shape.Point point1)

Specified by:
  `rect` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### rect

public org.locationtech.spatial4j.shape.Rectangle rect(double minX, double maxX, double minY, double maxY)

Specified by:
  `rect` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### circle

public org.locationtech.spatial4j.shape.Circle circle(double x, double y, double distance)

Specified by:
  `circle` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### circle

public org.locationtech.spatial4j.shape.Circle circle(org.locationtech.spatial4j.shape.Point point, double distance)

Specified by:
  `circle` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### lineString

public org.locationtech.spatial4j.shape.Shape lineString(List<org.locationtech.spatial4j.shape.Point> list, double distance)

Specified by:
  `lineString` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### multiShape

public <S extends org.locationtech.spatial4j.shape.Shape> org.locationtech.spatial4j.shape.ShapeCollection<S> multiShape(List<S> list)

Specified by:
  `multiShape` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### lineString

public org.locationtech.spatial4j.shape.ShapeFactory.LineStringBuilder lineString()

Specified by:
  `lineString` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### polygon

public org.locationtech.spatial4j.shape.ShapeFactory.PolygonBuilder polygon()

Specified by:
  `polygon` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### multiShape

public <T extends org.locationtech.spatial4j.shape.Shape> org.locationtech.spatial4j.shape.ShapeFactory.MultiShapeBuilder<T> multiShape(Class<T> aClass)

Specified by:
  `multiShape` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### multiPoint

public org.locationtech.spatial4j.shape.ShapeFactory.MultiPointBuilder multiPoint()

Specified by:
  `multiPoint` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### multiLineString

public org.locationtech.spatial4j.shape.ShapeFactory.MultiLineStringBuilder multiLineString()

Specified by:
  `multiLineString` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### multiPolygon

public org.locationtech.spatial4j.shape.ShapeFactory.MultiPolygonBuilder multiPolygon()

Specified by:
  `multiPolygon` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

### getS2CellShape

public org.locationtech.spatial4j.shape.Shape getS2CellShape(com.google.common.geometry.S2CellId cellId)
Description copied from interface: `S2ShapeFactory`
Factory method for S2 cell shapes.

Specified by:
  `getS2CellShape` in interface `S2ShapeFactory`
Parameters:
  `cellId` - The S2 cell id
Returns:
  the shape representing the cell.