类名 QueryFeauresOptions

# new QueryFeauresOptions(options)

单图层要素查询参数。支持的服务类型:IGS要素服务、IGS地图服务、IGS地图文档mrfs 、IGS矢量图层gdbp 、IGS场景服务、IGS资源服务、ArcGIS地图服务、ArcGIS要素服务

参数:

名称 类型 默认值 描述
options Object

构造参数

method String FetchMethod.get

请求类型

headers Object | undefined

请求头参数

responseType String

返回数据的类型,目前可设置'blob'

layerId String

图层id,当为IGS要素服务、IGS地图服务、IGS场景服务、ArcGIS地图服务、ArcGIS要素服务时,此参数必传

gdbp String

gdbp地址,仅当服务为IGS矢量图层gdbp时,此参数必传。当服务为IGS资源服务时,必须传入gdbp、mapSource、filePath参数之一,保证能拿到图层信息。

mapSource Object

地图文档的资源,例如{"url":"/root/wuhan.mapx", "mapIndex": 0, "layerId": "1"} 。仅当服务为IGS资源服务时,必须传入gdbp、mapSource、filePath参数之一,保证能拿到图层信息。

filePath String

图层资源的路径。仅当服务为IGS资源服务时,必须传入gdbp、mapSource、filePath参数之一,保证能拿到图层信息。

where String | undefined

where查询语句,例如name='中国'

outFields String | undefined

输出属性字段,可为*表示所有,多个用英文逗号分隔

objectIds String | undefined

过滤id,多个用英文逗号分隔(参数优先级很高,可能导致其它筛选条件失效)

geometry Geometry | undefined

要素查询几何条件。目前IGS支持Point|LineString|Circle|Extent|Polygon|MultiPolygon几种类型,ArcGIS支持Point|MultiPoint|LineString|MultiLineString|Extent|Polygon几种类型

geometryPrecision Number | undefined

返回要素几何信息中坐标xy的精度,仅支持整数,输入1表示查询出的要素坐标只保留一位小数

spatialRel SpatialRelation | String SpatialReleation.intersects

几何条件的空间判定规则,Intersects(相交)、EnvelopeIntersects(外包矩形相交)、Contains(包含)、Disjoint(相离,ArcGIS服务不支持)

orderByFields String

排序字段,格式: fieldName [ASC|DESC]。例如Name ASC,Age DESC,当为IGS服务时,由于服务接口限制,仅输入的第一个字段生效,即Name ASC

returnGeometry Boolean true

是否返回几何,默认为true

returnAttribute Boolean true

是否返回属性,默认为true

returnStyle Boolean false

是否返回图形参数信息,默认为false

outStatistics Array.<OutStatistic> | Array.<Object> | undefined

计算一个或多个基于字段的统计信息结构,统计类型包括:FUNCTION_MAX/FUNCTION_MIN/FUNCTION_SUM/FUNCTION_AVG/FUNCTION_COUNT/FUNCTION_MAX_OID,示例:"[{"statisticType": "FUNCTION_SUM","onStatisticField": "field1","outStatisticFieldName":"fieldName1"}]"

groupByFieldsForStatistics Array.<Object> | String

分组统计的信息,必须配合outStatistics参数传入,单独传入不生效。常用传入字符串,例如'field1,field2'。IGS地图文档mrfs 、IGS矢量图层gdbp服务仅支持字符串分组参数,但是仅支持输入的第一个字段。ArcGIS服务仅支持传入字符串分组参数。IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务支持字符串,也支持数组对象,详情请参考igs要素查询接口。分组类型包括:SINGLE_VALUED(一值一类)、SEGMENT(分段分类),分组类型默认为 SINGLE_VALUED,如果分组类型为SEGMENT,则需要指定分段数 segmentCount 或者具体的分段信息。当数据源是 DataStore PG 数据时,SINGLE_VALUED 与 SEGMENT 不能混合使用,分组类型为 SEGMENT 时仅支持一个分组,分组类型为 SINGLE_VALUED时支持多个分组

resultRecordCount Number 20

结果返回条数,默认20

resultOffset Number 0

跳过条数

returnZ Number false

是否返回Z轴,默认为false

distance Number | undefined

几何缓冲的距离,需要保证和几何坐标系一致。geometry为Point、LineString时有效(若数据源为大数据PG数据,且geometryType为Point或LineString时为必填数据)

outSrs SpatialReference | undefined

输出几何空间参照系,优先推荐使用wkid,不同服务兼容性更高,不支持IGS地图文档mrfs服务

inSrs SpatialReference | undefined

输入几何空间参考系,仅当为IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务、ArcGIS地图服务、ArcGIS要素服务时,此参数生效, 默认会以geometry的spatialReference作为输入几何的空间参考系。IGS1.0接口需要保证输入的数据空间参考系和数据源空间参考系信息一致,此参数设置无效,仅能通过outSrs设置输出数据的空间参考系

returnIdsOnly Boolean false

仅当为IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务、ArcGIS地图服务、ArcGIS要素服务时,此参数生效。是否只返回id,默认为false

returnCountOnly Boolean false

仅当为IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务、ArcGIS地图服务、ArcGIS要素服务时,此参数生效,是否只返回条数,默认为false

returnExtentOnly Boolean false

仅当为IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务、ArcGIS地图服务、ArcGIS要素服务时,此参数生效。是否只返回范围,默认为false

supportArc3 Boolean false

仅当为IGS要素服务、IGS地图服务、IGS资源服务时此参数生效。是否返回弧段数据,默认为false

f String 'json'

查询返回的数据格式。支持"json" "geojson" "csv"(csv仅IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务支持)、"pbf"(pbf仅ArcGIS服务支持)返回格式

示例

指定图层要素查询使用示例

1.支持的服务类型
  const mapServer = new MapServer({
    url: "http://{ip}:{port}/igs/rest/services/{serverName}/MapServer",
  });
  const featureServer = new FeatureServer({
    url: "http://{ip}:{port}/igs/rest/services/{serverName}/FeatureServer",
  });
  const featureServerV1 = new FeatureServer({
    url: "http://{ip}:{port}/igs/rest/mrfs/docs/{serverName}",
  });
  const featureServerGDBP = new FeatureServer({
    url: "http://{ip}:{port}/igs/rest/mrfs/layer",
  });
  const sceneServer = new SceneServer({
    url: "http://{ip}:{port}/igs/rest/services/{serverName}/SceneServer",
  });
  const resoureServer = new ResourceServer({
    url: "http://{ip}:{port}/igs/rest/services/system/ResourceServer",
  });
  const arcgisMapServer = new ArcGISMapServer({
    url: "http://{ip}:{port}/arcgis/rest/services/{serverName}/MapServer",
  });
  const arcgisFeatureServer = new ArcGISFeatureServer({
    url: "http://{ip}:{port}/arcgis/rest/services/{serverName}/FeatureServer",
  });

  2.调用方法,以要素服务举例(除资源服务外查询但图层要素接口为queryTempDataFeatures,其他服务查询均为queryFeatures)
  2.1 根据要素NAME字段分组统计2011年gdbp总和
  const queryFeauresOptions = {
    layerId: "0",
    // 对于部分服务需要传入gdbp
    // gdbp:"gdbp://MapGISLocalPlus/湖北省/ds/行政区/sfcls/湖北省市级区划",
    outStatistics: [
      {
        statisticType: "FUNCTION_SUM",
        onStatisticField: "GDP2011",
        outStatisticFieldName: "GDP2011_total",
      },
    ],
    groupByFieldsForStatistics: "NAME",
    f: "json",
  }
  featureServer.queryFeatures(queryFeauresOptions)

  2.2 几何过滤
  const queryFeauresOptions = {
    layerId: "0",
    // 对于部分服务需要传入gdbp
    // gdbp:"gdbp://MapGISLocalPlus/湖北省/ds/行政区/sfcls/湖北省市级区划",
    geometry: new Polygon({
      coordinates: [
        [
          [12579102.459639914, 3375646.034919311],
          [12690421.950433187, 3375646.034919311],
          [12690421.950433187, 3492635.98026307],
          [12579102.459639914, 3492635.98026307],
          [12579102.459639914, 3375646.034919311],
        ],
      ],
      spatialReference: "EPSG:3857",
    }),
    geometryPrecision: 3,
    outSrs: new SpatialReference("EPSG:4547"),
  }
  featureServer.queryFeatures(queryFeauresOptions)

  2.3 查询图层要素总数
  const queryFeauresOptions = {
    layerId: "0",
    // 对于部分服务需要传入gdbp
    // gdbp:"gdbp://MapGISLocalPlus/湖北省/ds/行政区/sfcls/湖北省市级区划",
    returnCountOnly:true,
  }
  featureServer.queryFeatures(queryFeauresOptions).then((res)=>{
    // 图层要素总数
    const count = res.data.count
  })

  2.4 返回信息
  const queryFeauresOptions = {
    layerId: "0",
    // 对于部分服务需要传入gdbp
    // gdbp:"gdbp://MapGISLocalPlus/湖北省/ds/行政区/sfcls/湖北省市级区划", 
    resultRecordCount: 10
  }
  featureServer.queryFeatures(queryFeauresOptions).then((res)=>{
    const data = res.data
    // 要素数据集
    const featureSet = data.featureSet
    // 字段名称
    const fields = featureSet.fields
    // 几何类型
    const geometryType = featureSet.geometryType
    // 要素信息 
    const features = featureSet.features
  })

成员变量

Number | undefined

# distance

几何缓冲的距离,需要保证和几何坐标系一致。geometry为Point、LineString时有效(若数据源为大数据PG数据,且geometryType为Point或LineString时为必填数据)

String

# f

查询返回的数据格式。支持"json" "geojson" "csv"(csv仅IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务支持)、"pbf"(pbf仅ArcGIS服务支持)返回格式

queryFailure

# failure

查询失败回调函数,若使用Promise方式则不必填写

String

# filePath

图层资源的路径。仅当服务为IGS资源服务时,必须传入gdbp、mapSource、filePath参数之一,保证能拿到图层信息。

String

# gdbp

gdbp地址,仅当服务为IGS矢量图层gdbp时,此参数必传。当服务为IGS资源服务时,必须传入gdbp、mapSource、filePath参数之一,保证能拿到图层信息。

Geometry | undefined

# geometry

要素查询几何条件。目前IGS支持Point|LineString|Circle|Extent|Polygon|MultiPolygon几种类型,ArcGIS支持Point|MultiPoint|LineString|MultiLineString|Extent|Polygon几种类型

Number | undefined

# geometryPrecision

返回要素几何信息中坐标xy的精度

Array.<Object> | String

# groupByFieldsForStatistics

分组统计的信息,必须配合outStatistics参数传入,单独传入不生效。常用传入字符串,例如'field1,field2'。IGS地图文档mrfs 、IGS矢量图层gdbp服务仅支持字符串分组参数,但是仅支持输入的第一个字段。ArcGIS服务仅支持传入字符串分组参数。IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务支持字符串,也支持数组对象,详情请参考igs要素查询接口。分组类型包括:SINGLE_VALUED(一值一类)、SEGMENT(分段分类),分组类型默认为 SINGLE_VALUED,如果分组类型为SEGMENT,则需要指定分段数 segmentCount 或者具体的分段信息。当数据源是 DataStore PG 数据时,SINGLE_VALUED 与 SEGMENT 不能混合使用,分组类型为 SEGMENT 时仅支持一个分组,分组类型为 SINGLE_VALUED时支持多个分组

Object | undefined

# headers

请求头参数

SpatialReference | Object | String | undefined

# inSrs

输入几何空间参考系,仅当为IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务、ArcGIS地图服务、ArcGIS要素服务时,此参数生效, 默认会以geometry的spatialReference作为输入几何的空间参考系。IGS1.0接口需要保证输入的数据空间参考系和数据源空间参考系信息一致,此参数设置无效,仅能通过outSrs设置输出数据的空间参考系

String

# layerId

图层id,当为IGS要素服务、IGS地图服务、IGS场景服务、ArcGIS地图服务、ArcGIS要素服务时,此参数必传

Object

# mapSource

地图文档的资源,例如{ "url":"/root/wuhan.mapx", "mapIndex": 0, "layerId": "1"} 。仅当服务为IGS资源服务时,必须传入gdbp、mapSource、filePath参数之一,保证能拿到图层信息。

String

# method

请求类型

String | undefined

# objectIds

过滤id,多个用英文逗号分隔(参数优先级很高,可能导致其它筛选条件失效)

String

# orderByFields

排序字段,格式: fieldName [ASC|DESC]。例如Name ASC,Age DESC,当为IGS服务时,由于服务接口限制,仅输入的第一个字段生效,即Name ASC

String | undefined

# outFields

输出属性字段,可为*表示所有,多个用英文逗号分隔

SpatialReference | Object | String | undefined

# outSrs

输出几何空间参照系,优先推荐使用wkid,不同服务兼容性更高

Array.<OutStatistic> | Array.<Object> | undefined

# outStatistics

计算一个或多个基于字段的统计信息结构,统计类型包括:FUNCTION_MAX/FUNCTION_MIN/FUNCTION_SUM/FUNCTION_AVG/FUNCTION_COUNT/FUNCTION_MAX_OID,示例:"[{"statisticType": "FUNCTION_SUM","onStatisticField": "field1","outStatisticFieldName":"fieldName1"}]"

Number

# resultOffset

跳过条数

Number

# resultRecordCount

结果返回条数,默认20

Boolean

# returnAttribute

是否返回属性,默认为true

Boolean

# returnCountOnly

仅当为IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务、ArcGIS地图服务、ArcGIS要素服务时,此参数生效,是否只返回条数,默认为false

Boolean

# returnExtentOnly

仅当为IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务、ArcGIS地图服务、ArcGIS要素服务时,此参数生效。是否只返回范围,默认为false

Boolean

# returnGeometry

是否返回几何,默认为true

Boolean

# returnIdsOnly

仅当为IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务、ArcGIS地图服务、ArcGIS要素服务时,此参数生效。是否只返回id,默认为false

Boolean

# returnStyle

是否返回图形参数信息,默认为false

Number

# returnZ

是否返回Z轴,默认为false

SpatialRelation | String

# spatialRel

几何条件的空间判定规则,Intersects(相交)、EnvelopeIntersects(外包矩形相交)、Contains(包含)、Disjoint(相离,ArcGIS服务不支持)

queryLayerInfoSuccess

# success

查询成功回调函数,若使用Promise方式则不必填写

Boolean

# supportArc3

仅当为IGS要素服务、IGS地图服务、IGS资源服务时此参数生效。是否返回弧段数据,默认为false

String | undefined

# where

where查询语句,例如name='中国'

构造函数
成员变量
方法
事件