Package dev.morphia.geo
Class Polygon
- java.lang.Object
-
- dev.morphia.geo.Polygon
-
- All Implemented Interfaces:
Geometry
public class Polygon extends java.lang.Object implements Geometry
This class represents either a simple polygon enclosing an area, or a more complex polygon that contains both an exterior boundary and interior boundaries (holes) within it. It will be persisted into the database according to the specification. The factory for creating a Polygon isPolygonBuilder
, which is accessible via theGeoJson.polygonBuilder
method. Alternatively, simple polygons without inner rings can be created via theGeoJson.polygon
factory method.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.mongodb.client.model.geojson.Polygon
convert()
Converts this type to the driver typecom.mongodb.client.model.geojson.Polygon
convert(CoordinateReferenceSystem crs)
Converts this type to the driver typeboolean
equals(java.lang.Object o)
java.util.List<LineString>
getCoordinates()
Returns a list of coordinates for this Geometry type.LineString
getExteriorBoundary()
Returns a LineString representing the exterior boundary of this Polygon.java.util.List<LineString>
getInteriorBoundaries()
Returns a (possibly empty) List of LineStrings, one for each hole inside the external boundary of this polygon.int
hashCode()
java.lang.String
toString()
-
-
-
Method Detail
-
getCoordinates
public java.util.List<LineString> getCoordinates()
Description copied from interface:Geometry
Returns a list of coordinates for this Geometry type. For something like a Point, this will be a pair of lat/long coordinates, but for more complex types this will be a list of other Geometry objects. Used for serialisation to MongoDB.- Specified by:
getCoordinates
in interfaceGeometry
- Returns:
- a List containing either Geometry objects, or a pair of coordinates as doubles
-
getExteriorBoundary
public LineString getExteriorBoundary()
Returns a LineString representing the exterior boundary of this Polygon. Polygons should have an exterior boundary where the end point is the same as the start point.- Returns:
- a LineString containing the points that make up the external boundary of this Polygon.
-
getInteriorBoundaries
public java.util.List<LineString> getInteriorBoundaries()
Returns a (possibly empty) List of LineStrings, one for each hole inside the external boundary of this polygon.- Returns:
- a List of LineStrings where each LineString represents an internal boundary or hole.
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
convert
public com.mongodb.client.model.geojson.Polygon convert()
Description copied from interface:Geometry
Converts this type to the driver type
-
convert
public com.mongodb.client.model.geojson.Polygon convert(CoordinateReferenceSystem crs)
Description copied from interface:Geometry
Converts this type to the driver type
-
-