## com.vividsolutions.jts.geom
Class MultiPolygon

    java.lang.Object
      com.vividsolutions.jts.geom.Geometry
          com.vividsolutions.jts.geom.GeometryCollection
              com.vividsolutions.jts.geom.MultiPolygon

All Implemented Interfaces:
  java.lang.Cloneable, java.lang.Comparable, Polygonal, java.io.Serializable

public class MultiPolygon
extends GeometryCollection
implements Polygonal

Basic implementation of `MultiPolygon`.

Version:
  1.7
See Also:
  Serialized Form

Field Summary

Fields inherited from class com.vividsolutions.jts.geom.GeometryCollection
`geometries`

Fields inherited from class com.vividsolutions.jts.geom.Geometry
`envelope, factory, SRID`

Constructor Summary
`MultiPolygon(Polygon[] polygons, GeometryFactory factory)`
`MultiPolygon(Polygon[] polygons, PrecisionModel precisionModel, int SRID)` Deprecated. Use GeometryFactory instead

Method Summary
`boolean` `equalsExact(Geometry other, double tolerance)` Returns true if the two `Geometry`s are exactly equal, up to a specified distance tolerance.
`Geometry` `getBoundary()` Computes the boundary of this geometry
`int` `getBoundaryDimension()` Returns the dimension of this `Geometry`s inherent boundary.
`int` `getDimension()` Returns the dimension of this geometry.
`java.lang.String` `getGeometryType()` Returns the name of this object's `com.vivid.jts.geom` interface.
`boolean` `isSimple()` Tests whether this `Geometry` is simple.
`Geometry` `reverse()` Creates a `MultiPolygon` with every component reversed.

Methods inherited from class com.vividsolutions.jts.geom.GeometryCollection
`apply, apply, apply, apply, clone, compareToSameClass, compareToSameClass, computeEnvelopeInternal, getArea, getCoordinate, getCoordinates, getGeometryN, getLength, getNumGeometries, getNumPoints, isEmpty, normalize`

Methods inherited from class com.vividsolutions.jts.geom.Geometry

`buffer, buffer, buffer, checkNotGeometryCollection, compare, compareTo, compareTo, contains, convexHull, coveredBy, covers, crosses, difference, disjoint, distance, equal, equals, equalsExact, geometryChanged, geometryChangedAction, getCentroid, getEnvelope, getEnvelopeInternal, getFactory, getInteriorPoint, getPrecisionModel, getSRID, getUserData, hasNonEmptyElements, hasNullElements, intersection, intersects, isEquivalentClass, isGeometryCollection, isRectangle, isValid, isWithinDistance, overlaps, relate, relate, setSRID, setUserData, symDifference, toString, toText, touches, union, union, within`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### MultiPolygon

    public MultiPolygon(Polygon[] polygons,
                        PrecisionModel precisionModel,
                        int SRID)

  Deprecated. Use GeometryFactory instead

  Constructs a `MultiPolygon`.

Parameters:
  `polygons` - the `Polygon`s for this `MultiPolygon` , or `null` or an empty array to create the empty geometry. Elements may be empty `Polygon`s, but not `null` s. The polygons must conform to the assertions specified in the OpenGIS Simple Features Specification for SQL .
  `precisionModel` - the specification of the grid of allowable points for this `MultiPolygon`
  `SRID` - the ID of the Spatial Reference System used by this `MultiPolygon`

### MultiPolygon

    public MultiPolygon(Polygon[] polygons,
                        GeometryFactory factory)

Parameters:
  `polygons` - the `Polygon`s for this `MultiPolygon`, or `null` or an empty array to create the empty geometry. Elements may be empty `Polygon`s, but not `null`s. The polygons must conform to the assertions specified in the OpenGIS Simple Features Specification for SQL.

Method Detail

### getDimension

    public int getDimension()

  Description copied from class: `Geometry`
  Returns the dimension of this geometry. The dimension of a geometry is is the topological dimension of its embedding in the 2-D Euclidean plane. In the JTS spatial model, dimension values are in the set {0,1,2}.

  Note that this is a different concept to the dimension of the vertex `Coordinate`s. The geometry dimension can never be greater than the coordinate dimension. For example, a 0-dimensional geometry (e.g. a Point) may have a coordinate dimension of 3 (X,Y,Z).

  Overrides:
    `getDimension` in class `GeometryCollection`

### getBoundaryDimension

    public int getBoundaryDimension()

  Description copied from class: `Geometry`
  Returns the dimension of this `Geometry`s inherent boundary.

  Overrides:
    `getBoundaryDimension` in class `GeometryCollection`

### getGeometryType

    public java.lang.String getGeometryType()

  Description copied from class: `Geometry`
  Returns the name of this object's `com.vivid.jts.geom` interface.

  Overrides:
    `getGeometryType` in class `GeometryCollection`

### isSimple

    public boolean isSimple()

  Description copied from class: `Geometry`
  Tests whether this `Geometry` is simple. In general, the SFS specification of simplicity follows the rule:
  - A Geometry is simple iff the only self-intersections are at boundary points.
  Simplicity is defined for each `Geometry` subclass as follows:
  - Valid polygonal geometries are simple by definition, so `isSimple` trivially returns true.
  - Linear geometries are simple iff they do not self-intersect at points other than boundary points.
  - Zero-dimensional geometries (points) are simple iff they have no repeated points.
  - Empty `Geometry`s are always simple

  Overrides:
    `isSimple` in class `Geometry`
  Returns:
    `true` if this `Geometry` has any points of self-tangency, self-intersection or other anomalous points
  See Also:
    `Geometry.isValid()`

### getBoundary

    public Geometry getBoundary()

  Computes the boundary of this geometry

  Overrides:
    `getBoundary` in class `GeometryCollection`
  Returns:
    a lineal geometry (which may be empty)
  See Also:
    `Geometry.getBoundary()`

### equalsExact

    public boolean equalsExact(Geometry other,
                               double tolerance)

  Description copied from class: `Geometry`
  Returns true if the two `Geometry`s are exactly equal, up to a specified distance tolerance. Two Geometries are exactly equal within a distance tolerance if and only if:
  - they have the same class
  - they have the same values for their vertices, within the given tolerance distance, in exactly the same order.
  If this and the other `Geometry`s are composites and any children are not `Geometry`s, returns `false`.

  Overrides:
    `equalsExact` in class `GeometryCollection`

### reverse

    public Geometry reverse()

  Creates a `MultiPolygon` with every component reversed. The order of the components in the collection are not reversed.

  Overrides:
    `reverse` in class `GeometryCollection`
  Returns:
    a MultiPolygon in the reverse order