类名 QueryFeaturesInLayersOptions

# new QueryFeaturesInLayersOptions(options)

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

参数:

名称 类型 默认值 描述
options Object

构造参数

method String FetchMethod.get

请求类型

headers Object | undefined

请求头参数

responseType String

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

layerDefs Array.<LayerDef> | Array.<Object> | undefined

多图层的属性条件,包括layerId、where、outFields。对于IGS地图文档mrfs 、IGS矢量图层gdbp服务,此参数为必传参数,由于接口限制,可以传入多个layerDef,但是where、outFields属性只能支持第一个def内的参数,对于IGS矢量图层gdbp来说,需要传入gdbp代替layerId。 当值为空时,查询所有图层,并当为拉框查询时,自动过滤不需要不需要查询的图层,示例:"[{ "layerId":"0-0","where": "name='中国'", "outfields": "field1,field2"}]"。ArcGIS服务对于where条件需要输入尽量不要为空,部分版本不传入where条件查询会报错

distance Number | undefined

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

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, ArcGIS服务不支持此参数

returnStyle Boolean false

是否返回图形参数信息,默认为false, ArcGIS服务不支持此参数

returnZ Number false

是否返回Z轴,默认为false

resultRecordCount Number 20

结果返回条数,默认20,ArcGIS服务不支持此参数

outSrs SpatialReference | undefined

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

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

objectIds String

仅当服务为IGS地图文档mrfs 、IGS矢量图层gdbp 时,此值生效。过滤id,多个用英文逗号分隔(参数优先级很高,可能导致其它筛选条件失效)

supportArc3 Boolean false

仅当为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 sceneServer = new SceneServer({
    url: "http://{ip}:{port}/igs/rest/services/{serverName}/SceneServer",
  });
  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 arcgisFeatureServer = new ArcGISFeatureServer({
    url: "http://{ip}:{port}/arcgis/rest/services/{serverName}/FeatureServer",
  });

  2.调用方法,以要素服务举例,其他服务跟要素服务调用方法一致
  2.1 几何过滤
  const queryFeaturesInLayersOptions = {
    layerDefs: [
      {
        layerId: "0",
        where: `1=1`,
        // 对于部分服务需要传入gdbp
        // gdbp: "gdbp://MapGISLocalPlus/湖北省/ds/行政区/sfcls/湖北省市级区划",
      },
      {
        layerId: "1-0",
        where: `1=1`,
        // 对于部分服务需要传入gdbp
        // gdbp: "gdbp://MapGISLocalPlus/湖北省/ds/行政区/sfcls/湖北省市级区划",
      },
    ],
    geometry: new Extent({
      xmin: 12579102.459639914,
      ymin: 3375646.034919311,
      xmax: 12690421.950433187,
      ymax: 3503549.8435043753,
      spatialReference: new SpatialReference("EPSG:3857"),
    }),
    geometryPrecision: 3,
    f: "json",
  }
  featureServer.queryFeaturesInLayers(queryFeaturesInLayersOptions)

  2.2 返回信息
  const queryFeaturesInLayersOptions = {
    layerDefs: [
      {
        layerId: "0",
        where: `1=1`,
        // 对于部分服务需要传入gdbp
        // gdbp: "gdbp://MapGISLocalPlus/湖北省/ds/行政区/sfcls/湖北省市级区划",
      },
      {
        layerId: "1-0",
        where: `1=1`,
        // 对于部分服务需要传入gdbp
        // gdbp: "gdbp://MapGISLocalPlus/湖北省/ds/行政区/sfcls/湖北省市级区划",
      },
    ]
  }
  featureServer.queryFeaturesInLayers(queryFeaturesInLayersOptions).then((res)=>{
    const data = res.data
    const layers = data.layers || []
    layers.forEach((layer) => { 
      const featureSet = layer.featureSet
    })
  })

成员变量

Number

# distance

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

String

# f

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

queryFailure

# failure

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

Geometry | undefined

# geometry

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

Number | undefined

# geometryPrecision

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

Object | undefined

# headers

请求头参数

SpatialReference | Object | String | undefined

# inSrs

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

Array.<LayerDef> | Array.<Object> | undefined

# layerDefs

多图层的属性条件,包括layerId、where、outFields。对于IGS地图文档mrfs 、IGS矢量图层gdbp服务,此参数为必传参数,由于接口限制,可以传入多个layerDef,但是where、outFields属性只能支持第一个def内的参数,对于IGS矢量图层gdbp来说,需要传入gdbp代替layerId。 当值为空时,查询所有图层,并当为拉框查询时,自动过滤不需要不需要查询的图层,示例:"[{ "layerId":"0-0","where": "name='中国'", "outfields": "field1,field2"}]"。ArcGIS服务对于where条件需要输入尽量不要为空,部分版本不传入where条件查询会报错

String

# method

请求类型

String

# objectIds

仅当服务为IGS地图文档mrfs 、IGS矢量图层gdbp 时,此值生效。过滤id,多个用英文逗号分隔(参数优先级很高,可能导致其它筛选条件失效)

String

# orderByFields

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

SpatialReference | Object | String | undefined

# outSrs

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

Number

# resultRecordCount

分页参数:结果返回条数,默认20,ArcGIS服务不支持此参数

Boolean

# returnAttribute

是否返回属性,默认为true,ArcGIS服务不支持此参数

Boolean

# returnCountOnly

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

Boolean

# returnGeometry

是否返回几何,默认为true

Boolean

# returnIdsOnly

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

Boolean

# returnStyle

是否返回图形参数信息,默认为false,ArcGIS服务不支持此参数

Number

# returnZ

是否返回Z轴,默认为false

SpatialRelation | String

# spatialRel

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

queryLayerInfoSuccess

# success

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

Boolean

# supportArc3

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

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