Class: FeatureSet

FeatureSet

new FeatureSet(options)

base/feature/FeatureSet.js, line 38

要素集合类,用于统一管理同一空间参考系下的多个要素,并提供查找、转换与导出能力,示例如下:[初始化要素集合对象]

Name Type Default Description
options Object {} 可选

构造参数

Name Type Default Description
id String 可选

要素集合的id,不给则给一个随机的默认id

features Array [] 可选

要素数组

spatialReference SpatialReference new zondy.SpatialReference('EPSG:4326') 可选

要素集合的参考系, 默认为4326,当要素的几何对象上制定了参考系时,用要素上的;当要素的集合对象上没有指定参考系时,则使用该参考系

fields Array.<Object> [] 可选

要素集字段信息

geometryType GeometryType 可选

要素集合的几何对象类型

Example

初始化要素集合对象

// ES5引入方式
const { FeatureSet } = zondy

// ES6引入方式
import { FeatureSet } from "@mapgis/webclient-common"
//创建要素集合
let featureSet = new FeatureSet({
  //不填则创建一个随机的guid
  id: "你的id",
  //要素集合
  features: []
})

Members

featuresArray

要素数组 default []

fieldsArray.<Object>

要素集字段信息

geometryTypeString

要素集合的几何对象类型

idString

要素集合的id default 随机id

spatialReferenceSpatialReference

要素集合的参考系 default new zondy.SpatialReference('EPSG:4326')

typeString

该类的类型 default FeatureCollection

Methods

clone(){FeatureSet}

base/feature/FeatureSet.js, line 152

克隆并返回新的要素集合

Returns:
Type Description
FeatureSet 包含要素副本的新要素集合
Example

克隆并返回新的要素集合

let newFeatureSet = featureSet.clone();

findFeatureById(id){Feature|undefined}

base/feature/FeatureSet.js, line 119

通过ID寻找要素,若没有id,则在要素的attributes中查找

Name Type Description
id String

要素 ID

Returns:
Type Description
Feature | undefined 命中的要素对象,未命中时返回 undefined
Example

通过ID寻找要素

let feature = featureSet.findFeatureById("要素id");

toGeoJSON(){Object}

base/feature/FeatureSet.js, line 206

导出为 GeoJSON 数据

Returns:
Type Description
Object GeoJSON FeatureCollection 对象
Example

导出为GeoJSON数据

let geojson = featureSet.toGeoJSON();

toJSON(){Object}

base/feature/FeatureSet.js, line 135

导出为标准 JSON 对象

Returns:
Type Description
Object 可用于序列化存储或网络传输的 JSON 对象

FeatureSet.fromArray(features, featureSet, options){FeatureSet}

base/feature/FeatureSet.js, line 253

将一个要素数组对象转为要素集合

Name Type Default Description
features Array.<Object> | FeatureSet
featureSet FeatureSet
options Object {} 可选

转换选项

Name Type Default Description
reverse Boolean false 可选

是否对坐标执行纬经度反转

Returns:
Type Description
FeatureSet 新的 FeatureSet 对象
Example

将一个要素数组对象转为要素集合

// ES5引入方式
const { FeatureSet } = zondy

// ES6引入方式
import { FeatureSet } from "@mapgis/webclient-common"
featureSet = FeatureSet.fromArray(
  [
  {
    "attributes": {
      "FID": 650,
      "CODE": "420000",
      "CAPNAME": "武汉市",
      "mpPerimeter": "38.93733309514808",
      "mpArea": "17.556751278282672",
      "mpLayer": "18",
      "NAME": "湖北省"
    },
    "geometry": {
      "type": "Polygon",
      "coordinates": [[]]
    },
    "symbol": null
  }
],
  new FeatureSet()
)

FeatureSet.fromGeoJSON(geoJSON){Promise.<FeatureSet>}

base/feature/FeatureSet.js, line 195

从GeoJSON或TopoJSON对象中导入数据,若要素id相同,则会覆盖当前要素的值

Name Type Description
geoJSON Object

GeoJSON 或 TopoJSON 数据

Returns:
Type Description
Promise.<FeatureSet> 返回转换后的 FeatureSet
Example

从geoJSON对象中导入数据

//数据格式参考https://geojson.org/
FeatureSet.fromGeoJSON({
  //类型必须为FeatureCollection
  type: "FeatureCollection",
  //要素集合
  features: []
})

FeatureSet.fromJSON(json)

base/feature/FeatureSet.js, line 177

通过传入的 JSON 构造并返回一个新的要素集合对象

Name Type Description
json Object

要素集合 JSON 对象

Example

通过传入的 JSON 构造并返回一个新的要素集合对象

// ES5引入方式
const { FeatureSet } = zondy

// ES6引入方式
import { FeatureSet } from "@mapgis/webclient-common"
const json = {
  //不填则创建一个随机的guid
  id: "你的id",
  //要素集合
  features: []
}
const featureSet = FeatureSet.fromJSON(json)