Polygon

AMD: require(["geoscene/geometry/Polygon"], (Polygon) => { /* 代码 */ });
ESM: import Polygon from "@geoscene/core/geometry/Polygon";
类: geoscene/geometry/Polygon
继承于: Polygon Geometry Accessor
子类: Circle
起始版本: GeoScene API for JavaScript 4.22

面包含数组和 spatialReference。每个环都表示为一个点数组。环的第一个和最后一个点必须相同。面还具有布尔值 hasMhasZ 字段。

已知限制

将面几何添加到以下图层时必须简单:

在将面几何添加到这些图层之前,可以对其进行检查和简化。使用 geometryEngine's simplify() 方法可确保面在客户端正确显示。

另参阅:

构造函数

new Polygon(properties)
参数:
properties Object
optional

所有可传入构造函数的属性列表,请参见属性

属性列表

可以设置、检索或监听的任何属性。参见使用属性主题。
展示继承属性 隐藏继承属性
名称 类型 描述
Object更多信息

缓存用于存储从几何图形中计算的值,这些几何图形需要在突变时清除或重新计算。

更多信息Geometry
Point更多信息

面的质心。

更多信息Polygon
String更多信息

类名。

更多信息Accessor
Extent更多信息

几何的范围。

更多信息Geometry
Boolean更多信息

指示几何是否具有 M 值。

更多信息Geometry
Boolean更多信息

指示几何是否具有 z 值(高程)。

更多信息Geometry
Boolean更多信息

检查面环是否相互交叉,并指示面是否自相交,这意味着面的环会自行交叉。

更多信息Polygon
Number[][][]更多信息

一组环

更多信息Polygon
SpatialReference更多信息

几何的空间参考。

 
更多信息Geometry
String更多信息

表示几何类型的字符串值。

更多信息Polygon

属性详细说明

cache Objectreadonly inherited

缓存用于存储从几何图形中计算的值,这些几何图形需要在突变时清除或重新计算。 例如,面的范围。

centroid Point

面的质心。 对于具有多个环的面,它表示最大环的质心。

declaredClass Stringreadonly inherited
起始版本: GeoScene API for JavaScript 4.22

类名。类的名称声明格式为 geoscene.folder.className

extent Extentreadonly inherited

几何的范围。对于一个点,范围为空。

指示几何是否具有 M 值。

指示几何是否具有 z 值(高程)。

在地理或公制坐标系中定义的

Z 值是 以米单位。 但是,在使用投影坐标系的局部场景中,假定垂直单位与服务指定的水平单位相同。

isSelfIntersecting Boolean

检查面环是否相互交叉,并指示面是否自相交,这意味着面的环会自行交叉。

rings Number[][][]

一组环。 每个环是一个二维数字数组,表示视图空间参考中环中的每个折点的坐标。 每个环的第一个折点应该总是与最后一个折点相同。 每个折点是一个由两个、三个或四个数字组成的数组。 下表显示了折点数组的各种结构。

实例 折点数组
无 z 值无 m 值 [x, y]
无 z 值具有 m 值 [x, y, m]
具有 z 值无 m 值 [x, y, z]
具有 z 值具有 m 值 [x, y, z, m]
示例代码:
//具有 m 值的 3D 面环(请注意,第二个环没有为其定义 m 值)
const rings = [
 [  // 第一个环
  [-97.06138,32.837,35.1,4.8],
  [-97.06133,32.836,35.2,4.1],
  [-97.06124,32.834,35.3,4.2],
  [-97.06138,32.837,35.1,4.8]  // 与第一个折点相同
 ], [  // 第二个环
  [-97.06326,32.759,35.4],
  [-97.06298,32.755,35.5],
  [-97.06153,32.749,35.6],
  [-97.06326,32.759,35.4]  // 与第一个折点相同
 ]
];

const polygon = new Polygon({
  hasZ: true,
  hasM: true,
  rings: rings,
  spatialReference: { wkid: 4326 }
});

几何的空间参考。

默认值:WGS84 (wkid: 4326)
type Stringreadonly

表示几何类型的字符串值。

对于 Polygon 类型始终为 "polygon"

方法列表

展示继承方法 隐藏继承方法
名称 返回值类型 描述
Polygon更多信息

向 Polygon 添加一个环。

更多信息Polygon
Polygon更多信息

创建 Polygon 对象的深度克隆。

更多信息Polygon
Boolean更多信息

在客户端检查输入点是否在面内。

更多信息Polygon
Polygon更多信息

将给定范围转换为 Polygon 实例。

更多信息Polygon
*更多信息

创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象的值对其进行初始化。

更多信息Geometry
Point更多信息

返回由环和路径中的点指定的点。

更多信息Polygon
Polygon更多信息

在面中插入一个新点。

更多信息Polygon
Boolean更多信息

检查 Polygon 环是否顺时针。

更多信息Polygon
Point[]更多信息

在由 ringIndex 标识的环内的给定 pointIndex 处从面中删除一个点。

更多信息Polygon
Point[]更多信息

从 Polygon中移除一个环。

更多信息Polygon
Polygon更多信息

更新面中的一个点。

更多信息Polygon
Object更多信息

将此类的实例转换为其 GeoScene portal JSON 表示形式。

更多信息Geometry

方法详细说明

addRing(points){Polygon}

向 Polygon 添加一个环。 环可以是以下之一:数字数组或点数组。 添加后,环的索引递增 1。

参数:

面环。 环中的第一个和最后一个坐标/点必须相同。 这可以定义为 Point 几何数组或 XY 坐标数组。

返回值:
类型 描述
Polygon 返回包含新环的面。
clone(){Polygon}

创建 Polygon 对象的深度克隆。

返回值:
类型 描述
Polygon Polygon 对象的新实例,该实例等于用于调用 .clone() 的对象。
contains(point){Boolean}

检查客户端上的输入点是否在面内。面线上的点被视为内部。

参数:
point Point

要测试它是否包含在测试面中的点。

返回值:
类型 描述
Boolean 如果点位于面内,则返回 true 。
fromExtent(extent){Polygon}static

将给定 Extent 转换为 Polygon 实例。这对于要将感兴趣区域(通常由范围或边界框定义)显示为视图中带有填充符号的面的场景非常有用。某些地理处理工具要求输入几何为 Polygon 类型而不是 Extent。

参数:
extent Extent

要转换为面的范围对象。

返回值:
类型 描述
Polygon 表示给定范围的面实例。
示例代码:
view.on("click", function(evt) {
  const area = Polygon.fromExtent(view.extent);
  const graphic = new Graphic({
    geometry: area,
    symbol: { type: "simple-fill" }
  });
  view.graphics.add(graphic);
});
fromJSON(json){*}static

创建此类的新实例,并使用从 GeoScene 产品生成的 JSON 对象的值对其进行初始化。传递给输入 json 参数的对象通常来自对 REST API 中的查询操作的响应,或者来自另一个 GeoScene 产品的 toJSON() 方法。有关何时以及如何使用此函数的详细信息和示例,请参阅指南中的使用 fromJSON() 主题。

参数:
json Object

GeoScene 格式的实例的 JSON 表示形式。有关各种输入 JSON 对象的结构示例,请参阅 GeoScene REST API 文档

返回值:
类型 描述
* 返回一个该类的新实例。
getPoint(ringIndex, pointIndex){Point}

返回由环和路径中的点指定的点。

参数:
ringIndex Number

包含所需点的环的索引。

pointIndex Number

环内所需点的索引。

返回值:
类型 描述
Point 返回指定环索引和点索引处的点。
insertPoint(ringIndex, pointIndex, point){Polygon}

在面中插入一个新点。

参数:
ringIndex Number

要在其中插入点的环的索引。

pointIndex Number

要插入环内的点的索引。

point Point|Number[]

要插入的点。

返回值:
类型 描述
Polygon 返回更新的面。
isClockwise(ring){Boolean}

检查 Polygon 环是否顺时针。

参数:

面环。 环中的第一个和最后一个坐标/点必须相同。 这可以定义为点几何数组或 XY 坐标数组。

返回值:
类型 描述
Boolean 如果环是顺时针方向,则返回 true,逆时针方向返回 false
removePoint(ringIndex, pointIndex){Point[]}

在由 ringIndex 标识的环内的给定 pointIndex 处从面中删除一个点。

参数:
ringIndex Number

包含要移除的点的环的索引。

pointIndex Number

环内要移除的点的索引。

返回值:
类型 描述
Point[] 返回已移除点的几何。
removeRing(index){Point[]}

从 Polygon 中移除一个环。 索引指定要删除的环。

参数:
index Number

要移除的环的索引。

返回值:
类型 描述
Point[] 返回表示已移除环的点数组。
setPoint(ringIndex, pointIndex, point){Polygon}

更新面中的一个点。

参数:
ringIndex Number

包含要更新的点的环的索引。

pointIndex Number

环内要更新的点的索引。

point Point|Number[]

新的点几何。

返回值:
类型 描述
Polygon 返回更新的面。
toJSON(){Object}inherited

将此类的实例转换为其 GeoScene portal JSON 表示形式。有关详细信息,请参阅使用 fromJSON() 指南主题。

返回值:
类型 描述
Object 实例的 GeoScene portal JSON 表示形式。

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.