Polygon class

A polygon geometry with one exterior and 0 to N interior rings.

An empty polygon has no rings.

Inheritance

Constructors

Polygon(List<PositionSeries> rings, {Box? bounds})
A polygon geometry with one exterior and 0 to N interior rings.
const
Polygon.build(Iterable<Iterable<double>> rings, {Coords type = Coords.xy, Box? bounds})
Builds a polygon geometry from one exterior and 0 to N interior rings.
factory
Polygon.decode(Uint8List bytes, {BinaryFormat<SimpleGeometryContent> format = WKB.geometry, CoordRefSys? crs, Map<String, dynamic>? options})
Decodes a polygon geometry from bytes conforming to format.
factory
Polygon.decodeHex(String bytesHex, {BinaryFormat<SimpleGeometryContent> format = WKB.geometry, CoordRefSys? crs, Map<String, dynamic>? options})
Decodes a polygon geometry from bytesHex (as a hex string) conforming to format.
factory
Polygon.from(Iterable<Iterable<Position>> rings, {Box? bounds})
A polygon geometry with one exterior and 0 to N interior rings.
factory
Polygon.parse(String text, {TextReaderFormat<SimpleGeometryContent> format = GeoJSON.geometry, CoordRefSys? crs, Map<String, dynamic>? options})
Parses a polygon geometry from text conforming to format.
factory
Polygon.parseCoords(Iterable<String> rings, {Pattern delimiter = ',', Coords type = Coords.xy, bool swapXY = false, bool singlePrecision = false})
Parses a polygon geometry from rings with linear rings formatted as texts containing coordinate values separated by delimiter.
factory

Properties

bounds Box?
An optional bounding box explicitely set (or otherwise directly available) for this object.
no setterinherited
coordType Coords
A value of Coords representing the coordinate type of position data contained directly or within child objects.
no setteroverride
exterior PositionSeries?
An exterior ring of this polygon.
no setter
geomType Geom
The geometry type.
no setteroverride
hashCode int
The hash code for this object.
no setteroverride
interior Iterable<PositionSeries>
The interior rings (or holes) of this polygon, allowed to be empty.
no setter
isEmptyByGeometry bool
Returns true if this geometry is considered empty.
no setteroverride
rings List<PositionSeries>
The rings (exterior + interior) of this polygon.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

area2D() double
Returns the area of this geometry calculated in a cartesian 2D plane.
override
boundsAligned2D({Aligned align = Aligned.center, PositionScheme scheme = Position.scheme}) Position?
Returns an aligned 2D position relative to a bounding box accessed by getBounds.
inherited
calculateBounds({PositionScheme scheme = Position.scheme}) Box?
Calculate a bounding box for this object.
override
centroid2D({PositionScheme scheme = Position.scheme}) Position?
Returns the centroid of this geometry calculated in a cartesian 2D plane.
override
dimensionality2D() Dimensionality
Returns the true dimensionality of this geometry in 2D.
inherited
distanceTo2D(Position destination) double
Returns a distance from this to destination calculated in a cartesian 2D plane.
override
equals2D(covariant Geometry other, {double toleranceHoriz = defaultEpsilon}) bool
True if this and other equals by testing 2D coordinate values of all position data (that must be in same order in both objects) contained directly or by child objects.
override
equals3D(covariant Geometry other, {double toleranceHoriz = defaultEpsilon, double toleranceVert = defaultEpsilon}) bool
True if this and other equals by testing 3D coordinate values of all position data (that must be in same order in both objects) contained directly or by child objects.
override
equalsCoords(covariant Geometry other) bool
True if this and other contain exactly same coordinate values (or both are empty) in the same order and with the same coordinate type.
override
getBounds({PositionScheme scheme = Position.scheme}) Box?
Returns the current bounds if it's populated and conforms to scheme, or otherwise returns one calculated by calculateBounds.
inherited
isPointInPolygon2D(Position point) bool
Returns true if point is inside this polygon.
length2D() double
Returns the length of this geometry calculated in a cartesian 2D plane.
override
length3D() double
Returns the length of this geometry calculated in a cartesian 3D space.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
polylabel2D({double precision = 1.0, PositionScheme scheme = Position.scheme}) DistancedPosition<Position>
Calculates polylabel for this polygon.
populated({int traverse = 0, bool onBounds = true, PositionScheme scheme = Position.scheme}) Polygon
Returns a geometry of the same subtype as this with certain data members populated.
override
project(Projection projection) Polygon
Returns an object of the same subtype as this with all position data projected using projection and non-positional properties left intact.
override
toBytes({BinaryFormat<SimpleGeometryContent> format = WKB.geometry, Endian? endian, CoordRefSys? crs, Map<String, dynamic>? options}) Uint8List
The binary representation of this geometry object, with format applied.
inherited
toBytesHex({BinaryFormat<SimpleGeometryContent> format = WKB.geometry, Endian? endian, CoordRefSys? crs, Map<String, dynamic>? options}) String
The binary representation as a hex string of this geometry object, with format applied.
inherited
toString() String
The string representation of this geometry object as specified by GeoJSON.
inherited
toText({TextWriterFormat<SimpleGeometryContent> format = GeoJSON.geometry, int? decimals, CoordRefSys? crs, Map<String, dynamic>? options}) String
The string representation of this geometry object, with format applied.
inherited
unpopulated({int traverse = 0, bool onBounds = true}) Polygon
Returns a geometry of the same subtype as this with certain data members unpopulated (or cleared).
override
writeTo(SimpleGeometryContent writer, {String? name}) → void
Writes this geometry object to writer.
override

Operators

operator ==(Object other) bool
The equality operator.
override