类 GeoPolygon
多边形描述由 3 个或更多线段组成的形状,用于地理空间GeoWithin(IEmbeddedObject?, GeoShapeBase)查询。
命名空间: Realms
程序集:Realm.dll
语法
public class GeoPolygon : GeoShapeBase
备注
多边形由一个外环和 0 个或多个表示孔的环组成,具有以下限制:
- 每个环必须由至少 3 个不同的点(顶点)组成。 第一个点和最后一个点必须相同,以表示一个闭合环(这意味着您至少需要 4 个点来定义多边形)。
- 环不得交叉,即环的边界不得与任何其他环的内部和外部相交。
- 环不得共享边,即,如果环包含边AB,则其他环不得包含AB 或BA。
- 环可以共享顶点,但任何顶点都不能在单个环中出现两次。
- 没有环不能是空的。
孔可以相互嵌套,在这种情况下,如果一个位置包含在奇数个环中,则该位置将被视为多边形“内部”。 例如,一个多边形代表边长为 10 的正方形,中心位于 (0,0),有孔代表边长为 5 和 2 的正方形,中心位于 (0,0) 将包括位置 (1, 1),因为它包含在 3环,但不是 (3, 3),因为它包含在 2 中。
构造函数
| 编辑本页 查看源代码GeoPolygon(params GeoPoint[])
从没有孔的 GeoPoint 集合初始化 GeoPolygon 类的新collection。
声明
public GeoPolygon(params GeoPoint[] outerRing)
参数
类型 | 名称 | 说明 |
---|---|---|
GeoPoint [] | 外环 | 表示多边形外环的点。 |
备注
outerRing
必须包含至少 3 个唯一点。 第一个点和最后一个点可以相同,但不允许有其他重复项。 随后的每一对点都表示多边形中的一条边,第一个点和最后一个点隐式连接。
GeoPolygon(IEnumerable<GeoPoint>, params IEnumerable<GeoPoint>[])
使用外环和collection初始化GeoPolygon类的实例。
声明
public GeoPolygon(IEnumerable<GeoPoint> outerRing, params IEnumerable<GeoPoint>[] holes)
参数
类型 | 名称 | 说明 |
---|---|---|
IEnumerable < GeoPoint > | 外环 | 表示polygon外环的GeoPointcollection。 |
IEnumerable < GeoPoint >[] | 洞 | 表示polygon内环的GeoPointscollection的collection。 |
备注
outerRing
必须包含至少 3 个唯一点。 第一个点和最后一个点可以相同,但不允许有其他重复项。 随后的每一对点都表示多边形中的一条边,第一个点和最后一个点隐式连接。
holes
中的每个集合必须包含至少 3 个唯一点,其规则与outerRing
相同。
任何两个环都不能相交或共享边,但它们可能共享顶点。
如果一个点由奇数个环包含,则该点被视为在多边形“内部”;如果由偶数个环包含,则该点被视为“外部”。
属性
| 编辑本页 查看源代码洞
获取多边形中的孔。
声明
public IReadOnlyList<IReadOnlyList<GeoPoint>> Holes { get; }
属性值
类型 | 说明 |
---|---|
IReadOnlyList < IReadOnlyList < GeoPoint >> | 多边形中的孔(如果有)。 |
OuterRing
获取多边形的外环。
声明
public IReadOnlyList<GeoPoint> OuterRing { get; }
属性值
类型 | 说明 |
---|---|
IReadOnlyList < GeoPoint > | 多边形的外环。 |
方法
| 编辑本页 查看源代码ToString()
返回值的字符串表示形式。
声明
public override string ToString()
返回:
类型 | 说明 |
---|---|
字符串 | 值的字符串表示形式。 |