Polygon Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.
[System.Runtime.Serialization.DataContract]
public sealed class Polygon : Microsoft.Azure.Cosmos.Spatial.Geometry, IEquatable<Microsoft.Azure.Cosmos.Spatial.Polygon>
[<System.Runtime.Serialization.DataContract>]
type Polygon = class
inherit Geometry
interface IEquatable<Polygon>
Public NotInheritable Class Polygon
Inherits Geometry
Implements IEquatable(Of Polygon)
- Inheritance
- Attributes
- 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>, GeometryParams) |
Initializes a new instance of the Polygon class in the Azure Cosmos DB service. |
Polygon(IList<LinearRing>) |
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
Distance(Geometry) |
Distance in meters between two geometries in the Azure Cosmos DB service. (Inherited from Geometry) |
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 |
GetHashCode() |
Serves as a hash function for the Polygon type in the Azure Cosmos DB service. |
Intersects(Geometry) |
Checks if current geometry1 intersects with geometry2. (Inherited from Geometry) |
IsValid() |
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 |
IsValidDetailed() |
Determines if the geometry specified is valid and can be indexed or used in queries by Azure Cosmos DB service and if invalid, gives the additional reason as a string value.
If a geometry is not valid, it will not be indexed. Also during query time invalid geometries are equivalent to |
Within(Geometry) |
Determines if current inner Geometry is fully contained inside |