Polygon Builder
The polygon builder allows you to create and modify Polygon geometries incrementally. Polygon geometries are immutable and cannot be changed directly once created. A polygon is a closed area shape defined by one or more parts. Each part in a polygon is a connected sequence of Segment instances that start and end at the same point (a closed ring). If a polygon has more than one ring, the rings may be separate from one another or they may nest inside one another, but they should not overlap. Note: interior rings, to make donut polygons, should be counter-clockwise in direction to be topology correct. If there is ever a doubt about the topological correctness of a polygon, call GeometryEngine.simplifyOrNull(Geometry) to correct any issues.
The polygon builder allows you to change the contents of the shape using the MutablePartCollection that you can access from the MultipartBuilder.parts. Each MutablePart, in this MutablePartCollection, comprises a collection of segments that make edges of the MutablePart. You can add or remove a MutablePart from the MutablePartCollection, or you can create a new or edit the segment vertices of an existing MutablePart. Use GeometryBuilder.toGeometry() to return the new Polygon from the builder.
Since
200.1.0
Constructors
Creates a new polygon builder by copying the parts from the specified Polygon.
Creates a new empty polygon builder with the specified SpatialReference.
Creates a polygon builder with a list of MutablePart.
Creates a polygon builder with a list of points.
Inherited properties
True if the geometry builder currently contains any curve segments, false otherwise. ArcGIS software supports polygon and polyline geometries that contain curve segments (where Segment.isCurve is true, sometimes known as true curves or nonlinear segments). Curves may be present in certain types of data, such as Mobile Map Packages (MMPKs), or geometry JSON.
True if the geometry builder supports geometries with m values, false otherwise. M values are often referred to as measures, and are used in linear referencing workflows on linear datasets. NaN is a valid m value. If true, m values are stored for each vertex of the constructed Geometry. Geometries with m values are created by using setters or constructors that take an m value as a parameter.
True if the geometry builder supports geometries with z values, false otherwise. Z values are generally used as a z coordinate, indicating height or elevation. NaN is a valid z value. If true, z values are stored for each vertex of the constructed Geometry. Geometries with z values are created by using setters or constructors that take a z value as a parameter.
True if no coordinates have been added to this geometry builder, false otherwise. An empty geometry builder may have a valid SpatialReference, even without coordinates.
True if the geometry builder contains sufficient points to show a valid graphical sketch, false otherwise. This can be used as an initial lightweight check to see if the current state of a builder produces a non-empty geometry. For example, it may be used to enable or disable functionality in an editing user interface. The exact requirements vary depending on the type of geometry produced by the builder:
New parts for the multipart builder. The collection of parts for the multipart builder. Changes to the collection are reflected in the multipart builder.
The spatial reference for the geometry. Once set, the SpatialReference of the geometry builder cannot be changed. Ensure that all objects added to the builder have a compatible SpatialReference.
Functions
Replaces the geometry currently stored in the geometry builder with the new geometry. This method can be used as an alternative to creating a new builder from an existing geometry. Note that this does not update the spatial reference of the builder and the builder geometry is cleared if the geometry is null. Geometries with curves are supported.
Returns the geometry this geometry builder is constructing or modifying.
Creates a polyline with the values in the polygon builder.