Polygon Class

Definition

Polygon geometry class in the Azure Cosmos DB service.

A polygon is represented by the set of "polygon rings". Each ring is closed line string. First ring defines external ring. All subsequent rings define "holes" in the external ring.

Rings must be specified using Left Hand Rule: traversing the ring in the order of its points, should result in internal area of the polygon being to the left side.

public sealed class Polygon : Microsoft.Azure.Documents.Spatial.Geometry, IEquatable<Microsoft.Azure.Documents.Spatial.Polygon>
type Polygon = class
    inherit Geometry
    interface IEquatable<Polygon>
Public NotInheritable Class Polygon
Inherits Geometry
Implements IEquatable(Of Polygon)
Inheritance
Polygon
Implements

Examples

This example shows how to define a polygon which covers small portion of the Earth:

var polygon = new Polygon(
        new[]
        {
            new Position(20.0, 20.0),
            new Position(30.0, 20.0),
            new Position(30.0, 30.0),
            new Position(20.0, 30.0)
            new Position(20.0, 20.0)
        });

This example shows how to define a polygon which covers area more than one hemisphere: (Notice that only order of coordinates was reversed).

var polygon = new Polygon(
        new[]
        {
            new Position(20.0, 20.0),
            new Position(20.0, 30.0),
            new Position(30.0, 30.0),
            new Position(30.0, 20.0)
            new Position(20.0, 20.0)
        });

Constructors

Polygon(IList<LinearRing>)

Initializes a new instance of the Polygon class in the Azure Cosmos DB service.

Polygon(IList<LinearRing>, GeometryParams)

Initializes a new instance of the Polygon class in the Azure Cosmos DB service.

Polygon(IList<Position>)

Initializes a new instance of the Polygon class, from external ring (the polygon contains no holes) in the Azure Cosmos DB service.

Properties

AdditionalProperties

Gets additional properties in the Azure Cosmos DB service.

(Inherited from Geometry)
BoundingBox

Gets bounding box for this geometry in the Azure Cosmos DB service.

(Inherited from Geometry)
Crs

Gets the Coordinate Reference System for this geometry in the Azure Cosmos DB service.

(Inherited from Geometry)
Rings

Gets the polygon rings in the Azure Cosmos DB service.

Type

Gets geometry type in the Azure Cosmos DB service.

(Inherited from Geometry)

Methods

Equals(Object)

Determines whether the specified Polygon is equal to the current Polygon in the Azure Cosmos DB service.

Equals(Polygon)

Determines if this Polygon is equal to the other in the Azure Cosmos DB service.

GetHashCode()

Serves as a hash function for the Polygon type in the Azure Cosmos DB service.

Extension Methods

Distance(Geometry, Geometry)

Distance in meters between two geometries in the Azure Cosmos DB service.

Intersects(Geometry, Geometry)

Checks if geometry1 intersects with geometry2.

IsValid(Geometry)

Determines if the geometry specified is valid and can be indexed or used in queries by Azure Cosmos DB service.

If a geometry is not valid, it will not be indexed. Also during query time invalid geometries are equivalent to undefined.

IsValidDetailed(Geometry)

Determines if the geometry specified is valid and can be indexed or used in queries by Azure Cosmos DB service.

If a geometry is not valid, it will not be indexed. Also during query time invalid geometries are equivalent to undefined.

Within(Geometry, Geometry)

Determines if innerGeometry is fully contained inside outerGeometry in the Azure Cosmos DB service.

Applies to